diff --git a/src/constants.a b/src/constants.a index 2d5ebb945..aceab52be 100644 --- a/src/constants.a +++ b/src/constants.a @@ -108,6 +108,7 @@ ROM_TEXT = $FB2F ROM_MACHINEID =$FBB3 ROM_MACHINE2C =$FBC0 ROM_HOME = $FC58 +ROM_WAIT = $FCA8 ROM_COUT = $FDED ROM_NORMAL = $FE84 ; NORMAL text (instead of INVERSE or FLASH) ROM_IN0 = $FE89 ; SETKBD diff --git a/src/demo/gamma.goblins.a b/src/demo/gamma.goblins.a index 3801a5e72..5cf81405b 100644 --- a/src/demo/gamma.goblins.a +++ b/src/demo/gamma.goblins.a @@ -9,7 +9,7 @@ !source "src/macros.a" +GAME_REQUIRES_JOYSTICK - +USES_TEXT_PAGE_2 + +TEST_TEXT_PAGE_2 +ENABLE_ACCEL_LC +LOAD_XSINGLE title diff --git a/src/demo/pacman.a b/src/demo/pacman.a index 42cacd160..db915d856 100644 --- a/src/demo/pacman.a +++ b/src/demo/pacman.a @@ -11,13 +11,14 @@ +ENABLE_ACCEL_LC +LOAD_XSINGLE title - +USES_TEXT_PAGE_2 +NEW_RESET_VECTOR $280 lda #$60 sta $813 jsr $800 ; decompress + +TEST_TEXT_PAGE_2 + lda #$80 sta $103F lda #2 diff --git a/src/demo/stellar.7.a b/src/demo/stellar.7.a index 82413ff4f..d803e1659 100644 --- a/src/demo/stellar.7.a +++ b/src/demo/stellar.7.a @@ -8,7 +8,6 @@ !source "src/constants.a" ; no code in these !source "src/macros.a" - +USES_TEXT_PAGE_2 +READ_RAM2_WRITE_RAM2 jsr EnableAccelerator +LOAD_FILE_KEEP_DIR stellar_7, stellar_7_dir_e-stellar_7_dir_b @@ -17,6 +16,8 @@ sta $863 jsr $800 ; unpack + +TEST_TEXT_PAGE_2 + ldx #0 stx $AE2A inx diff --git a/src/demo/the.goonies.a b/src/demo/the.goonies.a index fae7e0224..92f64d7d4 100644 --- a/src/demo/the.goonies.a +++ b/src/demo/the.goonies.a @@ -8,7 +8,7 @@ !source "src/constants.a" ; no code in these !source "src/macros.a" - +USES_TEXT_PAGE_2 + +TEST_TEXT_PAGE_2 +READ_RAM2_WRITE_RAM2 jsr EnableAccelerator +LOAD_FILE_KEEP_DIR the_goonies, the_goonies_dir_e-the_goonies_dir_b @@ -16,7 +16,7 @@ sta $1045 jsr $1000 ; decompress ldx #$2C - stx $6BF + stx $6BF ; skip text screen ldx #$60 stx $60C stx $622 @@ -28,9 +28,9 @@ ldx #0 stx $4070 inx - stx $4071 + stx $4071 ; set exit lda #$2C - sta $4039 + sta $4039 ; don't play music +DISABLE_ACCEL jsr $4000 ; title jsr $60F ; load level diff --git a/src/macros.a b/src/macros.a index dd81d7bd4..82ef18dea 100755 --- a/src/macros.a +++ b/src/macros.a @@ -364,6 +364,27 @@ + } +!macro TEST_TEXT_PAGE_2 { + lda ROM_MACHINEID + cmp #$06 + bne ++ + sec + jsr $FE1F ; check for IIgs + bcs ++ + lda #$20 ; check if Alternate Display Mode is already on + sta $0800 + lda #$FF + jsr ROM_WAIT +!cpu 65816 + lda $E00800 ; did we shadow copy data to shadow bank $E0? + cmp #$20 + beq + +!cpu 6502 ; https://archive.org/details/develop-04_9010_October_1990/page/n51/mode/1up + jsr ROM_TEXT2COPY ; set alternate display mode on IIgs (required for some games) ++ cli ; enable VBL interrupts +++ +} + !macro RESET_VECTOR .addr { lda #<.addr sta $3F2 diff --git a/src/proboothd/proboothd.a b/src/proboothd/proboothd.a index 0e03150ec..391f45eaa 100644 --- a/src/proboothd/proboothd.a +++ b/src/proboothd/proboothd.a @@ -35,7 +35,7 @@ sta $c002 sta $c004 lda $c000 - cmp #$d3 + cmp #$d3 ; Press "S" on bootup bne + jsr seasons + jsr $fb2f