From 9d636b7d908a97e54bdc94afaf15a3005588737b Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Mon, 23 May 2022 07:50:28 -0700 Subject: [PATCH] add Kamikaze demo --- res/ATTRACT/KAMIKAZE | 1 + res/DEMO/KAMIKAZE | Bin 0 -> 125 bytes res/DEMO/_FileInformation.txt | 1 + src/demo/kamikaze.a | 46 ++++++++++++++++++++++++++++++++++ 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/miniattract0.idx.a | 2 +- src/index/miniattract1.idx.a | 2 +- src/index/prelaunch.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/macros.a | 10 ++++++-- 42 files changed, 93 insertions(+), 39 deletions(-) create mode 100644 res/DEMO/KAMIKAZE create mode 100644 src/demo/kamikaze.a diff --git a/res/ATTRACT/KAMIKAZE b/res/ATTRACT/KAMIKAZE index 95ee7302d..e45338a0e 100644 --- a/res/ATTRACT/KAMIKAZE +++ b/res/ATTRACT/KAMIKAZE @@ -4,5 +4,6 @@ # KAMIKAZE=A +KAMIKAZE=0 [eof] diff --git a/res/DEMO/KAMIKAZE b/res/DEMO/KAMIKAZE new file mode 100644 index 0000000000000000000000000000000000000000..aff38496c82f043ab3a75dc949c290bf039738f3 GIT binary patch literal 125 zcmdOCKA_WlKwA=c_ zUZHA*S;Z?a^sdkBHO}hw%jylw>RnN=(x*2fv9~yJ5kud>#20;0iG8JseTNcz8xAOJ YxewIn!!SiSLf_lb*VEfE$`#H40LFkgrT_o{ literal 0 HcmV?d00001 diff --git a/res/DEMO/_FileInformation.txt b/res/DEMO/_FileInformation.txt index 4e2121509..9f8c38a43 100644 --- a/res/DEMO/_FileInformation.txt +++ b/res/DEMO/_FileInformation.txt @@ -45,6 +45,7 @@ GUMBALL=Type(06),AuxType(0210),Access(C3) HARD.HAT.MACK=Type(06),AuxType(0200),Access(C3) HIGH.RISE=Type(06),AuxType(0300),Access(C3) JUNGLE.HUNT=Type(06),AuxType(0210),Access(C3) +KAMIKAZE=Type(06),AuxType(0300),Access(C3) KARATEKA=Type(06),AuxType(0300),Access(C3) KARATEKA.1=Type(F1),AuxType(0000),Access(C3) LABYRINTH=Type(06),AuxType(0310),Access(C3) diff --git a/src/demo/kamikaze.a b/src/demo/kamikaze.a new file mode 100644 index 000000000..4b348cf25 --- /dev/null +++ b/src/demo/kamikaze.a @@ -0,0 +1,46 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "res/DEMO/KAMIKAZE",plain +*=$300 + + !source "src/constants.a" ; no code in these + !source "src/macros.a" + + +READ_RAM2_WRITE_RAM2 + jsr EnableAccelerator + +LOAD_FILE_AT kamikaze, $739A + +READ_ROM_NO_WRITE + lda #$60 + sta $7B12 + jsr $739A ; decompress + + lda #$D0 + sta $69AF ; no sound + sta $6A33 ; no sound + sta $6A4E ; no sound + sta $6A56 ; no sound + sta $70A8 ; no sound + lda #$4C + sta $6158 + sta $6173 + ldx #0 + stx $61C1 + inx + stx $615A + stx $6175 + stx $61C2 + + +DISABLE_ACCEL + jmp $9400 + +kamikaze + !byte kamikaze_e-kamikaze_b +kamikaze_b + !text "X/KAMIKAZE/KAMIKAZE" +kamikaze_e + +!if * > $3F0 { + !error "code is too large, ends at ", * +} diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 14317ee40..690bcadb9 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 11465700 + !be24 11465712 !le16 4580 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 65f88f5aa..da6135752 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 11416888 + !be24 11416900 !le16 5319 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index f58fd2ea2..be9978aaf 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 11357250 + !be24 11357262 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 6baf33ce1..db94572f5 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 11370031 + !be24 11370043 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 1908c4ab0..6e8a22d70 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 11386071 + !be24 11386083 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index d1149ea72..210c64fb8 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 11404585 + !be24 11404597 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index dcdfba27c..494933fed 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 11470280 + !be24 11470292 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index e9a7fb24d..8bdeff79b 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 11471034 + !be24 11471046 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 613114683..e169758b7 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 11471482 + !be24 11471494 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 9f68d5554..8fa25b7c9 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 11424353 + !be24 11424365 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 1560033ef..898141052 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 11470766 + !be24 11470778 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index d4ff99b20..87ecd3d69 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 11465641 + !be24 11465653 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 539483aa0..0918a9f4a 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 11464156 + !be24 11464168 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index d99437b05..c824730a1 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 11449773 + !be24 11449785 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 4b57be584..d26b179bb 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 11422207 + !be24 11422219 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index d3a60db0b..a821a8486 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 11425953 + !be24 11425965 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index b5f96bbd1..e51190994 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 11470690 + !be24 11470702 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 97bcd9a2d..4eb8b2764 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 11465560 + !be24 11465572 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index a80eb6870..d1c338aef 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 11470833 + !be24 11470845 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index fd84ffd0a..04c31da21 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 11450294 + !be24 11450306 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 68d3c5f8a..99cd2e2b0 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 11454805 + !be24 11454817 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 97f7c3f71..7c51a3546 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 11456396 + !be24 11456408 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index b56be6cc3..6c0db861c 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 11457449 + !be24 11457461 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index d5dc92650..abd1a5085 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 11460686 + !be24 11460698 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 912674b68..95755973c 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 11463563 + !be24 11463575 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index b7b6a8d93..93e425af3 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 11464042 + !be24 11464054 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 0c759b228..a99e52e95 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 11471785 + !be24 11471797 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index e23991dcb..d087b878f 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 11437342 + !be24 11437354 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 5f6953f97..b2341d55b 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 11440984 + !be24 11440996 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index f930398f0..919a36399 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 11410455 + !be24 11410467 !le16 6433 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index a00a2fa16..442e69545 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 11348967 + !be24 11348979 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index f77b744cb..ee29238a9 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 11360904 + !be24 11360916 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 5bd744f9b..1f26449ec 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 11374095 + !be24 11374107 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index cd4d87f09..d2927f25b 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 11391316 + !be24 11391328 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 93d0f74a5..6da178687 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 11425595 + !be24 11425607 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index fe2ee2ab5..bcab354b8 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 11432386 + !be24 11432398 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 6f20780d5..772ad4632 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 11443779 + !be24 11443791 !le16 5994 diff --git a/src/macros.a b/src/macros.a index 95aa60a07..cec575351 100755 --- a/src/macros.a +++ b/src/macros.a @@ -454,19 +454,25 @@ ; load an external file by pathname ; LC RAM 2 MUST BE BANKED IN -; LOW BYTE OF .addr MUST BE $00 -; set .addr to $0000 to load anywhere in main +; set .addr to $0000 to load to any aligned addres in main +; LOW BYTE OF .addr MUST BE $00 IN THAT CASE !macro LOAD_FILE_AT .filepath, .addr { !if .addr > 0 { lda #>.addr sta ldrhi + } + !if <.addr > 0 { + lda #<.addr + sta ldrlo } lda iCurBlockLo pha lda iCurBlockHi pha ldx #0 ; read to main memory + !if <.addr = 0 { stx ldrlo + } +LDADDR .filepath jsr iLoadFileDirect pla