diff --git a/res/CACHE10.IDX b/res/CACHE10.IDX index abc214d3a..6acb7dfea 100644 Binary files a/res/CACHE10.IDX and b/res/CACHE10.IDX differ diff --git a/res/CACHE11.IDX b/res/CACHE11.IDX index 081163e57..a4516f917 100644 Binary files a/res/CACHE11.IDX and b/res/CACHE11.IDX differ diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 71d1e165a..dcc7bd4b5 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -393,6 +393,7 @@ 00001,SPACE.RACE=Space Race 00001,SPACE.RAIDERS=Space Raiders 10041,SPACE.RESCUE=Space Rescue +10010,SPACE.SPIKES=Space Spikes 10001,SPACE.WARRIOR=Space Warrior 00070,SPARE.CHANGE=Spare Change 00010,SPECTRE=Spectre diff --git a/res/TITLE.HGR.UNPACKED/SPACE.SPIKES b/res/TITLE.HGR.UNPACKED/SPACE.SPIKES new file mode 100644 index 000000000..77820d8c6 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/SPACE.SPIKES differ diff --git a/res/TITLE.HGR/SPACE.SPIKES b/res/TITLE.HGR/SPACE.SPIKES new file mode 100644 index 000000000..aa232c729 Binary files /dev/null and b/res/TITLE.HGR/SPACE.SPIKES differ diff --git a/res/dsk/space spikes PRODOS (san inc pack).po b/res/dsk/space spikes PRODOS (san inc pack).po new file mode 100644 index 000000000..dad528a9c Binary files /dev/null and b/res/dsk/space spikes PRODOS (san inc pack).po differ diff --git a/src/demo/agent.u.s.a.a b/src/demo/agent.u.s.a.a index 39d36d8b8..eb4f1ee40 100644 --- a/src/demo/agent.u.s.a.a +++ b/src/demo/agent.u.s.a.a @@ -31,12 +31,12 @@ lda #$4C sta $0A06 sta $1605 - lda #0 - sta $0A06+1 - sta $1605+1 - lda #1 - sta $0A06+2 - sta $1605+2 ; set exits + inx + stx $0A06+1 + stx $1605+1 + inx + stx $0A06+2 + stx $1605+2 ; set exits lda #$D0 sta $AC64 ; disable sound diff --git a/src/demo/alien.munchies.a b/src/demo/alien.munchies.a index 98578cb5c..677367509 100644 --- a/src/demo/alien.munchies.a +++ b/src/demo/alien.munchies.a @@ -21,7 +21,7 @@ dex bpl - ; exit on button or keypress during demo - ldx #5-1 + ldx #2-1 - lda patch2, x sta $092D, x sta $139D, x @@ -29,7 +29,9 @@ bpl - ; exit on keypress at title screen & during demo ldx #3-1 -- lda patch3, x +- lda patch1-3, x + sta $92F, x + sta $139F, x sta $1392, x sta $0B50, x sta $0B4B, x @@ -46,9 +48,7 @@ patch1 !byte $30,$05,$AD,$00,$C0,$10,$29,$4C,$00,$01 -patch2 !byte $10,$0A,$4C,$00,$01 - -patch3 !byte $4C,$00,$01 +patch2 !byte $10,$0A title !byte x_e-x_b x_b !text "ALIEN.MUNCHIES" diff --git a/src/demo/alien.typhoon.a b/src/demo/alien.typhoon.a index a1f497859..41a568903 100644 --- a/src/demo/alien.typhoon.a +++ b/src/demo/alien.typhoon.a @@ -21,35 +21,28 @@ sta $472F jsr $4710 ; decompress - lda #0 - sta $2067 - lda #1 - sta $206C ; reset vector patch + ldx #0 + stx $2067 + inx + stx $206C ; reset vector patch lda #$60 sta $2075 jsr $2001 ; unpack - lda #$4C - sta $9D58 - sta $8FD6 - sta $8FEF - sta $92B1 - lda #0 - sta $9D58+1 - sta $8FD6+1 - sta $8FEF+1 - sta $92B1+1 - lda #1 - sta $9D58+2 - sta $8FD6+2 - sta $8FEF+2 - sta $92B1+2 ; set exits + ldx #3-1 +- lda patch,x + sta $9D58,x + sta $8FD6,x + sta $8FEF,x + sta $92B1,x ; set exits +DISABLE_ACCEL jmp $8F98 +patch !byte $4C,$00,$01 + title !byte x_e-x_b x_b !text "ALIEN.TYPHOON" x_e diff --git a/src/demo/apple.invader.a b/src/demo/apple.invader.a index 33c7d765c..cabf6aa5d 100644 --- a/src/demo/apple.invader.a +++ b/src/demo/apple.invader.a @@ -22,36 +22,36 @@ sta $6020 jsr $6002 ; decompress - lda #$D8 ; move location from $3F2 to $3D8 - sta $1113 ; (program uses reset vector for storage) - sta $1245 - sta $4A2C - sta $4A34 - sta $4A41 - sta $5A9C - sta $5AA4 - sta $5AB1 - sta $5A9C - lda #$D9 ; move location from $3F3 to $3D9 - sta $1FA0 - sta $4A31 - sta $4F4D - sta $5AA1 - lda #$DA ; move location from $3F4 to $3DA - sta $11AF - sta $1824 - sta $19DF - sta $1DE8 - sta $1E5A ; reset vector fix + ldx #$D8 ; move location from $3F2 to $3D8 + stx $1113 ; (program uses reset vector for storage) + stx $1245 + stx $4A2C + stx $4A34 + stx $4A41 + stx $5A9C + stx $5AA4 + stx $5AB1 + stx $5A9C + inx ; move location from $3F3 to $3D9 + stx $1FA0 + stx $4A31 + stx $4F4D + stx $5AA1 + inx ; move location from $3F4 to $3DA + stx $11AF + stx $1824 + stx $19DF + stx $1DE8 + stx $1E5A ; reset vector fix lda #$4C sta $46C0 - lda #0 - sta $46C0+1 - sta $4A96 ; (moved to $1E37+1) - lda #1 - sta $46C0+2 ; exit on keypress - sta $4A9B ; exit at end of demo loop (moved to $1E37+2) + ldx #0 + stx $46C0+1 + stx $4A96 ; (moved to $1E37+1) + inx + stx $46C0+2 ; exit on keypress + stx $4A9B ; exit at end of demo loop (moved to $1E37+2) lda $7fe pha diff --git a/src/demo/apple.oids.a b/src/demo/apple.oids.a index b3b3dc9b4..72ae573fe 100644 --- a/src/demo/apple.oids.a +++ b/src/demo/apple.oids.a @@ -18,10 +18,10 @@ lda #$4C sta $4FD7 ; exit on keypress sta $4F96 ; exit at end of demo - lda #0 - sta $4FD7+1 - lda #1 - sta $4FD7+2 + ldx #0 + stx $4FD7+1 + inx + stx $4FD7+2 ; doesn't try to detect joystick or joystick buttons @@ -43,8 +43,7 @@ callback lda $C000 lda #$FF jsr $FCA8 ; WAIT 0.16395694 seconds dec count - beq + - jmp callback + bne callback + jmp $100 count !byte $3D ; number of 0.16395694 second WAIT cycles diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index a63852ee2..3d90b893a 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 15139832 + !be24 15147675 !le16 5108 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 5bbf3a1e0..06fdf6346 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 15086748 + !be24 15094553 !le16 5605 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index e4dc05faf..dfd2038d1 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 15021666 + !be24 15029346 !le16 3993 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index a8b064500..9c67e7b75 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 15035734 + !be24 15043414 !le16 4412 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 71c8fe449..0ebefb193 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 15053320 - !le16 5615 + !be24 15061036 + !le16 5632 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 8bffa6e73..6c93025e3 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 15073432 - !le16 6231 + !be24 15081201 + !le16 6248 diff --git a/src/index/count10.a b/src/index/count10.a index 940cfed0a..1755f8bd9 100644 --- a/src/index/count10.a +++ b/src/index/count10.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 425 +!word 426 diff --git a/src/index/count11.a b/src/index/count11.a index 054e3f3f4..a6208c989 100644 --- a/src/index/count11.a +++ b/src/index/count11.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 467 +!word 468 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index e2fd1ff35..5341f02c5 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 15144940 + !be24 15152783 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 3d1d58e4a..f06c0f307 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 15145694 + !be24 15153537 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index b158b507a..958624ede 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 15146142 + !be24 15153985 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 2e2bc91dd..07a0096be 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 15094993 + !be24 15102798 !le16 1640 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 3e145404a..1034dccaf 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 15145426 + !be24 15153269 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index a014d824a..0b083647e 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 15139773 + !be24 15147616 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index a2bc65e53..1b26c8bb5 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 15138239 + !be24 15146082 !le16 1437 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 2eb853f71..3c425b227 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 15123046 + !be24 15130889 !le16 537 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 5a4b1f4fb..52590f38b 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 15092353 + !be24 15100158 !le16 2640 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 911ef9070..c39c7a636 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 15096991 - !le16 7085 + !be24 15104796 + !le16 7104 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 106cdc0b4..18ff79446 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 15145350 + !be24 15153193 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 3d57e08a7..891945e55 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 15139676 + !be24 15147519 !le16 97 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index bdd810a14..41ce9e44a 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 15145493 + !be24 15153336 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 4bcf9d2cd..d63f54601 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 15123583 + !be24 15131426 !le16 4702 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 531dad965..e378cb91b 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 15128285 + !be24 15136128 !le16 1702 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index adbaab6bd..fa37244d8 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 15129987 + !be24 15137830 !le16 1129 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 11c5478cf..f24d9d16c 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 15131116 + !be24 15138959 !le16 3388 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index a351d3b66..7775bb918 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 15134504 + !be24 15142347 !le16 3142 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 933293c83..e28b995d0 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 15137646 + !be24 15145489 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index e78cb6b29..69a95be7e 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 15138125 + !be24 15145968 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 56a4c8598..b1006d499 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 15146445 + !be24 15154288 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 4a81e7f61..140f00253 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 15109345 + !be24 15117169 !le16 4728 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 459b400e0..cb0dfb273 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 15114073 + !be24 15121897 !le16 2343 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 74f3065d4..8a9c575a8 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 15079663 - !le16 7085 + !be24 15087449 + !le16 7104 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 16757c23b..27596c0eb 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 4008960 + !be24 4016640 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 8465c3a8a..9f2b0c94b 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 4025344 + !be24 4033024 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 337726617..ca509a26f 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 4017152 + !be24 4024832 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 582c4dd9f..d590196eb 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 15012465 + !be24 15020145 !le16 9201 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index e83dde8e5..f2c418515 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 15025659 + !be24 15033339 !le16 10075 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 74f2f2168..1d8097db7 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 15040146 - !le16 13174 + !be24 15047826 + !le16 13210 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 369184ce3..34329ea79 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 15058935 - !le16 14497 + !be24 15066668 + !le16 14533 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 600b39392..9f0b82eb2 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 15096633 + !be24 15104438 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 21d12d208..b14fd323c 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 15104076 + !be24 15111900 !le16 5269 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 7de6e40b7..c5ffe52ee 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 15116416 - !le16 6630 + !be24 15124240 + !le16 6649 diff --git a/src/index/xsingle.idx.a b/src/index/xsingle.idx.a index 3f0ac9761..7c0f9e88c 100644 --- a/src/index/xsingle.idx.a +++ b/src/index/xsingle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15008501 + !be24 15016181 !le16 3964 diff --git a/src/prelaunch/space.spikes.a b/src/prelaunch/space.spikes.a new file mode 100644 index 000000000..bcb7da7a5 --- /dev/null +++ b/src/prelaunch/space.spikes.a @@ -0,0 +1,57 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SPACE.SPIKES",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $88D + sta $905 + sta $96E + jsr $800 ; decompress +- lda x_b, y + sta $250, y + iny + bne - + lda #callback1 + sta $9502 + sta $95B2 + jmp $9500 + +x_b !pseudopc $250 { +callback1 + +READ_RAM2_NO_WRITE + jsr EnableAccelerator + jsr $9503 + +DISABLE_ACCEL + jsr $BC69 + sta $C010 + +callback2 + +READ_RAM2_NO_WRITE + jsr EnableAccelerator + jsr $BC78 + + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $6B5C ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $A00 +} + +!if * > $1C0 { + !error "code is too large, ends at ", * +}