diff --git a/graphics/hgr/vgi/doom_vgi.s b/graphics/hgr/vgi/doom_vgi.s index 875bf8c2..ab565371 100644 --- a/graphics/hgr/vgi/doom_vgi.s +++ b/graphics/hgr/vgi/doom_vgi.s @@ -85,6 +85,7 @@ setup_interrupt: jsr SETGR jsr HGR + jsr HOME ; bit FULLGR jsr make_tables diff --git a/graphics/hgr/vgi/hello.bas b/graphics/hgr/vgi/hello.bas index a7c38e2e..5a19a47b 100644 --- a/graphics/hgr/vgi/hello.bas +++ b/graphics/hgr/vgi/hello.bas @@ -2,6 +2,8 @@ 10 PRINT CHR$(4);"CATALOG" 20 PRINT:PRINT "FOR THE BRIEF HI-RES MYST DEMO" 30 PRINT "TYPE: BRUN VGI-MYST" -40 PRINT:PRINT "NOTE: THERE IS ALSO A FULL-FEATURED" -50 PRINT "LORES VERSION AVAILABLE FOR DOWNLOAD" -70 PRINT "IF YOU WANT TO PLAY ON APPLE II" +40 PRINT:PRINT "FOR THE DOOM DEMO" +50 PRINT "TYPE: BRUN VGI-DOOM" +70 PRINT:PRINT "NOTE: THERE IS ALSO A FULL-FEATURED" +80 PRINT "LORES VERSION AVAILABLE FOR DOWNLOAD" +90 PRINT "IF YOU WANT TO PLAY ON APPLE II" diff --git a/graphics/hgr/vgi/myst_vgi.s b/graphics/hgr/vgi/myst_vgi.s index 3fce1c6a..83ff9128 100644 --- a/graphics/hgr/vgi/myst_vgi.s +++ b/graphics/hgr/vgi/myst_vgi.s @@ -13,16 +13,16 @@ vgi_myst: ; get pointer to image data - lda #path_data - sta VGIH - -; lda #clock_data +; lda #>path_data ; sta VGIH + lda #clock_data + sta VGIH + jsr play_vgi jsr wait_until_keypress diff --git a/graphics/hgr/vgi/pt3_lib_detect_model.s b/graphics/hgr/vgi/pt3_lib_detect_model.s index c85dced2..31c1b8dc 100644 --- a/graphics/hgr/vgi/pt3_lib_detect_model.s +++ b/graphics/hgr/vgi/pt3_lib_detect_model.s @@ -1,7 +1,8 @@ ;=========================== - ; Check for Apple IIc + ; Check Apple II model ;=========================== - + ; this is mostly for IIc support + ; as it does interrupts differently ; ' ' ($20) = Apple II ; '+' ($2B) = Apple II+ @@ -9,29 +10,54 @@ ; 'C' ($43) = Apple IIc ; 'G' ($47) = Apple IIgs - ; it does interrupts differently + detect_appleii_model: lda #' ' - sta APPLEII_MODEL - lda $FBB3 ; IIe and newer is $06 - cmp #6 - beq apple_iie_or_newer + ldx $FBB3 + ; II is $38 + ; J-plus is $C9 + ; II+ is $EA (so is III) + ; IIe and newer is $06 - ; TODO: check for II+ + cpx #$38 + beq done_apple_detect - jmp done_apple_detect + lda #'+' + cpx #$EA + beq done_apple_detect + + ; TODO: check for J-plus or III? + + cpx #$06 + bne done_apple_detect apple_iie_or_newer: - ; TODO: check for IIe - lda $FBC0 ; 0 on a IIc + + ldx $FBC0 ; $EA on a IIe + ; $E0 on a IIe enhanced + ; $00 on a IIc/IIc+ + + ; $FE1F = $60, IIgs + + beq apple_iic + + lda #'E' + cpx #$EA + beq done_apple_detect + cpx #$E0 + beq done_apple_detect + + ; assume GS? + + lda #'G' bne done_apple_detect + apple_iic: lda #'C' - sta APPLEII_MODEL done_apple_detect: - + sta APPLEII_MODEL rts diff --git a/music/pt3_lib/pt3_lib_detect_model.s b/music/pt3_lib/pt3_lib_detect_model.s index c85dced2..31c1b8dc 100644 --- a/music/pt3_lib/pt3_lib_detect_model.s +++ b/music/pt3_lib/pt3_lib_detect_model.s @@ -1,7 +1,8 @@ ;=========================== - ; Check for Apple IIc + ; Check Apple II model ;=========================== - + ; this is mostly for IIc support + ; as it does interrupts differently ; ' ' ($20) = Apple II ; '+' ($2B) = Apple II+ @@ -9,29 +10,54 @@ ; 'C' ($43) = Apple IIc ; 'G' ($47) = Apple IIgs - ; it does interrupts differently + detect_appleii_model: lda #' ' - sta APPLEII_MODEL - lda $FBB3 ; IIe and newer is $06 - cmp #6 - beq apple_iie_or_newer + ldx $FBB3 + ; II is $38 + ; J-plus is $C9 + ; II+ is $EA (so is III) + ; IIe and newer is $06 - ; TODO: check for II+ + cpx #$38 + beq done_apple_detect - jmp done_apple_detect + lda #'+' + cpx #$EA + beq done_apple_detect + + ; TODO: check for J-plus or III? + + cpx #$06 + bne done_apple_detect apple_iie_or_newer: - ; TODO: check for IIe - lda $FBC0 ; 0 on a IIc + + ldx $FBC0 ; $EA on a IIe + ; $E0 on a IIe enhanced + ; $00 on a IIc/IIc+ + + ; $FE1F = $60, IIgs + + beq apple_iic + + lda #'E' + cpx #$EA + beq done_apple_detect + cpx #$E0 + beq done_apple_detect + + ; assume GS? + + lda #'G' bne done_apple_detect + apple_iic: lda #'C' - sta APPLEII_MODEL done_apple_detect: - + sta APPLEII_MODEL rts