From 17a00af789f0e78dd1c5869c3f6ce93991eb18a1 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Mon, 7 Mar 2022 09:14:17 -0800 Subject: [PATCH] allow Retro-Ball playable without extra hardware --- src/index/artwork.idx.a | 2 +- src/index/attract.idx.a | 2 +- src/index/cache00.idx.a | 2 +- src/index/cache01.idx.a | 2 +- src/index/cache10.idx.a | 2 +- src/index/cache11.idx.a | 2 +- src/index/coverfade.idx.a | 2 +- src/index/credits.idx.a | 2 +- src/index/decrunch.idx.a | 2 +- src/index/dfx.idx.a | 2 +- src/index/dgr.fizzle.idx.a | 2 +- src/index/dgr.idx.a | 2 +- src/index/dhgr.idx.a | 2 +- src/index/dtitle.idx.a | 2 +- src/index/fx.idx.a | 2 +- src/index/gamehelp.idx.a | 2 +- src/index/gr.fizzle.idx.a | 2 +- src/index/gr.idx.a | 2 +- src/index/helptext.idx.a | 2 +- src/index/hgr0.idx.a | 2 +- src/index/hgr1.idx.a | 2 +- src/index/hgr2.idx.a | 2 +- src/index/hgr3.idx.a | 2 +- src/index/hgr4.idx.a | 2 +- src/index/hgr5.idx.a | 2 +- src/index/hgr6.idx.a | 2 +- src/index/joystick.idx.a | 2 +- src/index/miniattract.idx.a | 2 +- src/index/prelaunch.idx.a | 2 +- src/index/res.cover.idx.a | 2 +- src/index/res.help.idx.a | 2 +- src/index/res.title.idx.a | 2 +- src/index/search00.idx.a | 2 +- src/index/search01.idx.a | 2 +- src/index/search10.idx.a | 2 +- src/index/search11.idx.a | 2 +- src/index/sfx.idx.a | 2 +- src/index/slideshow.idx.a | 2 +- src/index/title.idx.a | 2 +- src/prelaunch/rb.a | 53 +++++++++++++++++++++++++++++++++++++ 40 files changed, 92 insertions(+), 39 deletions(-) create mode 100644 src/prelaunch/rb.a diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 2f781701b..04e4d6287 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11351411 + !be24 11351923 !le16 4515 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 6c3822d01..f6b4051f3 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11303295 + !be24 11303807 !le16 5257 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index 1416521dc..79c20fe66 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11244192 + !be24 11244704 !le16 3641 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index ce62e5d5f..1dd54dc87 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11256858 + !be24 11257370 !le16 4018 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 55262ff55..4fbfd1ac8 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11272762 + !be24 11273274 !le16 5222 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 0fa558657..12b46b5fa 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11291115 + !be24 11291627 !le16 5814 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 04f774ae9..acea90a2f 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11355926 + !be24 11356438 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 396904704..6e6bb008b 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11356680 + !be24 11357192 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 17d2069c3..7b68b8f9c 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11357128 + !be24 11357640 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 2d042df86..c88cc6f23 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11310698 + !be24 11311210 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index c127a121b..7d53e41c6 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11356412 + !be24 11356924 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index a917633a0..780584715 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11351352 + !be24 11351864 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index be45f5338..cbf3b6bac 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11349987 + !be24 11350499 !le16 1284 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 475ad8dad..a4e5e717b 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11335889 + !be24 11336401 !le16 502 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index ec60b454e..9fce8f85b 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11308552 + !be24 11309064 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index db8dcd61a..d24833b4e 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11312298 + !be24 11312810 !le16 6366 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index b4206958a..4f405b869 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11356336 + !be24 11356848 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 6c4be1a3c..745a1d862 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11351271 + !be24 11351783 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 8dbe34a0a..ca8e5ea01 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11356479 + !be24 11356991 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 077770ae0..687eb3791 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11336391 + !be24 11336903 !le16 4428 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 78e87aec8..c760d4d5f 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11340819 + !be24 11341331 !le16 1562 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index ef3b14962..54e270bdf 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11342381 + !be24 11342893 !le16 1040 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 029dc729d..dc8812a36 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11343421 + !be24 11343933 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 697b6160b..82d149475 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11346658 + !be24 11347170 !le16 2764 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index e73bb6457..2e4b36df5 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11349422 + !be24 11349934 !le16 460 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 2bec7df17..dfdf1fe36 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11349882 + !be24 11350394 !le16 105 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 71e685492..80122cde6 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11357431 + !be24 11357943 !le16 2370 diff --git a/src/index/miniattract.idx.a b/src/index/miniattract.idx.a index 6e49fe845..6b232162c 100644 --- a/src/index/miniattract.idx.a +++ b/src/index/miniattract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11323577 + !be24 11324089 !le16 6366 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 99aefd0b5..aab20aa69 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11296929 + !be24 11297441 !le16 6366 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 1b2626df7..9a8ca685e 100644 --- a/src/index/res.cover.idx.a +++ b/src/index/res.cover.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3657216 + !be24 3657728 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index e8dad6ec6..81a067adc 100644 --- a/src/index/res.help.idx.a +++ b/src/index/res.help.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3673600 + !be24 3674112 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 234ce0f50..fff1eb113 100644 --- a/src/index/res.title.idx.a +++ b/src/index/res.title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3665408 + !be24 3665920 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 6b5523554..4f9e1f568 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11235963 + !be24 11236475 !le16 8229 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 8f07e25ef..72fe4c200 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11247833 + !be24 11248345 !le16 9025 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 82da0f3b1..f35a39a96 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11260876 + !be24 11261388 !le16 11886 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 74abc2813..c24a8a813 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11277984 + !be24 11278496 !le16 13131 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 607670b09..fbe43cad9 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11311940 + !be24 11312452 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 5f4e94f56..35a508f18 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11318664 + !be24 11319176 !le16 4913 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index c8f33dac3..c07908f43 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11329943 + !be24 11330455 !le16 5946 diff --git a/src/prelaunch/rb.a b/src/prelaunch/rb.a new file mode 100644 index 000000000..d6887612f --- /dev/null +++ b/src/prelaunch/rb.a @@ -0,0 +1,53 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/RB",plain +*=$106 + + !source "src/prelaunch/common.a" + + +READ_RAM2_NO_WRITE + + lda WaitForVBL + cmp #$60 + beq novbl1 + jsr EnableAccelerator + lda #0 + sta $5FFC ; enable our VBL + +novbl1 + lda #$4C + sta $612F + lda #callback1 + sta $6131 + jmp $3FF8 ; decompress + +callback1 + lda WaitForVBL + cmp #$60 + beq novbl2 + lda #$4C + sta $14F9 + lda #callback2 + sta $14FB + +novbl2 + lda $C055 + jsr DisableAccelerator + +READ_ROM_NO_WRITE + rts + +callback2 + +READ_RAM2_NO_WRITE + jsr WaitForVBL + +READ_ROM_NO_WRITE + rts + +!if * > $1C0 { + !error "code is too large, ends at ", * +}