diff --git a/res/GAMES.CONF b/res/GAMES.CONF index dfda9bb08..6807a2c19 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -163,8 +163,8 @@ 0000,FS2=Flight Simulator II 0000,FLIP.OUT=Flip Out 0001,FLOBYNOID=Flobynoid -0000,FLOPPY=Floppy -0000,FLY.WARS=Fly Wars +0004,FLOPPY=Floppy +0001,FLY.WARS=Fly Wars 1101,FORCE.7=Force 7 0001,FRAZZLE=Frazzle 0001,FREE.FALL=Free Fall @@ -191,10 +191,10 @@ 0000,GUMBALL=Gumball 1003,H.E.R.O=H E R O 0000,HADRON=Hadron -0000,HANDY.DANDY=Handy Dandy +0001,HANDY.DANDY=Handy Dandy 0006,HARD.HAT.MACK=Hard Hat Mack -0000,HEAD.ON=Head On -1110,HEAVY.BARREL=Heavy Barrel +0001,HEAD.ON=Head On +1111,HEAVY.BARREL=Heavy Barrel 0000,HIGH.RISE=High Rise 0000,HORIZON.V=Horizon V 0001,HUNGRYBOY=Hungryboy diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 4a2a98cd9..878d3161d 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 11418374 + !be24 11418886 !le16 4515 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index dd532dca3..f27f604eb 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 11369587 + !be24 11370099 !le16 5294 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index f27542962..a140ce12f 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 11309949 + !be24 11310461 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index a3014c9d8..b317353af 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 11322730 + !be24 11323242 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 812bb6b85..4c4890a44 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 11338770 + !be24 11339282 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 26fc721b4..03692eabe 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 11357284 + !be24 11357796 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index d5af9a39b..b20d65105 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 11422889 + !be24 11423401 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index cba793338..2791167f3 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 11423643 + !be24 11424155 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index d2cd1dc7f..e6934dc21 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 11424091 + !be24 11424603 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index f2890ebad..5262f6e40 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 11377027 + !be24 11377539 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 0e6bf5016..81a560153 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 11423375 + !be24 11423887 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index 5080dfca5..c0390418d 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 11418315 + !be24 11418827 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index e70358a19..9515609e9 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 11416830 + !be24 11417342 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index d7addbfe6..ccbe220ef 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 11402447 + !be24 11402959 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index f20186e99..e043623fc 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 11374881 + !be24 11375393 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index a10a28db0..00fdbb911 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 11378627 + !be24 11379139 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 2282b11d7..65dd5a50e 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 11423299 + !be24 11423811 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 8b07d16d3..f590031d5 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 11418234 + !be24 11418746 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 04b2aa5d6..44f3f4777 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 11423442 + !be24 11423954 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 45a572e52..ef241a67a 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 11402968 + !be24 11403480 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index b606d5fcd..007bed607 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 11407479 + !be24 11407991 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index e0a956926..49e9eb0d3 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 11409070 + !be24 11409582 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index acf27be2c..81ac77414 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 11410123 + !be24 11410635 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 3f968d29a..13a89481f 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 11413360 + !be24 11413872 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 40647ef14..d45b7ae3d 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 11416237 + !be24 11416749 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index e5440c791..4141b3161 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 11416716 + !be24 11417228 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index c51e200e3..07a85c715 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 11424394 + !be24 11424906 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 46d7211bd..b1028a4b9 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11390016 + !be24 11390528 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 8c3375273..3c7a94e96 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11393658 + !be24 11394170 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 3b963b1e2..7a228efb5 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 11363154 + !be24 11363666 !le16 6433 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 7deca03a6..023657121 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 3697664 + !be24 3698176 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 1a53d9642..d0216bc74 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 3714048 + !be24 3714560 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 38ed42097..40501436f 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 3705856 + !be24 3706368 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index da1eccefe..b5af68dd7 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 11301666 + !be24 11302178 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 1160e6dac..2c41684a8 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 11313603 + !be24 11314115 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 57174f16c..b06d2358d 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 11326794 + !be24 11327306 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 6009e5313..d59d541e2 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 11344015 + !be24 11344527 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 9a944ec67..54dbd1c51 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 11378269 + !be24 11378781 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index f0385bbc2..c61ec3ebe 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 11385060 + !be24 11385572 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index a31c0fe98..e57bc5be9 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 11396453 + !be24 11396965 !le16 5994 diff --git a/src/prelaunch/floppy.a b/src/prelaunch/floppy.a index e73c974f6..a40254ddc 100644 --- a/src/prelaunch/floppy.a +++ b/src/prelaunch/floppy.a @@ -15,7 +15,19 @@ lda #1 sta $42AF - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $4400 ; patch - don't increase lives + sta $46E0 ; patch - don't decrease lives + lda #0 + sta $4255 ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $4000 !if * > $1C0 { diff --git a/src/prelaunch/fly.wars.a b/src/prelaunch/fly.wars.a new file mode 100644 index 000000000..e674cd22f --- /dev/null +++ b/src/prelaunch/fly.wars.a @@ -0,0 +1,32 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/FLY.WARS",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $8B28 + jsr $55FD ; decompress + lda #$60 + sta $5A6 + jsr $5A0 ; decompress more + + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $7C32 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $5500 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/handy.dandy.a b/src/prelaunch/handy.dandy.a index 576039609..a57d8af81 100644 --- a/src/prelaunch/handy.dandy.a +++ b/src/prelaunch/handy.dandy.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by Frank M. +;(c) 2021-2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/HANDY.DANDY",plain @@ -18,7 +18,17 @@ hook lda #1 sta $75DD ; reset vector fix - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $7165 ; patch - don't decrease lives + sta $72DC ; patch - don't increase lives + sta $72E1 ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $6000 !if * > $1C0 { diff --git a/src/prelaunch/head.on.a b/src/prelaunch/head.on.a index ec00c6201..1eaf0ee1e 100755 --- a/src/prelaunch/head.on.a +++ b/src/prelaunch/head.on.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019 by Frank M. +;(c) 2019, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/HEAD.ON",plain @@ -7,6 +7,9 @@ !source "src/prelaunch/common.a" + +READ_RAM2_WRITE_RAM2 + jsr EnableAccelerator + ; clobbers $100, sets LC & page 3 reset vectors +NEW_RESET_VECTOR $7000 @@ -17,14 +20,31 @@ lda $105 ; clone actual TR reentry point to $7000 sta $7005 ; loops between LC and $7000 otherwise - +READ_RAM2_WRITE_RAM2 lda #0 sta $FFFC lda #$70 sta $FFFD ; LC reset vector fix to $7000 + + lda #$4C + sta $203E + lda #callback + sta $2040 + jmp $2000 ; decompress + +callback + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $1072 ; patch - don't increase lives + sta $18B7 ; patch - don't decrease lives ++ + jsr DisableAccelerator +READ_ROM_NO_WRITE - jmp $2000 + jmp $6900 !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/heavy.barrel.a b/src/prelaunch/heavy.barrel.a index aede032b7..bc20ce7aa 100644 --- a/src/prelaunch/heavy.barrel.a +++ b/src/prelaunch/heavy.barrel.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by Frank M. +;(c) 2020, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/HEAVY.BARREL",plain @@ -7,8 +7,42 @@ !source "src/prelaunch/common.a" + +ENABLE_ACCEL + + lda #$60 + sta $11EC + jsr $1000 ; load "DOS" + lda #$48 + sta $D34A + pha + tya + pha + jsr $D34D ; restore ZP + lda #$60 + sta $8EB + jsr $800 ; decompress + lda #$60 + sta $ADC3 + jsr $A827 ; decompress more inc $3F4 ; force reboot - jmp $1000 + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $A8BE + sta $A8D6 ++ + jsr DisableAccelerator + jmp $A821 + +callback + lda #$ad + sta $E76D ; patch - don't decrease lives + sta $E7B7 ; patch - don't increase lives + jmp $A922 !if * > $1C0 { !error "code is too large, ends at ", *