diff --git a/res/CACHE00.IDX b/res/CACHE00.IDX index 78e015159..5c9f36157 100644 Binary files a/res/CACHE00.IDX and b/res/CACHE00.IDX differ diff --git a/res/CACHE01.IDX b/res/CACHE01.IDX index f089b1b44..e809cea3f 100644 Binary files a/res/CACHE01.IDX and b/res/CACHE01.IDX differ diff --git a/res/CACHE10.IDX b/res/CACHE10.IDX index 1006cd5ed..7ca15bc72 100644 Binary files a/res/CACHE10.IDX and b/res/CACHE10.IDX differ diff --git a/res/CACHE11.IDX b/res/CACHE11.IDX index ee616df95..3828dec61 100644 Binary files a/res/CACHE11.IDX and b/res/CACHE11.IDX differ diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 4c6b4b626..50dbc70f8 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -34,6 +34,7 @@ 0001,ALIEN.MUNCHIES=Alien Munchies 0001,ALIEN.TYPHOON=Alien Typhoon 1111,ALIENS=Aliens +1006,ANGEL.1=Angel-1 0000,ANKH=Ankh 0001,APE.ESCAPE=Ape Escape 0001,AC=Apple Cider Spider @@ -75,7 +76,9 @@ 0000,BT=Bill Budge's Trilogy 1007,BLACK.MAGIC=Black Magic 1000,BLISTER.BALL=Blister Ball +0000,BLITZKRIEG=Blitzkrieg 0000,BC=BlockChain +0004,BLOODSUCKERS=Bloodsuckers 0000,BOA=Boa 0001,BOLO=Bolo 0001,BH=Bongo's Bash @@ -345,6 +348,7 @@ 1001,SABOTAGE.II=Sabotage II 0006,SADARS.REVENGE=Sadar's Revenge 0001,SAMMY.LIGHTFOOT=Sammy Lightfoot +0006,SANITRON=Sanitron 0001,SARACEN=Saracen 0007,SEA.DRAGON=Sea Dragon 0003,SEAFOX=Seafox diff --git a/res/TITLE.HGR.UNPACKED/ANGEL.1 b/res/TITLE.HGR.UNPACKED/ANGEL.1 new file mode 100644 index 000000000..24425c47c Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/ANGEL.1 differ diff --git a/res/TITLE.HGR.UNPACKED/BLITZKRIEG b/res/TITLE.HGR.UNPACKED/BLITZKRIEG new file mode 100644 index 000000000..2b0dec7c6 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/BLITZKRIEG differ diff --git a/res/TITLE.HGR.UNPACKED/BLOODSUCKERS b/res/TITLE.HGR.UNPACKED/BLOODSUCKERS new file mode 100644 index 000000000..d4a544a7a Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/BLOODSUCKERS differ diff --git a/res/TITLE.HGR.UNPACKED/SANITRON b/res/TITLE.HGR.UNPACKED/SANITRON new file mode 100644 index 000000000..f44792617 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/SANITRON differ diff --git a/res/TITLE.HGR/ANGEL.1 b/res/TITLE.HGR/ANGEL.1 new file mode 100644 index 000000000..c4377301e Binary files /dev/null and b/res/TITLE.HGR/ANGEL.1 differ diff --git a/res/TITLE.HGR/BLITZKRIEG b/res/TITLE.HGR/BLITZKRIEG new file mode 100644 index 000000000..db7f83631 Binary files /dev/null and b/res/TITLE.HGR/BLITZKRIEG differ diff --git a/res/TITLE.HGR/BLOODSUCKERS b/res/TITLE.HGR/BLOODSUCKERS new file mode 100644 index 000000000..906af1b61 Binary files /dev/null and b/res/TITLE.HGR/BLOODSUCKERS differ diff --git a/res/TITLE.HGR/SANITRON b/res/TITLE.HGR/SANITRON new file mode 100644 index 000000000..0c0654221 Binary files /dev/null and b/res/TITLE.HGR/SANITRON differ diff --git a/res/dsk/angel-1 12k file PRODOS (san inc pack).po b/res/dsk/angel-1 12k file PRODOS (san inc pack).po new file mode 100644 index 000000000..08586d112 Binary files /dev/null and b/res/dsk/angel-1 12k file PRODOS (san inc pack).po differ diff --git a/res/dsk/blitzkrieg 4k file PRODOS (san inc pack).po b/res/dsk/blitzkrieg 4k file PRODOS (san inc pack).po new file mode 100644 index 000000000..e1f8048dc Binary files /dev/null and b/res/dsk/blitzkrieg 4k file PRODOS (san inc pack).po differ diff --git a/res/dsk/bloodsuckers 15k file PRODOS (san inc pack).po b/res/dsk/bloodsuckers 15k file PRODOS (san inc pack).po new file mode 100644 index 000000000..82aad4e1f Binary files /dev/null and b/res/dsk/bloodsuckers 15k file PRODOS (san inc pack).po differ diff --git a/res/dsk/sanitron 13k file PRODOS (san inc pack).po b/res/dsk/sanitron 13k file PRODOS (san inc pack).po new file mode 100644 index 000000000..b8c982ecb Binary files /dev/null and b/res/dsk/sanitron 13k file PRODOS (san inc pack).po differ diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 2180bfdd8..8960b030d 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 11953057 + !be24 11984476 !le16 5108 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 96b026977..caea22256 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 11902980 + !be24 11934269 !le16 5405 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index 7f57b69e6..8a43e7b46 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 11841888 - !le16 3769 + !be24 11872704 + !le16 3780 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 63cc526a3..52d265f88 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 11855086 - !le16 4189 + !be24 11886009 + !le16 4200 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index bbed42fa5..0ab44364e 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 11871531 - !le16 5321 + !be24 11902587 + !le16 5344 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 638f07567..3e06ac2ef 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 11890431 - !le16 5949 + !be24 11921632 + !le16 5972 diff --git a/src/index/count00.a b/src/index/count00.a index 66b0c2ce0..1738c04c4 100644 --- a/src/index/count00.a +++ b/src/index/count00.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 281 +!word 284 diff --git a/src/index/count01.a b/src/index/count01.a index f66034316..8e51456ad 100644 --- a/src/index/count01.a +++ b/src/index/count01.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 308 +!word 311 diff --git a/src/index/count10.a b/src/index/count10.a index ab3376018..1ed308cda 100644 --- a/src/index/count10.a +++ b/src/index/count10.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 397 +!word 401 diff --git a/src/index/count11.a b/src/index/count11.a index ec2064964..01fcdd90e 100644 --- a/src/index/count11.a +++ b/src/index/count11.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 439 +!word 443 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 1e1ebbba7..317dde958 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 11958165 + !be24 11989584 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index cbc31886d..5fd8fd8c7 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 11958919 + !be24 11990338 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 44775aab2..40e635954 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 11959367 + !be24 11990786 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index fa4d23680..595e4d81a 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 11910960 + !be24 11942249 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 38ebcfe3c..319aa2b97 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 11958651 + !be24 11990070 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index ec8d7ca56..916467b56 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 11952998 + !be24 11984417 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 5e6236147..58d4d6233 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 11951464 + !be24 11982883 !le16 1437 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 8b434489b..f6a43f245 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 11936939 + !be24 11968358 !le16 537 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index df2a12b72..a021077a9 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 11908385 + !be24 11939674 !le16 2575 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 26580dfa7..a57c4e5ee 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 11912560 - !le16 6600 + !be24 11943849 + !le16 6665 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index d3a649724..d8aff507a 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 11958575 + !be24 11989994 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index c4d82bed9..381b038ce 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 11952901 + !be24 11984320 !le16 97 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 35c42759c..1218105b6 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 11958718 + !be24 11990137 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 9e973a8cd..b55b759cd 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 11937476 + !be24 11968895 !le16 4436 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 10c1ceb81..612566d7a 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 11941912 + !be24 11973331 !le16 1658 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 4df0b6662..c94628b2a 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 11943570 + !be24 11974989 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 0bbeed867..b382cfa36 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 11944623 + !be24 11976042 !le16 3294 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index ea7a8a8bc..c02f67463 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 11947917 + !be24 11979336 !le16 2954 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index d64ea9675..370f93282 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 11950871 + !be24 11982290 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 5bb53ec67..a7ecef46f 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 11951350 + !be24 11982769 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 0b4e4dc91..091afae1f 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 11959670 + !be24 11991089 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 2ce47ed95..8487334b1 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 11924190 + !be24 11955544 !le16 4383 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 886304653..fb59ab817 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 11928573 + !be24 11959927 !le16 2221 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 74d70e523..39cf7979a 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 11896380 - !le16 6600 + !be24 11927604 + !le16 6665 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index af6c11168..5381a4498 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 3790848 + !be24 3821568 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 00aacbaaa..4cc5eee3d 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 3807232 + !be24 3837952 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 6101a0c6a..2ee4ccda1 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 3799040 + !be24 3829760 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index d4145092f..c6adeea4b 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 11833333 - !le16 8555 + !be24 11864053 + !le16 8651 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 1557bcf7b..ee12f4e80 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 11845657 - !le16 9429 + !be24 11876484 + !le16 9525 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 69406a750..7748f5585 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 11859275 - !le16 12256 + !be24 11890209 + !le16 12378 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index ff6e16134..fc761a818 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 11876852 - !le16 13579 + !be24 11907931 + !le16 13701 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 631a40715..3336f6880 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 11912202 + !be24 11943491 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 0a6ae16f1..ccaedb18d 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 11919160 + !be24 11950514 !le16 5030 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index c0ba4c133..ee8c84191 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 11930794 - !le16 6145 + !be24 11962148 + !le16 6210 diff --git a/src/prelaunch/angel-1.a b/src/prelaunch/angel-1.a new file mode 100644 index 000000000..d879f4222 --- /dev/null +++ b/src/prelaunch/angel-1.a @@ -0,0 +1,34 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/ANGEL.1",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $86E + jsr $800 ; decompress + ldx #0 + stx $B265 + inx + stx $B26A + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $938D ; patch - don't decrease bombs + dec $93E1 ; patch - don't decrease boxes + dec $9459 ; patch - don't decrease fuel + lda #$A5 + sta $9439 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $B00D + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/blitzkrieg.a b/src/prelaunch/blitzkrieg.a new file mode 100644 index 000000000..690ac8d32 --- /dev/null +++ b/src/prelaunch/blitzkrieg.a @@ -0,0 +1,19 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/BLITZKRIEG",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $2015 + jsr $2000 ; decompress + +DISABLE_ACCEL + jmp $800 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/bloodsuckers.a b/src/prelaunch/bloodsuckers.a new file mode 100644 index 000000000..8577137ca --- /dev/null +++ b/src/prelaunch/bloodsuckers.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/BLOODSUCKERS",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $950B + jsr $59E8 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $1B11 ; patch - don't decrease weapons + sta $8B8A ; patch - don't decrease health ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $7E03 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/sanitron.a b/src/prelaunch/sanitron.a new file mode 100644 index 000000000..078c488eb --- /dev/null +++ b/src/prelaunch/sanitron.a @@ -0,0 +1,33 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SANITRON",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $94A7 + jsr $6000 ; decompress + ldx #0 + stx $1381 + inx + stx $1386 + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$AD + sta $8BC ; patch - don't decrease lives + sta $F1E ; patch - don't increase lives + sta $1740 ; patch - don't decrease shield ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $1350 + +!if * > $1C0 { + !error "code is too large, ends at ", * +}