From cad3a0cf38365ec946a11da23845036655e807d0 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 3 Sep 2022 23:33:12 -0400 Subject: [PATCH 01/33] WIP: conditional compilation, the beginnings --- artwork/sfx/scorch_SFX-feat.txt | 40 +++++++ artwork/sfx/scorch_SFX-only-str.rmt | Bin 0 -> 1816 bytes artwork/sfx/scorch_SFX-only.rmt | Bin 0 -> 2228 bytes constants.asm | 27 +++-- display.asm | 168 --------------------------- display_static.asm | 174 ++++++++++++++++++++++++++++ scorch.asm | 46 +++++--- scorch.xex | Bin 50274 -> 50268 bytes textproc.asm | 10 +- weapons.asm | 6 +- 10 files changed, 270 insertions(+), 201 deletions(-) create mode 100644 artwork/sfx/scorch_SFX-feat.txt create mode 100644 artwork/sfx/scorch_SFX-only-str.rmt create mode 100644 artwork/sfx/scorch_SFX-only.rmt create mode 100644 display_static.asm diff --git a/artwork/sfx/scorch_SFX-feat.txt b/artwork/sfx/scorch_SFX-feat.txt new file mode 100644 index 0000000..e7bb349 --- /dev/null +++ b/artwork/sfx/scorch_SFX-feat.txt @@ -0,0 +1,40 @@ +;* --------BEGIN-------- +;* C:\Atari\rmt\rmt128\scorch_SFX-only-str.rmt +FEAT_SFX equ 1 +FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable +FEAT_NOSTARTINGSONGLINE equ 0 +FEAT_INSTRSPEED equ 1 +FEAT_CONSTANTSPEED equ 16 ;(0 times) +FEAT_COMMAND1 equ 1 ;(8 times) +FEAT_COMMAND2 equ 0 ;(0 times) +FEAT_COMMAND3 equ 0 ;(0 times) +FEAT_COMMAND4 equ 0 ;(0 times) +FEAT_COMMAND5 equ 0 ;(0 times) +FEAT_COMMAND6 equ 0 ;(0 times) +FEAT_COMMAND7SETNOTE equ 0 ;(0 times) +FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) +FEAT_PORTAMENTO equ 0 ;(0 times) +FEAT_FILTER equ 1 ;(22 times) +FEAT_FILTERG0L equ 0 ;(0 times) +FEAT_FILTERG1L equ 0 ;(0 times) +FEAT_FILTERG0R equ 0 ;(0 times) +FEAT_FILTERG1R equ 0 ;(0 times) +FEAT_BASS16 equ 0 ;(0 times) +FEAT_BASS16G1L equ 0 ;(0 times) +FEAT_BASS16G3L equ 0 ;(0 times) +FEAT_BASS16G1R equ 0 ;(0 times) +FEAT_BASS16G3R equ 0 ;(0 times) +FEAT_VOLUMEONLYG0L equ 0 ;(0 times) +FEAT_VOLUMEONLYG2L equ 0 ;(0 times) +FEAT_VOLUMEONLYG3L equ 0 ;(0 times) +FEAT_VOLUMEONLYG0R equ 0 ;(0 times) +FEAT_VOLUMEONLYG2R equ 0 ;(0 times) +FEAT_VOLUMEONLYG3R equ 0 ;(0 times) +FEAT_TABLETYPE equ 0 ;(0 times) +FEAT_TABLEMODE equ 0 ;(0 times) +FEAT_TABLEGO equ 1 ;(2 times) +FEAT_AUDCTLMANUALSET equ 1 ;(6 times) +FEAT_VOLUMEMIN equ 0 ;(0 times) +FEAT_EFFECTVIBRATO equ 1 ;(1 times) +FEAT_EFFECTFSHIFT equ 1 ;(11 times) +;* --------END-------- diff --git a/artwork/sfx/scorch_SFX-only-str.rmt b/artwork/sfx/scorch_SFX-only-str.rmt new file mode 100644 index 0000000000000000000000000000000000000000..cc689e587aa27017f6d90d75b92d26b450798f71 GIT binary patch literal 1816 zcmbW1y>1gh5Xb*_KHHbo+7>O#T zAT6TG10V#|If?Cp1__B5;2o$aC=dlgF|)V1jYE)DyvnK=)Kh`qs`<<-Te zYZz|48b`4h+>M{aui|&{xA=E_t^2(Dru)A8wOiV}x%qVS*XE0@-qzo(huhD#zij7v z#olu7ZSOtr3^Sssg%mFHY~nTjd&M`Qizt8cCB&Z zlZAB)?SzBQbqJ2419_?c63x%2j$qm3P8N!#a-~{t%r7inx_o)>8Tvg$#Uh&Oxw{$Z z-&hze9ojAe7rx7<#ql%_sZ2OAel^4Dw0rMfCh^Heduh~LphJm3hZ2IAU<4vndV||j z*hnhH#Zqv|xL%xxN{B=6wNh~91=a=H0;=--HeS=Twq{C!SGhcUzH*^jt2Y{Rp~wgO z@kRdFcp`rk9CtK_xw*#0daYVHKU?-WLp6JP_XUoPCvX&;1JRW$vIcU^^IWRf91Lj^ zDln@`P`=cK2@21SDG`(7CxvT^TtHbSOo=F~(T7@4#x;6$-)!#sG0cpW&E@Se*(M>z z?0hb3WlZk7naLQ3%rR#?imsU!IB%AT#*@i4a2p71)>l^4`2PWY>|nivb_cBvq9X`9 z2=?Q5z<3ET*<&+#gn=^3Ee8kj9e56+gfQ9RfDaXXvhSk{3TwXmfU7{%XvkD89@s+5 zL}(%~;Y;jfhiC4QT)2K+UXZI0*~N mgK9yyQl-JY9))|I4x!BK4F6@0>hkRK>#Ns>7!G$J2LAxY56*-D literal 0 HcmV?d00001 diff --git a/artwork/sfx/scorch_SFX-only.rmt b/artwork/sfx/scorch_SFX-only.rmt new file mode 100644 index 0000000000000000000000000000000000000000..9fa9461c31d2ddaae6567249fb5063279c87401d GIT binary patch literal 2228 zcmbVMKX2Pc6n~^?NhZ!J6}ySzsK|j39Mx82M>L8cLqpq?oDNCaB1*=TvPg*#MJg0o z#pq;psMn&CKR{8Wd#5f13iJ!~J9O%hp~z4aQQq-PTCVLSho6q`9^bw9dw;0u6!gO0 zmk*z8>53pI`V+mS%X?3CSN~T3QU6naqu<{Sw!h#0Y5R|Dy7Opfxbx4>%iUjg|JyZ< z7sl^Krcr7sz1Py?dHQ znhznR66ieL6GrJf6lO~YV+Aw?R0XxA#Uu{lOpq96jlknI<=L~j*e4pD(x}=%E<_8+ zg)o31v>6b>OD|x1ipO!Kuvi>eGOQQ!;Dj*rX)9%{ybMP&jAh`J$J}sTBZr3~6L6Kw ztG6m2udP>WwGBhgYGZceyhj*;;!(we0L@Odhx1VLP{>0oh7s?O z2UK#P=FCT@6%SSAE35(`wHl);;lLJc5eyMD5mbg;yhA}eMSNj*mtA11*vfJ1*Zh3p zuEr%ve7!D+c{Dpi##qtSl?Sm_*O?Cq-U2_Slh`3XQ_9=}d( zA0gMTGq2cS5Yu+@7AmA(7uZW&R4uPov^-#~Qs6NKuP_=CQmL>D85~?<%R>6?qjPkN zGm#GR)en2U#Q)XeN-2)9RvYI5flcK7n%#NmG-xWMt>iSY*R#N0Cqu}X-N3)h*)!Aq z_T8uVr!bwq1$pnv-m3?Xe9s(MbmV(o7+E15`eQ4YkzA+S3q1$lb|TO7!HfD944l!( zaV_XrX4s=`tLu2N$U*hV+b}c(bH5jb7K{dd-=h1jA9Wyb{E$QSvQGi@W79ArI3_h^Di1w|6 zeb?FVBNg8dv1Y?z)Q`Y*UPMlZvRKeI!_W#2V2o*5)OO7-xIQin)HZ{_av?OmJ{|a9 RTkx4T3WEqehqQhN-T|+8P^|y} literal 0 HcmV?d00001 diff --git a/constants.asm b/constants.asm index 2f55d79..5cdd5a4 100644 --- a/constants.asm +++ b/constants.asm @@ -559,8 +559,6 @@ CreditsStart dta d"Warsaw, Miam",d"i"* dta d"2000-202",d"2"* dta d" "* - dta d"B",d"y"* - dta d" "* dta d"Programmin",d"g"* dta d"Tomasz 'Pecus' Peck",d"o"* dta d"Pawel 'pirx' Kalinowsk",d"i"* @@ -568,15 +566,19 @@ CreditsStart dta d"SFX, Music and Suppor",d"t"* dta d"Michal 'Miker' Szpilowsk",d"i"* dta d" "* - dta d"Additional Musi",d"c"* - dta d"Mario 'Emkay' Kri",d"x"* - dta d" "* + .IF target != 5200 + dta d"Additional Musi",d"c"* + dta d"Mario 'Emkay' Kri",d"x"* + dta d" "* + .ENDIF dta d"Code Optimizatio",d"n"* dta d"Piotr '0xF' Fusi",d"k"* dta d" "* dta d"Ar",d"t"* dta d"Adam Wachowsk",d"i"* - dta d"Krzysztof 'Kaz' Ziembi",d"k"* + .IF target != 5200 + dta d"Krzysztof 'Kaz' Ziembi",d"k"* + .ENDIF dta d" "* dta d"Ideas and Q",d"A"* dta d"Bocianu, Probabilitydragon, EnderDude",d","* @@ -586,9 +588,16 @@ CreditsStart dta d" "* dta d"Additional testin",d"g"* dta d"Arek and Alex Peck",d"o"* - dta d" "* - dta d"Stay tuned for the FujiNet version",d"!"* + .IF target != 5200 + dta d" "* + dta d"Stay tuned for the FujiNet version",d"!"* + .ENDIF dta d" "* CreditsEnd -CreditsLines=44 +.IF target = 5200 + CreditsLines=36 +.ELSE + CreditsLines=42 ; 34 in reality. add 7? +.ENDIF + .endif diff --git a/display.asm b/display.asm index 7c4a95e..4da3c22 100644 --- a/display.asm +++ b/display.asm @@ -103,173 +103,5 @@ DLCreditsAddr ;------------------------ ; end of "variables" (RAM) ;------------------------ -; start of "constants" (ROM) -;----------------------------------------------- -;Screen displays go first to avoid crossing 4kb barrier -;----------------------------------------------- -OptionsScreen - dta d"Welcome to Scorch v. " - build ; 4 bytes from scorch.asm (fancy method) :) - dta d" (un)2000-2022" - dta d" Please select option with cursor keys " - dta d" and press (Return) to proceed " -MoreUp - dta d" " - dta 92,92,92 - dta d" more " - dta 92,92,92 - dta d" " -MoreDown - dta d" " - dta 93,93,93 - dta d" more " - dta 93,93,93 - dta d" " -WeaponsDescription - ; 0123456789012345678901234567890123456789 - dta d"Tab"* - dta d ": Defensive/Offensive weapon " -PurchaseDescription - ; 0123456789012345678901234567890123456789 - dta d"Space"* - dta d": Purchase " - dta d"Return"* - dta d": Finish " -ActivateDescription - ; 0123456789012345678901234567890123456789 - dta d"Space"* - dta d": Activate " - dta d"Return"* - dta d": Finish " -EmptyLine - dta d" " -;--------------------------------------------------- -OptionsTitle - dta d" scorch "* -DifficultyTitle - dta d" difficulty "* -PurchaseTitle - dta d"purchase weapons" -InventoryTitle - dta d"activate weapons"* -GameOverTitle - dta d" game over "* -GameOverTitle2 - dta d" Player Points Hits Earned Money " -;----------------------------------------------------- -;-------------display-lists--------------------------- -;----------------------------------------------------- -dl ; MAIN game display list - .byte 0 - .byte $42 - .word textbuffer - .byte $02, $02 +$80 ;DLI - .byte $10 ; 2 blank lines - - .byte $4f - .word display ; 1 line - :76 .by $0f ;76 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :13 .by $0f ;13 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :8 .by $0f ;8 - .by $4f ;1 - .wo display+$0ff0 - :2 .by $0f ;2 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :9 .by $0f ;9 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :8 .by $0f ;8 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :7 .by $0f ;7 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :6 .by $0f ;6 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :5 .by $0f ;5 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :4 .by $0f ;4 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :3 .by $0f ;3 - .by $0f+$80 ; DLI (black to end);1 - :38 .byte $0f ;35 ..... = 200 - .by $4f - .wo EmptyLine ; additional line of ground - .byte $41 - .word dl -;----------------------------------------------- - .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! -OptionsDL - .byte $70 - .byte $47 - .word OptionsTitle - .byte $70,$70 - .byte $42 - .word OptionsScreen - .byte $30,$02,$02,$70 - .byte $42 - .word OptionsHere - .byte $10 - :maxOptions-1 .by $02,$10 - :(9-maxOptions) .by $70,$10 - .byte $80 - .byte $4f - .word (display+140*40) - :21 .by $0f ;76 - .byte $41 - .word OptionsDL -;------------------------ -;Enter names of tanks DL -NameDL - .byte $70 - .byte $47 - .word DifficultyTitle - .byte $70,$70 - .byte $42 - .word NameScreen - .byte $30 - .byte $02,$30+$80,$02 - .byte $10,$02,$02,$02,$30,$02,$02 - .byte $41 - .word NameDL -; ------------------------------------------------- -GameOverResults = display+$0ff0 ; reuse after game -Credits = GameOverResults +(6*40) -CreditsLastLine = Credits + (CreditsLines*40) -GameOverDL - .byte $70,$40 - .byte $47 ; 16 gr8 lines - .word GameOverTitle - .byte $4f ; 1 line - .word display+(40*72) - :28 .byte $0f ; 28 lines - .byte $0f+$80 - .byte $4f ; 1 line - .word display+(40*32) - :30 .byte $0f ; 30 lines - .byte $0f+$80 ; 1 line - .byte $4f ; 1 line - .word display+(40*72) - :7 .byte $0f ; 7 lines - .byte $00+$80 ; 1 line - .byte $42 ; 7 tekst lines - .word GameOverTitle2 - .byte $00+$80 - .byte $42 - .word GameOverResults - :5 .byte $00+$80,$02 - .byte $01 - .word DLCreditsFragm -; --------------- -; end of "constants" (ROM) -;----------------------------------------------- .endif \ No newline at end of file diff --git a/display_static.asm b/display_static.asm new file mode 100644 index 0000000..b8f8d10 --- /dev/null +++ b/display_static.asm @@ -0,0 +1,174 @@ +; @com.wudsn.ide.asm.mainsourcefile=scorch.asm + +.IF *>0 ;this is a trick that prevents compiling this file alone +;------------------------ +; start of "constants" (ROM) +;----------------------------------------------- +;Screen displays go first to avoid crossing 4kb barrier +;----------------------------------------------- +OptionsScreen + dta d"Welcome to Scorch v. " + build ; 4 bytes from scorch.asm (fancy method) :) + dta d" (un)2000-2022" + dta d" Please select option with cursor keys " + dta d" and press (Return) to proceed " +MoreUp + dta d" " + dta 92,92,92 + dta d" more " + dta 92,92,92 + dta d" " +MoreDown + dta d" " + dta 93,93,93 + dta d" more " + dta 93,93,93 + dta d" " +WeaponsDescription + ; 0123456789012345678901234567890123456789 + dta d"Tab"* + dta d ": Defensive/Offensive weapon " +PurchaseDescription + ; 0123456789012345678901234567890123456789 + dta d"Space"* + dta d": Purchase " + dta d"Return"* + dta d": Finish " +ActivateDescription + ; 0123456789012345678901234567890123456789 + dta d"Space"* + dta d": Activate " + dta d"Return"* + dta d": Finish " +EmptyLine + dta d" " +;--------------------------------------------------- +OptionsTitle + dta d" scorch "* +DifficultyTitle + dta d" difficulty "* +PurchaseTitle + dta d"purchase weapons" +InventoryTitle + dta d"activate weapons"* +GameOverTitle + dta d" game over "* +GameOverTitle2 + dta d" Player Points Hits Earned Money " +;----------------------------------------------------- +;-------------display-lists--------------------------- +;----------------------------------------------------- + +dl ; MAIN game display list + .byte 0 + .byte $42 + .word textbuffer + .byte $02, $02 +$80 ;DLI + .byte $10 ; 2 blank lines + + .byte $4f + .word display ; 1 line + :76 .by $0f ;76 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :13 .by $0f ;13 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :8 .by $0f ;8 + .by $4f ;1 + .wo display+$0ff0 + :2 .by $0f ;2 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :9 .by $0f ;9 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :8 .by $0f ;8 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :7 .by $0f ;7 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :6 .by $0f ;6 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :5 .by $0f ;5 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :4 .by $0f ;4 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :3 .by $0f ;3 + .by $0f+$80 ; DLI (black to end);1 + :38 .byte $0f ;35 ..... = 200 + .by $4f + .wo EmptyLine ; additional line of ground + .byte $41 + .word dl +;----------------------------------------------- + .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! +OptionsDL + .byte $70 + .byte $47 + .word OptionsTitle + .byte $70,$70 + .byte $42 + .word OptionsScreen + .byte $30,$02,$02,$70 + .byte $42 + .word OptionsHere + .byte $10 + :maxOptions-1 .by $02,$10 + :(9-maxOptions) .by $70,$10 + .byte $80 + .byte $4f + .word (display+140*40) + :21 .by $0f ;76 + .byte $41 + .word OptionsDL +;------------------------ +;Enter names of tanks DL +NameDL + .byte $70 + .byte $47 + .word DifficultyTitle + .byte $70,$70 + .byte $42 + .word NameScreen + .byte $30 + .byte $02,$30+$80,$02 + .byte $10,$02,$02,$02,$30,$02,$02 + .byte $41 + .word NameDL +; ------------------------------------------------- +GameOverResults = display+$0ff0 ; reuse after game +Credits = GameOverResults +(6*40) +CreditsLastLine = Credits + (CreditsLines*40) +GameOverDL + .byte $70,$40 + .byte $47 ; 16 gr8 lines + .word GameOverTitle + .byte $4f ; 1 line + .word display+(40*72) + :28 .byte $0f ; 28 lines + .byte $0f+$80 + .byte $4f ; 1 line + .word display+(40*32) + :30 .byte $0f ; 30 lines + .byte $0f+$80 ; 1 line + .byte $4f ; 1 line + .word display+(40*72) + :7 .byte $0f ; 7 lines + .byte $00+$80 ; 1 line + .byte $42 ; 7 tekst lines + .word GameOverTitle2 + .byte $00+$80 + .byte $42 + .word GameOverResults + :5 .byte $00+$80,$02 + .byte $01 + .word DLCreditsFragm +; --------------- +; end of "constants" (ROM) +;----------------------------------------------- +.endif \ No newline at end of file diff --git a/scorch.asm b/scorch.asm index 451d42c..ff1c750 100644 --- a/scorch.asm +++ b/scorch.asm @@ -35,10 +35,19 @@ ;and due to being always short of time/energy (to finish the game) ;we decided it must go in 'English' to let other people work on it +.def target = 800 ;5200 ; or 800 + .macro build dta d"1.13" ; number of this build (3 bytes) .endm +.macro RMTSong + .IF target != 5200 + lda #:1 + jsr RMTSongSelect + .ENDIF +.endm + icl 'definitions.asm' @@ -153,9 +162,10 @@ icl 'lib/ATARISYS.ASM' icl 'lib/macro.hea' - ;splash screen and musix - icl 'artwork/Scorch50.asm' - + .IF target !=5200 + ;splash screen and musix + icl 'artwork/Scorch50.asm' + .ENDIF ;Game loading address ORG $3000 @@ -165,6 +175,7 @@ WeaponFont ;Screen displays go here to avoid crossing 4kb barrier ;----------------------------------------------- icl 'display.asm' + icl 'display_static.asm' ;---------------------------------------------- ;-------------------------------------------------- @@ -221,9 +232,7 @@ START ;jsr GameOverScreen ; only for test !!! - lda #song_main_menu - jsr RmtSongSelect - + RMTSong song_main_menu jsr Options ;startup screen jsr MakeDarkScreen @@ -281,8 +290,7 @@ SettingBarrel ; Results are number of other deaths ; before the player dies itself - lda #song_round_over - jsr RmtSongSelect + RmtSong song_round_over jsr DisplayResults jsr DemoModeOrKey @@ -385,7 +393,7 @@ GoGameOver NoGameOverYet inc CurrentRoundNr jsr MakeDarkScreen ; issue #72 - jsr RmtSongSelect + ; jsr RmtSongSelect ; ????? mva #sfx_silencer sfx_effect jsr PMoutofscreen @@ -402,8 +410,7 @@ NoGameOverYet ; the shooting angle is randomized ; of course gains an loses are zeroed - lda #song_ingame - jsr RmtSongSelect + RmtSong song_ingame jsr SetPMWidth lda #0 @@ -1641,7 +1648,7 @@ MakeDarkScreen ;-------------------------------------------------- ; starting song line 0-255 to A reg cmp #song_ingame - bne noingame ; noMusic blck onlu ingame song + bne noingame ; noMusic blocks only ingame song bit noMusic spl:lda #song_silencio noingame @@ -1691,11 +1698,20 @@ PLAYER .ECHO 'PLAYER: ',* icl 'artwork/sfx/rmtplayr.a65' + .IF target=5200 MODUL equ $b000 ;address of RMT module - opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str6.rmt" ;include music RMT module - opt h+ + opt h- ;RMT module is standard Atari binary file already + ins "artwork/sfx/scorch_SFX-only-str.rmt" ;include music RMT module + opt h+ + + .ELSE +MODUL equ $b000 ;address of RMT module + opt h- ;RMT module is standard Atari binary file already + ins "artwork/sfx/scorch_str6.rmt" ;include music RMT module + opt h+ + .ENDIF ; +MODULEND ;---------------------------------------------- org $bf80 font4x4 diff --git a/scorch.xex b/scorch.xex index d54baeae4b517bdb5fd07991ba525ded000b9956..62634f5f1219d5a60c25c5e1ce2e46286d2de153 100644 GIT binary patch delta 14379 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%0Al`W>)7tFY%@qiYe~;c@A|(hb5EGK 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 Date: Mon, 5 Sep 2022 22:29:16 -0400 Subject: [PATCH 02/33] typos, not important --- scorch.asm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scorch.asm b/scorch.asm index ff1c750..b34b4a8 100644 --- a/scorch.asm +++ b/scorch.asm @@ -35,7 +35,7 @@ ;and due to being always short of time/energy (to finish the game) ;we decided it must go in 'English' to let other people work on it -.def target = 800 ;5200 ; or 800 +.def target = 800 ; 5200 ; or 800 .macro build dta d"1.13" ; number of this build (3 bytes) @@ -168,7 +168,12 @@ .ENDIF ;Game loading address - ORG $3000 + .IF target = 5200 + ORG $3000 + .ELSE + ORG $3000 + .ENDIF + WeaponFont ins 'artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt' ;----------------------------------------------- @@ -1700,8 +1705,8 @@ PLAYER .IF target=5200 MODUL equ $b000 ;address of RMT module - opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_SFX-only-str.rmt" ;include music RMT module + opt h- ;RMT module is standard Atari binary file already + ins "artwork/sfx/scorch_SFX-only-str.rmt" ;include music RMT module opt h+ .ELSE From 0ad513d5cb0b11d07e6e9213468150cd3f25e4a6 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 10 Sep 2022 16:17:09 -0400 Subject: [PATCH 03/33] shortened version --- scorch.asm | 2 +- scorch.xex | Bin 50268 -> 31374 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index b34b4a8..fb85659 100644 --- a/scorch.asm +++ b/scorch.asm @@ -35,7 +35,7 @@ ;and due to being always short of time/energy (to finish the game) ;we decided it must go in 'English' to let other people work on it -.def target = 800 ; 5200 ; or 800 +.def target = 5200 ; or 800 .macro build dta d"1.13" ; number of this build (3 bytes) diff --git a/scorch.xex b/scorch.xex index 62634f5f1219d5a60c25c5e1ce2e46286d2de153..f827974bd602baf8a9518713a313c3726423e25e 100644 GIT binary patch delta 15448 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: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 Date: Sun, 11 Sep 2022 20:32:16 -0400 Subject: [PATCH 04/33] rmtplayr_modified.asm <-- simplified and working RMT player --- artwork/sfx/rmtplayr_modified.asm | 635 ++++++++++++++++++++++++++++++ definitions.asm | 21 +- scorch.asm | 103 ++--- scorch.xex | Bin 31374 -> 50160 bytes variables.asm | 27 +- 5 files changed, 721 insertions(+), 65 deletions(-) create mode 100644 artwork/sfx/rmtplayr_modified.asm diff --git a/artwork/sfx/rmtplayr_modified.asm b/artwork/sfx/rmtplayr_modified.asm new file mode 100644 index 0000000..8a62912 --- /dev/null +++ b/artwork/sfx/rmtplayr_modified.asm @@ -0,0 +1,635 @@ +; +; Raster Music Tracker, RMT Atari routine version 1.20090108 +; (c) Radek Sterba, Raster/C.P.U., 2002 - 2009 +; http://raster.atari.org +; +; Warnings: +; +; 1. RMT player routine needs 19 itself reserved bytes in zero page (no accessed +; from any other routines) as well as cca 1KB of memory before the "PLAYER" +; address for frequency tables and functionary variables. It's: +; a) from PLAYER-$03c0 to PLAYER for stereo RMTplayer +; b) from PLAYER-$0320 to PLAYER for mono RMTplayer +; +; 2. RMT player routine MUST (!!!) be compiled from the begin of the memory page. +; i.e. "PLAYER" address can be $..00 only! +; +; 3. Because of RMTplayer provides a lot of effects, it spent a lot of CPU time. +; +; STEREOMODE equ 0..3 ;0 => compile RMTplayer for 4 tracks mono +; ;1 => compile RMTplayer for 8 tracks stereo +; ;2 => compile RMTplayer for 4 tracks stereo L1 R2 R3 L4 +; ;3 => compile RMTplayer for 4 tracks stereo L1 L2 R3 R4 + +TRACKS equ 4 +; RMT FEATures definitions file +; For optimizations of RMT player routine to concrete RMT modul only! + icl "feat.txt" +;FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT +; +; RMT ZeroPage addresses +.zpvar p_tis .word ;= RMT_Zero_Page_V +p_instrstable = p_tis +.zpvar p_trackslbstable .word +.zpvar p_trackshbstable .word +.zpvar p_song .word +.zpvar ns .word +.zpvar nr .word +.zpvar nt .byte +.zpvar reg1 .byte +.zpvar reg2 .byte +.zpvar reg3 .byte +.zpvar tmp .byte + org PLAYER-$400+$e0 +track_variables +trackn_db .ds TRACKS +trackn_hb .ds TRACKS +trackn_idx .ds TRACKS +trackn_pause .ds TRACKS +trackn_note .ds TRACKS +trackn_volume .ds TRACKS +trackn_distor .ds TRACKS +trackn_shiftfrq .ds TRACKS +trackn_instrx2 .ds TRACKS +trackn_instrdb .ds TRACKS +trackn_instrhb .ds TRACKS +trackn_instridx .ds TRACKS +trackn_instrlen .ds TRACKS +trackn_instrlop .ds TRACKS +trackn_instrreachend .ds TRACKS +trackn_volumeslidedepth .ds TRACKS +trackn_volumeslidevalue .ds TRACKS +trackn_effdelay .ds TRACKS +trackn_effvibratoa .ds TRACKS +trackn_effshift .ds TRACKS +trackn_tabletypespeed .ds TRACKS +trackn_tablenote .ds TRACKS +trackn_tablea .ds TRACKS +trackn_tableend .ds TRACKS +trackn_tablelop .ds TRACKS +trackn_tablespeeda .ds TRACKS +trackn_command .ds TRACKS +trackn_filter .ds TRACKS +trackn_audf .ds TRACKS +trackn_audc .ds TRACKS +trackn_audctl .ds TRACKS +v_aspeed .ds 1 +track_endvariables + org PLAYER-$100-$140-$40+2 +INSTRPAR equ 12 +tabbeganddistor + dta frqtabpure-frqtab,$00 + dta frqtabpure-frqtab,$20 + dta frqtabpure-frqtab,$40 + dta frqtabbass1-frqtab,$c0 + dta frqtabpure-frqtab,$80 + dta frqtabpure-frqtab,$a0 + dta frqtabbass1-frqtab,$c0 + dta frqtabbass2-frqtab,$c0 +vibtabbeg dta 0,vib1-vib0,vib2-vib0,vib3-vib0 +vib0 dta 0 +vib1 dta 1,-1,-1,1 +vib2 dta 1,0,-1,-1,0,1 +vib3 dta 1,1,0,-1,-1,-1,-1,0,1,1 +vibtabnext + dta vib0-vib0+0 + dta vib1-vib0+1,vib1-vib0+2,vib1-vib0+3,vib1-vib0+0 + dta vib2-vib0+1,vib2-vib0+2,vib2-vib0+3,vib2-vib0+4,vib2-vib0+5,vib2-vib0+0 + dta vib3-vib0+1,vib3-vib0+2,vib3-vib0+3,vib3-vib0+4,vib3-vib0+5,vib3-vib0+6,vib3-vib0+7,vib3-vib0+8,vib3-vib0+9,vib3-vib0+0 + org PLAYER-$100-$140 + org PLAYER-$100-$100 +frqtab + ERT [255 +; ldy #0 +; tya +;ri0 sta track_variables,y +; sta track_endvariables-$100,y +; iny +; bne ri0 +; ELS + ldy #track_endvariables-track_variables + lda #0 +ri0 sta track_variables-1,y + dey + bne ri0 +; EIF + ldy #4 + lda (ns),y + sta v_maxtracklen + iny + lda (ns),y + sta v_speed + ldy #8 +ri1 lda (ns),y + sta p_tis-8,y + iny + cpy #8+8 + bne ri1 + pla + pha + asl @ + asl @ + clc + adc p_song + sta p_song + pla + php + and #$c0 + asl @ + rol @ + rol @ + plp + adc p_song+1 + sta p_song+1 + jsr GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +rmt_silence + lda #0 + sta $d208 + ldy #3 + sty $d20f + ldy #8 +si1 sta $d200,y + dey + bpl si1 + lda #FEAT_INSTRSPEED + rts +GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +GetSongLine + ldx #0 + stx v_abeat +nn0 +nn1 txa + tay + lda (p_song),y + cmp #$fe + bcs nn2 + tay + lda (p_trackslbstable),y + sta trackn_db,x + lda (p_trackshbstable),y +nn1a sta trackn_hb,x + lda #0 + sta trackn_idx,x + lda #1 +nn1a2 sta trackn_pause,x + lda #$80 + sta trackn_instrx2,x + inx +xtracks01 cpx #TRACKS + bne nn1 + lda p_song + clc +xtracks02 adc #TRACKS + sta p_song + bcc GetTrackLine + inc p_song+1 +nn1b + jmp GetTrackLine +nn2 + beq nn3 +nn2a + lda #0 + beq nn1a2 +nn3 + ldy #2 + lda (p_song),y + tax + iny + lda (p_song),y + sta p_song+1 + stx p_song + ldx #0 + beq nn0 +GetTrackLine +oo0 +oo0a + lda #$ff +v_speed equ *-1 + sta v_bspeed + ldx #-1 +oo1 + inx + dec trackn_pause,x + bne oo1x +oo1b + lda trackn_db,x + sta ns + lda trackn_hb,x + sta ns+1 +oo1i + ldy trackn_idx,x + inc trackn_idx,x + lda (ns),y + sta reg1 + and #$3f + cmp #61 + beq oo1a + bcs oo2 + sta trackn_note,x + iny + lda (ns),y + lsr @ + and #$3f*2 + sta trackn_instrx2,x +oo1a + lda #1 + sta trackn_pause,x + ldy trackn_idx,x + inc trackn_idx,x + lda (ns),y + lsr @ + ror reg1 + lsr @ + ror reg1 + lda reg1 + and #$f0 + sta trackn_volume,x +oo1x +xtracks03sub1 cpx #TRACKS-1 + bne oo1 + lda #$ff +v_bspeed equ *-1 + sta v_speed + sta v_aspeed + jmp InitOfNewSetInstrumentsOnly +oo2 + cmp #63 + beq oo63 + lda reg1 + and #$c0 + beq oo62_b + asl @ + rol @ + rol @ + sta trackn_pause,x + jmp oo1x +oo62_b + iny + lda (ns),y + sta trackn_pause,x + inc trackn_idx,x + jmp oo1x +oo63 + lda reg1 + bmi oo63_1X + iny + lda (ns),y + sta v_bspeed + inc trackn_idx,x + jmp oo1i +oo63_1X + cmp #255 + beq oo63_11 + iny + lda (ns),y + sta trackn_idx,x + jmp oo1i +oo63_11 + jmp GetSongLine +p2xrmtp3 jmp rmt_p3 +p2x0 dex + bmi p2xrmtp3 +InitOfNewSetInstrumentsOnly +p2x1 ldy trackn_instrx2,x + bmi p2x0 + jsr SetUpInstrumentY2 + jmp p2x0 +rmt_sfx + sta trackn_note,x + lda #$f0 ;* sfx note volume*16 +RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting + sta trackn_volume,x +SetUpInstrumentY2 + lda (p_instrstable),y + sta trackn_instrdb,x + sta nt + iny + lda (p_instrstable),y + sta trackn_instrhb,x + sta nt+1 + lda #1 + sta trackn_filter,x + tay + lda (nt),y + sta trackn_tablelop,x + iny + lda (nt),y + sta trackn_instrlen,x + iny + lda (nt),y + sta trackn_instrlop,x + iny + lda (nt),y + sta trackn_tabletypespeed,x + sta trackn_tablespeeda,x + iny + lda (nt),y + sta trackn_audctl,x + iny + lda (nt),y + sta trackn_volumeslidedepth,x + ldy #8 + lda (nt),y + sta trackn_effdelay,x + iny + lda (nt),y + tay + lda vibtabbeg,y + sta trackn_effvibratoa,x + ldy #10 + lda (nt),y + sta trackn_effshift,x + lda #128 + sta trackn_volumeslidevalue,x + sta trackn_instrx2,x + asl @ + sta trackn_instrreachend,x + sta trackn_shiftfrq,x + tay + lda (nt),y + sta trackn_tableend,x + adc #0 + sta trackn_instridx,x + lda #INSTRPAR + sta trackn_tablea,x + tay + lda (nt),y + sta trackn_tablenote,x +xata_rtshere + rts +rmt_play +rmt_p0 + jsr SetPokey +rmt_p1 +rmt_p2 + dec v_aspeed + bne rmt_p3 + inc v_abeat + lda #$ff +v_abeat equ *-1 + cmp #$ff +v_maxtracklen equ *-1 + beq p2o3 + jmp GetTrackLine +p2o3 + jmp GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +go_ppnext jmp ppnext +rmt_p3 + lda #>frqtab + sta nr+1 +xtracks05sub1 ldx #TRACKS-1 +pp1 + lda trackn_instrhb,x + beq go_ppnext + sta ns+1 + lda trackn_instrdb,x + sta ns + ldy trackn_instridx,x + lda (ns),y + sta reg1 + iny + lda (ns),y + sta reg2 + iny + lda (ns),y + sta reg3 + iny + tya + cmp trackn_instrlen,x + bcc pp2 + beq pp2 + lda #$80 + sta trackn_instrreachend,x +pp1b + lda trackn_instrlop,x +pp2 sta trackn_instridx,x + lda reg1 + and #$0f + ora trackn_volume,x + tay + lda volumetab,y + sta tmp + lda reg2 + and #$0e + tay + lda tabbeganddistor,y + sta nr + lda tmp + ora tabbeganddistor+1,y + sta trackn_audc,x +InstrumentsEffects + lda trackn_effdelay,x + beq ei2 + cmp #1 + bne ei1 + lda trackn_shiftfrq,x + clc + adc trackn_effshift,x + clc + ldy trackn_effvibratoa,x + adc vib0,y + sta trackn_shiftfrq,x + lda vibtabnext,y + sta trackn_effvibratoa,x + jmp ei2 +ei1 + dec trackn_effdelay,x +ei2 + ldy trackn_tableend,x + cpy #INSTRPAR+1 + bcc ei3 + lda trackn_tablespeeda,x + bpl ei2f +ei2c + tya + cmp trackn_tablea,x + bne ei2c2 + lda trackn_tablelop,x + sta trackn_tablea,x + bne ei2a +ei2c2 + inc trackn_tablea,x +ei2a + lda trackn_instrdb,x + sta nt + lda trackn_instrhb,x + sta nt+1 + ldy trackn_tablea,x + lda (nt),y + sta trackn_tablenote,x + lda trackn_tabletypespeed,x +ei2f + sec + sbc #1 + sta trackn_tablespeeda,x +ei3 + lda trackn_instrreachend,x + bpl ei4 + lda trackn_volume,x + beq ei4 + tay + lda trackn_volumeslidevalue,x + clc + adc trackn_volumeslidedepth,x + sta trackn_volumeslidevalue,x + bcc ei4 + tya + sbc #16 + sta trackn_volume,x +ei4 + lda reg2 + sta trackn_command,x + and #$70 + beq cmd0 +cmd1 + lda reg3 + jmp cmd0c +cmd2 +cmd3 +cmd4 +cmd5 +cmd6 +cmd7 +cmd0 + lda trackn_note,x + clc + adc reg3 +cmd0a + clc + adc trackn_tablenote,x + cmp #61 + bcc cmd0a1 + lda #0 + sta trackn_audc,x + lda #63 +cmd0a1 + tay + lda (nr),y + clc + adc trackn_shiftfrq,x +cmd0c + sta trackn_audf,x +pp9 +ppnext + dex + bmi rmt_p4 + jmp pp1 +rmt_p4 + lda trackn_audctl+0 + ora trackn_audctl+1 + ora trackn_audctl+2 + ora trackn_audctl+3 + tax +qq1 + stx v_audctl + lda trackn_command+0 + bpl qq2 + lda trackn_audc+0 + and #$0f + beq qq2 + lda trackn_audf+0 + clc + adc trackn_filter+0 + sta trackn_audf+2 + lda #0 + sta trackn_audc+2 +qq1a + txa + ora #4 + tax +qq2 + lda trackn_command+1 + bpl qq3 + lda trackn_audc+1 + and #$0f + beq qq3 + lda trackn_audf+1 + clc + adc trackn_filter+1 + sta trackn_audf+3 + lda #0 + sta trackn_audc+3 +qq2a + txa + ora #2 + tax +qq3 + cpx v_audctl + bne qq5 +qq5 + stx v_audctl +rmt_p5 + lda #$ff +v_ainstrspeed equ *-1 + rts +SetPokey + ldy #$ff +v_audctl equ *-1 + lda trackn_audf+0 + ldx trackn_audc+0 + sta $d200 + stx $d201 + lda trackn_audf+1 + ldx trackn_audc+1 + sta $d200+2 + stx $d201+2 + lda trackn_audf+2 + ldx trackn_audc+2 + sta $d200+4 + stx $d201+4 + lda trackn_audf+3 + ldx trackn_audc+3 + sta $d200+6 + stx $d201+6 + sty $d208 + rts +RMTPLAYEREND diff --git a/definitions.asm b/definitions.asm index 25bb623..8defb80 100644 --- a/definitions.asm +++ b/definitions.asm @@ -5,16 +5,27 @@ screenBytes = 40 screenwidth = screenBytes*8 ; Max screenwidth = 512!!! TankWidth = 8 + .if target = 5200 +;---------------------------------------------- +; Player/missile memory +PMGraph = $1800 ; real PM start = PMGraph + $0300 +; Generated tables +linetableL = PMGraph + $0300 - (screenHeight+1)*2 +linetableH = PMGraph + $0300 - (screenHeight+1) +display = $2010 ;screen takes $1f68 because it has screenHeight+1 lines because of out of screen tracer(?) +;rmtplyr len = $393, align to the beginning of the page. +rmt_compilation_addr = ((linetableL - $393) / $100)*$100 ; $1500 for now +rmt_memory_start = rmt_compilation_addr - $320 ; $11e0 for now + .else ;---------------------------------------------- ; Player/missile memory PMGraph = $0800 ; real PM start = $0b00 - - ; Generated tables -linetableL = $0b00 - (screenHeight+1)*2 -linetableH = $0b00 - (screenHeight+1) - +linetableL = PMGraph + $0300 - (screenHeight+1)*2 +linetableH = PMGraph + $0300 - (screenHeight+1) display = $1010 ;screen takes $1f68 because it has screenHeight+1 lines because of out of screen tracer(?) + .endif +;---------------------------------------------- margin = 40 ;mountain drawing Y variable margin MaxPlayers = 6 diff --git a/scorch.asm b/scorch.asm index fb85659..6e428fc 100644 --- a/scorch.asm +++ b/scorch.asm @@ -3,39 +3,9 @@ ;--------------------------------------------------- ;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski ;Warsaw 2000,2001,2002,2003,2009,2012,2013 -;Miami&Warsaw 2022 -;you can contact us at pecus@poczta.fm or pirx@5oft.pl -;home page of this project is https://github.com/pkali/scorch_src +;Miami & Warsaw 2022 -;this source code was compiled under OMC65 crossassembler -;(https://github.com/pkali/omc65) -;and on 2012-06-21 translated to mads -; -;game source code is split into 5+2 parts: -;scorch.asm is the main game code (with many assorted routines) -;grafproc.asm - graphics routines like line or circle -;textproc.asm - text routines like list of weapons and shop -;variables.asm - all non-zero page variables and constans -;display.asm - display lists and text screen definitions -;ai.asm - artificial stupidity of computer opponents -;weapons.asm - general arsenal of tankies - -;we were trying to use as much macros and pseudoops as possible -;they are defined in atari.hea and macro.hea files together with many -;atari constans. This way it shoud be relatively easy to -;port this code to e.g. C64 -; -;After those N years of working on this piece of code -;we are sure it would be much wiser to write it in C, Action! -;or MadPascal but on the other hand it is so much fun to type 150 chars -;where you want to have y=ax+b :) -; -;originally most variables were in Polish, comments were sparse -;but we wanted to release this piece of code to public -;and due to being always short of time/energy (to finish the game) -;we decided it must go in 'English' to let other people work on it - -.def target = 5200 ; or 800 +.def target = 800 ;5200 ; or 800 .macro build dta d"1.13" ; number of this build (3 bytes) @@ -169,9 +139,11 @@ ;Game loading address .IF target = 5200 - ORG $3000 + ORG rmt_memory_start - (variablesEnd - OneTimeZeroVariables + 1) + icl 'variables.asm' + ORG $4000 .ELSE - ORG $3000 + ORG $3000 .ENDIF WeaponFont @@ -218,6 +190,20 @@ FirstSTART cpy #screenheight+1 bne @- +; .if target = 5200 +; ; move RMT player from ROM to RAM (it modifies itself) +; mwa #PlayerBlob temp +; mwa #PlayerBlobDest temp2 +;@ +; ldy #0 +; lda (temp),y +; sta (temp2),y +; inw temp +; inw temp2 +; cpw temp #PlayerBlobEnd +; bne @- +; .endif + ; RMT INIT lda #$f0 ;initial value @@ -1693,26 +1679,49 @@ noingame TankFont ins 'artwork/tanksv3.fnt',+0,352 ; 44 characters only ;---------------------------------------------- - icl 'variables.asm' + .if target != 5200 + icl 'variables.asm' + .endif ;---------------------------------------------- -; reserved space for RMT player +;RMT PLAYER and song loading shenaningans + + .IF target = 5200 +;---------------------------------------------- + ; 5200 memory layout +PLAYER = $1500 +;RASTERMUSICTRACKER = PLAYER +;RMTSFXVOLUME = $1669 +PlayerBlobDest = $1282 +PlayerBlob + ; this is rmtplayr.a65 compiled with artwork/sfx/rmt_player_bin_blob.asm + ; the compiled .xex was loaded to atari memory in Altirra and saved with + ; .writemem rmtplr_blob.bin 1282 L614 + ; I hate this solution, but the alternative would be rewriting RMT player so it uses no ORG inside + ; the player in 5200 mode takes memory from $11E0 !!! + ; WARNING!!!! Adding zpage vars require recompilation of rmt_player_bin_blob.asm !!!!!!!! +; ins 'artwork/sfx/rmtplr_blob.bin' +PlayerBlobEnd + ORG PLAYER + icl 'artwork/sfx/rmtplayr.a65' + .align $100 + org $b400 + +MODUL + ;opt h- ;RMT module is standard Atari binary file already + ins "artwork/sfx/scorch_SFX-only-str.rmt",+6 ;so remove the header to reallocate + ;opt h+ + .ELSE +;---------------------------------------------- + ; normal (A800) memory layout + ; reserved space for RMT player .ds $0320 .align $100 PLAYER - .ECHO 'PLAYER: ',* - icl 'artwork/sfx/rmtplayr.a65' - - .IF target=5200 + icl 'artwork/sfx/rmtplayr_modified.asm' MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_SFX-only-str.rmt" ;include music RMT module - opt h+ - - .ELSE -MODUL equ $b000 ;address of RMT module - opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str6.rmt" ;include music RMT module + ins "artwork/sfx/scorch_str6.rmt" ;include music RMT module opt h+ .ENDIF ; diff --git a/scorch.xex b/scorch.xex index f827974bd602baf8a9518713a313c3726423e25e..2027e71047404a33a4016db8c162d3f5217f7590 100644 GIT binary patch literal 50160 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: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 WKeexq9oMF7YrCS0+#x1^od19Fc@<3n diff --git a/variables.asm b/variables.asm index 379ae63..fe9c7d2 100644 --- a/variables.asm +++ b/variables.asm @@ -14,34 +14,35 @@ OneTimeZeroVariablesCount = variablesToInitialize-OneTimeZeroVariables ; MAX 12 .error "OneTimeZeroVariablesCount too large, ",OneTimeZeroVariablesCount .endif -noMusic .by 0 ; 0 - play music, $ff - do not play music -noSfx .by 0 ; 0 - play SFX, $ff - do not play SFX +noMusic .ds 1 ;.by 0 ; 0 - play music, $ff - do not play music +noSfx .ds 1 ;.by 0 ; 0 - play SFX, $ff - do not play SFX ;---------------------------------------------------- ; Color table for Game Over Screen (created in a gameover routine) - .by $00 ; labels line color -GameOverColoursTable .BYTE $80,$40,$c4,$20,$c0,$e4 + .ds 1 ;.by $00 ; labels line color +GameOverColoursTable .ds MaxPlayers; .BYTE $80,$40,$c4,$20,$c0,$e4 ;---------------------------------------------------- TanksNames ; DO NOT ZERO ON GAME RESTART - ticket #24 - :6 dta d" " + ;:6 dta d" " + .ds 6*8 ;---------------------------------------------------- skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30) .DS [MaxPlayers] ;---------------------------------------------------- variablesToInitialize ;Options DO NOT ZERO ON RESTART GAME - ticket #27 -OptionsTable .by 0,1,2,2,0,1,3,2,0 -RoundsInTheGame .by 10 ;how many rounds in the current game -seppukuVal .by 75 -mountainDeltaH .by 3 -mountainDeltaL .by $ff +OptionsTable .ds maxOptions ;.by 0,1,2,2,0,1,3,2,0 +RoundsInTheGame .ds 1 ;.by 10 ;how many rounds in the current game +seppukuVal .ds 1 ;.by 75 +mountainDeltaH .ds 1 ;.by 3 +mountainDeltaL .ds 1 ;.by $ff ;---------------------------------------------------- LineHeader1 - dta d"# ROUND: " + .ds 9 ;dta d"# ROUND: " RoundNrDisplay - dta d" #", $ff + .ds 7 ;dta d" #", $ff ; 4x4 text buffer ResultLineBuffer - dta d" ", $ff + .ds 19 ;dta d" ", $ff ;===================================================== variablesStart ; zeroing starts here From e782e101f586924908cb3115d088e7dc70519a21 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 11 Sep 2022 21:32:31 -0400 Subject: [PATCH 05/33] rmtplyr de-self-modified --- artwork/sfx/rmtplayr_modified.asm | 58 +++++++++++++++++------------- scorch.xex | Bin 50160 -> 50149 bytes 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/artwork/sfx/rmtplayr_modified.asm b/artwork/sfx/rmtplayr_modified.asm index 8a62912..45972d8 100644 --- a/artwork/sfx/rmtplayr_modified.asm +++ b/artwork/sfx/rmtplayr_modified.asm @@ -28,18 +28,26 @@ TRACKS equ 4 ;FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT ; ; RMT ZeroPage addresses -.zpvar p_tis .word ;= RMT_Zero_Page_V +.zpvar p_tis .word p_instrstable = p_tis -.zpvar p_trackslbstable .word -.zpvar p_trackshbstable .word -.zpvar p_song .word -.zpvar ns .word -.zpvar nr .word -.zpvar nt .byte -.zpvar reg1 .byte -.zpvar reg2 .byte -.zpvar reg3 .byte -.zpvar tmp .byte +.zpvar p_trackslbstable .word +.zpvar p_trackshbstable .word +.zpvar p_song .word +.zpvar ns .word +.zpvar nr .word +.zpvar nt .byte +.zpvar reg1 .byte +.zpvar reg2 .byte +.zpvar reg3 .byte +.zpvar tmp .byte +.zpvar v_audctl .byte ; de-self-modification vars +.zpvar v_ainstrspeed .byte +.zpvar v_maxtracklen .byte +.zpvar v_abeat .byte +.zpvar v_bspeed .byte +.zpvar v_speed .byte +.zpvar RMTSFXVOLUME .byte + org PLAYER-$400+$e0 track_variables trackn_db .ds TRACKS @@ -252,8 +260,8 @@ nn3 GetTrackLine oo0 oo0a - lda #$ff -v_speed equ *-1 + lda v_speed + sta v_bspeed ldx #-1 oo1 @@ -296,8 +304,8 @@ oo1a oo1x xtracks03sub1 cpx #TRACKS-1 bne oo1 - lda #$ff -v_bspeed equ *-1 + lda v_bspeed + sta v_speed sta v_aspeed jmp InitOfNewSetInstrumentsOnly @@ -345,8 +353,8 @@ p2x1 ldy trackn_instrx2,x jmp p2x0 rmt_sfx sta trackn_note,x - lda #$f0 ;* sfx note volume*16 -RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting + lda RMTSFXVOLUME ;* sfx note volume*16 + ;* label for sfx note volume parameter overwriting sta trackn_volume,x SetUpInstrumentY2 lda (p_instrstable),y @@ -414,10 +422,10 @@ rmt_p2 dec v_aspeed bne rmt_p3 inc v_abeat - lda #$ff -v_abeat equ *-1 - cmp #$ff -v_maxtracklen equ *-1 + lda v_abeat + + cmp v_maxtracklen + beq p2o3 jmp GetTrackLine p2o3 @@ -608,12 +616,12 @@ qq3 qq5 stx v_audctl rmt_p5 - lda #$ff -v_ainstrspeed equ *-1 + lda v_ainstrspeed + rts SetPokey - ldy #$ff -v_audctl equ *-1 + ldy v_audctl + lda trackn_audf+0 ldx trackn_audc+0 sta $d200 diff --git a/scorch.xex b/scorch.xex index 2027e71047404a33a4016db8c162d3f5217f7590..1d798f917d4ada0581256f1aefb18074b7f9be2f 100644 GIT binary patch delta 14557 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 D!K?Rp delta 14631 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 P!ctKVyyC(@pDd^5$GtXh)6y&O~K%ivzVSc<(< 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 D+y(`A From 4078722b29696cb7ae90e5b2bb9d6f77967c1b56 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 12 Sep 2022 00:21:23 -0400 Subject: [PATCH 06/33] 5200 cart size full music, a 4KiB glitch to be fixed still --- definitions.asm | 3 -- display.asm | 9 ----- display_static.asm | 2 +- scorch.asm | 54 ++++++++++++----------------- scorch.xex | Bin 50149 -> 31868 bytes variables.asm | 82 ++++++++++++++++++++++++++------------------- 6 files changed, 70 insertions(+), 80 deletions(-) diff --git a/definitions.asm b/definitions.asm index 8defb80..8c3de4b 100644 --- a/definitions.asm +++ b/definitions.asm @@ -13,9 +13,6 @@ PMGraph = $1800 ; real PM start = PMGraph + $0300 linetableL = PMGraph + $0300 - (screenHeight+1)*2 linetableH = PMGraph + $0300 - (screenHeight+1) display = $2010 ;screen takes $1f68 because it has screenHeight+1 lines because of out of screen tracer(?) -;rmtplyr len = $393, align to the beginning of the page. -rmt_compilation_addr = ((linetableL - $393) / $100)*$100 ; $1500 for now -rmt_memory_start = rmt_compilation_addr - $320 ; $11e0 for now .else ;---------------------------------------------- ; Player/missile memory diff --git a/display.asm b/display.asm index 4da3c22..7dbfcbd 100644 --- a/display.asm +++ b/display.asm @@ -28,15 +28,6 @@ OptionsHere OptionsScreenEnd ;----------------------------------------------- -ListOfWeapons - ; 0123456789012345678901234567890123456789 -; :number_of_offensives dta d" " - :32 dta d" " -ListOfWeapons1End -ListOfDefensiveWeapons -; :number_of_defensives dta d" " - :16 dta d" " -ListOfDefensiveWeaponsEnd ;constant useful when clearing NameScreen dta d" Enter names of players " dta d" Tank 01 Name:" diff --git a/display_static.asm b/display_static.asm index b8f8d10..c81c5a6 100644 --- a/display_static.asm +++ b/display_static.asm @@ -106,7 +106,7 @@ dl ; MAIN game display list .byte $41 .word dl ;----------------------------------------------- - .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! + ;.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! OptionsDL .byte $70 .byte $47 diff --git a/scorch.asm b/scorch.asm index 6e428fc..302ee76 100644 --- a/scorch.asm +++ b/scorch.asm @@ -5,17 +5,17 @@ ;Warsaw 2000,2001,2002,2003,2009,2012,2013 ;Miami & Warsaw 2022 -.def target = 800 ;5200 ; or 800 +.def target = 5200 ; or 800 .macro build dta d"1.13" ; number of this build (3 bytes) .endm .macro RMTSong - .IF target != 5200 + ; .IF target != 5200 lda #:1 jsr RMTSongSelect - .ENDIF +; .ENDIF .endm icl 'definitions.asm' @@ -139,7 +139,7 @@ ;Game loading address .IF target = 5200 - ORG rmt_memory_start - (variablesEnd - OneTimeZeroVariables + 1) + ORG linetableL - (variablesEnd - OneTimeZeroVariables + 1) icl 'variables.asm' ORG $4000 .ELSE @@ -1686,33 +1686,23 @@ TankFont ;RMT PLAYER and song loading shenaningans - .IF target = 5200 -;---------------------------------------------- - ; 5200 memory layout -PLAYER = $1500 -;RASTERMUSICTRACKER = PLAYER -;RMTSFXVOLUME = $1669 -PlayerBlobDest = $1282 -PlayerBlob - ; this is rmtplayr.a65 compiled with artwork/sfx/rmt_player_bin_blob.asm - ; the compiled .xex was loaded to atari memory in Altirra and saved with - ; .writemem rmtplr_blob.bin 1282 L614 - ; I hate this solution, but the alternative would be rewriting RMT player so it uses no ORG inside - ; the player in 5200 mode takes memory from $11E0 !!! - ; WARNING!!!! Adding zpage vars require recompilation of rmt_player_bin_blob.asm !!!!!!!! -; ins 'artwork/sfx/rmtplr_blob.bin' -PlayerBlobEnd - ORG PLAYER - icl 'artwork/sfx/rmtplayr.a65' - .align $100 - org $b400 - -MODUL - ;opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_SFX-only-str.rmt",+6 ;so remove the header to reallocate - ;opt h+ - .ELSE -;---------------------------------------------- +; .IF target = 5200 +;;---------------------------------------------- +; ; 5200 memory layout +; +; .ds $0320 +; .align $100 +; +;PLAYER icl 'artwork/sfx/rmtplayr_modified.asm' +; +; org $b500 +; +;MODUL +; ;opt h- ;RMT module is standard Atari binary file already +; ins "artwork/sfx/scorch_SFX-only-str.rmt",6 ;so remove the header to reallocate +; ;opt h+ +; .ELSE +;;---------------------------------------------- ; normal (A800) memory layout ; reserved space for RMT player .ds $0320 @@ -1723,7 +1713,7 @@ MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already ins "artwork/sfx/scorch_str6.rmt" ;include music RMT module opt h+ - .ENDIF +; .ENDIF ; MODULEND ;---------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 1d798f917d4ada0581256f1aefb18074b7f9be2f..ef72573f892cfed265855a626e6b7aa9f0fcc26a 100644 GIT binary patch delta 16684 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⪚A47WaQ)?*8eF}B^S@$x7IlsVy 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 PcJbbGVgCqwH|PHWO|z9; diff --git a/variables.asm b/variables.asm index fe9c7d2..69416c5 100644 --- a/variables.asm +++ b/variables.asm @@ -26,7 +26,7 @@ TanksNames ; DO NOT ZERO ON GAME RESTART - ticket #24 .ds 6*8 ;---------------------------------------------------- skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30) - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- variablesToInitialize ;Options DO NOT ZERO ON RESTART GAME - ticket #27 @@ -47,6 +47,18 @@ ResultLineBuffer ;===================================================== variablesStart ; zeroing starts here ;===================================================== +; This is moved from display.asm to be easier to relocate +ListOfWeapons + ; 0123456789012345678901234567890123456789 +; :number_of_offensives dta d" " + ;:32 dta d" " + .ds 32*32 +ListOfWeapons1End +ListOfDefensiveWeapons +; :number_of_defensives dta d" " + ;:16 dta d" " + .ds 16*32 +ListOfDefensiveWeaponsEnd ;constant useful when clearing ;isInventory .ds 1 ; 0 - purchase, $ff - inventory ;-------------- drawFunction .ds 1 ; 0 - plot, %10000000 - LineLength (N), %01000000 - DrawCheck (V) @@ -57,69 +69,69 @@ OptionsY .ds 1 ;vertical position of cursor on Options screen flyDelay .ds 1 ;-------------- ;NumberOfPlayers .DS 1 ;current number of players (counted from 1) -TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round +TankSequence .DS MaxPlayers ;sequence of shooting during the Round GameIsOver .DS 1 ; 1 means it was the last round in the game ;---------------------------------------------------- moneyH ;we place zero at the end of prices and money ;and have range from 0 to 99990 (not too much) ;money players have (maybe one more byte is needed?) - .DS [MaxPlayers] + .DS MaxPlayers moneyL - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- gainH ;how much money player gets after the round ;it is gathered during the round basing on energy ;opponents lose after player's shoots - .DS [MaxPlayers] + .DS MaxPlayers gainL - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- loseH ;how much player looses after the round ;calculated from REAL energy loss ;(not only to zero energy) - .DS [MaxPlayers] + .DS MaxPlayers loseL - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- Energy - .DS [MaxPlayers] + .DS MaxPlayers ShieldEnergy - .DS [MaxPlayers] + .DS MaxPlayers EnergyDecrease .DS 1 eXistenZ - .DS [MaxPlayers] + .DS MaxPlayers LASTeXistenZ ; eXistenZ before shoot - .DS [MaxPlayers] + .DS MaxPlayers ResultsTable ;the results in the gameeeeee - .DS [MaxPlayers] + .DS MaxPlayers TempResults - .DS [MaxPlayers] + .DS MaxPlayers DirectHitsH - .DS [MaxPlayers] + .DS MaxPlayers DirectHitsL - .DS [MaxPlayers] + .DS MaxPlayers EarnedMoneyH - .DS [MaxPlayers] + .DS MaxPlayers EarnedMoneyL - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- ForceTableL ;shooting Force of the tank during the round - .DS [MaxPlayers] + .DS MaxPlayers ForceTableH - .DS [MaxPlayers] ;maxplayers=6 + .DS MaxPlayers ;maxplayers=6 MaxForceTableL ;Energy of the tank during the round ;(limes superior force of the Shoot) - .DS [MaxPlayers] ;1000 is the default + .DS MaxPlayers ;1000 is the default MaxForceTableH - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- BarrelLength ;length of the tank barrel - dont forget to set it to 6 at round start! - .DS [MaxPlayers] + .DS MaxPlayers ActiveWeapon ;number of the selected weapon - .DS [MaxPlayers] + .DS MaxPlayers ActiveDefenceWeapon ;number of the activated defence weapon - 0 - .DS [MaxPlayers] + .DS MaxPlayers WeaponDepleted .DS 1 ; if 0 deactivate the weapon and switch to Baby Missile ;---------------------------------------------------- @@ -143,13 +155,13 @@ WindOrientation .DS 1 ;(0-right,1-left) WallsType .ds 1 ; bits 6 and 7: 00 - none, 01 - bump, 10 - wrap, 11 - boxy ;---------------------------------------------------- xtankstableL ;X positions of tanks (lower left point) - .DS [MaxPlayers] + .DS MaxPlayers xtankstableH - .DS [MaxPlayers] + .DS MaxPlayers ytankstable ;Y positions of tanks (lower left point) - .DS [MaxPlayers] + .DS MaxPlayers LowResDistances ; coarse tank positions divided by 4 (to be in just one byte) - .DS [MaxPlayers] + .DS MaxPlayers ;---------------------------------------------------- TargetTankNr ; Target tank index (for AI routines) .DS 1 @@ -368,24 +380,24 @@ CurrentResult .DS 1 ;-------------- AngleTable ;Angle of the barrel of each tank during the round - .DS [MaxPlayers] + .DS MaxPlayers ;NewAngle ; used in AI .DS 1 ;previousBarrelAngle -; .DS [MaxPlayers] +; .DS MaxPlayers EndOfTheBarrelX .ds 2 EndOfTheBarrelY .ds 1 ;---------------------------------------------------- previousAngle - .DS [MaxPlayers] + .DS MaxPlayers previousEnergyL - .DS [MaxPlayers] + .DS MaxPlayers previousLeftRange - .DS [MaxPlayers] + .DS MaxPlayers previousEnergyH - .DS [MaxPlayers] + .DS MaxPlayers RandBoundaryLow .ds 2 RandBoundaryHigh From 2471ca7282379c0dd693548689d1ea44a7dc31f7 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 12 Sep 2022 00:41:17 -0400 Subject: [PATCH 07/33] a800 version for merge with develop --- scorch.asm | 6 +----- scorch.xex | Bin 31868 -> 48609 bytes 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/scorch.asm b/scorch.asm index 302ee76..ea36bef 100644 --- a/scorch.asm +++ b/scorch.asm @@ -5,7 +5,7 @@ ;Warsaw 2000,2001,2002,2003,2009,2012,2013 ;Miami & Warsaw 2022 -.def target = 5200 ; or 800 +.def target = 800 ;5200 ; or 800 .macro build dta d"1.13" ; number of this build (3 bytes) @@ -62,9 +62,6 @@ .zpvar pressTimer .byte .zpvar NTSCcounter .byte .zpvar IsEndOfTheFallFlag .byte ; for small speedup ground falling - ;.zpvar dliA .byte - ;.zpvar dliX .byte - ;.zpvar dliY .byte .zpvar sfx_effect .byte .zpvar RMT_blocked .byte @@ -122,7 +119,6 @@ .zpvar L1 .byte ;* RMT ZeroPage addresses in artwork/sfx/rmtplayr.a65 - .zpvar RMT_Zero_Page_V .byte displayposition = modify LineAddress4x4 = temp diff --git a/scorch.xex b/scorch.xex index ef72573f892cfed265855a626e6b7aa9f0fcc26a..c71acf824cdaa9252bf42f8d294de1134b31e188 100644 GIT binary patch literal 48609 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%0A_X%AjZz%#KH|fE)AWb~3i(rZ#H+_LW0~l<(SBp( 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 delta 16940 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 From a98c0b81b91e07b45450df6643f9e2203c0bb295 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 12 Sep 2022 00:44:19 -0400 Subject: [PATCH 08/33] merge conflict reslv --- scorch.xex | Bin 48609 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 scorch.xex diff --git a/scorch.xex b/scorch.xex deleted file mode 100644 index c71acf824cdaa9252bf42f8d294de1134b31e188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48609 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%0A_X%AjZz%#KH|fE)AWb~3i(rZ#H+_LW0~l<(SBp( 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 From 58eec3dc9c421efd24e9fe87a7e71e3e9387d01f Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 12 Sep 2022 00:53:45 -0400 Subject: [PATCH 09/33] ver bump --- scorch.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index ea36bef..ac984b3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -8,7 +8,7 @@ .def target = 800 ;5200 ; or 800 .macro build - dta d"1.13" ; number of this build (3 bytes) + dta d"1.14" ; number of this build (3 bytes) .endm .macro RMTSong From 2c01691bf531671c47ca20c7da777b980a5640f8 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 12 Sep 2022 01:01:51 -0400 Subject: [PATCH 10/33] ver bump --- scorch.asm | 5 +---- scorch.xex | Bin 50274 -> 48609 bytes 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/scorch.asm b/scorch.asm index a8e56ce..6d817f9 100644 --- a/scorch.asm +++ b/scorch.asm @@ -8,9 +8,7 @@ .def target = 800 ;5200 ; or 800 .macro build - dta d"1.14" ; number of this build (3 bytes) -<<<<<<< HEAD -======= + dta d"1.15" ; number of this build (3 bytes) .endm .macro RMTSong @@ -18,7 +16,6 @@ lda #:1 jsr RMTSongSelect ; .ENDIF ->>>>>>> 5200 .endm icl 'definitions.asm' diff --git a/scorch.xex b/scorch.xex index 1f258535e3aa14d7176175fe37d99c3d994b05d6..8e5f0c7a32e73638176ca9b36c4048c28c842a54 100644 GIT binary patch delta 15914 zcma)D34Bw<)=!h}Ei{5akfpcmMZ~I5B2Q$gLcxf*JU14DbPG#@NXl+lI<*M5wqBnB z^xhkj-qKqeOojI}NECgxG)3^rV{v6~U#o&qK|}?<|JSUbu;qgrKggHjdgo92lZE9C8V`_BdFZL$m zxCuJ6^f!*zj5_{wi0P+(wBwDVxoJ}kQQfv%rdCJAWop;zAJFT$v}yNps~?Q#@~1u5 z$v8gg&V`dU7#A*_aNj8I=V`a6okm%t<${qJTAx<0)oL@e+VN?l7ml0siSdDHz0kim zm-}GGVB_iu8fLY&?O)WGQB0pKS>w8UbFQ;Q|EsH)UsJTX!pZG=aHNA=mah<(tYIF` za;3P(%W=$%)66?#Wi2WgW(GPAIFxagSv4p8cA7DdXI4yb$H=k#<3gkU7ba>}xTTS~ za5vNEE{3}c9RkyIrs%t54Y4tUCooSgVjHw_62&MMFtJ&cHH`tCu<8e%|G~kR=`MfE z_x*vt`&-@+XyR#Y6CXInulknfkI|Q}FYslI5|6g8FY#sFjd;0qDFSrq0tGVt>u<6K zz3^%Xj8+kk76Ky#iedzPX+tquh@coPP!s@ij1VY}5rXL=#W7mIYh#Aa^wi(HNBK|! zSYx`)HT^#NY@UdBxf^jYkB>F=`kNd}xtTOh*0A+jwoY5kYdtN;hbX^5G8!H{U}%hR zftTm-I)T>@Vy1I z_Yl8to3kth6dvN`n?U%`0@KmED;EYnr6QJl!HI6Zu{?C~y`EnH5T4@XPD*``E zXaSQmKOi_meHh=WN*fByx8uDD2ZFs79plTF4uzu3rklqwUrb>7->;THBE

IYO{s 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 delta 16005 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 XUp?8NXi$JOo!9pGJwpt-z3Kl4$8J(< From 2a83fa962d5cb0808f9ba1c8e534714c3deb29ca Mon Sep 17 00:00:00 2001 From: pkali Date: Wed, 14 Sep 2022 06:30:50 -0400 Subject: [PATCH 11/33] memory map settled (most .IFs removed) --- definitions.asm | 12 ------------ scorch.asm | 30 +----------------------------- scorch.xex | Bin 48609 -> 48613 bytes variables.asm | 29 ++++++++++++++++------------- 4 files changed, 17 insertions(+), 54 deletions(-) diff --git a/definitions.asm b/definitions.asm index 8c3de4b..c05fc5c 100644 --- a/definitions.asm +++ b/definitions.asm @@ -5,23 +5,11 @@ screenBytes = 40 screenwidth = screenBytes*8 ; Max screenwidth = 512!!! TankWidth = 8 - .if target = 5200 ;---------------------------------------------- ; Player/missile memory PMGraph = $1800 ; real PM start = PMGraph + $0300 ; Generated tables -linetableL = PMGraph + $0300 - (screenHeight+1)*2 -linetableH = PMGraph + $0300 - (screenHeight+1) display = $2010 ;screen takes $1f68 because it has screenHeight+1 lines because of out of screen tracer(?) - .else -;---------------------------------------------- -; Player/missile memory -PMGraph = $0800 ; real PM start = $0b00 -; Generated tables -linetableL = PMGraph + $0300 - (screenHeight+1)*2 -linetableH = PMGraph + $0300 - (screenHeight+1) -display = $1010 ;screen takes $1f68 because it has screenHeight+1 lines because of out of screen tracer(?) - .endif ;---------------------------------------------- margin = 40 ;mountain drawing Y variable margin diff --git a/scorch.asm b/scorch.asm index 6d817f9..b3c4a5e 100644 --- a/scorch.asm +++ b/scorch.asm @@ -12,10 +12,8 @@ .endm .macro RMTSong - ; .IF target != 5200 lda #:1 jsr RMTSongSelect -; .ENDIF .endm icl 'definitions.asm' @@ -134,13 +132,9 @@ .ENDIF ;Game loading address - .IF target = 5200 - ORG linetableL - (variablesEnd - OneTimeZeroVariables + 1) + ORG PMGraph + $0300 - (variablesEnd - OneTimeZeroVariables + 1) icl 'variables.asm' ORG $4000 - .ELSE - ORG $3000 - .ENDIF WeaponFont ins 'artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt' @@ -1675,31 +1669,9 @@ noingame TankFont ins 'artwork/tanksv3.fnt',+0,352 ; 44 characters only ;---------------------------------------------- - .if target != 5200 - icl 'variables.asm' - .endif -;---------------------------------------------- ;RMT PLAYER and song loading shenaningans -; .IF target = 5200 -;;---------------------------------------------- -; ; 5200 memory layout -; -; .ds $0320 -; .align $100 -; -;PLAYER icl 'artwork/sfx/rmtplayr_modified.asm' -; -; org $b500 -; -;MODUL -; ;opt h- ;RMT module is standard Atari binary file already -; ins "artwork/sfx/scorch_SFX-only-str.rmt",6 ;so remove the header to reallocate -; ;opt h+ -; .ELSE -;;---------------------------------------------- - ; normal (A800) memory layout ; reserved space for RMT player .ds $0320 .align $100 diff --git a/scorch.xex b/scorch.xex index 8e5f0c7a32e73638176ca9b36c4048c28c842a54..71a7811bafda3fca192a99638c735c245553e8e8 100644 GIT binary patch delta 16854 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 POn1M1!E;U*HunDkA>|ih delta 16684 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 PW1crJc)v@EnDGAq`J9*` diff --git a/variables.asm b/variables.asm index 69416c5..14cb87e 100644 --- a/variables.asm +++ b/variables.asm @@ -43,22 +43,13 @@ RoundNrDisplay ; 4x4 text buffer ResultLineBuffer .ds 19 ;dta d" ", $ff - +linetableL ; = PMGraph + $0300 - (screenHeight+1)*2 + .ds (screenHeight+1) +linetableH ; = PMGraph + $0300 - (screenHeight+1) + .ds (screenHeight+1) ;===================================================== variablesStart ; zeroing starts here ;===================================================== -; This is moved from display.asm to be easier to relocate -ListOfWeapons - ; 0123456789012345678901234567890123456789 -; :number_of_offensives dta d" " - ;:32 dta d" " - .ds 32*32 -ListOfWeapons1End -ListOfDefensiveWeapons -; :number_of_defensives dta d" " - ;:16 dta d" " - .ds 16*32 -ListOfDefensiveWeaponsEnd ;constant useful when clearing ;isInventory .ds 1 ; 0 - purchase, $ff - inventory ;-------------- drawFunction .ds 1 ; 0 - plot, %10000000 - LineLength (N), %01000000 - DrawCheck (V) @@ -430,6 +421,18 @@ Xcounter4x4 .DS 1 nibbler4x4 .DS 1 CharCode4x4 .DS 1 ;plot4x4color .DS 1 ;1-white, 0-background +; This is moved from display.asm to be easier to relocate +ListOfWeapons + ; 0123456789012345678901234567890123456789 +; :number_of_offensives dta d" " + ;:32 dta d" " + .ds 32*32 +ListOfWeapons1End +ListOfDefensiveWeapons +; :number_of_defensives dta d" " + ;:16 dta d" " + .ds 16*32 +ListOfDefensiveWeaponsEnd ;constant useful when clearing From 9c5c701ca19070d363263400e2ebbb008cd3297c Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 16 Sep 2022 17:54:56 +0200 Subject: [PATCH 12/33] Display dynamic->static optimizations --- display.asm | 13 +++---------- display_static.asm | 35 ++++++++++++++++++++++++++++++----- scorch.asm | 9 ++------- scorch.xex | Bin 48613 -> 48617 bytes weapons.asm | 31 +------------------------------ 5 files changed, 36 insertions(+), 52 deletions(-) diff --git a/display.asm b/display.asm index 7dbfcbd..70a1e48 100644 --- a/display.asm +++ b/display.asm @@ -28,23 +28,16 @@ OptionsHere OptionsScreenEnd ;----------------------------------------------- -NameScreen - dta d" Enter names of players " +NameScreen2 dta d" Tank 01 Name:" NameAdr - dta d" " - dta d" Human/Atari (difficulty level) " + dta d" " +NameScreen4 dta d" " NamesOfLevels dta d" HUMAN Moron Shooter " dta d" Poolshark Tosser Chooser " dta d" Spoiler Cyborg Unknown " - dta d" " - dta d"Tab"* - dta d" - Player/Difficulty level " - dta d" " - dta d"Return"* - dta d" - Proceed " ;--------------------------------------------------- textbuffer ; 0123456789012345678901234567890123456789 diff --git a/display_static.asm b/display_static.asm index c81c5a6..9430e9d 100644 --- a/display_static.asm +++ b/display_static.asm @@ -9,9 +9,23 @@ OptionsScreen dta d"Welcome to Scorch v. " build ; 4 bytes from scorch.asm (fancy method) :) - dta d" (un)2000-2022" + dta d" (un)2000-2022" dta d" Please select option with cursor keys " dta d" and press (Return) to proceed " + ; 0123456789012345678901234567890123456789 +;----------------------------------------------- +NameScreen + dta d" Enter names of players " +NameScreen3 + dta d" Human/Atari (difficulty level) " +NameScreen5 + dta d" " + dta d"Tab"* + dta d" - Player/Difficulty level " + dta d" " + dta d"Return"* + dta d" - Proceed " +;----------------------------------------------- MoreUp dta d" " dta 92,92,92 @@ -132,12 +146,23 @@ NameDL .byte $70 .byte $47 .word DifficultyTitle - .byte $70,$70 + .byte $70,$70 ; 16 empty lines .byte $42 .word NameScreen - .byte $30 - .byte $02,$30+$80,$02 - .byte $10,$02,$02,$02,$30,$02,$02 + .byte $30 ; 4 empty lines + .byte $42 + .word NameScreen2 + .byte $30+$80 ; 4 empty lines + DLI + .byte $42 + .word NameScreen3 + .byte $10 ; 2 empty lines + .byte $42 + .word NameScreen4 + .byte $02,$02 + .byte $30 ; 4 empty lines + .byte $42 + .word NameScreen5 + .byte $02 .byte $41 .word NameDL ; ------------------------------------------------- diff --git a/scorch.asm b/scorch.asm index b3c4a5e..59711b2 100644 --- a/scorch.asm +++ b/scorch.asm @@ -77,7 +77,6 @@ .zpvar Counter .byte ;temporary Counter for outside loops .zpvar ExplosionRadius .word ;because when adding in xdraw it is double byte .zpvar ResultY .byte -; .zpvar FallDown2 .byte .zpvar xcircle .word .zpvar ycircle .word .zpvar vy .word @@ -620,8 +619,6 @@ ShootNow lda HitFlag ;0 if missed beq missed - lda #0 -; sta FallDown2 jsr Explosion continueMainRoundLoopAfterSeppuku @@ -647,8 +644,8 @@ NoExistNoFall dex bpl TanksFallDown mvx tempor2 TankNr -missed +missed ; TODO: IS IT OK??? possibly a fix here needed for #56 ldy WeaponDepleted bne @+ @@ -782,7 +779,6 @@ NoPlayerNoDeath ;cleanup of the soil fall down ranges (left and right) sta RangeRight sta RangeRight+1 -; sta FallDown2 mwa #screenwidth RangeLeft ; We are randomizing the weapon now. @@ -889,11 +885,10 @@ NotNegativeShieldEnergy ;--------------------------------- .proc Seppuku lda #0 - ;sta FallDown2 sta ydraw+1 ; get position of the tank ldx TankNr - lda #0 ; turn off defense weapons when hara-kiring +; lda #0 ; turn off defense weapons when hara-kiring sta ActiveDefenceWeapon,x sta ShieldEnergy,x jsr SetupXYdraw diff --git a/scorch.xex b/scorch.xex index 71a7811bafda3fca192a99638c735c245553e8e8..0abaa045478f326d15c6833d246a05f8afd186a1 100644 GIT binary patch delta 8371 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 A@Bjb+ delta 8346 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 diff --git a/weapons.asm b/weapons.asm index 60d8780..22ddbce 100644 --- a/weapons.asm +++ b/weapons.asm @@ -17,7 +17,6 @@ pha lda ExplosionRoutines,x pha -; inc FallDown2 rts ExplosionRoutines .word babymissile-1 ;Baby_Missile___;_00 @@ -62,35 +61,30 @@ tracer ; ------------------------ .proc babymissile mva #sfx_baby_missile sfx_effect -; inc FallDown2 mva #11 ExplosionRadius jmp xmissile .endp ; ------------------------ .proc missile ; mva #sfx_baby_missile sfx_effect -; inc FallDown2 mva #17 ExplosionRadius jmp xmissile .endp ; ------------------------ .proc babynuke mva #sfx_nuke sfx_effect -; inc FallDown2 mva #25 ExplosionRadius jmp xmissile .endp ; ------------------------ .proc nuke mva #sfx_nuke sfx_effect -; inc FallDown2 mva #30 ExplosionRadius jmp xmissile .endp ; ------------------------ .proc leapfrog mva #sfx_baby_missile sfx_effect -; inc FallDown2 mva #17 ExplosionRadius jsr xmissile @@ -143,7 +137,6 @@ EndOfLeapping .endp ; ------------------------ .proc mirv ; the whole mirv is performed by Flight routine -; inc FallDown2 rts .endp ; ------------------------ @@ -151,7 +144,6 @@ EndOfLeapping mva #sfx_baby_missile sfx_effect mwa xtraj+1 xtrajfb sbw ytraj+1 #$05 ytrajfb ; funky missiles start point goes 5 pixel UP to prevent multiple explosion at one point if tank is hit (4 pixels tank height + 1) -; inc FallDown2 ;central Explosion mva #21 ExplosionRadius jsr CalculateExplosionRange0 @@ -198,7 +190,6 @@ NoWallsInFunky .endp ; ------------------------ .proc deathshead -; inc FallDown2 mva #30 ExplosionRadius mva #sfx_nuke sfx_effect SaveDrawXY @@ -250,7 +241,6 @@ NoLowerCircle ; ------------------------ .proc napalm mva #sfx_napalm sfx_effect -; inc FallDown2 mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) jsr CalculateExplosionRange mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm @@ -259,7 +249,6 @@ NoLowerCircle ; ------------------------ .proc hotnapalm mva #sfx_napalm sfx_effect -; inc FallDown2 mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) jsr CalculateExplosionRange mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm @@ -324,7 +313,6 @@ CharOffTheScreen dec magic jpl RepeatNapalm ; after napalm -; inc FallDown2 ;now we must check tanks in range ldx NumberOfPlayers dex @@ -372,32 +360,27 @@ EndNurnedCheckLoop .endp ; ------------------------ .proc babyroller -; inc FallDown2 mva #11 ExplosionRadius jmp xroller .endp ; ------------------------ .proc roller ; -; inc FallDown2 mva #21 ExplosionRadius jmp xroller .endp ; ------------------------ .proc heavyroller -; inc FallDown2 mva #30 ExplosionRadius jmp xroller .endp ; ------------------------ .proc riotbomb -; inc FallDown2 mva #17 ExplosionRadius jsr CalculateExplosionRange jmp xriotbomb .endp ; ------------------------ .proc heavyriotbomb -; inc FallDown2 mva #29 ExplosionRadius jsr CalculateExplosionRange jmp xriotbomb @@ -406,7 +389,6 @@ EndNurnedCheckLoop .proc babydigger mva #sfx_digger sfx_effect mva #0 sandhogflag -; inc FallDown2 mva #13 DigLong mva #1 diggery ; how many branches (-1) jmp xdigger @@ -415,7 +397,6 @@ EndNurnedCheckLoop .proc digger ; mva #sfx_digger sfx_effect mva #0 sandhogflag -; inc FallDown2 mva #13 DigLong mva #3 diggery ; how many branches (-1) jmp xdigger @@ -424,7 +405,6 @@ EndNurnedCheckLoop .proc heavydigger mva #sfx_digger sfx_effect mva #0 sandhogflag -; inc FallDown2 mva #13 DigLong mva #7 diggery ; how many branches (-1) jmp xdigger @@ -548,7 +528,6 @@ DiggerCharacter .proc babysandhog mva #sfx_sandhog sfx_effect mva #char_sandhog_offset sandhogflag -; inc FallDown2 mva #13 DigLong mva #1 diggery ; how many branches (-1) jmp xdigger @@ -557,7 +536,6 @@ DiggerCharacter .proc sandhog mva #sfx_sandhog sfx_effect mva #char_sandhog_offset sandhogflag -; inc FallDown2 mva #13 DigLong mva #3 diggery ; how many branches (-1) jmp xdigger @@ -566,35 +544,30 @@ DiggerCharacter .proc heavysandhog mva #sfx_sandhog sfx_effect mva #char_sandhog_offset sandhogflag -; inc FallDown2 mva #13 DigLong mva #5 diggery ; how many branches (-1) jmp xdigger .endp ; ------------------------ .proc dirtclod -; inc FallDown2 mva #12 ExplosionRadius jsr CalculateExplosionRange jmp xdirt .endp ; ------------------------ .proc dirtball -; inc FallDown2 mva #22 ExplosionRadius jsr CalculateExplosionRange jmp xdirt .endp ; ------------------------ .proc tonofdirt -; inc FallDown2 mva #31 ExplosionRadius jsr CalculateExplosionRange jmp xdirt .endp ; ------------------------ .proc dirtcharge -; inc FallDown2 mva #61 ExplosionRadius jsr CalculateExplosionRange jmp ofdirt @@ -602,7 +575,6 @@ DiggerCharacter ; ------------------------ .proc riotcharge mva #sfx_riot_blast sfx_effect -; inc FallDown2 mva #31 ExplosionRadius jsr CalculateExplosionRange jmp cleanDirt @@ -610,7 +582,6 @@ DiggerCharacter ; ------------------------ .proc riotblast mva #sfx_riot_blast sfx_effect -; inc FallDown2 mva #61 ExplosionRadius jsr CalculateExplosionRange jmp cleanDirt @@ -1893,7 +1864,7 @@ MagDeflector bit random ; left or right deflection ? bpl RightDeflection LeftDeflection - sbw XHit #18 ; 18 pixels to right and explode... + sbw XHit #18 ; 18 pixels to left and explode... bit XHit+1 ; if off-screen ... bpl EndOfMagDeflector ; hit of course but we need RTS adw XHit #36 ; change to right :) From 0693e5d20eeac4aa68c816db89c8505c7c6a1ee3 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 16 Sep 2022 18:48:58 +0200 Subject: [PATCH 13/33] Tank No fix and optimizations --- grafproc.asm | 16 +++++++++++++--- scorch.xex | Bin 48617 -> 48614 bytes textproc.asm | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 76db853..f981821 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1590,14 +1590,24 @@ nextPointChecking lda (modify),y tax NotHigher - inw modify - cpw modify #(mountaintable+screenwidth) +; inw modify +; cpw modify #(mountaintable+screenwidth) + ; -- + ; better code (with Y reg) + iny + bne @+ + inc modify+1 +@ + lda modify+1 + cmp #>(mountaintable+screenwidth) + bne @+ + cpy #>KId6-E`Aab-_P}s#RN!7znW-GDwtv6NPIr z=7l8RgGp&BT3$*RS;NxJy|&M)J%@ptHnaTOY3b^U6plqQ&4QiNwsMo|32387jc&RD2=n-6*Shx*DnobGEPFdE|y|4 zyaW6DDYOkPXKx}hQa6{##k%E0X6c?m+q{jsl?e61YW*y@o1+fQ($PJz=y#wZ7}UQW zn9uSy9LT05zv1w!q65P6_Joyk?2y!50l9h3=QeQ;k4(tm94)e;fmYw0)_+Ka7dZTB z>t|BoC64_G-FibRWOD4FwDq4-p@3u0$yz^`3Pz6oLfSeY6#`sB1?)U{37vqs`6VdP zTbI8Eks|aRQib=|`Xqu!)*lXG1&lJa4!1CJqtl?^bM(=;nAhuraETaBV6h+87N`PQ z3Jy3_uuPFx*BD~UaRp&xW3a@aGFH>$3f`axuTUUC5#eS~hcHcN}g| zw7puK3eyVnW~9|Sx@6*n!h5VR8KFe*6wMDUz{Re0&{wo_dR6^s=oR|@(kQV7o-zy~ zH%N>>M=h|yxJ%wrUthM){B)!`(Qs~>h&gN!EpXnLhI(MkIGf1u!zyV{ef^@yYI?xE zDDr9#tUUa2{Ml2tugH0P^@`kgP4m0I$i=ZHwnHvzdA3tNL#ZL`S3y>Kfb6!UG=cO)V`&jdH>yksdxLYN(V`2w%T(wy_@*qHu+A#qi}Ju&z68~S zv-~+!@4a2FLdfThI{FZievUe}n#k?PI+B&96}NLd$P_V zYxgmK8y_ca%qT&9JZ{pZ@G%$j|8r?Lz8k#`UmveWi@{czz@%{EHF@W557p68mFvuB z`pitFiEkbaRzF|q%oi6!Pi3kku@>i$X=GKcw9?dwh#FN_y~%tD-m10RlqNpgN44wP zv)c{6F;_4)kTk!82DLtFFpDT|xxxa9Dd6s;ciP4Y@&f0UzUdq_m%iJ4$#+8tqx_T7QNLUaP0D)=KjF&eP<~ z*C@nwv>xGXa^^ZQjmBE>XEe?tt2d_txg^-YH*Y|TBd#Z*M{vSAG-*hPTtRFV&0-om zT@+hMJM*FO#47rRneZzD0j7~cWWvaa9K^%+SH6{`n%Z(!)xoan7f>d6tBo<4CZE#f z50GkV3~Dpr>^1}Ov>8arQ@!g>Qb^W8YF5IRbUx{$F0S?s!%kBg6=Qzzr=sK9ayC3%WvSKhxj2txe^8RAI;fibEBHKp zgtzHb1|{n=i}Pu0CS8Jg=AjuRmNieL)MA0>J9k?{U2m_r$+w6pu+x%&PQg*j0#dDZ zvrpi)Y`2`xVteF#Hrp%LL^M}d3&ZSsVF>*bmq)4M^##MdzEYnT?eT9b_A@J)>pb;BI% zURmI46i`>xs6Vj4UhACbM=@6rqqmy3(#)up>4tZ$OA>BDr^FNL3UVaTlYakgvw}Z2 z{3EzzodZcWS@Qp|)=n`thA_RrpL0y7`8OPqG;<5GZO$1wjvbX}9cKR}7ji&h-yAYx zWA?$z_C>ONwiSHWa47C_h2mm@Iqiw)HMnL^2#J|6iB(#o0w$eNRuOlpM{EkdOaG`t zENp>rv;cNN+E&iKUIhDk%{hAv`~q^xbA~**plQa&jT<*&!|9~3X2DY1WJuH1jb^Gp zvj0%AuWochlTjd7g+b_t0Z7W6Iwm2tPEla!+;62^`)vk|Gv9wqapag1JYO-Q-4%jM z{Rkq6EP%9^`ffjBwr~<8uh5iXtRI7XZqAQIdwVH;o7^-Jk7)xqp&_b`6Dog9KUouq zTr}M@VbI9vBraK=uF)N=ZvJD( y@clXSR11?+cIeB`Ug#bg51p5kUgUW9I+~xJRcNn!>q7Tf!)xFFyhoe`v;PC#b2TCW delta 2378 zcmZ`)3se->8RiblLuB2-EQ$|sY-9=e!t{hJskSjk<7*Q!ri)Rl8`&oXk?JfikNQ|I z!F7k-|R@P6N!7?Wae>TgUBK!)L`H1l6u*~lW|1;?AqF%{-wyOwj zSv3(9@eQjM5ul1cx7r>L>iM6a{XQ|h;(vU2Z|Rcu?gOi;6JM`Sk#xr%nOGG9o$2BbnPmtaM2Y(53{qA3;C zAdhdUSO~BPeOnY``kOVkE`_ZCG zMXXA}gSJ%8%h=N5k+_V$IB537C(;UY138qz(WVw&s7wSYsV%r}@rZ1w9|eCgZ`|>lDC$p&Ud%<%EV!U-?eoP0C}i;+tUeU(BfNy`nJs<`<6SBaEAOgKV9^r zX>=HLqeSydz>k)h*UJ5FckN>P%rsRF-JUEqu#gsA=$N?>TtZ)&Ct^FMN+G@EcF#&{ zAP4-j(#~B%^Q*4R=-4-SM$W-=XXK%eHSeF5i}yR2({je%{E+adaaP;W!nl#u?wBARec-X zPnoxZx?-p5ZCqz0UiG@wTOsD73)bfn^O~U%57YKEOY3bOfN9XM=P-2_@p~5il(KR9 z5D_p0^Z`2bl`kIBxXkaMur@@5b(pyAONtSrz`YUAFb)nIM&U1q{g4V$bDvBTlS6w; z3boxtAS%Xi)NlqYM=Q+4ItnmLGJu}~U4b(I)l@%y2hM}b2rtZ8)?-}YMr#|^03G5R%u{u? zP^K@sfYRoP>!G2(hsKdE8cVL^7w;v&_^<_wR?Srhp9)DhOVAn$Beks%OhZoFOXFP4 zE~Dz&-X0_KM-u1lw^fgcLYmkrCHsCb)zz%w%3wJzd2?d9VzXl8%HYaPQvT4s)r9Pd zU3{8^cHA0}qX-7YH!d7s&PZl=s z116#&M<(b)6P+7nv5!-XwmMXSMzr2JdD7#UFODj6+Epf_NNkg9jk*`{pCv|-<@ zOlNw`H<<1eVXrFU%HVoUk4NT!nWz{QuKHEeQn96JsfKHshF(S$_-w~#1=4gv^YZ1( zA^mo4Qm5c*?w|`xTOylO7n;6LXj>x7I?Mw8eb7Qbx`uK$jqa78Y{{skgC$PFSK^{I z-iqj6O~-qc-Te)9vdJfbHBkg$L>5B=HKD=B-10_1{927VW<@bn#!jAevMEqQ4&uL0 z%9HFn?Bu+|qio6uABUHraP%;v@lYd8#b0NiO51TYW!%)<{MA)f)^qs%lb?PONz0mD zys^@8@V(z${_FkZnG0XjTieC+L-Kh`)?2Ln?=L(Yo4sIlRn0D2OY6aReSf&~_0S_( z-m@ Date: Sat, 17 Sep 2022 09:59:56 -0400 Subject: [PATCH 14/33] moving displays + opty part 1 --- display.asm | 5 ---- display_static.asm | 2 +- display_status.asm | 11 ++++++++ scorch.asm | 8 ++---- scorch.xex | Bin 48614 -> 48607 bytes textproc.asm | 62 ++++++++++++++++++++++----------------------- 6 files changed, 45 insertions(+), 43 deletions(-) create mode 100644 display_status.asm diff --git a/display.asm b/display.asm index 70a1e48..ae7ca38 100644 --- a/display.asm +++ b/display.asm @@ -39,11 +39,6 @@ NamesOfLevels dta d" Poolshark Tosser Chooser " dta d" Spoiler Cyborg Unknown " ;--------------------------------------------------- -textbuffer - ; 0123456789012345678901234567890123456789 - dta d"Player: " - dta d"Energy: Angle: Force: " - dta d"Round: Wind: " textbuffer2 dta d"Player: Cash: 0" ; ZERO TO MAKE YOU RICHER ON THE SCREEN diff --git a/display_static.asm b/display_static.asm index 9430e9d..ed293db 100644 --- a/display_static.asm +++ b/display_static.asm @@ -76,7 +76,7 @@ GameOverTitle2 dl ; MAIN game display list .byte 0 .byte $42 - .word textbuffer + .word statusBuffer .byte $02, $02 +$80 ;DLI .byte $10 ; 2 blank lines diff --git a/display_status.asm b/display_status.asm new file mode 100644 index 0000000..c3f5c68 --- /dev/null +++ b/display_status.asm @@ -0,0 +1,11 @@ +; @com.wudsn.ide.asm.mainsourcefile=scorch.asm + +.IF *>0 ;this is a trick that prevents compiling this file alone + +statusBuffer + ; 0123456789012345678901234567890123456789 + dta d"Player: " + dta d"Energy: Angle: Force: " + dta d"Round: Wind: " + +.ENDIF \ No newline at end of file diff --git a/scorch.asm b/scorch.asm index 59711b2..1579ecd 100644 --- a/scorch.asm +++ b/scorch.asm @@ -141,6 +141,7 @@ WeaponFont ;Screen displays go here to avoid crossing 4kb barrier ;----------------------------------------------- icl 'display.asm' + icl 'display_status.asm' icl 'display_static.asm' ;---------------------------------------------- @@ -231,12 +232,7 @@ MainGameLoop jsr SetWallsType ; first set default barrel lengths (fix for Long Schlong activation :) ) ; we must do it before purchase/activate - ldx #(MaxPlayers-1) -SettingBarrel - lda #StandardBarrel ; standard barrel length - sta BarrelLength,x - dex - bpl SettingBarrel + jsr SetStandardBarrels jsr CallPurchaseForEveryTank diff --git a/scorch.xex b/scorch.xex index 316377ba6e2e88fdfba09af081b1b8afb6ce9aa6..65f90b75c928efdb2279c9913fb49ffc468d179f 100644 GIT binary patch delta 8127 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 a?q7efu5A=$z%^|%ac|q`Lw{@Y_WM6d!3CTE delta 8265 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 Date: Sat, 17 Sep 2022 14:16:02 -0400 Subject: [PATCH 15/33] WIP: moving displays part 2 --- display.asm => display_main_menu.asm | 41 ---------------------- display_purchasedl.asm | 45 ++++++++++++++++++++++++ scorch.asm | 17 ++++++++- scorch.xex | Bin 48607 -> 48701 bytes textproc.asm | 50 +++++++++++++++++++++------ variables.asm | 2 ++ 6 files changed, 103 insertions(+), 52 deletions(-) rename display.asm => display_main_menu.asm (64%) create mode 100644 display_purchasedl.asm diff --git a/display.asm b/display_main_menu.asm similarity index 64% rename from display.asm rename to display_main_menu.asm index ae7ca38..8a7e121 100644 --- a/display.asm +++ b/display_main_menu.asm @@ -38,47 +38,6 @@ NamesOfLevels dta d" HUMAN Moron Shooter " dta d" Poolshark Tosser Chooser " dta d" Spoiler Cyborg Unknown " -;--------------------------------------------------- -textbuffer2 - dta d"Player: Cash: 0" ; ZERO TO MAKE YOU RICHER ON THE SCREEN - -; DLs fragments (modified by game code) -; all Purchase DL :) -PurchaseDL - .byte $70 - .byte $47 -DLPurTitleAddr - .word PurchaseTitle - .byte $50 - .byte $42+$80 - .word textbuffer2 - .byte $60,$42 -MoreUpdl - .word EmptyLine - .byte 0,$42 -WeaponsListDL - .word ListOfWeapons - :15 .byte 0,2 - .byte 0, $42 -MoreDownDL - .word EmptyLine - .byte $40,$42 - .word WeaponsDescription - .byte $0,$42 -PurActDescAddr - .word PurchaseDescription - .byte $41 - .word PurchaseDL -;------------------------ -DLCreditsFragm - .byte $60+$80 - .byte $42+$20 ; VSCRL -DLCreditsAddr - .word Credits - :6 .byte $02+$20 - .byte $02 - .byte $41 - .word GameOverDL ;------------------------ ; end of "variables" (RAM) ;------------------------ diff --git a/display_purchasedl.asm b/display_purchasedl.asm new file mode 100644 index 0000000..eef87ab --- /dev/null +++ b/display_purchasedl.asm @@ -0,0 +1,45 @@ +; @com.wudsn.ide.asm.mainsourcefile=scorch.asm + +.IF *>0 ;this is a trick that prevents compiling this file alone +;--------------------------------------------------- +purchaseTextBuffer + dta d"Player: Cash: 0" ; ZERO TO MAKE YOU RICHER ON THE SCREEN + +; DLs fragments (modified by game code) +; all Purchase DL :) +PurchaseDL + .byte $70 + .byte $47 +DLPurTitleAddr + .word PurchaseTitle + .byte $50 + .byte $42+$80 + .word purchaseTextBuffer + .byte $60,$42 +MoreUpdl + .word EmptyLine + .byte 0,$42 +WeaponsListDL + .word ListOfWeapons + :15 .byte 0,2 + .byte 0, $42 +MoreDownDL + .word EmptyLine + .byte $40,$42 + .word WeaponsDescription + .byte $0,$42 +PurActDescAddr + .word PurchaseDescription + .byte $41 + .word PurchaseDL +;------------------------ +DLCreditsFragm + .byte $60+$80 + .byte $42+$20 ; VSCRL +DLCreditsAddr + .word Credits + :6 .byte $02+$20 + .byte $02 + .byte $41 + .word GameOverDL +.endif \ No newline at end of file diff --git a/scorch.asm b/scorch.asm index 1579ecd..21ea1f4 100644 --- a/scorch.asm +++ b/scorch.asm @@ -140,7 +140,22 @@ WeaponFont ;----------------------------------------------- ;Screen displays go here to avoid crossing 4kb barrier ;----------------------------------------------- - icl 'display.asm' + DisplayCopyRom = * + org display, DisplayCopyRom +DisplayCopyStart + icl 'display_main_menu.asm' +DisplayCopyEnd + org DisplayCopyRom + (DisplayCopyEnd - DisplayCopyStart +1) + + DisplayCopyPurchaseDlROM = * + org DisplayCopyPurchase, DisplayCopyPurchaseDlROM +DisplayCopyPurchaseStart + icl 'display_purchasedl.asm' +DisplayCopyPurchaseEnd + org DisplayCopyPurchaseDlROM + (DisplayCopyPurchaseEnd - DisplayCopyPurchaseStart +1) + + + icl 'display_status.asm' icl 'display_static.asm' ;---------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 65f90b75c928efdb2279c9913fb49ffc468d179f..0825c6112cd18bb91f4db65a753fe5191a1655d0 100644 GIT binary patch delta 9410 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 a(b%Wn2m94~dL8Kd9DcsuW2m%l_WuKoHLpkj diff --git a/textproc.asm b/textproc.asm index b8748e7..462199a 100644 --- a/textproc.asm +++ b/textproc.asm @@ -18,11 +18,13 @@ jsr clearscreen ;let the screen be clean + mwa #DisplayCopyRom temp + mwa #display temp2 + mwa #DisplayCopyEnd+1 modify + jsr CopyFromROM + mwa #OptionsDL dlptrs -; lda dmactls -; and #$fc -; ora #$02 ; normal screen width -; lda #%00110010 ; normal screen width, DL on, P/M off + lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls jsr SetPMWidth @@ -42,7 +44,7 @@ sta mountainDeltaL mva #6 NumberOfPlayers jsr PMoutofScreen ;let P/M disappear - jsr clearscreen ;let the screen be clean + ;jsr clearscreen ;let the screen be clean (clean-ish already) jsr ClearPMmemory jsr placetanks ;let the tanks be evenly placed jsr calculatemountains ;let mountains be easy for the eye @@ -284,6 +286,12 @@ AfterManualPurchase ; Rest of the data is taken from appropriate tables ; and during the purchase these tables are modified. + mwa #DisplayCopyPurchaseDlROM temp + mwa #DisplayCopyPurchase temp2 + mwa #DisplayCopyPurchaseEnd+1 modify + jsr CopyFromROM + + mwa #ListOfWeapons WeaponsListDL ;switch to the list of offensive weapons ; we are clearing list of the weapons @@ -319,7 +327,7 @@ GoToActivation tax NextChar03 lda tanksnames,x - sta textbuffer2+8,y + sta purchaseTextBuffer+8,y inx iny cpy #$08 @@ -337,7 +345,7 @@ AfterPurchase sta decimal lda moneyH,x sta decimal+1 - mwa #textbuffer2+26 displayposition + mwa #purchaseTextBuffer+26 displayposition jsr displaydec5 ; in xbyte there is the address of the line that @@ -2258,9 +2266,9 @@ EndOfCredits ;displaying symbol of the weapon ;--------------------- ;display name and symbol of the weapon - ;textbuffer+18 - symbol (1 char) - ;textbuffer+20 - quantity left - ;textbuffer+23 - name + ;statusBuffer+18 - symbol (1 char) + ;statusBuffer+20 - quantity left + ;statusBuffer+23 - name ldx TankNr ldy ActiveWeapon,x lda WeaponSymbols,y @@ -2513,4 +2521,26 @@ NextChar02 .endp ;------------------------------------------------- +.proc CopyFromROM +;copy from CART to RAM +; trashes Y +; temp: source +; temp2: destination +; modify: destination-end +;usage: +; mwa #DisplayCopyRom temp +; mwa #display temp2 +; mwa #DisplayCopyEnd+1 modify +; jsr CopyFromROM + + ldy #0 +@ lda (temp),y + sta (temp2),y + inw temp + inw temp2 + cpw temp2 modify + bne @- + rts +.endp + .endif \ No newline at end of file diff --git a/variables.asm b/variables.asm index 14cb87e..3cae787 100644 --- a/variables.asm +++ b/variables.asm @@ -47,6 +47,8 @@ linetableL ; = PMGraph + $0300 - (screenHeight+1)*2 .ds (screenHeight+1) linetableH ; = PMGraph + $0300 - (screenHeight+1) .ds (screenHeight+1) +DisplayCopyPurchase + .ds (DisplayCopyPurchaseEnd - DisplayCopyPurchaseStart +1) ;===================================================== variablesStart ; zeroing starts here ;===================================================== From 415bfbba2ba5a96c66d3e8a4d3ea51802b59bb97 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 17 Sep 2022 14:36:36 -0400 Subject: [PATCH 16/33] WIP: moving displays part 3 --- scorch.asm | 58 +++++++++++++++++++++++++++++++++----------------- scorch.xex | Bin 48701 -> 48732 bytes textproc.asm | 25 ---------------------- variables.asm | 2 ++ 4 files changed, 41 insertions(+), 44 deletions(-) diff --git a/scorch.asm b/scorch.asm index 21ea1f4..26a22fc 100644 --- a/scorch.asm +++ b/scorch.asm @@ -140,23 +140,29 @@ WeaponFont ;----------------------------------------------- ;Screen displays go here to avoid crossing 4kb barrier ;----------------------------------------------- + DisplayCopyRom = * org display, DisplayCopyRom DisplayCopyStart icl 'display_main_menu.asm' DisplayCopyEnd - org DisplayCopyRom + (DisplayCopyEnd - DisplayCopyStart +1) + org DisplayCopyRom + (DisplayCopyEnd - DisplayCopyStart) DisplayCopyPurchaseDlROM = * org DisplayCopyPurchase, DisplayCopyPurchaseDlROM DisplayCopyPurchaseStart icl 'display_purchasedl.asm' DisplayCopyPurchaseEnd - org DisplayCopyPurchaseDlROM + (DisplayCopyPurchaseEnd - DisplayCopyPurchaseStart +1) - - + org DisplayCopyPurchaseDlROM + (DisplayCopyPurchaseEnd - DisplayCopyPurchaseStart) + StatusBufferROM = * + org StatusBufferCopy, StatusBufferROM +StatusBufferCopyStart icl 'display_status.asm' +StatusBufferCopyEnd + org StatusBufferROM + (StatusBufferCopyEnd - StatusBufferCopyStart) + + icl 'display_static.asm' ;---------------------------------------------- @@ -195,21 +201,6 @@ FirstSTART cpy #screenheight+1 bne @- -; .if target = 5200 -; ; move RMT player from ROM to RAM (it modifies itself) -; mwa #PlayerBlob temp -; mwa #PlayerBlobDest temp2 -;@ -; ldy #0 -; lda (temp),y -; sta (temp2),y -; inw temp -; inw temp2 -; cpw temp #PlayerBlobEnd -; bne @- -; .endif - - ; RMT INIT lda #$f0 ;initial value sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240) @@ -455,6 +446,12 @@ SettingEnergies jsr calculatemountains ;let mountains be easy for the eye ;jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height + + mwa #StatusBufferROM temp + mwa #StatusBufferCopy temp2 + mwa #StatusBufferCopyEnd+1 modify + jsr CopyFromROM + jsr SetMainScreen jsr ColorsOfSprites @@ -1646,6 +1643,29 @@ noingame mva #0 RMT_blocked rts .endp +;------------------------------------------------- +.proc CopyFromROM +;------------------------------------------------- +;copy from CART to RAM +; trashes Y +; temp: source +; temp2: destination +; modify: destination-end +;usage: +; mwa #DisplayCopyRom temp +; mwa #display temp2 +; mwa #DisplayCopyEnd+1 modify +; jsr CopyFromROM + + ldy #0 +@ lda (temp),y + sta (temp2),y + inw temp + inw temp2 + cpw temp2 modify + bne @- + rts +.endp ;;-------------------------------------------------- ;.proc Randomizer ;;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 0825c6112cd18bb91f4db65a753fe5191a1655d0..a9e34e64504aeee6b57a4797a174bfa5b74a66af 100644 GIT binary patch delta 8910 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 delta 8885 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 Date: Sat, 17 Sep 2022 15:35:24 -0400 Subject: [PATCH 17/33] moving finished --- artwork/sfx/rmtplayr_modified.asm | 80 +++++++++++++++--------------- scorch.asm | 7 --- scorch.xex | Bin 48732 -> 48734 bytes textproc.asm | 16 ++++-- variables.asm | 36 +++++++++++++- 5 files changed, 85 insertions(+), 54 deletions(-) diff --git a/artwork/sfx/rmtplayr_modified.asm b/artwork/sfx/rmtplayr_modified.asm index 45972d8..b2c8f2e 100644 --- a/artwork/sfx/rmtplayr_modified.asm +++ b/artwork/sfx/rmtplayr_modified.asm @@ -48,42 +48,43 @@ p_instrstable = p_tis .zpvar v_speed .byte .zpvar RMTSFXVOLUME .byte - org PLAYER-$400+$e0 -track_variables -trackn_db .ds TRACKS -trackn_hb .ds TRACKS -trackn_idx .ds TRACKS -trackn_pause .ds TRACKS -trackn_note .ds TRACKS -trackn_volume .ds TRACKS -trackn_distor .ds TRACKS -trackn_shiftfrq .ds TRACKS -trackn_instrx2 .ds TRACKS -trackn_instrdb .ds TRACKS -trackn_instrhb .ds TRACKS -trackn_instridx .ds TRACKS -trackn_instrlen .ds TRACKS -trackn_instrlop .ds TRACKS -trackn_instrreachend .ds TRACKS -trackn_volumeslidedepth .ds TRACKS -trackn_volumeslidevalue .ds TRACKS -trackn_effdelay .ds TRACKS -trackn_effvibratoa .ds TRACKS -trackn_effshift .ds TRACKS -trackn_tabletypespeed .ds TRACKS -trackn_tablenote .ds TRACKS -trackn_tablea .ds TRACKS -trackn_tableend .ds TRACKS -trackn_tablelop .ds TRACKS -trackn_tablespeeda .ds TRACKS -trackn_command .ds TRACKS -trackn_filter .ds TRACKS -trackn_audf .ds TRACKS -trackn_audc .ds TRACKS -trackn_audctl .ds TRACKS -v_aspeed .ds 1 -track_endvariables - org PLAYER-$100-$140-$40+2 +; MOVED TO variables.asm +; org PLAYER-$400+$e0 +;track_variables +;trackn_db .ds TRACKS +;trackn_hb .ds TRACKS +;trackn_idx .ds TRACKS +;trackn_pause .ds TRACKS +;trackn_note .ds TRACKS +;trackn_volume .ds TRACKS +;trackn_distor .ds TRACKS +;trackn_shiftfrq .ds TRACKS +;trackn_instrx2 .ds TRACKS +;trackn_instrdb .ds TRACKS +;trackn_instrhb .ds TRACKS +;trackn_instridx .ds TRACKS +;trackn_instrlen .ds TRACKS +;trackn_instrlop .ds TRACKS +;trackn_instrreachend .ds TRACKS +;trackn_volumeslidedepth .ds TRACKS +;trackn_volumeslidevalue .ds TRACKS +;trackn_effdelay .ds TRACKS +;trackn_effvibratoa .ds TRACKS +;trackn_effshift .ds TRACKS +;trackn_tabletypespeed .ds TRACKS +;trackn_tablenote .ds TRACKS +;trackn_tablea .ds TRACKS +;trackn_tableend .ds TRACKS +;trackn_tablelop .ds TRACKS +;trackn_tablespeeda .ds TRACKS +;trackn_command .ds TRACKS +;trackn_filter .ds TRACKS +;trackn_audf .ds TRACKS +;trackn_audc .ds TRACKS +;trackn_audctl .ds TRACKS +;v_aspeed .ds 1 +;track_endvariables + INSTRPAR equ 12 tabbeganddistor dta frqtabpure-frqtab,$00 @@ -104,8 +105,7 @@ vibtabnext dta vib1-vib0+1,vib1-vib0+2,vib1-vib0+3,vib1-vib0+0 dta vib2-vib0+1,vib2-vib0+2,vib2-vib0+3,vib2-vib0+4,vib2-vib0+5,vib2-vib0+0 dta vib3-vib0+1,vib3-vib0+2,vib3-vib0+3,vib3-vib0+4,vib3-vib0+5,vib3-vib0+6,vib3-vib0+7,vib3-vib0+8,vib3-vib0+9,vib3-vib0+0 - org PLAYER-$100-$140 - org PLAYER-$100-$100 + .align $100 frqtab ERT [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 R9r31lYUg_PEUi7m{C`~B#DxF= diff --git a/textproc.asm b/textproc.asm index 615ec78..a1a02ca 100644 --- a/textproc.asm +++ b/textproc.asm @@ -278,6 +278,15 @@ AfterManualPurchase ; offensive weapon - 0, defensive - %10000000 jmp Purchase.GoToActivation .endp + +;-------------------------------------------------- +.proc CopyFromPurchaseAndGameOver + mwa #DisplayCopyPurchaseDlROM temp + mwa #DisplayCopyPurchase temp2 + mwa #DisplayCopyPurchaseEnd+1 modify + jmp CopyFromROM ; jsr:rts +.endp + ;-------------------------------------------------- .proc Purchase ; ;-------------------------------------------------- @@ -286,11 +295,7 @@ AfterManualPurchase ; Rest of the data is taken from appropriate tables ; and during the purchase these tables are modified. - mwa #DisplayCopyPurchaseDlROM temp - mwa #DisplayCopyPurchase temp2 - mwa #DisplayCopyPurchaseEnd+1 modify - jsr CopyFromROM - + jsr CopyFromPurchaseAndGameOver mwa #ListOfWeapons WeaponsListDL ;switch to the list of offensive weapons @@ -2015,6 +2020,7 @@ FinishResultDisplay jsr ClearPMmemory jsr PrepareCredits jsr GameOverResultsClear + jsr CopyFromPurchaseAndGameOver mwa #GameOverDL dlptrs lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls diff --git a/variables.asm b/variables.asm index f8e7d67..9098334 100644 --- a/variables.asm +++ b/variables.asm @@ -437,8 +437,40 @@ ListOfDefensiveWeapons ;:16 dta d" " .ds 16*32 ListOfDefensiveWeaponsEnd ;constant useful when clearing - - +track_variables +trackn_db .ds TRACKS +trackn_hb .ds TRACKS +trackn_idx .ds TRACKS +trackn_pause .ds TRACKS +trackn_note .ds TRACKS +trackn_volume .ds TRACKS +trackn_distor .ds TRACKS +trackn_shiftfrq .ds TRACKS +trackn_instrx2 .ds TRACKS +trackn_instrdb .ds TRACKS +trackn_instrhb .ds TRACKS +trackn_instridx .ds TRACKS +trackn_instrlen .ds TRACKS +trackn_instrlop .ds TRACKS +trackn_instrreachend .ds TRACKS +trackn_volumeslidedepth .ds TRACKS +trackn_volumeslidevalue .ds TRACKS +trackn_effdelay .ds TRACKS +trackn_effvibratoa .ds TRACKS +trackn_effshift .ds TRACKS +trackn_tabletypespeed .ds TRACKS +trackn_tablenote .ds TRACKS +trackn_tablea .ds TRACKS +trackn_tableend .ds TRACKS +trackn_tablelop .ds TRACKS +trackn_tablespeeda .ds TRACKS +trackn_command .ds TRACKS +trackn_filter .ds TRACKS +trackn_audf .ds TRACKS +trackn_audc .ds TRACKS +trackn_audctl .ds TRACKS +v_aspeed .ds 1 +track_endvariables variablesEnd ;---------------------------------------------------- From 6fc2882a6ecf64b85ecd44beae64c62d53f5948b Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 17 Sep 2022 23:31:12 -0400 Subject: [PATCH 18/33] WIP: 5200 port (not yet working) --- artwork/talk.asm | 2 +- lib/5200SYS.ASM | 224 +++++++++++++++++++++++++++++++++++++++++++++++ scorch.asm | 55 +++++++----- scorch.xex | Bin 48734 -> 48681 bytes 4 files changed, 258 insertions(+), 23 deletions(-) create mode 100644 lib/5200SYS.ASM diff --git a/artwork/talk.asm b/artwork/talk.asm index ba3bfcf..f60451e 100644 --- a/artwork/talk.asm +++ b/artwork/talk.asm @@ -1,6 +1,6 @@ .proc talk ; Maximum text length is 63 characters!!! -L0 dta d"IN TIMES OF TROUBLE, GO WITH WHAT YOU KNOW." +L0 dta d"CTO XYEB" L1 dta d"DIE!" L2 dta d"EAT MY SHORTS!" L3 dta d"YOU'RE TOAST!" diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM new file mode 100644 index 0000000..ab5d98e --- /dev/null +++ b/lib/5200SYS.ASM @@ -0,0 +1,224 @@ +;**************************************************************************** +;* ATARI 5200 CONSOLE * +;* SYSTEM EQUATES * +;**************************************************************************** +; OS VARIABLES FOR 5200 +; +; PAGE 0 +POKMSK = $00 ;pokmsk at $00 on Atari 5200 instead of $10 on Atari XL +RTCLOK = $01 ;Actually $01/$02 +CRITIC = $03 +ATRACT = $04 ;attact at $04 on Atari 5200 instead of $4D on Atari XL + +; PAGE 2 +DLPTRS = $05 ;sdlstl at $05/$06 on Atari 5200 instead of $230 on Atari XL +DMACTLS = $07 ;sdmactl at $07 on Atari 5200 instead of $22f on Atari XL +SSKCTL = skctl ;There is no shadow on Atari 5200 +STICK0 = $278 ;There is no stick0 but we will make the analog stick look like a digital one and store it here +STRIG0 = $284 ;There is no strig0 but we will make this the shadow of the TRIG0 ($c010) of GITA + +PCOLR0 EQU $08 ;P0 COLOR +PCOLR1 EQU $09 ;P1 COLOR +PCOLR2 EQU $0a ;P2 COLOR +PCOLR3 EQU $0b ;P3 COLOR +COLOR0 EQU $0c ;COLOR 0 +COLOR1 EQU $0d +COLOR2 EQU $0e +COLOR3 EQU $0f +COLOR4 EQU $10 +COLBAKS EQU COLOR4 + +; HARDWARE REGISTERS + +; GTIA +CONSOL = $280 ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys +consol_reset = $07 ;The constant value representing that no consol key is pressed +; --------------------------------------------------------------------------- +POKEY EQU $EB200 +; --------------------------------------------------------------------------- +; +; READ +; +POT0 EQU POKEY+$00 +POT1 EQU POKEY+$01 +POT2 EQU POKEY+$02 +POT3 EQU POKEY+$03 +POT4 EQU POKEY+$04 +POT5 EQU POKEY+$05 +POT6 EQU POKEY+$06 +POT7 EQU POKEY+$07 +ALLPOT EQU POKEY+$08 +KBCODE EQU POKEY+$09 +RANDOM EQU POKEY+$0a +POTGO EQU POKEY+$0b +SERIN EQU POKEY+$0d +IRQST EQU POKEY+$0e +SKSTAT EQU POKEY+$0f +; +; WRITE +; +AUDF1 EQU POKEY+$00 +AUDC1 EQU POKEY+$01 +AUDF2 EQU POKEY+$02 +AUDC2 EQU POKEY+$03 +AUDF3 EQU POKEY+$04 +AUDC3 EQU POKEY+$05 +AUDF4 EQU POKEY+$06 +AUDC4 EQU POKEY+$07 +AUDCTL EQU POKEY+$08 +STIMER EQU POKEY+$09 +SKRES EQU POKEY+$0a +SEROUT EQU POKEY+$0d +IRQEN EQU POKEY+$0e +SKCTL EQU POKEY+$0f +; +; +; +; --------------------------------------------------------------------------- +GTIA EQU $C000 +; --------------------------------------------------------------------------- +; +; WRITE +; +HPOSP0 EQU GTIA+$00 +HPOSP1 EQU GTIA+$01 +HPOSP2 EQU GTIA+$02 +HPOSP3 EQU GTIA+$03 +HPOSM0 EQU GTIA+$04 +HPOSM1 EQU GTIA+$05 +HPOSM2 EQU GTIA+$06 +HPOSM3 EQU GTIA+$07 +SIZEP0 EQU GTIA+$08 +SIZEP1 EQU GTIA+$09 +SIZEP2 EQU GTIA+$0a +SIZEP3 EQU GTIA+$0b +SIZEM EQU GTIA+$0c +GRAFP0 EQU GTIA+$0d +GRAFP1 EQU GTIA+$0e +GRAFP2 EQU GTIA+$0f +GRAFP3 EQU GTIA+$10 +GRAFM EQU GTIA+$11 +COLPM0 EQU GTIA+$12 +COLPM1 EQU GTIA+$13 +COLPM2 EQU GTIA+$14 +COLPM3 EQU GTIA+$15 +COLPF0 EQU GTIA+$16 +COLPF1 EQU GTIA+$17 +COLPF2 EQU GTIA+$18 +COLPF3 EQU GTIA+$19 +COLBAK EQU GTIA+$1a +PRIOR EQU GTIA+$1b +VDELAY EQU GTIA+$1c +GRACTL EQU GTIA+$1d +HITCLR EQU GTIA+$1e +;CONSOL EQU GTIA+$1f ; no CONSOL in 5200 +; +; READ +; +M0PF EQU GTIA+$00 +M1PF EQU GTIA+$01 +M2PF EQU GTIA+$02 +M3PF EQU GTIA+$03 +P0PF EQU GTIA+$04 +P1PF EQU GTIA+$05 +P2PF EQU GTIA+$06 +P3PF EQU GTIA+$07 +M0PL EQU GTIA+$08 +M1PL EQU GTIA+$09 +M2PL EQU GTIA+$0a +M3PL EQU GTIA+$0b +P0PL EQU GTIA+$0c +P1PL EQU GTIA+$0d +P2PL EQU GTIA+$0e +P3PL EQU GTIA+$0f +TRIG0 EQU GTIA+$10 +TRIG1 EQU GTIA+$11 +TRIG2 EQU GTIA+$12 +TRIG3 EQU GTIA+$13 +PAL EQU GTIA+$14 +; +; +; --------------------------------------------------------------------------- +ANTIC EQU $D400 +; --------------------------------------------------------------------------- +; +DMACTL EQU ANTIC+$00 +CHACTL EQU ANTIC+$01 +DLPTR EQU ANTIC+$02 +;DLISTH EQU ANTIC+$03 +HSCROL EQU ANTIC+$04 +VSCROL EQU ANTIC+$05 +PMBASE EQU ANTIC+$07 +CHBASE EQU ANTIC+$09 +WSYNC EQU ANTIC+$0a +VCOUNT EQU ANTIC+$0b +PENH EQU ANTIC+$0c +PENV EQU ANTIC+$0d +NMIEN EQU ANTIC+$0e +NMIRES EQU ANTIC+$0f +NMIST EQU ANTIC+$0f +; +; --------------------------------------------------------------------------- +; Atari ANTIC chip display list equates +; --------------------------------------------------------------------------- +; +JUMP EQU $01 ; display list jump instruction (3 byte) +JVB EQU $41 ; display list jump and wait for vblank instruction (3) +; +SCH EQU $10 ; display list horizontal scrolling +SCV EQU $20 ; display list vertical scrolling +LMS EQU $40 ; display list load memory scan instruction (3 byte) +DLII EQU $80 ; display list interrupt instruction +; +SKIP1 EQU $00 ; display list skip 1 scan line instruction +SKIP2 EQU $10 ; display list skip 2 scan lines instruction +SKIP3 EQU $20 ; display list skip 3 scan lines instruction +SKIP4 EQU $30 ; display list skip 4 scan lines instruction +SKIP5 EQU $40 ; display list skip 5 scan lines instruction +SKIP6 EQU $50 ; display list skip 6 scan lines instruction +SKIP7 EQU $60 ; display list skip 7 scan lines instruction +SKIP8 EQU $70 ; display list skip 8 scan lines instruction +; +MODE2 EQU $02 ; display list mode 2 +MODE4 EQU $04 ; display list mode 4 +MODE8 EQU $08 ; display list mode 8 +MODEE EQU $0E ; display list mode E +MODEF EQU $0F ; display list mode F +; --------------------------------------------------------------------------- +; ENUMS +; --------------------------------------------------------------------------- + +.enum @dmactl + blank = %00 + narrow = %01 + standard= %10 + wide = %11 + missiles= %100 + players = %1000 + lineX1 = %10000 + lineX2 = %00000 + dma = %100000 +.ende + +scr48 = @dmactl(wide|dma|players|missiles|lineX1) +scr40 = @dmactl(standard|dma|players|missiles|lineX1) +scr32 = @dmactl(narrow|dma|players|missiles|lineX1) + +.enum @pmcntl + missiles= %1 + players = %10 + trigs = %100 +.ende + +.enum @gtictl + prior0 = %0 + prior1 = %1 + prior2 = %10 + prior4 = %100 + prior8 = %1000 + ply5 = %10000 ; Fifth Player Enable + mlc = %100000 ; Multiple Color Player Enable + mode9 = %01000000 + mode10 = %10000000 + mode11 = %11000000 +.ende diff --git a/scorch.asm b/scorch.asm index 684c5c7..091c9d3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -2,13 +2,15 @@ ;Atari 8-bit Scorched Earth source code ;--------------------------------------------------- ;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski -;Warsaw 2000,2001,2002,2003,2009,2012,2013 +;Warsaw 2000, 2001, 2002, 2003, 2009, 2012, 2013 ;Miami & Warsaw 2022 + OPT r+ ; saves 12 bytes :O + .def target = 800 ;5200 ; or 800 .macro build - dta d"1.15" ; number of this build (3 bytes) + dta d"1.15" ; number of this build (4 bytes) .endm .macro RMTSong @@ -121,19 +123,22 @@ LineAddress4x4 = temp ;------------------------------- - - icl 'lib/ATARISYS.ASM' + .IF TARGET = 5200 + icl 'lib/5200SYS.ASM' + .ELSE + icl 'lib/ATARISYS.ASM' + icl 'artwork/Scorch50.asm' ; splash screen and musix + .ENDIF + icl 'lib/macro.hea' - .IF target !=5200 - ;splash screen and musix - icl 'artwork/Scorch50.asm' - .ENDIF - - ;Game loading address - ORG PMGraph + $0300 - (variablesEnd - OneTimeZeroVariables + 1) - icl 'variables.asm' - ORG $4000 + ; variable declarations in RAM (no code) + ORG PMGraph + $0300 - (variablesEnd - OneTimeZeroVariables + 1) + icl 'variables.asm' + + ; Game loading address + ORG $4000 + ;opt f+ ; single block WeaponFont ins 'artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt' @@ -1698,19 +1703,25 @@ TankFont ;RMT PLAYER and song loading shenaningans icl 'artwork/sfx/rmtplayr_modified.asm' -MODUL equ $b000 ;address of RMT module - opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str6.rmt" ;include music RMT module - opt h+ + org $b000 +MODUL ; equ $b000 ;address of RMT module + ;opt h- ;RMT module is standard Atari binary file already + ins "artwork/sfx/scorch_str6.rmt",+6 ;include music RMT module + ;opt h+ MODULEND ;---------------------------------------------- - org $bf80 font4x4 ins 'artwork/font4x4s.bmp',+62 - - - - + .IF target = 5200 + org $bfe8 + ; "01234567890123456789" + .byte " SCORCH 5200 v" ;20 characters title + build ; " " + .byte " " + .byte '22' ;2 characters year + .word FirstSTART + .ELSE run FirstSTART + .ENDIF \ No newline at end of file diff --git a/scorch.xex b/scorch.xex index e8ef541c68e28f20f6175ecbd3280cb0c8b08e52..10e992788fddbad55839b98c0630e677ba128f45 100644 GIT binary patch delta 6172 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 delta 6446 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 Date: Sun, 18 Sep 2022 10:57:20 -0400 Subject: [PATCH 19/33] 5200 POKEY addr fix --- lib/5200SYS.ASM | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index ab5d98e..5ae6b4a 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -34,7 +34,7 @@ COLBAKS EQU COLOR4 CONSOL = $280 ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys consol_reset = $07 ;The constant value representing that no consol key is pressed ; --------------------------------------------------------------------------- -POKEY EQU $EB200 +POKEY EQU $EB00 ; --------------------------------------------------------------------------- ; ; READ From d72ca57181f0a1a5728ccd93a93f1241428893c0 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 19 Sep 2022 08:02:27 -0400 Subject: [PATCH 20/33] 5200 compiles --- lib/5200MACRO.ASM | 146 +++++++++++++++++++++++++++++++++++ lib/5200SYS.ASM | 38 +++++++-- lib/{macro.hea => MACRO.ASM} | 0 scorch.asm | 71 +++++++++-------- scorch.xex | Bin 48681 -> 31941 bytes 5 files changed, 217 insertions(+), 38 deletions(-) create mode 100644 lib/5200MACRO.ASM rename lib/{macro.hea => MACRO.ASM} (100%) diff --git a/lib/5200MACRO.ASM b/lib/5200MACRO.ASM new file mode 100644 index 0000000..58431b2 --- /dev/null +++ b/lib/5200MACRO.ASM @@ -0,0 +1,146 @@ +;------------------------------------- + .MACRO ROLW + ROL :1 + ROL :1+1 + .ENDM +;------------------------------------- + .MACRO ASLW + ASL :1 + ROL :1+1 + .ENDM +;------------------------------------- + .MACRO RORW + ROR :1+1 + ROR :1 + .ENDM +;------------------------------------- + .MACRO LSRW + LSR :1+1 + ROR :1 + .ENDM + +;------------------------------------- + .MACRO VMAIN +; VMAIN #WORD,interrupt.vector +; interrupt.vector: +; 0 - VIMIRQ +; 1 - TIMCNT1 +; 2 - TIMCNT2 +; 3 - TIMCNT3 +; 4 - TIMCNT4 +; 5 - TIMCNT5 +; 6 - VVBLKI +; 7 - VVBLKD +; 8 - TIMVEC1 +; 9 - TIMVEC2 +; Initialises Vertical Blank Interrupts +; (works only with system interrupts ON) +;---------- +; on 5200 it sets up deferred VBL ONLY for now + sei + lda #$00 ;Disable all interruptes + sta nmien + sta irqen + +@ lda vcount + bne @- + mwa #:1 VVBLKD + lda #$40 ;Enable IRQ interrupts + sta pokmsk + sta irqen + cli + + .ENDM +;------------------------------------- + .MACRO VDLI +; VDLI #WORD +; Initialises Display List Interrupts + mwa #:1 VDSLST + mva #$C0 NMIEN + .ENDM +;------------------------------------- + .MACRO halt +?stop + lda RANDOM + and #$05 + sta COLBAK + jmp ?stop + .ENDM +;------------------------------------- + .MACRO KEY +; KEY +; waits for releasing and pressing "any key" + + .ENDM +;------------------------------------- + .MACRO WAIT +; WAIT +; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) +?zero LDA VCOUNT + beq ?zero + bpl ?WA + sbc #10 ; last lines correction +?WA cmp VCOUNT + beq ?WA + bcc ?WA +?WFRAME cmp VCOUNT + beq ?nowait + bcs ?WFRAME +?nowait + .ENDM +;------------------------------------- + .macro negw + ; negate the given word (0-a) +;------------------------------------- + sec + lda #$00 + sbc :1 + sta :1 + lda #$00 + sbc :1+1 + sta :1+1 + .endm +;------------------------------------- + .macro randomize + ;usage: randomize floor ceiling + ;returns (in A) a random .byte between "floor" and "ceiling" + .if :2 < :1 + .error "floor higher than ceiling" + .endif +?rand + lda random + cmp #:1 ;floor + bcc ?rand + cmp #:2+1 ;ceiling + bcs ?rand + .endm +;------------------------------------- + .macro phx + txa + pha + .endm +;------------------------------------- + .macro phy + tya + pha + .endm +;------------------------------------- + .macro plx + pla + tax + .endm +;------------------------------------- + .macro ply + pla + tay + .endm +;------------------------------------- + .macro pause + ;waits :1 number (byte) of frames + ldx #:1 +?PAUSELOOP + wait + dex + bne ?PAUSELOOP + .ENDM + diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index 5ae6b4a..017dbab 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -2,6 +2,8 @@ ;* ATARI 5200 CONSOLE * ;* SYSTEM EQUATES * ;**************************************************************************** +; based on https://web.archive.org/web/20200831200348/http://www.atarimuseum.com/videogames/consoles/5200/conv_to_5200.html +; ; OS VARIABLES FOR 5200 ; ; PAGE 0 @@ -9,14 +11,9 @@ POKMSK = $00 ;pokmsk at $00 on Atari 5200 instead of $10 on Atari RTCLOK = $01 ;Actually $01/$02 CRITIC = $03 ATRACT = $04 ;attact at $04 on Atari 5200 instead of $4D on Atari XL - -; PAGE 2 DLPTRS = $05 ;sdlstl at $05/$06 on Atari 5200 instead of $230 on Atari XL DMACTLS = $07 ;sdmactl at $07 on Atari 5200 instead of $22f on Atari XL SSKCTL = skctl ;There is no shadow on Atari 5200 -STICK0 = $278 ;There is no stick0 but we will make the analog stick look like a digital one and store it here -STRIG0 = $284 ;There is no strig0 but we will make this the shadow of the TRIG0 ($c010) of GITA - PCOLR0 EQU $08 ;P0 COLOR PCOLR1 EQU $09 ;P1 COLOR PCOLR2 EQU $0a ;P2 COLOR @@ -27,6 +24,36 @@ COLOR2 EQU $0e COLOR3 EQU $0f COLOR4 EQU $10 COLBAKS EQU COLOR4 +PADDL0 EQU $11 +PADDL1 EQU $12 +PADDL2 EQU $13 +PADDL3 EQU $14 +PADDL4 EQU $15 +PADDL5 EQU $16 +PADDL6 EQU $17 +PADDL7 EQU $18 +STICK0 = $19 ;There is no stick0 but we will make the analog stick look like a digital one and store it here +STRIG0 = $1a ;There is no strig0 but we will make this the shadow of the TRIG0 ($c010) of GTIA +chbas = $1b ;There is no strig0 but we will make this the shadow of the CHBASE + +; PAGE 2 +VIMIRQ EQU $0200 ;IMMED IRQ VECTOR +VVBLKI EQU $0202 ;IMM VBLK NMI VECTOR +VVBLKD EQU $0204 ;DEF VBLK NMI VECTOR +VDSLST EQU $0206 ;DSP LIST NMI VECTOR +VKEYBD EQU $0208 ;POKEY KB IRQ VECTOR +VKEYCNT EQU $020A ;Keypad routine continuation vector +BRKKY EQU $023C ;BREAK KEY VECTOR +VBREAK EQU $020E ;BRK INST IRQ VECTOR +VSERIN EQU $0210 ;POKEY INPUT RDY IRQ +VSEROR EQU $0212 ;POKEY OUTPUT RDY +VSEROC EQU $0214 ;POKEY OUTPUT DONE +VTIMR1 EQU $0216 ;POKEY TIMER 1 IRQ +VTIMR2 EQU $0218 ;POKEY TIMER 2 IRQ +VTIMR4 EQU $021A ;POKEY TIMER 4 IRQ + + +ROM_SETTINGS = $bfe8 ; game ROM info start (24 bytes total, 20b title, 2b year, 2b start vector) ; HARDWARE REGISTERS @@ -108,6 +135,7 @@ COLPF2 EQU GTIA+$18 COLPF3 EQU GTIA+$19 COLBAK EQU GTIA+$1a PRIOR EQU GTIA+$1b +GPRIOR = PRIOR ; no PRIOR shadow (GPRIOR) VDELAY EQU GTIA+$1c GRACTL EQU GTIA+$1d HITCLR EQU GTIA+$1e diff --git a/lib/macro.hea b/lib/MACRO.ASM similarity index 100% rename from lib/macro.hea rename to lib/MACRO.ASM diff --git a/scorch.asm b/scorch.asm index 091c9d3..e73184c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -5,10 +5,13 @@ ;Warsaw 2000, 2001, 2002, 2003, 2009, 2012, 2013 ;Miami & Warsaw 2022 +;--------------------------------------------------- +.def target = 5200 ; or 800 +;--------------------------------------------------- + OPT r+ ; saves 12 bytes :O -.def target = 800 ;5200 ; or 800 - +;--------------------------------------------------- .macro build dta d"1.15" ; number of this build (4 bytes) .endm @@ -18,8 +21,9 @@ jsr RMTSongSelect .endm +;--------------------------------------------------- icl 'definitions.asm' - +;--------------------------------------------------- .zpvar xdraw .word = $64 ;variable X for plot .zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen) @@ -122,17 +126,21 @@ displayposition = modify LineAddress4x4 = temp -;------------------------------- +;----------------------------------------------- +; libraries +;----------------------------------------------- .IF TARGET = 5200 icl 'lib/5200SYS.ASM' + icl 'lib/5200MACRO.ASM' .ELSE icl 'lib/ATARISYS.ASM' + icl 'lib/MACRO.ASM' icl 'artwork/Scorch50.asm' ; splash screen and musix .ENDIF - icl 'lib/macro.hea' - - ; variable declarations in RAM (no code) +;----------------------------------------------- +; variable declarations in RAM (no code) +;----------------------------------------------- ORG PMGraph + $0300 - (variablesEnd - OneTimeZeroVariables + 1) icl 'variables.asm' @@ -142,10 +150,10 @@ WeaponFont ins 'artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt' + ;----------------------------------------------- ;Screen displays go here to avoid crossing 4kb barrier ;----------------------------------------------- - DisplayCopyRom = * org display, DisplayCopyRom DisplayCopyStart @@ -460,13 +468,6 @@ SettingEnergies jsr SetMainScreen jsr ColorsOfSprites -; lda #90 ; barrel fully erect -; ldx #MaxPlayers-1 -;@ sta previousBarrelAngle,x -; dex -; bpl @- - - jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks @@ -635,11 +636,6 @@ ShootNow jsr Explosion continueMainRoundLoopAfterSeppuku - ;here we clear offensive text (after a shoot) - ;ldy TankNr - ;mva #0 plot4x4color - ;jsr DisplayOffensiveTextNr - AfterExplode jsr SoilDown2 ; allways @@ -659,7 +655,6 @@ NoExistNoFall mvx tempor2 TankNr missed - ; TODO: IS IT OK??? possibly a fix here needed for #56 ldy WeaponDepleted bne @+ ldx TankNr @@ -668,7 +663,6 @@ missed @ ;here we clear offensive text (after a shoot) - ;shit -- it's second time, but it must be like this ldy TankNr mva #$00 plot4x4color jsr DisplayOffensiveTextNr @@ -740,7 +734,6 @@ NoPlayerNoDeath ;clear NoDeathCounter here sta noDeathCounter - ; display defensive text here (well, defensive ; is not the real meaning, it should be pre-death, ; but I am too lazy to change names of variables) @@ -754,7 +747,7 @@ NoPlayerNoDeath inc CurrentResult mva #sfx_death_begin sfx_effect -;RandomizeDeffensiveText + ; RandomizeDeffensiveText randomize talk.NumberOfOffensiveTexts (talk.NumberOfDeffensiveTexts+talk.NumberOfOffensiveTexts-1) sta TextNumberOff ldy TankTempY @@ -1243,7 +1236,16 @@ exitVBL ply plx pla - jmp XITVBV + .IF target = 5200 + pla + tay + pla + tax + pla + rti + .ELSE + jmp XITVBV + .ENDIF .endp ;---------------------------------------------- .proc RandomizeSequence0 @@ -1462,7 +1464,7 @@ Bubble BubbleBobble lda TempResults,x cmp TempResults+1,x - beq nextishigher ; this is to block hangs when 2 same values meet + beq nextishigher ; this is to block hangs when 2 equal values meet bcc nextishigher ;here we must swap values ;because next is smaller than previous @@ -1713,15 +1715,18 @@ MODULEND font4x4 ins 'artwork/font4x4s.bmp',+62 - - .IF target = 5200 - org $bfe8 +;---------------------------------------------- + .IF target = 5200 + .IF * > ROM_SETTINGS-1 + .ERROR 'Code too long to fit in 5200' + .ENDIF + org ROM_SETTINGS ; 5200 ROM settings address $bfe8 ; "01234567890123456789" .byte " SCORCH 5200 v" ;20 characters title build ; " " .byte " " - .byte '22' ;2 characters year + .byte '7A' ;2 characters year .. 1900 + $7A = 2020 .word FirstSTART - .ELSE - run FirstSTART - .ENDIF \ No newline at end of file + .ELSE + run FirstSTART + .ENDIF \ No newline at end of file diff --git a/scorch.xex b/scorch.xex index 10e992788fddbad55839b98c0630e677ba128f45..abeb3f28f5707da9d98fe0e2ebeb9aebbe755bd9 100644 GIT binary patch delta 9187 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 YJ#M06^hkzLl#Ec17_FH3eA~SL18aRQZ2$lO delta 24133 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 Date: Mon, 19 Sep 2022 09:01:56 -0400 Subject: [PATCH 21/33] WIP: 5200 starts --- scorch.asm | 76 +++++++++++++++++++++++++++++++++++------------------ scorch.bin | Bin 0 -> 32768 bytes scorch.xex | Bin 31941 -> 48671 bytes 3 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 scorch.bin diff --git a/scorch.asm b/scorch.asm index e73184c..010bdd3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def target = 5200 ; or 800 +.def target = 800 ;5200 ; or 800 ;--------------------------------------------------- OPT r+ ; saves 12 bytes :O @@ -130,6 +130,7 @@ ; libraries ;----------------------------------------------- .IF TARGET = 5200 + OPT h-f+ icl 'lib/5200SYS.ASM' icl 'lib/5200MACRO.ASM' .ELSE @@ -1195,9 +1196,6 @@ DLIinterruptNone .endp ;-------------------------------------------------- .proc VBLinterrupt - pha - phx - phy mva #0 dliCounter lda PAL @@ -1233,11 +1231,33 @@ lab2 ; ------- RMT ------- SkipRMTVBL exitVBL - ply - plx - pla .IF target = 5200 - pla +; center = 114 ;Read analog stick and make it look like a digital stick +; threshold = 60 +; +; lda pot0 ;Read POT0 value (horizontal position) +; cmp #center+threshold ;Compare with right threshold +; rol stick0 ;Feed carry into digital stick value +; cmp #center-threshold ;Compare with left threshold +; rol stick0 ;Feed carry into digital stick value +; +; lda pot1 ;Read POT1 value (vertical position) +; cmp #center+threshold ;Compare with down threshold +; rol stick0 ;Feed carry into digital stick value +; cmp #center-threshold ;Compare with down threshold +; rol stick0 ;Feed carry into digital stick value +; +; lda stick0 ;0 indicates a press so the right/down values need to be inverted +; eor #2+8 +; and #$0f +; sta stick0 +; +; mva trig0 strig0 ;Move hardware to shadow +; +; lda skstat ;Reset consol key shadow is no key is pressed anymore +; and #4 +; seq:mva #consol_reset consol + pla tay pla tax @@ -1564,20 +1584,24 @@ getkeyend ;-------------------------------------------------- .proc WaitForKeyRelease ;-------------------------------------------------- - lda STICK0 - and #$0f - cmp #$0f - bne WaitForKeyRelease - lda STRIG0 - beq WaitForKeyRelease - lda SKSTAT - cmp #$ff - bne WaitForKeyRelease - lda CONSOL - and #%00000110 ; Select and Option only - cmp #%00000110 - bne WaitForKeyRelease - rts + .IF TARGET = 5200 + rts + .ELSE + lda STICK0 + and #$0f + cmp #$0f + bne WaitForKeyRelease + lda STRIG0 + beq WaitForKeyRelease + lda SKSTAT + cmp #$ff + bne WaitForKeyRelease + lda CONSOL + and #%00000110 ; Select and Option only + cmp #%00000110 + bne WaitForKeyRelease + rts + .ENDIF .endp ;-------------------------------------------------- .proc IsKeyPressed ; A=0 - yes , A>0 - no @@ -1722,10 +1746,10 @@ font4x4 .ENDIF org ROM_SETTINGS ; 5200 ROM settings address $bfe8 ; "01234567890123456789" - .byte " SCORCH 5200 v" ;20 characters title - build ; " " - .byte " " - .byte '7A' ;2 characters year .. 1900 + $7A = 2020 + .byte " SCORCH 5200 v" ;20 characters title + build ; " " + .byte " " + .byte "7A" ;2 characters year .. 1900 + $7A = 2020 .word FirstSTART .ELSE run FirstSTART diff --git a/scorch.bin b/scorch.bin new file mode 100644 index 0000000000000000000000000000000000000000..95d520720f5151254082f8219395c5a6eff3787b GIT binary patch literal 32768 zcmeFadt6l2`aiyAhU+-a-YD8Q-e$N7%IyFq_9--vdDN!V%ltCsD2pleoh?i}o z4xo}pI!zI|l|jY^k6kb^P6;xUG@9Dgv=Wj`n@Te~1;6*&duG5(=bYE)`~BzldVRN> zz1Moyv!3;=XFcm#&$`T(5cidgizJiMsgbH=B9p1Yrr$kh!`f0+v9ox1aXcZNpC{*Z zw-FLHt#4Ww^2EmjNQj?8g-hYrq6Z*e-y)GpM`@-`EhQ>diAv?Aor6%ZJ4Ogfk|HC} zOG$Ctw?B6yNtIlfoQ!vI+n8e4B|>`3?i|xe;kRdX_9_uSds#{2#b@_%ek9`RqH$*LLZ^DH`wo`PWMVekbUP^nVlSb$5T4FO&xc z2zji#P^f=zg3vN3r@Nchzq>ngIju%__o)My+9=)S$&W!^ot>RoV}1jF<#!hTi1?k; z*3gT5)|Wo*-FM$5cc$ZsH;sSx*}K!G@!uHU?OjcXK1EOKPYP2Cg?DsHN;C~*-hM|W zUM-rT!2tne+PkXgB-Ojqk{^6<>sGQA^dBiv5!%2$4_U*7vwCw zRbkN@BqvXQ@ZqVD`1GyywJ%Jic(iqJS*MQ=4#0cV?c+z$SM16K2xPzX>XUuA7H)g> z(Kqhx>s$Jw;nTR22RiyzzkPY+^EcoXx1If}m=I-2 zTW4npjdxyZL3~VdiHhnMSJ-|G90Yy9L0@QpA^zK0fgT7F@_DzQU*xf~#Z;e@d!blkfR6^g1pc5vnSx~7PMzwd z4b+YH?-bLs#vntlA~^^8w&%=KNmLH1X{vPmsY)K%@_l-`DnOM|lA;Pgt&2;FRV<0m zOf53x<`JR>E*U}}LU#zJp<(nfoIXfsYF>sA0A5yhmI1gE5LeMh5DgAtX^@P|P0cqh zFB0gn$|2(js~k2CDEK3Y5fV%vgiJDKr3nFAZcqpwL+N7}ecVPLBj|&Wgltn*8rT!~ z3!(}$gg%DSM=*U1qYpx2jCpy+OhX>U%gZz^!6Ul>oaQbg>8W|kNk(cecqSy#kdtFt zY7*#W8S-;UE=>^dveTDmk<`orS{jK#xyw_HS$UMdSlS^%!tn^bgFYfDEFKTkBQ-Nq z$N)S+E(N)%Ib@M(86Me%MIi64Cm~6xSxcdAK{Q)z>M{eRJm89)7^969;xXB|*;zs; zF(W&Bxgl2w$7g3}=Ajx(Nm6!Ro(K#@x;sb`bFv`-iW^$AC_8rv%``DMEY<40c+|s88Aa<-u;B~>>^iuh;T{oo;v$h zMNwvMyuz~#xl4+?ENQcrWcJG>B0G1nJ0_@rh(@)>o8d-!lMI=QvzHmj@@$g07}+yO zzLEqfgP_F$rmVmrEXxia!VVb%Sr}6D3?$ExX;{3RWalh5Lfi$$6E%r2W*K1>-09lI%Z>S|%WqEi6#t*zrQ-F|*Wds6^?7#$uX8=!-92Al z`R?*HL~=Y#h`i-}`SsD5W{iPBgUOm!uavH3=dc>)|Ke3qaUHS#=o}KyF#XX1K`+n~aKFWu z@VuVrbtMdp%vn71?m@G1{<3LiPR_LVX2eUSIn!7TE4|@g=^WR@f!Vy_yU!u>OEmMJ z{}Ml~P-~yI_%H0V9a^b0e%iXfNblCp&YAj`4`$ApJHeaf7J-U6Z1^p}13(r16iTOk zJ+pKgi7%CU{z?9>)P&EslA4t2yA);YuQel^Vymi)5xi<;Ig?extJq04dG2&3i$jjMJnE8jO0v}((e5B7Kih^)y4H%`?wk_(L6H0&`Qk86K3TF+n^K9 ze_1D*eWccTW?!jwDu;v%4{OfMu}Xobxg!%Cgq@7Pq=DvDQJ9(r1Ml<@{X@9nJHYRZ|$t6sA(v zJDC|Xg-MyrsG1W6U?S5T!>pRjSYl}4^gT?a#u8=Z(JXjIvtum^&#}t6!TK7q-iM0x3C1O9?_jUC zNbR?Yai>oQ`-|Q-H(0gmDaP^?qql`JM>i-c88mz-V^yO*>4iGQoLxE15e%1Ik5+NY zbf4Y_4f#Z~p};EPcJIn=o?FE!HBluROL23)!Zlj+g?U#tBAVa_Y=IXXqnt9$cLn@O zmqf37^gfMbzGl|rLJa&-A|SAjafG;n9U7P1F~K=PQ@R92Xch?1kC#AX`nhW{!F8}d?OL-TyWvg7 z>9;F;hoyn>=Bo8YZ6JJ2`kW5-vUNCDLuHc2xO{2mA;{UC!{@X%IDM!fb%%9mrSdt! zkW0V3F3k-LQ z=LD;o4>Cp{F0J_;#z;6ra&tS=Kp{&JQ{3C4Yn+Uo?OuFxo`91O!K{rYT4sd#hUK{Y3La$dh~Io()Z%y3@b&J zd60stX$k|Z>M2aqWMEZKX7tEgLz)-%z*2%<0W-RKo4*GyW>k`}YH#Vl(v`?Q#STg-kfX8#twZFUtGV7s@9 z3$*E~IJxbM;qrHEF?E}qu!MZRL+$k8O^!b21r%-yw)&X!(WvGImV1{fJvD1hbI?R1 zYkjP&Wh!gcSpJ8FlxDNmKFd992is#+nf*^#W#-W>)DCFPBU{jmVE`6GP(>D)?&-AGOJn;+cA@W!6`>c@)Ib`X>dpo3vNR?05DsIX&I`8SmMEo5-u9x?kJi;08fJ-?c3Z+;jvv9-#1E0z z)e3GvEP zd;v@^UkKCNT*I8Mg3V}to;h94*cEsq2~eczp#gQ88BZ&wsI_I zYJQrg^CrvF47ItS(i%mqiEYpCO@i-ARsngW}wt}Weg(izN;h+-U!%df7jgX6? z>h;JR<>QiCCE;qlXn0(MFlyA?tC>4r7dBt>&I4e8^S6~sqkLg2r*bFJ*KdQz;QALU z?U5g)fy!(2B}HRsAfl-GWoS@`pVL43E(JA6wS602t|c{g4XFpImoZ>9!aWiDVs`<0 zWFcSJx&l42ptZ<(POtfDDF%%OMqb}sH-BdH?)fwI-^~AU{_pbx9vu2$>4U2u9Jau@ z;Hw4Q^SkH&^w6&lNfy5T@ZpC877kfBYGJ~{nG1CfFM7D};qr%fJY4(m@rN58?wOzEJ)_ldP2A~)Z1_! zT*apur*mm=FRzCWz)$AWku@Dzm+(s*1g)IzXtxi(flNBcq=U>K<52HQ&!=%Kc>`C> zr*lR85^jZ_U&*EM#higJ;?nsQ+!DPt5KXFt*q&U9D(%%>SuhYH5g?$_2rBz(#;iZg zH-f-EjL)c{T&yAdsn!}otJcPuc!M#B%U{2w(UjaHK^bY`d*$+->0J7b@tmgBc+X8RBSXT5rf^We5+%a zbA8)kxS*1UXlI0{GE2ob8i!COjc_C2O|%-EzVIzt)9kUyd}EK0)Pp3}4;4D!V1rUxe=cjN#KPry1U0>0oSQrphwyG8_EJjcxhb>BzKYF(m{Y*vT-K(%c$>Qzv}#) z0dr`Os)d5^+%4?0Ou`Om;5+PJ>FgV=Lm;n!o8)yp)FZF!p}uY@Dn!}mJOYPRXb*(O zdP8@Kp+S$KwQ4+YA2H@mLu@3{dd+>*$tSF?;4v7}dBJtIhl9Bc+h2n@qwSGk?kVWX zQa;W6I?Ef(Z?Js2`AwEzVs2vj4D$h&H=5sK`KQbWS$?UxnYBtmvD6&GXjYVfXb3ao zZ2FlQ_?K+Gv+E4Enco~GnFYIKd!6OdY;Ulf!S*K0rQ4cVZi(#xi(=nmQS3pMd&<_# za!V;akZRlPY=!Z%j@XOCBhZ%h;$8cjB_a+QJBGmyZpcpsA|5uzlFeF+V6)??Hq}M>-g-M z8?xaBSm~SwPQ<>oyRtL5Y&xYp{a3N?$stN_J<>7uEdld90&Pp$(#2}QZKbwOXk+57 zGOeCdsGeS9d=w_GhW4K}Y7b$diZQ0HG=Iv7APYu0J3BlyONb?@R_>4{X_b zQNqp%n$l9${K%=_2bV4O1N`y65oX~ ze#-F0jv(01m5w&oFn%T2DsEfZxDqvR61xv1`0g#qA=gkLm!E5NH*$5O05Ok}e-{Q) z%DoF8hL-Uz>u;5)4ClCase7|qH}o;9Fm6u94k`yASh+xz-u2Fw0%7)MEF*EVu1-{_{qmU>r054x?!9Wo*C0`q+A5 zebA~mwHpL+6O2nojnIw>o^}-4Zb*OIg&Q!jX}_uU?so3Sy3o7vDzvmhp~=SRLpjY-b;1BP@n;UqBq_0=hMi>0xAU^r;1JTJ)?T;ySuy zfK>!|(^2!`P1Z&Ex?*?0^-S3jB}F&g@uc9!A~fR($5r7)o!Pe?0Zs)L7_dUnL7h)M zoZA2~en9V-;tYgaq=7q z%2B{ePdF;@`r-*k176Kf!f{r*<~isR$i64wzRGm7o^<%*_3IN3Ena<3I->E~@uVXh zuP>f-q~P_#le&V(-EOu&b+dKKC*WsOY;a9VaS9>|4N*w795zdi$w}o=rF>uG6rR!_y`R5qui1l z=0}v=evzEyR^(I|&w*mM3njWythdpcVG`gN>-0yB8nE8e+rR*zQDnNl6kAb5AV3%k z1gGo^FG81yVC}o_E`|9ng}7cPv^+p53Ui9WjevGRh)3g~HXl4LOe$};U&AsF7Lw>H z*n$F#cyX+Ummr9AH-u5ky@K_EIM%6zaJky%Dh7ZNXwrGX98ZVZBXp>3r$cQAvh3vE zqdqxTU8mxYz-XKJb{Oq^zT=q59srM=_Aotv1U93cGw>ZSo$tYP_HoUyn_|&}oRap< zu`J(Vz8$jz^CT9NhD17PNMfy1F(jjqChh?D7T3(d2jtSZC4RLLuk7N>Ut`ZcTB$$* z=aM(}JW{XgrS|Szvh|TJzP|af=gi40U(0>UzruY6_~*3&S;=hWP!<2Fp^0naKQkQQ z4)C8F-s0Yh_%!0Ph|fEmXMlE)Kj%_mZ3ifL0tHW?;CYZci1gRE*SR-#@hI5OxkH&~qla*B z@NeSzCaVx7MLX`|G!@?l-rM*i;Qa{SZaB!b(~Kije3RjQ)a-!aC~EeWp_6-yKWO-X zJ7`O!&Px(?UT&w(%Op52Xps!Gh!HLF6k22{Tm?!5bENcs@%J}LSatj$ez(hq|I#Vb zjLPJjosR*XjpE;nSMcq^T;Pb~?#dAuVczBqTnh#|DfPN!SXJVhbtf0`@4>42@Es0E zr4RoeJLyJ^Kmq;&@zQ5?HL3jD(3ckQE2aF(z%SBebPRUSZ~p5+x*?Wz`IkYxbQ99h zd|!rDvohVsi%|jk62iN(&!1~{1$OinQ~QSDi_4!aw1Uy{3+(7*{%uTI-nL8ITEbe`1Qq|bF^qc~GocpUzQr_#L>l8;j@~VC z`toldohq>pqPc)Zb3v1@_p`8C+3#w3WI|`{dd#({vvo5%?TXYpgKw5>-G7nJ?r8>O zJ_3QZCqtrinh%*mvEHMdQ)j0m9PEp?xBrKpzPlz3`MyNHS|7g6B1eCzS;nyZK}#rIR*b}o;-@P9fHBRiMv9S`$07}{Fsuk1=t(n=1hj{kHGtw3&QjcV z^C%HlE8<27xb5cAB5sI?JC4P2N^M_x40|btwZ*UwU#G8?m}A(zF|0G{7TxO>JqxsMjBMEtD6}n*Rj51*fYN0d$iNVRkkZ z5#&eL@C7}`R7}`PfolWGP%IzCv+)Wx5id3tO1PN%m@sZ0Z<8iNdeqh-Gv;u?=)9V> z&+0Cu^~b%&RGd(t*3jxnDj-lZj4ad+!!M$iSaWkWkV6(!{X!b<>&q9@uu>pobCctQ z^#b>5!TKedpXMX~t@2?DD3Y!9p@Q|rdRsg#;@@{%5JHhR`jXxa53E%QBS!RF46B=~ z4SSCr9rk9tuqqD=3)>6}izh5Bo^Nt*dM(n_%KPZj{Vk38r9f6cH+BGO2q0nY@ycZW zNY7MiS$ia0yPl3}Ld-~Gbk77^BG7-@$x!(^Y%6$n!Z0(U`(4<-5+*sA24lVDaBbnv z!z_jO4Im^zPUkx z#xxD)@*7RF`nH(#nn#~?jH&eLQD7xz2wgS{fGH@!J^+t>wME=VVCv&!tatS&xKo;a z*rWoW2=l_Dfox@>n{mF#;adsk1J18MM{Ds#JJVf+8VL!)S`T%M{W;y>3=h^H6oKv5 z{U{_EGf_-DoiK_$ggYkKNI7?0w2>d80l~*uI1vjON3e6uw^oar;lf)mtjXfUb>DGV z_YL)|`?_7@udw{;TITR~g$kbQR-^7f#&u5WCmDj1DkRY9t4z1mSR=udc0i+nEumu` zWE@HMLA?j5;eUtGO*UF(5atj#ZPb~kUj2OCmJCpF{rOfTFi$|WAxid(gA5Jz!BYdB zH6oqb8|eH|rQIUL4i?yQ)7()hDcdZpiPk|Jpe<~-aR$u&&t<#P=j@?thVAU}$X z>a`qXtgtYc@#bR_eie8#@%gLX!9En-llKw#Gl-b+IOMusJVL?ae|IoU%7#;K7vAu-E)Crn-h#&7Ux~PXvv!eatwfRLZSW zkb+gkPncvrt!uCO6wta}HGjm|J`$!e03gC2JNgj=N5FaX6jLd;onkmA(z#>&heto5 z@Z(26X6$m1MUNeOkThAR!=SL(sMlbl{u(yw zwZcZd^&IDGoyGZCQ#gORK`6x*`b%@H9o%4KVy%BS`$?^H&Hhqr3r=A04Kr;!tIW?R zY}P7s8D=Y712vJJ^8ncHheCT!3tWZi%-|X@riL+^)yuFygQ>AZk7?_WOJR&HjBx}y zzriYG7^6Fs=}P0v@E!l95wO`C+8>OBWoXg`QrJz#%U3pd#0D8zvk z&k+~G70`||NbESf3c#vdzN%PJSL@qo3M}1X!qJDH2OM|lF5n9wic^pXT8VJ^ex?ZT zA8+DtJccXuz>v>SKs%_RQ0$*5mCrZgXiZIkNFAqbsAgqzUqMT748l+I>Q>!@Spd=1 z2B8VC3?aO`v-xc7P=2Jht~F;Wu~EECiGlemcs4dxSCeHu4}R`})}*+Pcho~`l-vp( zj(6l`iFtx)9s+z}Q`#C%)n%SXU7#D*C!k(RsF#-Ww~h?^3cGBhaU=z-(Zd=TP+2}3 z3z+rIGZfV`l;_)90-TrKQ|d&9tH-e#Zjbe0v0P1HzI82^fn|MTEh(>O%lEJvWe#YL zwb@wbFv0DuA)l16E=7CGSm)0*bkVatcl{xaG*8q%>{iToM7vgD%qfD>KpB-d?!mYc zg~8{ur=edm-DgibJ3){g)OLuy4ICcQ-I0?{zlFS3{R!0FFGH_5=1&3GQ?F#-ftQgOz!(Jq-z znd50$N{sSito8NFh%k0I!Aph_Y6mev@!)_P9V+zs498lRV#k(@?hGd=>Yf!!|D%j3 zM#xAHbKH>eou~C^K$B3BorjuASltg#_ zY&sGvhtQVMV<{#?g+ob(w37a|x3MVuOk#yRx# zKE|oUPFxLUhr)pzmm2S;Mb(ytOg{sS&kG|LNKYx&kpu`RE3T6H0iEGF6F>v=a1IaTQX`F*UT)> zP;NFV%gdFUE0nN$qA|HOx;M4!Mq=1`%2ZaA2Foo9}O0-8d$JUDn*nZ6$Xq>;*!-@))ocsFxhI;E7_sBgv zUvtJJ+D>?yu%4T>qV;Urtc_ajl$EhRxA^0j-R8Zl<{p!0@U4wFZL1cial@KFtlqnq zwIJWw0H>s*d@rl}pXIQMGTo2MVIlt;r*-U0hK19tKeN0Re3WN<0Y`aAubg;IoE zX!y-qWbOW%{~F^MT|)jEyaCb%2$qxsJaPVOy1NCWN`L-q_`3b@;o7NPm-QGs{2}r9c4v%Z5Iqnl5Z1Q4#=y53bT-`SQ%hWm z^Ugpl|8MPJrM2N`0N|j3bb3>5K=a-z%naYCf)xxr_qB77cQlU=6kQGs>>cbU`Wl~F zOw;}9Ble7U$T4x0ch`3~UG>d<)zz=EW$afq1g_7k>{;R*+=6pBNBgR2lei@3w-mLv z_~O(`jife!5*U#EM{o9XwpUr2g)Y6k%GO9gX-g4At8b$7f+jjE*vXacki#P&TwyYA z>Jq$>E_fq!L7y{m`K|<>lgm{GcrI3AfbYT=3M+~QST(tgCW&57vUN(A2|-C$KGv5_ z=9$5KzIj$KMZns#NmzT%r)wV8cCMh&)LMXXx1g-0&-qg_U(hqyJR3(C&G!Y{?hWQl zHeE26-*8_r1U1FHCfIggFc?@iGng}5$+B6&T)Ay_FjoQgDm9&(F5QPhj@}pS?9}hQ zKe&0vPV>FN&4YNeF8DlNTs|P!g6B;aK^eZ+MbIwf3ph?wny(i+oXR+ZR>7zc_`a9& ztqZR4Z#1FTIj^;^=XPdOT)0x7)R4`E!3~9A3>y{Wz#9J%XXZcV%K1}XepLKNm}Py0 zf$8H*g~7VF3iMVV&d%F0-=DC8w`13Vvs)8T;&YHisW`zFQuh_OQ-zpn1vk60FE(KiY-3n{F|#4f4Tgc*LRGS7814X3)b*GOR zkX{pN>#N>k%BX9nGL-2oD_ZIO-T5C?0lfcm5y-FxM?;--tgfWx^9Kz;84PV5tgq$;JJLZ{fEc zY+#zUZ#N%QiW{G3#6#{$8>SR=KLT9c=-|I2OkKBQz+)Os)&Eptn89)Y%UA==S}In! zpafAwtc#I-CYP@ZTlF951Tmn4gXUo2Q!fi3^tsY}T50}5X+EO_Luj;7bRqCIpame! zdb%Gs5GefnVD2ak{0H$0>uR%-0fj+8r|Zvj)FO1$vX%gb1SK;gKixF&k2irX^jG*b z#O!<+GQ=_MamT>`wrA?;X6zp86?e&jR8ZJoe#8}KR|0*t`2w9A*}Hk378qZWp0$|wsN-Qm0nn$vsY2JRVtN$XN1r?);;84Mwu#zD)jr??7!N!L=YQuiHBYEjrz zUFm==?OMWB@`hF;GNiR;R1W7)2TEyjT2}@}PD7WGE7y%&oy=!+r6F$YGGHt%Z>!$4hpp%3bg@F#WP%??(5Y66#!HSkO`oCAWEE= zrxqAibLo7cp_E&q^D9l}S9cX4UJ4&;2~eaI#bj8;rC|}Mgfr-(fU*ionZ}nuDGkvf zSd;8N15VC5@0&Z5|8g+)Ol3F;M7NXBI*Gz*HD|PVh{kgbq#3`aJ5R-P#sHvgaw+2F$z5EJ54TA-bWPjl zWWKB?fGguS2|$$r`E{R{BF~N6OxWUSG~|IP;TS6a55s0I-R#5i`;GY3h}oA#MUwe{ zbOFlm?*T}NH+Bg*5H}!h^P&6HzSyTmgp%7lfLz`!$pLyDIU&cb$PHLYv||6q`#X;* zkg3Tr&-pF=9R`8DhpET7Kz|WL%qv-QF>7AM?rOlu5anNYxWRrI4!QGtIONW6RkoGv zsw2+P#+36lfvwI_e zu9Kb+mgDKUUFU7$@;gplf)%U3xrlBM{*!yBgFQp1rF1aFNkW`$q-P1cvv+0FUl3rg z8d!C7GXDhQjA(wS3YO}uk2660!HkPJ>x;1Pvl*AnLRxlZ>&~t__*fOSeUI9uSijB0 z&$c9H96#pkpkwRSff9&7u`+lAXG}MyXYd&+V>DuVofD?4m*DjGAQT!B~%E9-DxreTDf-?&D46PZ8?5)&z!^P3t8 z_>q*Yr$03l&RY)0c}p$MTaLzgOBTlo6b_9`?Hs3J*6WV1!&6i03AEAxR!%bEA0$JM z(@{AuIn6NqPEC(9xdUBqx)rH8vljbQbLUfW_Q&8ef24;&?2(Dbxve-c3_bN6&1^F{ zf3V7~1Bs{SkZ{3`>jl686)?Mn1D;;+MGu|;M#i7et#PywCobtJc{wMXk{?j0m=gfX z*IhCyV(BbEULQ7Z@>xHN7YQ1BFklc$jU67&uCZXIH~ zy(Lht`MOz>7<$-p030QscO%kPC1!ut9KdqB@Vg{GdO8c56Y2_Zgt>eik+7$`_+2r6 ztSb@MzaO5&S+?W+>Gku$S)WRKxHd7y8M!HzTfVnO5dT1_?x%= zx=;>;ccfCL3x0($46< z-hf4u&gWYH=1OYa;qonGe~f=H+Mmst1Ji&}U)V9d-F~;w77~~ffCV=dn+X138mRGM zfMLZ58>+HOm0)+=h&|Mw#i1}D$}R=4up#^|hs^0G?j+Jm%XFX6-BO5RsI|04LaE8< zZ=L?Oeg{$n`$Kam1gX+R3!w%BBnO(}_C2YqCL^oKsA@90nvAI?W80mVsE4<-}oMYdd~9Va{i9qO>vNuD72P*Bm3oHRR5G*4fitgce*Oik7B80Z$AUghTS+m8YyY@^s zJ*C_3JnsQ@uR$4WyM^BadP-{jP;ifqR~~d7_%F(la4(@=Yw(+n3F}{i`fOPP15~lm zNw;z7d0D!t#icizXp(6?g;1Hfixi7Tm!apYy#>GOvhgpu*5QaDFtO3+7G*M>xkTE3 zQ5olAm@LF_VJ@JXh=p`Om0yS{Q*i&J?`IU;J9tM)%qv*>X6nzMKVM$NYBJZ-9*G7K z4vVkg(`(36q#Y=qzHL6}orI^q%&|%Gr^P$BHUtjYakCv|;%bIHWCYnds7En( zu+39h?&;?LVY%Gq+1N$Chu!jY|4)VJoQyVTzapUf&D!W0w)l)Ff3u05fzgYOVDxWi z#@;*F9r&&0u5@}XBm=Z@GQ`N`?lrOeZs*{}4D%dz^czq--5{tSB7znolWh)*Uw86P z;}@TNE`IS@>(g)t``sO^YYbTYWGd?%4lY0WAA0I@Hv7qJY)66FYWjQ7PxW4o9rmC4 zd9{b}hS_}DQ?qAt8N1RCHYfyE__Qehdax4Em?7|?cXtH+A0jtq%<8-Ajpy`yCbtao z$nskjkrmc?r? zzZD{%p4{VKFGx^e8q#y6-M@g%dYrxgAvWs?_Wp%z)|2f053^Z%_Wr-JS*h&(kFZ&b z*!v%4vlg@WKgMRIvB_BmHftH1mCj~mu~|#ltZX(bgU!levy5!k(`?pLY*sFtwUo`u zW3w{ZtmSNn^98sA3}#RM76WTp2H9S%C6Lns_AUc<*V++$oV{xqg79-QFmZP8Jq2K$ zjjzPX5Ffq*UGgVy*r)OvzFg2xv*S+tXSOxLFl17!4wVKYJX@3}mC}QP4Bv(fNv*7L zS#)VI>oXo#AOlYDyWeH3)n%c=vpkNu!ZK`o2~zD~Kg3)p19Ktc0A-{KN&j|c@D*5w zzd?>ket{K&N zi0N?}gFAr}9C>uPe0i`{Lw`js!>`CS@6OXVKN>tbHF)&0U{?%+jz{c)$vwUfxjnFQ zw94q~sJ9R2P9!&{2KV?{aCCoJFa~TK?e8q7V?Pnc{+dc*Me0eET!PQsiMJcKX^>}w4CHqwFinSZJK3_XT z9Wo)|j%l;8JmeT-A627mG`Zv|oT)Jh+nf~aYxl)(=&`6q3!!_fKG<88ILE@naH?yf z%UZOqp~!Vr$h8BA;#Q}?xwS&~UHN~9h(lsqD>t8DG$Xcv!DPM`XJ_+*`B!>qBe8N+ z#NA*jzSfwA3h}QPiP&nI;3|h7xTL=|a2Ibhl0x34mTC^Nyb*9 zz^;+C{dX9N0##FG6{>G2Kt-FjR6(E~(a}{m@h1>i-z&iSUg3;afEux8m1+QSkvgo6Fum!MGwCPB55ROSj7P)FMd3mM#gg*Kt!~S~dB>g%| zIsG~dn&Rp_-920W6EBs+gwh?uDx1N}@T~%8{~a&(z;2P3d0PkY(slwJzxt*rTmD^p5biZxAIbq{=*Q}lSO*n>PYQiy;d>o133h1#Q`cwRTjG+as zrpj^H62uQ?6YIF+ICkq?bh^wM7aHmrh6+kxK?^P zIwL^ZR$^YzkA@X^ptY^UY|o20W*{P1nJp$!svdOq65#Tiv#^x*%~_731ThPCM}=~z zdBdp=jhLdZ(eziT4Cd!w^b0b2Xpg(U1i1T)UhE@!g3o&riA+l5_saTYBq45MY?$~x zHd)`p5Cb`1foP=|FNt4R`*rEVrzQ$=qF!a)OxN%-wvOa^*qZ4 z;qps<>V-}sT#^9a0asw3d_c^15Lh2@(VCEi@WhGHNr?c{=s0amI3aPjhbIV8k{BKz zKXJlDiI|!=F(G^`A(NR{qz)j2pgTHh^q8?DM-rca!9l~-V?!gO<0nqOYub$2bLKC6 z^vSf0%$((g#ii?>*;KK0`}3BUckbS^xAC<%-#YZq!)=cDKR9;c)F+>vKJ(SN?(;nt zE?#o|_|xT|ul{oF*MI%?+wZ--^rM)4eWg=1Y=Dncg0EqIfAwF#<9m-!&7C?iMk1B@ z`1<)Pg7TIt>E{NAWTgr3p}FEaczK2pALf1!cfW;7NF=Bq!5_V8P`nVtKM6srOMRpP zGNR9}Yzc3lx2iTh^uxa;S%Fs_9>qVPxMYc&sR6+O<@G}a{6u^QF+-Hm zfZzc9erT967yM;r3&H`05D&p;G6igW1{0qY#3vF3Fa<>$pEeoO`r~5${`!TOipVlU zzdlCe8-%%TTJ$w3!-$U#Mr5YCTQDSbIlje+&-uBp$n1PW?&93kbhmusQ_&z9Cii)FnBC>cf?#1YKQkj3ykfFiDhToR z{rVVX-;`lP?iinZ*W|&luHm5p^0>&9m_cmp@Cmn#9ivu_9+@~XJ|RS#x@d8lA$>`P z@u{Vm%d)a_p3co%ZptqxEL!0u%__;-wPod1&$C{T@To-ln4E1Q1qOUXl77U}nDveD zEzR?jQgicC3l!*GsmppipVHh~if>Ua$xU6h40uV|%Tn`J5dV0?VpExd zOyZwo%q{dM6H+sc_!?>6(w@@9h-8p5X}NUXC&11Cv0HF)lUa`jf;J zIYxZMmEwnHrx{2bKGeC)xFQvw>%0^XbsIffNEixeabij$qSc~Nd^+Tg|6nTrg$%M~OQU&YMMQn9Q8 z-+wJAQn8y8Gg6li0U2e!* z4*6+w4NC=XwV8%OQGDJu2~CP4$&rN+!om^iK#UNpaf5 zBuR)i_6}{7BqAX$hD3&Aku(u6Z9)=>B8f@b5Q3aZk>TM=r80_yMTN!sCy}r?5|yMR zv2h`BVIZoVL@@G+z$ER2aH1uVQ4_*F#e{`x!+@YoQpV6kuo0%6tPG9RCX5T0Xp@q( zp%Xl)aT5_m@d@F|Nk~c5k{F6W!0_0Jgz)e?!WASgfkgR7N7K5*B}pQIPH*L;a1t5^ zHlkule7H6=9N#<@Fi=Y}Au2jrf&`FBAQ4EEKqeGD2Cw+2agrz!jd7dSlO)DK1|%+m z#A@TU(J_=B1;@lC#74!AQ{Em0u_jEGfc7MkNDG7$5FZ|zq#QpnF^NoyjH7};LC6&q zJ3$C(G4e;p#Z4fn9tjDLj+-Qz5E~ad0s2B;N->T44JZj!A2%^PF%hJ+NoWgjiE>E< zsvQ;;8ylW5HYPkFVKTlaoDh|m6r)X4#>I!nl1Wiv;S!pgjEf6TMAOjX$Dz@};%JLa zibEa+T8%^{(zupHN1?)kFQyCu17Xl|ZB(p++#VGd9Uco22`vdKi3*Y!m6$jgLQ0I( zLN*c6XcH8PN_t_5U?ftM@5FJ@lSz^`b^;P7#l?o9TC^%u9*HCb4ICE>5rrp?6*==3 zgJw%ejEhAHla-U=CPs&eIRu@d@{G}jjg3NUB0&&u9ElFsq7GE8Aqfg}d@^tn65WD=oX3SjJ|VQNVjxm<5eQ2Q zxgY>i+K|Z-p(-FkGm?-5$c>;p@1p!;pcS#PTJRdK6?D?w4Pvx0TJ+zjFi{gJ4XUJ&VI;Ilh=#|G zkDDy$h6DmlqPmEhCr-rotP>}NqwqwiR@@};MwL#2s!6oy+4QLu7#E61r=nRUad8n! zWn82rJUn~?FhWBkX<6DN^jq3QsCg3Al}K$olp3lX3%e4PfbIp0l0-t$SP2t79T|Ns z8p*IFagiung5qh5#ep>uqM#fR?KsF@sii#v4NfVBL?xk%P~nH6&nm}3WFeEol`wws zlt2XZW)h5mf`lea43DOLCpt`-5FQgA6C$V#3|zD}CQgE4@%3#JKk2Y2!@?aDY*oea1NidtVRnP~LBI6Q8BvIAF=};1qK+6zI z0yqX%d-7PSgF<1@SXhN<=pofzsw8MZXy*j96skg1**$1Y(#FCF!D>*$r;VLF35qj# zRAOAnn89AwQH9WG$^!zhHG&1Fim6Q;J3h`m5@-`*(7=h{jkc7a95h77!6@366r1*S zp<-GxJ`VOq0HRQ$4ZA%&7QL35DK}q&I6PL@%@|T43uu*CEs8>i(6M5-L(d40rbC1$ zmjuj;))Z4~SW$HSFgikesz8NJ#!Z||)eQAdN@FRzXq8yc47kzFxlJs_nmC z5wD%@3w<$?S_-sa1Rc*w#6)U4A_&?pQPP(%F_wBNg0tZU-mu<4Clsm@{EsZEzHinb zyyjgBp_lF3k*}uh`K(@y5%Q4v{lp`>lW%$Ak50I}N&nu&*S+xz&NsrhEaOwMeDkir z5cqq_mj8KLf1D)EKKW{rHy#k2dHbx_XM5vrg5LP;B_;P`)yYwc1p6<))8tVleS7HK zh!#MvF#CH&p^z}(3q^}R_AoL{!2-aF8e*OW0a$m(@B_qtF2GO+tUtMp%UjOor zif2oI?EbXV6JGK3Qp1yvJv8^ezf4cLGkGFr6XPSpL$zZ^k5a2{8y-A#ND#{?2P+22 z0|Wf~emM7WN6Tw_YOBkiSzVNulb-s>f(P!M`R6HjPM(w)Pcw#T$Br2_a>Q-Jhh3M^ z&({YFL*%FKPu~CMYqr|z%Cgd;+{|?SqYLKgW=@}a=j4B1t~s${s944`^1_67WJ^I2UQD{3vnb1QMnwd2{sTF6j44%L6;DOH9+VkqJwGNgN>-t z6Gt+Q;=}Lty0d$9*Y@b<*6ZfmbWiTt@cnw%%$il$B448}bN*W6)A&92Ydaplx z@g1|fTuOVAWvd!|&yFeqaiJIw%Ix&ZxcSRbF3WcHS($S`{~PzaxmT@waF1h(Ya|j{ zT!E+*IMYe@fCd7fjWB;Xeh`(#Z#3Fb@91*{(qti`Gt@(l9r3>&tX0SVqFJ&>H*XJE z;CoR><2ROFYVN0YyzAB6WpHyzUDx=NKreoC#^%(r#+s+~dI|Kk7E z`YSe?_SaKBuQpigxF2g}&Gl;6kDRL+%zb}wuOK~Iy({$bbNi0d`_z?k{GOo{Wi-F8 z25rcO8NFRy*F>z`RsKqpvaTs;H}?a7b;OX}mY>zlZE74{lsMJRFRE3mI@PL!9qOX+ z-Qch34$8aE)bK@{`rsGpmcf;OYVKCE5j#$Qs>c6r@Rb@oWzUu^|lK%`Kp-w6OzAIo3GI1Ye<&XpZmp0HvGb0 z)9?HRnfLyzHk0G!lH<0Y)O)Y0&C=uLvg5YP>b<|H%|6G=eUIC&sP|q|oBfWL`ybyN za9sa?V#NMm-v1|o|D^;TxbMNFsjNi8+SBcu>?aP{?QQnc_C9+|0ir#ZTD*zUz5E)npePiw$ zxo_}qeEi0+H)p+>_vWrQ-+A-mo2sTeUU2?~mGe7a^h?g(zFYJ;-|HJRBJtiurke8^ zTVDU1y`5{qb$}c=aNsTB5=P{=-a6>MnsFUEbV#8XI#fu(V^p<*Ojpp@U`4R-AC}Ru zkN7E)7!!p5wv1+sN%tY*y}*Zv_jDhU=tDv< zstea(g+}8E6Q61ybd!fHBk>H=?((3m3`+nn3DjBRZWZZh0>tid){(i2`@xfLoyuMNhXERn>x| zAT05Q$RIE9Au@!b`Dlv-DDJp} z%79++&;qe+6h=Huhy^1m21Ht7hM|h-qXWet2_8H|&IZW+5*5CnT9Uq&Eck+Ul4kIO;wsYR5^vuJagc>hcolj0u#5~3{oyM0D4~q;u?0$k8;vNo*TAP( zw6{=iz}u7}8))l+H`>~xgp{+9Fqs}ZMdP$WpmYNbL@q_7l5 zLs$%mN(ae`s4S7vdZi1)2cBXcJiRR-piGn zW9v#zulsmi$tn5}BB$0J@&s=IKQ$2F9XW*eAJIW!5KhZW$2JMC{}e&`u}#Qxism`B zNqAi!Ireu-?eD@%q$cD6t7q1IzOLj``fx`Mofi1|cpdorc-@EVN^lE7`s_m~AJbAk z-Xy%Pj|fbNytKS@h{m>T4BE71Q;G)Jp7Ds$8z}WaxUIb{FSWdsqM72?y6sTwwvKHj zLSv;&`gq%+kGGxPR&r)r$;aDLCRxh2l$YSP(C3!&6yLifDSw*cBQhyI&(JDSo^QAZ z!rvxGcBhOzygP+?4}U4_JG)bE1B7{hcZxqCV;!&b;y&_9?_qkU__yrtJ+iwuCFK2A zdf#&=l^l5`CGha>-uHGx7%9G}U&|g;0=Q6>Jt_V|5&p=9QU-y(Ki*?OKM?eNQPv>5 z2RWZ95$;~+Gq@2Jp9r9b^rBOFp0vYw!XlhPJox>&Zibwxjd=O%+OaQp*M`1)W4Ige z8({-+|8Jy!xVzU$r9|a06rs-Dy&vuF{djk8<*rS;p21&=k07Mp7RU(lbwch4efUZ* zZome;P}{qsw)eT(-pX3^QV8(FS5kZ-JpYeh>HP@JvpZ$*^R>NytL@!Zo8ntqk7g*L z7*70kQX*my#6Ef@MShp`cUg)LeU{KiFMS*mqEiBfR-pY#f+~hqlnkX0AyUFpC~Z}w zl=MyUL&8{^8d5R5q9m+BRdMJhNXcl5@E@_pR)8Fccqt)YP{pB}ARHP!n{{P1HkL}Gq9=`v) zK;{4c@v!U{`Tt)Mj77yHMSu&ifXlEXMWm!9MPy|lSPn=l0x^h|SCITCAhQ4ef2IHb zq#b~?GSC#2|Nmq?_W%AV|9|HH`t5>(7iDF)|Nkv&X;>L(DjHoGym4c+;KL99e>VJY zY~24ly7sPY;P1lf!tn6Y=&PlornXxJqs{OB|NT<{DF5+q^i1Je(S85-ikb(TOJ6P& z4GrEJy7l_r_}`KJzkwF~6BY~<6#QLSENy8h7${m8ZEYzU8Y)-_bPFbcE@@y81+Lv< OU?>A$i!83V%nJY(MPz{h literal 0 HcmV?d00001 diff --git a/scorch.xex b/scorch.xex index abeb3f28f5707da9d98fe0e2ebeb9aebbe755bd9..3cdd77320de2caa136caa507c879c85783667da2 100644 GIT binary patch delta 24117 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 delta 8958 zcmZ`e3se+Gw$sD#AEsL!%>V+;PeC!F?nbhkxSD8!+JcA*YQ$0bDvIb1A3=UvNRURb zMpliJ%po??I77zI+qd)LB(qszZFc2#UNqT{n#8D2bTyN=F^24}zFR%`OR@u}yXw}h zTeoiAy1#zwpX$D0O8wx$Novj|KWf9tPhY*{!_3JPRn}PtU(_}+-&w<*3-BKo&aExW ztPoYa?mVx%We+|t|3myKuThH`ysuiEjbPwbHv4J1sAkJD+2zIToXofj$#>Yx+q|u- z?CTlqktOW9#q9jeUeJeZY&!cK$DZK;^UPu&E`k$PsDxd-gta#yMhqsD?p3gpGP`U8 zt_)nsEu{V%_i-=1Fd7goO|+$f9!U1#Di+$4Xip#zWjAf-A{O2`#Xwsei>&Ofbnb

t_(LC0NS`iysCX*Q%7 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 Date: Mon, 26 Sep 2022 11:37:42 -0400 Subject: [PATCH 22/33] WIP: 5200 runs on a800 (fire to skip menu) --- artwork/sfx/rmtplayr_modified.asm | 18 ++--- artwork/talk.asm | 6 +- lib/5200MACRO.ASM | 3 +- lib/5200SYS.ASM | 11 ++- scorch.asm | 109 ++++++++++++++++-------------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48671 -> 48625 bytes 7 files changed, 77 insertions(+), 70 deletions(-) diff --git a/artwork/sfx/rmtplayr_modified.asm b/artwork/sfx/rmtplayr_modified.asm index b2c8f2e..003018d 100644 --- a/artwork/sfx/rmtplayr_modified.asm +++ b/artwork/sfx/rmtplayr_modified.asm @@ -624,20 +624,20 @@ SetPokey lda trackn_audf+0 ldx trackn_audc+0 - sta $d200 - stx $d201 + sta AUDF1 + stx AUDC1 lda trackn_audf+1 ldx trackn_audc+1 - sta $d200+2 - stx $d201+2 + sta AUDF2 + stx AUDC2 lda trackn_audf+2 ldx trackn_audc+2 - sta $d200+4 - stx $d201+4 + sta AUDF3 + stx AUDC3 lda trackn_audf+3 ldx trackn_audc+3 - sta $d200+6 - stx $d201+6 - sty $d208 + sta AUDF4 + stx AUDC4 + sty AUDCTL rts RMTPLAYEREND diff --git a/artwork/talk.asm b/artwork/talk.asm index f60451e..2a11cd8 100644 --- a/artwork/talk.asm +++ b/artwork/talk.asm @@ -1,6 +1,6 @@ .proc talk ; Maximum text length is 63 characters!!! -L0 dta d"CTO XYEB" +L0 dta d"CYKA BLAT" L1 dta d"DIE!" L2 dta d"EAT MY SHORTS!" L3 dta d"YOU'RE TOAST!" @@ -47,7 +47,7 @@ L43 dta d"THIS IS YOUR BRAIN ON SCORCH." L44 dta d"TAKE THIS!" L45 dta d"THIS SCREEN AIN'T BIG ENOUGH FOR THE BOTH OF US." L46 dta d"DIE, ALIEN SWINE!" -L47 dta d"SAY ARRGGHHHHH...." +L47 dta d"AWRUK!!!" L48 dta d"I SHALL OIL MY TURRET WITH YOUR BLOOD." L49 dta d"DIE, TANK-SCUM!" L50 dta d"I'M GONNA BREAK YOUR FACE!" @@ -104,7 +104,7 @@ L99 dta d"JOIN THE ARMY, SEE THE WORLD THEY SAID." L100 dta d"IT WASN'T JUST A JOB IT WAS AN ADVENTURE!" L101 dta d"I DIDN'T LIKE VIOLENCE ANYWAY!" L102 dta d"I THOUGHT YOU LIKED ME?" -L103 dta d"SUCH SENSELESS VIOLENCE! I DON'T UNDERSTAND IT." +L103 dta d"CTO XYEB" L104 dta d"I THINK THIS GUY'S A LITTLE CRAZY." L105 dta d"SOMEHOW I DON'T FEEL LIKE KILLING ANYMORE." L106 dta d"HEY! KILLIN' AIN'T COOL." diff --git a/lib/5200MACRO.ASM b/lib/5200MACRO.ASM index 58431b2..0aafe81 100644 --- a/lib/5200MACRO.ASM +++ b/lib/5200MACRO.ASM @@ -45,7 +45,8 @@ @ lda vcount bne @- mwa #:1 VVBLKD - lda #$40 ;Enable IRQ interrupts + mva #$40 nmien + ;Enable IRQ interrupts sta pokmsk sta irqen cli diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index 017dbab..e0f2ffe 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -11,8 +11,8 @@ POKMSK = $00 ;pokmsk at $00 on Atari 5200 instead of $10 on Atari RTCLOK = $01 ;Actually $01/$02 CRITIC = $03 ATRACT = $04 ;attact at $04 on Atari 5200 instead of $4D on Atari XL -DLPTRS = $05 ;sdlstl at $05/$06 on Atari 5200 instead of $230 on Atari XL -DMACTLS = $07 ;sdmactl at $07 on Atari 5200 instead of $22f on Atari XL +DLPTRS = $05 ;DLPTRS at $05/$06 on Atari 5200 instead of $230 on Atari XL +DMACTLS = $07 ;DMACTLS at $07 on Atari 5200 instead of $22f on Atari XL SSKCTL = skctl ;There is no shadow on Atari 5200 PCOLR0 EQU $08 ;P0 COLOR PCOLR1 EQU $09 ;P1 COLOR @@ -34,7 +34,9 @@ PADDL6 EQU $17 PADDL7 EQU $18 STICK0 = $19 ;There is no stick0 but we will make the analog stick look like a digital one and store it here STRIG0 = $1a ;There is no strig0 but we will make this the shadow of the TRIG0 ($c010) of GTIA -chbas = $1b ;There is no strig0 but we will make this the shadow of the CHBASE +chbas = $1b ;There is no CHBAS but we will make this the shadow of the CHBASE +CONSOL = $1c ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys +consol_reset = $07;The constant value representing that no consol key is pressed ; PAGE 2 VIMIRQ EQU $0200 ;IMMED IRQ VECTOR @@ -57,9 +59,6 @@ ROM_SETTINGS = $bfe8 ; game ROM info start (24 bytes total, 20b title, 2b year, ; HARDWARE REGISTERS -; GTIA -CONSOL = $280 ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys -consol_reset = $07 ;The constant value representing that no consol key is pressed ; --------------------------------------------------------------------------- POKEY EQU $EB00 ; --------------------------------------------------------------------------- diff --git a/scorch.asm b/scorch.asm index 010bdd3..671540c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def target = 800 ;5200 ; or 800 +.def TARGET = 800; 5200 ; or 800 ;--------------------------------------------------- OPT r+ ; saves 12 bytes :O @@ -222,9 +222,11 @@ FirstSTART lda #$ff ;initial value sta sfx_effect - lda #0 - jsr RmtSongSelect + RMTSong 0 + .IF TARGET = 5200 + mva #$0f STICK0 + .ENDIF VMAIN VBLinterrupt,7 ;jsr SetVBL START @@ -1104,8 +1106,9 @@ MakeTanksVisible ldy dliCounter lda dliColorsBack,y ldy dliColorsFore - nop - nop + .IF TARGET = 800 + nop ; necessary on 800 because DLIs take less time, jitter visible without it + .ENDIF nop sta COLPF1 sty COLPF2 @@ -1152,7 +1155,7 @@ ColoredLines cmp #9 beq CreditsScroll tay - lda GameOverColoursTable-3,y ; -2 becouse this is DLI nr 2 and -1 (labels line) + lda GameOverColoursTable-3,y ; -2 because this is DLI nr 2 and -1 (labels line) ldy #$0a ; text colour (brightnes) STA WSYNC sta COLPF2 @@ -1186,8 +1189,9 @@ EndOfDLI_GO .proc DLIinterruptText ;sta dliA pha + lda #TextBackgroundColor sta WSYNC - mva #TextBackgroundColor COLPF2 + sta COLPF2 mva #TextForegroundColor COLPF3 ;lda dliA pla @@ -1231,32 +1235,35 @@ lab2 ; ------- RMT ------- SkipRMTVBL exitVBL - .IF target = 5200 -; center = 114 ;Read analog stick and make it look like a digital stick -; threshold = 60 -; -; lda pot0 ;Read POT0 value (horizontal position) -; cmp #center+threshold ;Compare with right threshold -; rol stick0 ;Feed carry into digital stick value -; cmp #center-threshold ;Compare with left threshold -; rol stick0 ;Feed carry into digital stick value -; -; lda pot1 ;Read POT1 value (vertical position) -; cmp #center+threshold ;Compare with down threshold -; rol stick0 ;Feed carry into digital stick value -; cmp #center-threshold ;Compare with down threshold -; rol stick0 ;Feed carry into digital stick value -; -; lda stick0 ;0 indicates a press so the right/down values need to be inverted -; eor #2+8 -; and #$0f -; sta stick0 -; -; mva trig0 strig0 ;Move hardware to shadow -; -; lda skstat ;Reset consol key shadow is no key is pressed anymore -; and #4 -; seq:mva #consol_reset consol + .IF TARGET = 5200 + center = 114 ;Read analog stick and make it look like a digital stick + threshold = 60 + + lda paddl0 ;Read POT0 value (horizontal position) + cmp #center+threshold ;Compare with right threshold + rol stick0 ;Feed carry into digital stick value + cmp #center-threshold ;Compare with left threshold + rol stick0 ;Feed carry into digital stick value + + lda paddl1 ;Read POT1 value (vertical position) + cmp #center+threshold ;Compare with down threshold + rol stick0 ;Feed carry into digital stick value + cmp #center-threshold ;Compare with down threshold + rol stick0 ;Feed carry into digital stick value + + lda stick0 ;0 indicates a press so the right/down values need to be inverted + eor #2+8 + and #$0f + sta stick0 + + mva trig0 strig0 ;Move hardware to shadow + + mva chbas chbase + + lda skstat ;Reset consol key shadow is no key is pressed anymore + and #4 + seq:mva #consol_reset consol + pla tay pla @@ -1536,19 +1543,20 @@ SetRandomWalls ;-------------------------------------------------- jsr WaitForKeyRelease @ - lda SKSTAT - cmp #$ff - beq checkJoyGetKey ; key not pressed, check Joy - cmp #$f7 ; SHIFT - beq checkJoyGetKey - - lda kbcode - and #$3f ;CTRL and SHIFT ellimination - cmp #28 ; ESC - bne getkeyend - mvx #$80 escFlag - bne getkeyend - + .IF TARGET = 800 + lda SKSTAT + cmp #$ff + beq checkJoyGetKey ; key not pressed, check Joy + cmp #$f7 ; SHIFT + beq checkJoyGetKey + + lda kbcode + and #$3f ;CTRL and SHIFT ellimination + cmp #28 ; ESC + bne getkeyend + mvx #$80 escFlag + bne getkeyend + .ENDIF checkJoyGetKey ;------------JOY------------- ;happy happy joy joy @@ -1584,15 +1592,13 @@ getkeyend ;-------------------------------------------------- .proc WaitForKeyRelease ;-------------------------------------------------- - .IF TARGET = 5200 - rts - .ELSE lda STICK0 and #$0f cmp #$0f bne WaitForKeyRelease lda STRIG0 beq WaitForKeyRelease + .IF TARGET = 800 lda SKSTAT cmp #$ff bne WaitForKeyRelease @@ -1637,6 +1643,7 @@ noKey .endp MakeDarkScreen mva #0 dmactls ; dark screen + sta dmactl ; and wait one frame :) .proc WaitOneFrame lda CONSOL @@ -1678,7 +1685,7 @@ noingame .proc CopyFromROM ;------------------------------------------------- ;copy from CART to RAM -; trashes Y +; trashes: Y ; temp: source ; temp2: destination ; modify: destination-end @@ -1732,7 +1739,7 @@ TankFont org $b000 MODUL ; equ $b000 ;address of RMT module ;opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_str6.rmt",+6 ;include music RMT module + ins "artwork/sfx/scorch_str6.rmt",+6 ;include music RMT module ;opt h+ MODULEND ;---------------------------------------------- diff --git a/scorch.bin b/scorch.bin index 95d520720f5151254082f8219395c5a6eff3787b..0f3bdecf1e7c3a6e0a1cb3f1bc7fa1432223fb00 100644 GIT binary patch delta 7925 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 D8l-bj delta 8115 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 diff --git a/scorch.xex b/scorch.xex index 3cdd77320de2caa136caa507c879c85783667da2..b90490160d857724bcbdce669c6787583af45a5c 100644 GIT binary patch delta 7516 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 KJQiU5jrxBPh8Q;h delta 7450 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 From 0968613b024ae577eb331c3726c881d2e6b6a639 Mon Sep 17 00:00:00 2001 From: pkali Date: Tue, 27 Sep 2022 08:30:49 -0400 Subject: [PATCH 23/33] WIP: 5200 works on atari800 emu, still fails in Altirra --- scorch.asm | 6 ++++-- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48625 -> 48630 bytes 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scorch.asm b/scorch.asm index 671540c..8dc5c2b 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800; 5200 ; or 800 +.def TARGET = 800 ;5200 ; or 800 ;--------------------------------------------------- OPT r+ ; saves 12 bytes :O @@ -229,6 +229,8 @@ FirstSTART .ENDIF VMAIN VBLinterrupt,7 ;jsr SetVBL + mva #2 chactl ; necessary for 5200 + START ; Startup sequence jsr Initialize @@ -1753,7 +1755,7 @@ font4x4 .ENDIF org ROM_SETTINGS ; 5200 ROM settings address $bfe8 ; "01234567890123456789" - .byte " SCORCH 5200 v" ;20 characters title + .byte " scorch 5200 v" ;20 characters title build ; " " .byte " " .byte "7A" ;2 characters year .. 1900 + $7A = 2020 diff --git a/scorch.bin b/scorch.bin index 0f3bdecf1e7c3a6e0a1cb3f1bc7fa1432223fb00..c21a232d380644e7e31625f2873daa45a09c7333 100644 GIT binary patch delta 7837 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 YTu~tL8O$&eiDr;|kdMSKtZmN!0jexfiU0rr delta 7505 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 diff --git a/scorch.xex b/scorch.xex index b90490160d857724bcbdce669c6787583af45a5c..cc15e3a6c7914aa823d56f3edaf7be5ce24739b4 100644 GIT binary patch delta 7609 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 H|Bd>8(IY9m delta 7555 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

{zIh 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 Xm&f65uY!twy4_x;od+Knexv>ma~dtO From f9092110ac3bea45cbf181a3ad781dac778bb5b2 Mon Sep 17 00:00:00 2001 From: pkali Date: Tue, 27 Sep 2022 19:17:31 -0400 Subject: [PATCH 24/33] 5200 works --- display_static.asm | 43 ++++++++++++++++++++++++++++++++++++++++--- lib/5200SYS.ASM | 2 +- scorch.asm | 3 ++- scorch.xex | Bin 48630 -> 32768 bytes 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/display_static.asm b/display_static.asm index ed293db..bf0b7a5 100644 --- a/display_static.asm +++ b/display_static.asm @@ -10,21 +10,40 @@ OptionsScreen dta d"Welcome to Scorch v. " build ; 4 bytes from scorch.asm (fancy method) :) dta d" (un)2000-2022" + +.IF TARGET = 800 dta d" Please select option with cursor keys " dta d" and press (Return) to proceed " +.ELIF TARGET = 5200 + dta d" Please select option with joystick one " + dta d" and press FIRE to proceed " +.ENDIF ; 0123456789012345678901234567890123456789 ;----------------------------------------------- NameScreen - dta d" Enter names of players " +.IF TARGET = 800 + dta d" Enter names of players " +.ELIF TARGET = 5200 + dta d" Hold FIRE to enter names " +.ENDIF NameScreen3 dta d" Human/Atari (difficulty level) " NameScreen5 + .IF TARGET = 800 dta d" " - dta d"Tab"* + dta d"TAB"* dta d" - Player/Difficulty level " dta d" " dta d"Return"* dta d" - Proceed " +.ELIF TARGET = 5200 + dta d" " + dta d"Joy"* + dta d" - Player/Difficulty level " + dta d" " + dta d"FIRE"* + dta d" - Proceed " +.ENDIF ;----------------------------------------------- MoreUp dta d" " @@ -40,20 +59,39 @@ MoreDown dta d" " WeaponsDescription ; 0123456789012345678901234567890123456789 + .IF TARGET = 800 dta d"Tab"* dta d ": Defensive/Offensive weapon " +.ELIF TARGET = 5200 + dta d"Left"* + dta d ": Defensive/Offensive weapon" +.ENDIF PurchaseDescription ; 0123456789012345678901234567890123456789 + .IF TARGET = 800 dta d"Space"* dta d": Purchase " dta d"Return"* dta d": Finish " +.ELIF TARGET = 5200 + dta d"Right"* + dta d": Purchase " + dta d"FIRE"* + dta d": Finish " +.ENDIF ActivateDescription ; 0123456789012345678901234567890123456789 + .IF TARGET = 800 dta d"Space"* dta d": Activate " dta d"Return"* dta d": Finish " +.ELIF TARGET = 5200 + dta d"Right"* + dta d": Activate " + dta d"FIRE"* + dta d": Finish " +.ENDIF EmptyLine dta d" " ;--------------------------------------------------- @@ -120,7 +158,6 @@ dl ; MAIN game display list .byte $41 .word dl ;----------------------------------------------- - ;.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! OptionsDL .byte $70 .byte $47 diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index e0f2ffe..bf46da5 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -138,7 +138,7 @@ GPRIOR = PRIOR ; no PRIOR shadow (GPRIOR) VDELAY EQU GTIA+$1c GRACTL EQU GTIA+$1d HITCLR EQU GTIA+$1e -;CONSOL EQU GTIA+$1f ; no CONSOL in 5200 +CONSOL5200 EQU GTIA+$1f ; no CONSOL in 5200 ; ; READ ; diff --git a/scorch.asm b/scorch.asm index 8dc5c2b..9b319d0 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800 ;5200 ; or 800 +.def TARGET = 5200 ; or 800 ;--------------------------------------------------- OPT r+ ; saves 12 bytes :O @@ -226,6 +226,7 @@ FirstSTART .IF TARGET = 5200 mva #$0f STICK0 + mva #$04 CONSOL5200 ;Speaker off, Pots enabled, port #1 selected .ENDIF VMAIN VBLinterrupt,7 ;jsr SetVBL diff --git a/scorch.xex b/scorch.xex index cc15e3a6c7914aa823d56f3edaf7be5ce24739b4..a4d59b3494c1b42dcd5d9d6823c8c1d3bc5b32ae 100644 GIT binary patch delta 9085 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 B(B}XE delta 24442 zcmdsfd0Z3M_V}I2WFZNesGx`nBQC{=idtK=3b<2^ib}-VYT|-QU2wx)CL&R^MA4zP z^;c{}f+WadTWhJspj9ipwx(8UU*D^sR*Tw7sv^je`JFonsO@{7&-eTL^LK~L-Os(} z+_T-2sL@D1X(m~oM~s-U@n+%&!%gxQi5SFO>3yyjL#C4OhaVvqYC;<{g^Y$_1Sz7# z5~<8bu2A}_Xmy8~`o0v}Pt!kaz`#M_gNF=#dDttj zMhqYE+Q?CnQPHEvj2$fA*v&^*9Hbg>x7ZhA&{u{hi_ZZL}v zK-_);V($@5m>2{5f$fN=dIp+2+j@ReCKDWwSiGo{u%EY=nc#r@P2M9~zu_+%+(qwt zo*SfIb_j0chh1Kh?Rt?TxYM(`vr?(_?DdZCZT#lb&Tu}@pU*SQpXWFqAD@w< zeA>7UP!=#24gk7l`owv$W&gVPvxNmVSN=cp`Lh+3LJ|)Cc?x^kpIr*>%{!`H;uw#}F<9mhYL`0iF!UGc^X>|@aiR{f-jN=LL|$s3g^N&s@6mfi zvkl-2+e65s20A{|12FC|P9V;QS0^Q{S(}u!F6r>$g0bfq+>S!0GdjrBM09E#ybA-USb6x#86lTtMAKrXi5v!_BnZqKlM2STyAYF%tA zLdJg7wSGJznP|nso%fK8InY|)P=-*4d{)6XA+>Bw>%-Q1q-N4rpJsU!eMA;gRS8;| zWYKxP>OL%-uFILu;|)aT$F=}QC=U5SRYv-c@h5=*L@W~rt+2EPVN9Zt9PPn%8KV{m z1x1pC9grHe-74Q*U@Nc}=oSplDrsoZL^Y)97R-mIT7( z>*Nh~K9{$|+pG47<>Td}?Xj9zd#qiDG)QBVqd9WBJYQqC7ipw+xxHYI!`NbU*Ya+j z=r8X75`V0?)!ocPa_G*~J081#w(Fx&SX^D%PQkWnxh>`V#@|G}G-aJAx-V z2j#Q40myAc=}1Fp2sx0@s5V9$?NN4xU1TTz;OkoPqQCHN)_u)gg{~UwEhouQp*p$F zE<8D&Jl-C^M{nPTMg!N0?YjK9P;uz^{L%6`q+SD$-2o2|kK-O+z!wAUZ~~Zidz0M_ zRN)=Pr*VJNy{7v&n|X)*OMBy)X*>@b^}GLWeM6I|N!}!Hwqqcze5(UyLt@>0%cGiV z2g{d7@d&rTOUQ$7xCvpAI@X~tF1{v=hMC{-=lD8Yfz--JwDQgFxdQpzt*lO8rLS_t z@o~KFmzg{X53qZ^{jojQPS{a?v<0YTXN(Nci<>VA^a?Q+>}KIXvrOP7TLLx$=ar1rV+wAy(PVf?W9 zqlLVRWR0z`8D7KM^>)4xXlQqP5or?0i78`e`3E@T9d5@%{L}#x*44H04G#Wp^{Hwg zIq$f}U*mNSoj`(pe6YKYfN8!nAEY@SWED71|0Wy7j?jM(Y}D*JJp)M5(3;#@ z-=uf*?9${($@YeP-oDMQD~N|D*}*q8U<%>K(f0i7Om$PWXZOwgJ&-4ycEJa4-vJ+- zn)oKRsT#|hr>(iUwbczwb?yHB`ue8L+k_6l$J@=)`{F zd;ZJfm&F%M;%Bg+N*eNkG5}f^>d%f4H;>lqSUs+b7L!&=4hciBcAW<6blrrus< zzc%Yy@rG8`pRI>esp56Fb@g}yfCq~+%v4xNg~WR5Z4%?DdAfk9__DI=*X!yU8d%m* zGHv$$T^Iu5QTZ(x0(s4!LQbq|+`M_)s8MGS5Dzx&a70x@2c%+8#@AK3>tQQG3sw&x z_dHMnP5|$ufIr>Z#6SEOXj#2oU#u(R=enc$@_N(&dQ5{bjldKNiG_8ARAcnywA5R# z@#H*6C{8=Jd-7n~lbOI*t-<_VolbWR*r8hQA%9#0C_6wr zvif-Sm;6({zO@&x;Zu0_MlMEk0nn;)G;+rO@BX?^-9@zt$IpbxM{Xm&WN;bfcf8iFE) z_XBsG`vxDyI|}X>vwSt*T8vi!M1;q<#E%6XdJ>@;w2F8_cejEBVv23$6Zu)KPpv4&~W zs8OII+%1sWxK>}F*L0DK$>vt~y|Vf@1=+)50&_6=ancKKH*B|oZ*6Vh9aYU$P0-rh z8F-^sS92B2l#3=*HH6 z?)H)<|Ic`PJXP@2=hQpcVzyxJQ8>r@pl_Zf zH;5s&8g*D3!Q0_J)AG5iC3Xy zr?+g`umK6^^DIBg_uFspKst5p+HVh@JZUQ5E~V+<;9y}MOl@pwabsqM1#mJ-6;hFy zAPKBuK@>gI;k~DJ2KIDM(2ow_;DcBaL619F$2R_+`;yyOpZ{3?w)|}$1+5nl24{&q z)!^9R;J*O+7T0436!xSCITn(;rO|cH1Zcp@fJ6({YlHN9hXZoVt+-CBf`S74!-s8v z?W}S{0RRAD){PJJ6eH>)9Y*NuWoj4gJY2E zH4ga$*sAHrSh&GC~)Ya>S?*S@GhZ1FTWIXK2=1Q9*0 zx7FVTqT<7Kd8y~MyQr-mHDF>F-!6*I3NZ_GbNo`Rhppkm-p0@1W9#(|xGrqIPX7>e z9N+q;POod-1|{&vd0lH7zm(url2$?lU8?DvGjMFE@4;lu}1+Y6-5o%$5(C5ij zcdKkwHl54M8NylwlG4GW*n3wI|Ldjwy(aEOz^%VOoslbRVWN$~5V;r(1VxA)qgd7p z3*;ca6$BVWADTd3uEF)@M_?r<|Co=(vXkWCHvsX#x;d-PfJYdo8#i7KE_4VHBDS-3 zyM0kYRrZ#|C_*(&Cr0A%6sKCuErKO@9}dyq+y~MJ?5p&#uOuR(a6Zc z>C<#EC_SkNm8;eb~<@J zuu2V-vrW$(oe9wezJ+Weo1Ptu=XeMVLq_^(5Nk|nW}mcHq8fE(Y$gry02Ca>0wN+2 zUf-Jl9X9RhJm<~v8p2M6B8UP++jIQw zux%6%^pY|Vd$7Cr@DP;1^3T^85e+M_Jdug;6&*TKKf?Kk$pVxtSRizne(EKnWi zFcef5iwKt+*Wkg)4G%?8&`DCV4k3_-j7t}CfuH!Fg;7Xk^W*{$go60yU`c1SANI7G zRw1b!avT@3gTUb9uZ@Rm1PFF$)8_Jf!c5Te3@(rw`+pG2_G|H9OtOqs$H#W@_aE;M zv4QtkFdGhcBOD9x3=2y-;PE7ZE5R1rhhyUT(^YllU%}<`t7sPjO;b~jS8h*WN@?uO z8_U1><{Rv+hzNoJe-{pktMZK15rcdqb4Y|xTA%V_41n>77|0|lUHxPjEoQg={2Sko`;Mre0dE%3xfk! zA@LXvBwj;|@p-rZj{b`}R^Gl-|KzcF&@{TwG-;n+V|VOekM1}+7VrNI&wm6N_OtK@ z6A5GJx%YWUX3xLg^0T|CsYwj6Aj>@qrVyfxvb3-7e_h0tf)mA~J90+<{j_V@Ie?z6x67q%J}9}PSNob&lL?>yiMf)GiA zdC;3~UL@EUSgG(|7&adHPM-uh<3l3q_Pwk9W*8_O`2gh?Fw&=^Sb!njiT%Q;ZLmGQ z`V_q2@F86m-Z*!FFIv!40CZ~Mn+j_0K@hFU;%4sIYc08Ii&|y`21V5WLL%EGm4yxL z()H4*dMZb^w3N*`HHp`4$$b=Z!x(LO(h?gDni@sT8>Skq^mps+bMvRCk1DQyMDuLR z&^@p{clEv2gK%}n$M{d)5$$*ku^C{$n(&|8Jq6r=2;LkrOs5{~nJ4Zbx4SbRlj_H? zqbXU>LB;WQ|4Dv6D=I&XsE_$Rgs>5|PGiZjd?O2M0AtUsgZw4%&1HQ&494GnK1&D}S;sdBJ5c2kY`v()l8$*wWuZ*QZBY#vO^?&-g(RN4x=UvtIDxXQoP##J-L6c)JJc# z7sl)+{Ycn?=5kKUQNZWK<*3#>E=<$bdpyC{;KK)ueVcIrMgaq`@xrWy?KI^BJ^}!Q z%XelU$jc88(YN7!p@Xl{&K#aI99kNG8?z)!qheL#(_vmpE} zCAHz(wr%`!WBAf=zOMQazs;fNzk(UCt;-|%hA4OI7ndLLU(|#3ysvMvp%XXDn^T(C z^o%WGmIu!LKi&K~k8IW#=`jd4jLSG^svd5DtF0UZqZiQ(Wq}7 z*zsuw<=D*LV}VHZ#Z`{0#c>6V{1$#DXhfhv3-8toJOG5NB&5L$L8sntb+7#vNT+hu zx|aX+xbc_T6Y5ZkfNvxSa=T!V&siuVP!-J&?0K}XLmG~U=XCsdv=f%Nulf! z0o1v4#FWh`4WAT^kR{r~;n5aGm?vjsegWzb?3VN!(qDrWYec5yb5uK0HZ*Q%hwbPw zYDLQEI8+5aalR;8?Jph;{G^VJj{e_BFs58oIlLgbB1GOxjYfv~3!x8&_8CWokR)IC z??*SyV|G{HtF>IRiq3gP6yQIQH?AP zus*x$Wsv-6G{Tn@8wm_C8oxZK!o?6A5}}TRm5_olx{w62L*9a3RwJQJ4Zt9<5ab!q zNK?ba@J$nd6Qk)k2O>O6gj6Y#bPumF5>g`oW#Pm}Mn=Kg>##_b0m5LsjIh32Dk8QE zP1^-HY`HNy8tSfq?nc}k6&{W=R5SQBA!o~l43!&J2?ZKo3L&+q@MS5vv6Zi0(Brz zcz_3Qf4|sRR=^m@ByE&Fm3aEulG&PBx>oQA?LU{vV%gZNvbX<$Pf-2B(`U4XT(7k5v_?O)+KkQe|AAY)ygSSZi8?Tz+` zKLEhU@|Q0Q*+(A>LJ|Sq|Alee<~-LeW!u5LfRIoTx<2?o$c7H}4tzGu2%#W|61F8lMZ3MDAPfr$ zV}ujdlaK_$?1Lz?2MOU#h@RVxkJKA=gto3;1fT1cvIK;ifB~ylWADes<>z--xVtNCpXXerNXd1Ef{?%tN|c&v zP^y(QjMccw$&)n-Mx%fV$$x+jjeS)ap%@vc4peu4YwTMy1LL}yN9yExId70}Ks5H~ z0aBE!CzaiE4We1foU}y}J!yS~bCdWp@$AG^id6~#9iddS6DPVdx@L3@Rfnnrrs$`L z^`9w*ex^7j4^=5up(@uo`n+m}>bxp9*Lq|dDF(z-w{Lf!Lhc3bIQIhnB#&-q+|E#= z$KzDv$bsX?eM9yQ$r+FludVf+2}`|qUXwB2sY`$<&hcTwR~sgIIheSeWElpMV*sSv%TT6B~y6y=_# z3PeXyp%{HG9|*svK3C%7IZOMTbPGqV3zy zoI11MOx&3T)(mS#Ev4cSMGmAelBOY~!ayoSa`l>yWdC^`$=!gaS}{khSl2=RW0?Ps z7|me067+&5A|hs3%&_VH)BPhS&~l9B`=V`r(K{8Hs)a1M@Ql>0>O|k5? zy^5Hf3jL&b**q)ySKXe3A-7WTQ~bHyR`A@u?zL8`E@t6i^lo#H>m zKcjp2XB_*G{ET}@YBVl|OA&rZoq-Oid8E-OyDGcZd^X~<5gFahJyx9unrr}~%n`xq zr<_8@PmP}*$vBen5OoKSrh~t$gTI89X=ECV9g#O%G|F#+q8B;#`w7$l5jj9|beg0W zJxVl96iU4YE?R_m8Z|~b@3VRGdF*F~lSIyVNhlRLC2~q>_tM~P8OXT%A<}kF3rh=| z(gQD$5{@?j>j#RYuz|=^(Vs?tIzMB6M)~*t-}^rdyGUQsT!OWwK-vINtDi)1ixhpI zCZYb29Hk{bqFeMIqFiM&bsw1L4{@Wo6B$%IjwElQp+Rgh++ENS=46+IBMC^c94QES z5LwnWh>V>RI|roJpiVBue$fiEW}bD(>;9IA!+$Ushm6@gJOYQ> zBo1!^3*5POiNgYCcqVaJ;GFFehXqdIl{k;Q)p!Mt1&Q-A7f2iyIP^^7C>3es(dIUp z1Cje)kU5YzEO765B~B2yyjUBKGAmhO3Lb!Yn2>VgZLd+FEdVFwmoK_JVo^r zJXq#loBta8$W8GD`2~pL=L*B;iXYWKg76{LuwhrbqN`n3`_7hSbe|+yBby^-KjYv_ zoXIef0Ny!YhjruQkuf@1(rfes={%B_hpoyehNRqQVb-d=g;#&65+sGjm_M=xyhdr{BtB;AnE-UiI zp@Gs-aiiiU=8I2WBrlTYxRc`5t3OkGCeD)@&}ZUK(mYk3>Qm{b((|ecmAaGkoC@Sr zc1Ze$a>4Bkwau@AZCn~F zo*rP3E{_!>_@?B1XZ3u)_vVVHN~cOYMZT91nXp_Dx?H>>08wvAXNBmNi{DapR(DqS zmZnaPcr8|$K5Qe{(Ea}BWoFH$@ZY7mm#G}taoJm{4o3^b$7K0F=y%m;(#sSQtmZ2G zK7~sBo8r`L2NZ<-R9#iSKH+NBXKEJVY}p|34?v+v1r;eCD4l~}wO}FZR5P@y*t_&V z>7%#F)l0-j+r#96OcFD4gD4eP~cq>ELHRqLedq$o|b zTXja7ssiC&@C}&LOlw9(JcPMeax5Vs6|Y_;#2s`$btL2vdZHi3bFr?ozUIh%QXrU4=*eDpf@guc?(W z!y>@yPWM;QQ|KjWfw}uAou99Cfvn-RWAD%M%g?uc&PFbmVXq4Syybi3=rZvV*#hZO zAM}<~^67eNy;PzGUu++>V+)nKg-k8)J1~{HZjqtD^VTh>a$ke5DDO*A<-S5^WEy$i zP+0TTb}C<%RNy*$I#qP6@u+BCm|3D8*iNb zrEJenqQlCrK9f(AMfA%js7cD5>J%zqCv`ZkQg(5fgWMzA$@nb0C_O{Po}s>@56R9@ z|A=#5m#(fR_fr0=-^?C&hn2>S`;8oMm!hsyJ7sYx)C2ksRU~`h^WY8zdO3vxs|)rw zB_bv9fs9?UGlGmwk)7%{*7%Cls2fi8{V+zBN^RaeeKeIqby|5Cf^dF!u zb*KD1c>)d8ro?Q4FFuSfv3U}s#Cjw(I#rZ1GKEZ+s8h&HNecPC1dW$I=x|WZ`dF=b zM?}=hfWS;yY6CrS*(vgK@fR}fUYP^sSRLq`Z|+y*n%g8*j?SW^=;+sddVk&fALLhO zeJWK)oRX^~cLaSa`;k2No#LN?D6Lv{gF14N`dQ_sYQ@sA?6G5uso%xli&Q>me^Gp% zL_Z$%0Lk<68XJ#I%Mppir04>fdR{a~N^ZaK(src0hk9ROlo!tpJNNR%!50UQwXPJe zvk|6)IWh}ke3G)!l`Nw3|7Ajey$cZ!~a@N`;%v--& z3UiWd*^h8Z3+XHUC}-_#i$3R9VJT9eO^S<3r%eH~Y^%(KXWY(@(k!;4xJ%@;72sUzY@g#P*gECp;gZt1 zSK_o0IcqEngbt@!;oM6)Ghm_(HxN$SV$b?{ALUx`wqC}~u&s@48{PSlEyB|#KzIQ& zn>0t*2P`AT%W%R#=UxE&g)l$wBY?T{qvvPZCgB>45FiCOZC~ZEb8r&?kveUEK0goe z94UZ&VO0+_+t)b)3ZAvE~6SYJu);^oho!fIbJG(Fb-p&eIBSSYxk6CV&zs?dP;# z?jlsi=Dd!3SP$y5_Abx%<+!hl(J7)l=FtLEGC+5X3p!DO}Gk#A)Fb&7Lpv~9S?|y<-}UN6vxvk;jr7N^q;9P8K30Z z=aIC9Vt_tZK^oaG`l?!_Elk3^3a5$8-5;-JE6_pnyfyX+};MPdQmNSgilyDTZ=|orLvtYNov=7z<=Vvc3G|@F-V)l7Fn?9jO7w~A z#;x0dC_H)1!lm=qLVVmaKM?gzT$#9bXg&&+J_l{(!l$)>HbGSvQ^8 zH-mXImYKNH)AT*lc^cD4%Y3GVk>_JYTBX*8Oi9dZGnlif*pMhNDA6V+aAw}|%ChP7 zwkSF~ip~_dhtok(bmVaEL&XT<40la2CX#@u+39q4DqR^a(k_`?7)HB%U>Ro9X02lK zgHP2^w)vYZ%!X-N&1A4B0C{mNoHX2NE|8o~Ib54JJ$t%erMeP^Fi*ELNxPW9RK}TZ zn`uh6O)#yu*-aa4D$_<=FViL)ZQ9J3W-`8J=D;+@w2Qfv3Oio~dg20Uu%NUl+&`7W z*}WUJ{M5WvWqoN=k{!116luSmV&hH!WQsO`(LR=!RF;+n8(`v7n15_7Td#EWU^?#2 zOM(i+PcQVjQqkQhV*EB*t6YRZJ9P^4U5cYKfS!m2M zpCb#mXPLhu3sbYe+u$l_y&QP##58ac9+TW)b%?@=Pr9c$iDWi#^VGdrCkVb*CFnqL z7-HU!$^EeOVAgSa*1db6WikSscRpO2zce}q_@j%n(4GZa2Ws!fSU+^i0TO7hZcb-H z1p&3*-dcQxkE=s|=_sW|P|5+$j4n>+7ytmkQmv_QK(a}b%;KxsE(baU4t~`sF3eU{ z7y*FGoUO8jn-8nn))b5>s5v>PxuwxSzz+-koZRFNgBk6DUvto&?7nnujl|ht$U#7` ze$oraOB$dJ6VKV9m+DHzrzKAfP%~}7O+?43!^kv%k`F9rVQ!`}9aEr`&kUc*c-pO3 zf0^#*Qe{fq)BUva8P|n3bCXN!xPraXuiSi^HUQ^=Lsr4NI#o2dXyD9#QNWwsbBsHy zoSh3dlKtok+9k;^{r&@|v@nfyUa={20(M%2d3dnFJI2`ny{?A>Ea!df>Padj&YK3o z+jEgNVn7;cz_Jdqpr}+gcCk!m3^TRiGnv8}2B762608DD<8+<+P=LU2E~Qg6`(zo& z!EuOmm3=-lrtH+r7(>HMGR`+HAg)(jX57BGKDrv+L*0{^PiBhZmMCIYEyLZ+m)@>ULYKhn=!^+h zICOYhPF;j`(cKW!q7w3A!VB#I)3|E2>HNx2-a#C_SNTj%fN1Im7(6DgQm zcAHK_Fdb9+k1ipEFQ*O|8aR6PQhTNP=6C<5VJ?`L+;{;OJZNq}mjN|!9dc*l0fX0=@?%6ycAb{?zUX=DD$ z{n@n}k<9r9GB9^w;NWRTr)rbuFx6Ab5ir!zsb%rBvm2aozBMUkXA-Cp!LooFxtW@m zwA7S@t?nOhc#c>O+agTfr4~EMJ4*n5QDDywcxAkxT4ep$lwkeDwAlKoX$j_cZ7G-8EoWe_w``q+MUGh)nNC;}Odnep zn?A8FF?|Yv&x2~qJr9S2?~!R2n9ZD_yN=kzebzm@$ALYCJlNsykor5GE=1}I1d5oa zD*#FDer{EdJ}lT?Fvp-KhtC8>liyG58u)%c$`$#3KN9S>UGLFdBJHes6%EiZYaZ5y zjtZGm36>fxZKW;RRAm6|DD%|6FjPc2eL$+24J);G=T`VSL!kl&^Cpvz{UE^=0dcCr zR^QjmV!eDR6%?-ajky(jVTBX(D)vF z+%gNDokf=&qO*-1ZEx@l!@A z&7+hazfhn(G({@SkxK6XWXgt;HM^oK?6P_;wyzbhlspCZ2Rte4(rw#-?UUNGRIsyy zjhn;FBtGGanB^+5wHtwFHzgF3YSZFEk=nGR_XjY#glh?5h!UpMtdbWJDz?f z%x%j}IJ!8;0Hz9y^NWIyhhH>R;3-_6-eJT!Zbt7{;k~DKD*0p?r|J{!6TZAG6pRsw zReYaqpjxW>^bvo&Tid#b9;+joox&SR$<$v>15B9fZ%#B@!vg1lq za#^ykY5j@h*ZKX)2IigJ6+xNQU8R$>b;M>|2DG~Y_XjK79~PLd0Ukd^fQ`PZH2ui@ z4DLHLY%04%f9s>p9O~VmbyI~nQwkl&m{(1ZX!RUJ-S8c!lpx{_03DP5MWO{SaMPQx+hFYw26Q|9YK7t z!Ug>|e5Us3QW)Zq@ON#ha^qI{0lzUzUL^A|WC1iA8l z{y~@s7W5p9_cMv~48hIHXAX0Z`i&!QauJ#^zniJrn#4-=yFe{#=%*s;SS2c z9rP*OL3;{!P}{HOaMJd=c`ykflR+fD>X7(Od0?8Y(tKei30mnAY2k8Wp9{QNkH-}L zlx5zfEc_+QoDN#gbQ}vo+l?14wBUm?-urL^2**;>ae&jCWva$!zwZ9&B)*Vk#mY&QqT|dq$OTWl6m(s_L%2G#`*%YKa zzFk@RU6#2IeLPiJ`a_m^r}Fp?WvPHw=`Y-o0cShiI-p&-5-5iaEf{9P0N20dfxT9I zvC>uxtUn&e8R@;!+ku=a(`GGP>CG!`spjP>2nnrF0cM42_#e)Wt1Ues%<(L84b-yD z!*o|+y7vUS+q(6>sU~ebAg%z1D_rX>DB}`&U{HU*!Ru|QrlsJzCgz~McJ-xU_B)ryN})LlR+ozcFT1VsuL zt!FOWE+I{~p$QM^cn4a(El@i{j~A%Z@ks8wK|P5#IoF_|aB3}#0y5zF9@GK=HS0~6 zg!ygFv#y=VWd{zzvdg&0@Sds>@Z~`1Q2Lj}2TO3%itujifrBPHvu1r>a)5PdVpr29 zYhofYZ7y33&1EAFnhKb~>n&Yv)c&Q~npL*3=7TC*jQKs4&0#j+(tK53aw+EdQq1$Y z$tMoswN_jFZD{|}OXZC7sWlm-#AL_Ni8koMdS#UdE!6%_Sl6w$h$P8<*QcwW23V65 zU0mScfy6}a^}!>F0o=~P(NzBG!UAsp;6U!z!QI#!s|~$xh9`#=s>5ZuXG&AlTJ;*p z4}*=)k0={TKV5tfxUFme{dB}ZV7QFq>hd6GA8go%W_H9G0U-{iq`o4^^=H0QiCcO? zOIS&L{xj(fIB{sxfrI-GRV>P+Yzy}v5(q6%f<@_YUtv`+Hpgjvw&o!Lk~gL;&DZ|G z6%6U$_236!M4tgVaY)b&cwpU-79D1;Ntn3?19Sa_`(TYE5Nf+OdK9!y;O;v~)}#x^ zop*uFrvVGDSDJ3s?zG#sdo{(H^^BBz?d8zHZzp^BjWFc&{pH37E-~D*!~M&ohl+~S z*%>`+Yh+HMa&M7Zt6wKbX=g6$<)Mr9>+amL-m35cErm?C80mWGz6dSgGRoTO)>{FI zA`=YClv-~^-1T|Z9&s1i)zBJ{*xm|ovayv=3Qko$V@lTQxv*g`lk$Vyf?=A-x08<- zsdM_4X7udGRxp{83PTC$6a9^9HFS&Ke;_I?R@We>Z#m`i`F1Eb z|CPSJ-ripei`CGQ^~%3Sy5D&)#m{Q`c8Z_#J44Y_zq00B^JKrWl~%LXuNE@XdT22v zM_7~pnCxfTU|s)**3YyNB4H*bpDTE^KatN}do`4GzY}1+2Di~`aOwW(!A3vrtqlga zlb2Xaz$=)!*;)cFt*OMe7?jkzprni*`z-YSyusTm)S@@TQ9{^H0%NL#lc@qD1V)v^ z;ILb2Oa42MQ1CpwP%d)LpADdx-oX}#00@NXoo74YdPMYC-agj5VmtKz0Qm*L*Dt=~ z%rr2|Q-pnt`zv~dpQ^t#DP4U{cH049Q6(6&HQd1Ao#*|$!PQfU{MusvzIRvwLIGj) z^Hf+YP>ckGhyTY3FO21KhDQ>Exf{brurFe^c=LB#{KDndl8CziO8dnoj4#}eA z@`AAjQ@nSJp9K|d@qM%U}D6DZR4iJ+!IIeYulaeu0}Kj^uBORvJAhxR8g&A)^RA=3V1bGgJNv!M^7m6x24 zbHuiV5Cj%({gvuR5XQHuz}Dr68GZ|V1sjkfhK*gKD`HA~JszImwV9@HU%b|n<+p&# z1d(c|2>hl>bt&UJ)A=zD&QIDZT%_cnR(qDzXJ5i`mkI>6lTe%P*H+V%)c11-Y(wv6 zgWo547a}z0gpr^Xgbf*N1o-g~AcXIS!)t5)bT%4nqu@*qf%Ldc8`QRN(?$!juCMse zNm-LChI4O^)M^%QeHMB( z=n&!!Zgg}X-_3jA^7yKCN%&9(?r3YH2Y3C%$ZXzoX9vV_(yVD0_5cZYT-farX}{vi zqP4^3Y`?QMz-mgAnM~GqT*`2H#BI}E%JhzQ?DmTp5!Up(GE=(s9icHGAsyP4+nG6B z(}0Ri}NKnNySF=%R zS~87^N@Gge3iY@Eq0{9ca1lV?#jv7G;aa&^zE#Wq_~o zp09zDzGlF&VUagBEHxzq<*g95ySU`y;)}_zJO2cg|9sn>MZgLP7n7a$ZJxpH4UfDd z?+8J^_U1o4%;&Y`-3ZTTRZHv7SM(U?x*puy#!b3Jh*3JWrT@Q zC{sJbfIg9Cpl3iL0pSN3Anf2qOz72X+%D^T&XIV$Q*0q|AQZlE>+K8>?x&vEC}*6| zL)vMVMOsQ8q@bjI*2MDXhx;gX2Ki?lvFx!{QbBxJ)U_K^ZS? z)FbZL!~x{lR4y{6mme}M29|g1aVbD+E#ALTCwE?@7rgM<@Bg~uCIH&Ek zwY7UUshJNs-`8IyR&wKCk02g$DX-6iVCgTfk5S!!7o7RmV0Y$eYS`d_Nt=CelR?;S z$)u2w`|ld8%S|g_#g&p3eOLDNegdp368%gotSb}qK6yMzMNYA7e!-%_k7}O3vKF4E z!T7;-+5q(T#D3s%Z(0P`byEUJBZyR49&O41IWt+Ax46ku#&pbl*Hmh?R=k-hwtX7m ziK=}xr4LcdU6>LIOz~h!pm@UGn9}i_@6_O-aP3IOSMBwNWqZ^2cHQ^GzLtHHGT+aP z+Y4lXu;bGT6*e&WrNWfGF$N}&(@zZ`inxtaBUp0Zb8!PpreJvVFejy?-gMRJi$S~! z)mgY|TV!4fUwN9>`N5AElKtR!3G4lsqUp@d>DH^+Z~B3r&z|oGiavXVA2TG&z--^g zSobl~{Vv+NVbY{Y{iFejGV=yM@QFRu*QMsc8`{mFPf7jp4SoTeR_}wA!thE2Ug=A` z5(z5-sbH-koMBo7sJaiP^;HRX3}KmH_GuaJ+iBfA*A8zJgoiF>W?ZG2Df?j>5gQf) z^JB6qBqd_7tH&X30UP{f-;2Yh#fA<3&%+kAL$grK%URYO2p3zALL8Zi;f}}Vbvd5} zdrsH@+bzA21v^hf0(rQ^>EozL2beS5iRoeVnf(#gt9QkKq1dzu+J2w@67iJtn-Lr-C!&o7My6P08=~gRuDhcXN}6pFikYpbh8#-f`xj>-F6ArEud- zE*-&XX7*#-Iji)*!GP7t6$>*-xCAD{s+cYCZLv>DJrjuC@h!Lo-zaIJ<>D6SgXe~U zhXcbdZUGI}J}~I{fpAToLgt?ugsj2V*T!Skzzo6(zXvRrI)IkKYT8!Km0KJ`E;0L z68yMf32H7Tp_@7<=V*J%h4jg?gntqg%6H@+SXxdYTY4e>w{@QcBpxJ*G_H7AmTcWI z)1TIcuF2fwB+U From 8d188f4497782b2103b5ac1d6fb4f73c03dd050c Mon Sep 17 00:00:00 2001 From: pkali Date: Tue, 27 Sep 2022 19:18:26 -0400 Subject: [PATCH 25/33] 5200 works --- display_static.asm | 4 +++- scorch.asm | 2 +- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 32768 -> 48630 bytes 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/display_static.asm b/display_static.asm index bf0b7a5..adda9dd 100644 --- a/display_static.asm +++ b/display_static.asm @@ -24,7 +24,9 @@ NameScreen .IF TARGET = 800 dta d" Enter names of players " .ELIF TARGET = 5200 - dta d" Hold FIRE to enter names " + dta d"Hold " + dta d "FIRE"* + dta d " to enter player names " .ENDIF NameScreen3 dta d" Human/Atari (difficulty level) " diff --git a/scorch.asm b/scorch.asm index 9b319d0..1668803 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 5200 ; or 800 +.def TARGET = 800 ;5200 ; or 800 ;--------------------------------------------------- OPT r+ ; saves 12 bytes :O diff --git a/scorch.bin b/scorch.bin index c21a232d380644e7e31625f2873daa45a09c7333..a4d59b3494c1b42dcd5d9d6823c8c1d3bc5b32ae 100644 GIT binary patch delta 7685 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 delta 7864 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 diff --git a/scorch.xex b/scorch.xex index a4d59b3494c1b42dcd5d9d6823c8c1d3bc5b32ae..789b11904f339c7246233c06908c780fffe1389e 100644 GIT binary patch delta 24441 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 delta 9085 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 B(B}XE From f3b9092777bff8f61f9711b31be84d289ab6ae73 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 1 Oct 2022 11:54:52 -0400 Subject: [PATCH 26/33] wip: screen lowered, 5200 game over does not flicker --- constants.asm | 2 +- definitions.asm | 2 +- display_static.asm | 4 +++- scorch.asm | 1 + scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48630 -> 48635 bytes textproc.asm | 2 +- 7 files changed, 7 insertions(+), 4 deletions(-) diff --git a/constants.asm b/constants.asm index 5cdd5a4..a62334e 100644 --- a/constants.asm +++ b/constants.asm @@ -546,7 +546,7 @@ scrcodes gameOverSpritesTop ; end of the Gover sprites by number of players ; 1 2 3 4 5 6 - .by 130,130,136,142,148,154 + .by 130+7,130+7,136+7,142+7,148+7,154+7 ;-------decimal constans zero digits dta d"0123456789" diff --git a/definitions.asm b/definitions.asm index c05fc5c..995b30c 100644 --- a/definitions.asm +++ b/definitions.asm @@ -16,7 +16,7 @@ margin = 40 ;mountain drawing Y variable margin MaxPlayers = 6 maxOptions = 9 ;number of all options PMOffsetX = $2C ; P/M to graphics offset -PMOffsetY = $23 ; P/M to graphics offset +PMOffsetY = $2A ; P/M to graphics offset napalmRadius = 10 StandardBarrel = 6 ; standard tank barrel length LongBarrel = 20 ; long barrel length diff --git a/display_static.asm b/display_static.asm index adda9dd..0d5e39e 100644 --- a/display_static.asm +++ b/display_static.asm @@ -114,7 +114,7 @@ GameOverTitle2 ;----------------------------------------------------- dl ; MAIN game display list - .byte 0 + .byte $70 .byte $42 .word statusBuffer .byte $02, $02 +$80 ;DLI @@ -174,6 +174,7 @@ OptionsDL :maxOptions-1 .by $02,$10 :(9-maxOptions) .by $70,$10 .byte $80 + .byte $70 ; to match moved sprites .byte $4f .word (display+140*40) :21 .by $0f ;76 @@ -212,6 +213,7 @@ GameOverDL .byte $70,$40 .byte $47 ; 16 gr8 lines .word GameOverTitle + .byte $60 ; 7 lines down to match new sprite position .byte $4f ; 1 line .word display+(40*72) :28 .byte $0f ; 28 lines diff --git a/scorch.asm b/scorch.asm index 1668803..313f14f 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1172,6 +1172,7 @@ CreditsScroll cmp #32 ;not too fast beq nextlinedisplay :2 lsr ;not too fast + sta WSYNC sta VSCROL jmp EndOfDLI_GO nextlinedisplay diff --git a/scorch.bin b/scorch.bin index a4d59b3494c1b42dcd5d9d6823c8c1d3bc5b32ae..7c564ac41059b08f5987bd764e308c8e7643d88b 100644 GIT binary patch delta 7918 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 U{EoD~;b)z2Y+Vr^C2ddpKe@V~2><{9 diff --git a/scorch.xex b/scorch.xex index 789b11904f339c7246233c06908c780fffe1389e..5ba2f4cf841b0cf7b51ee64e6d3170970d59bb7f 100644 GIT binary patch delta 7762 zcmahu3s_Xu)^mp8>Bu?Khyw_01QcKSO2tZiWJ!7ya5PW^#^fpJ_!`y|?e~S!Et{@csiprqXV5ge-}Q0!-fOSD_S$Q& zyHGZnQt9KI=x{VR8m9_oPYBW1$}-nV@8E>^qBd)he$aa&ss2h`o08Hf~uS9h8c9f z6m8swLd($kN?yb0`B#{HzMU!HeVI*sI8(@zOcAQqAU_rv<52ZBbQYgn5Np7jXdV2z!%5_m2c$11kZ6Q{R>0YvA&A$YE8937Qws8|(AiT-ryKf~>85VA zmR9I2M@hk>RrjXJLOxp6;tuCArIIKaf4eY}IEww^CIpogSmIPbrJ!7g{L8rlMh9cp zHaInIisHjv=pcSGE`%`SBXO&|pJ#aj9n{cfJSx5oC%Zmlq~ zAIPoS@cZ#A6`&oRI4WV3cXm7<#_Hs#5GN-*AM}>da=`e_H|!9hMlJNdo!yo_GnSXZ z(0TxOB>2CO?H~jnK7#e>VS@x=nZw&TsLeKAY4#BzYN2L`AiNCtu(pgV0~rpOH&2{# z@1ciw-cJZ3CVQ3x|7~ztW^}y_4Jm=%4se(!Y{|6GtRY zNSvFPlDHzNAc;-don%cql5{=k{iJ)EUy`)EJ7eYtF#GA_OQr50S62bhfZw|zQrGYh z107!q+VINm%ogimis5)AV~*y!``nrC4tdu{=%^M{CI(b~Kho!lYtZ}u8{d~7_z0hV zf2mgDjQfyHptv*aB1)u>k1nBn^tmo-s0)9(5+>P?9{ znycl3dmaviPAw4`KfffJOYa-Tqyw)RPr%h&dd?gsy|~9-XJnxU;!Y62*Ck~TZn78IWdCp$0riwCvpqBsRN=V(MkgEUIzXB zG&G`gp#jmuV!C4)AKc%=vyukS+nC6!fV7MyD1IRO70J7?Uy}4wP)`?h|Cc0}Zn{8n z8K!F_mudQrZyQ$0Pz9Ow(kzg2k9KRI7dDbl*Y=F)EfF-Y|Sb7rb-p{DgbsT0H@BgS5 z`lvVE)kDic0A{`)9^e}F&%r1N=I*l(NRWffjiPI?*D{(ofR`+r2Ve8DVWWRq1xn{` zPDk8At?LeWW-q$9rI+vJIsWwi`dclsioG`~cytkew=9S#!rsXU){aV^5XUW~i+5B$x@<-#`icK6b={;7@I^5FTV)FJ-YlTs zo*Xtv+*#aLxDE4rwWtJtl^p1L%6F4Td5P=_qtRhJW_hgoa20ouN$1{UGPq7AlRLy@ zi3&|0$2H4ah$uWRC4`L8>^Wui`E(@V^ejJ(40w6U5_w57zLc!OAEs0iJ8^t!5YdG5 zQX>uE8^B$FF^bVxLxr}H?#^f59I0@|yg5=1{^dZLmHgE40D8%(j-RCl{K&`?4lh9o zo&-EWH$Rg(uLaNIzE;UgJVU-Yv`LPj)6iH48TiWMpn@uOD+*!!Fkau`LPDk z`kgHUS45|#IBH>szot6spt+suut3w3Hgbl;*Qs%c-p-Ng@PI~}=J14OP?{qQ8h@>0 z3^WJQ9Ffr6PIJUS{xOvP)nNF=)rVZGi9cJd z&XHDkbV#dRDEPQ`s39`XdC4V5$?iL3f+rsePF8TcXd%H7AV9e0Lf{`Pn66}}D_!x4 zBzpkGDA^cgKZ1-gL60*z0)We_DO%7b$CQpc>_QdzY%%00D}cu}j&f}kDh%TB(iIwT z+}0I&zJphQoUTUm%dTe=bA$)$*0 zlpFp1N_ZY(BldAzdX(3XD;<$eabQS)j&R^Z>EnF+AEqgh6yGNPAwA6RF;ExdkiZcc zV~7uNLdI11R%MhC_pmZ^miOd5dldKwx(UCQxfxE-lNsrLq>7ej;QN_Fh@Y^3*2Lf= zRr|+^IPwhm2dt$t8T^M#CiJq<5uA|~KGth7VEl1LT*VWnD5^yv?&01|{W4x8f`45Z z5(abV$Wzb#QPhO4;2*PCh>b+^BUv7%tyO1|A}Lck389)8Y@WsMWJGfN zmQ8z3@k^M~V0k{w4h#4;7xiw_+AT^(Z`TiG@(=1?ebAuSqIyi^JY(pE;FN>l^mXQQ zVEl_{aFcyX<}>s)go*$tw4Wi*dQFtHcC$UxI}@eJ8p2%Je1K9Wh2 z=IDs*hgkn*3tomU6=0kbX1KBq_6lXpU}zmGA>+o>u9G=cd$#U$=p+Cuf(nvV7T}DEh5-qzMJ#b%+nE-R|IwGFAYUqeX zIlLQKazA*UqU8ib7NeotvH{=u(&M;WSA_*MyKr0nfXlmM`>KGDOCU$H%>H*0UaPzP z80mPko~W$x291CV-Hm@-HHWy4r{#`OT`!}r<#bbxAPQf}iHJH}nEO&B>>nYC`u-VG zWF~?Unfc2qiGpheg2YR?h`55~dF7zc+wyjW`scAnNv&uRyuppRNB0p8&05eM`yC_G zY=3}ftd2C?FNG`8^K(Gb6yzoda+5odn}kWZ34fIxFXvxnC&>92cAOkR94!}94`UqP z&7PKnZ8#%0H@3v{Cu?N#T0+kH_HdS1>jfjbO=-PsWGlh;FcwigA0|SO=RmfA`qQMJ zk>PAvHe&%o5hQwNHF|FmI2%F>e!%Z$1Zj;R9p1uq2r42-`a+(=R~UFMf}}o^&_#fU zFlc`Sd9he&FIG|~?iVXXpr`N*0AT#cESr@rGTYn^ zqiGUpJ8U$KC2w4{2;W;ul(xSanTr;K(sshg+DOY5rR|iFWt5gurR|?aHj=cIDQ#aE z*$Sm)tI{T&)pi;4YuH-yz>g~WMbpGRpL6ZBs zz(6{Dswie(QOsc=W5>k8%AjHZ)-!wdv5?NIG4DdFJtq3c{RJ*m%HrrK;N$a zeX2rl-`NCGUW@0i3-g`PBzV{+kr#5CIz&*>x}ecJo0xV~kl(6TbJ;loOd*$(BV&r} zxd67$XkzxEDf#9AUeSdG0&v9D`MGsyN?K|M>+M?}~$UC`BpcwYCV^sNt|tS$s1G(5?rdskcBI!U z_>~RKl3YlgNNAu$2yC;3q;D;fsKILkEA$LMlrg^<%dZ5hjgsTC+vqRw(G8>3Z|wp{ z)&ClS^ucE7iNYn`+wkja!$hT+Co07RPzv*tS_8Z4;PJKh*8;*fO8VBT<8-GjLZ23t z3REXw$y~Wn(ax9lKj?ydq{IvKQ4@6fhcB&V_=VnGE`K!Gu58}FpEA{i-S|H*f#|N? zPtoZcrFRpATlJGN(>L~B;jX}oRKV_6kTM^py8r?Kme<2EcSW7!#sE^iCwC>f&--_H zbRWPefU0vIL4l4*G{s6O1i6i>^>jL(k^dY);*I&E2^}`)`x8ohB!8Jo*}SVJtOi)B z*0*@suN%RUIdNpcG$IjCO)G;S~W@i0goOjp^WX!ICzDCEeokS<>v+1^u(q z=;b1iJk(q~0O!0U$ny|^fuq49IWgwqi=HMTM_=Qn!brpKJ1u`23EcIQJ3XTMClr52 z?!v;wuI)m-7Og9h_Mh{|V_6STXBnk)ID?-r@-YQ z`8a>MlGNmI=$JoU@JHO}KEQ3Y;17zPBc|YAik>$-dEVTjb8o1|`*0l+B7LGzlsEXZ zCvJrPx&Ttjr$FPL0>P#9*YA>xQCu2*aUUCKB;@(Ux$6!TDQ85fJWfi6g$p zKWvF4)Obi~B=G{CUOJ3O#oE$HrJ)*9g{fTD_(|v|+)z3(;OG`)sP5egxp+BOe!5yv za9dATIo;?p_^VQSa$0Hc1~tdzcrgsO-KiY!6Mc>8Q!v}<*wU_=Xs)u)i>c(cOF(r- zCBO%jqBNXRHt|_Qbu`y`twv1H`@|GL93Q;4K}_6XoB?C2LdfzhuK7 zmel;WCCaT!<+3K6wRP=C2ozie2&h_!C5T>Ks}4ez+faUhYiNUegBq+b++Me%d|3G4 z@?(ugG0RNukVCkW2LB29Iiql8c}~il za@w;T%_&ERA9n7F9jHm=fx<LOiPU71~a;Rmo&dXUsZP;WY1QwB`@oA;C^9szFkWA;i# zl}F(3TzJ^VpmBdBBi%@P-#}Ms4@Rz4E(&lXUKPQF0S~VTQM?4w!Lbz)FkD>`2H(1h zQ1~8@z8_Z%@q4%yIJ*Hy+6$|Hsd!-oq&=-rf)U@Fcu=bsC5(Zyzr=#9)Hwv?hF)-r zQ+V07@bFi+aXW<7EZ)KWU(sx)EqwqOtSHnXSA6MwKRbFfI>;U;*v zLVl4t{IY>#Dgy{#oKzX&)gSy{$0e07dF-q{m_7X${9)x-c~==utqNDkm`u>TQ`OD^ zW*L{+P}-oUpT%RVa)zF&7J}iT_M)BDX4yeKlX*}N+&1XpK6m2xs>Z_$yHfQk@h%=) zJ(bviGpeJBpYc1@sYD6>t$Mbvvk{`SnXnxjN5PH@wikJeAg#2&uzlE2XQP(OV^)Jm z)_ANQzGis;e>Jx{C!o`}X0V(n#u2sQQ85}V2+EZ~Lu$mNLz={7fG&f&+FMDc26UL= z&JfSX>hA>WVhmbN~ySA3C4XOL0j;N2TH`On#6>A@g`a2Haj@u*ex4D+o z#%du|VS4y@b_4t-!ERLXh}Em0+?ua~pBCP(izYnr`MR0IIup?K1g^)Ftb(GEX@$ye zBu%STXsS_*D(X;s9mHKz>z@tHuLD|RL|TMM>zGJO4z%F3Kw&B_uTS%pVnS)z~1cgk-xa6at7h0e8?r!@}J7Vp(cf@KHxCC?f9Q-AWgz+5K zwlVqh=FMaDZ;ph5ptEt0eww4n`8qurKRxk5lk?R*`8G&D^tKszp>gE2N7`ZA*`!{l zcdV?JLx``3T}AB(1MP_HxQ#-^SnUlFLI8x6ARR_kKq&5d1M=NRGa=GU*Bb(+8vUhN z>Lw%z%b;idK zGk5;d%+>XWPJVLX>c4;UjTpNyd6n_){r~v##xFxgOn5oFq;B`gukZRzNmx_9>#rxB zg!j0Zq_q|8`w!V2=RW!Dt6xGR$4r==lCgSglWEWKi{IW4eKtO6xi&qA{Y&TPKMn{P z_d-(I*7kq?;6+VbzOn3GNE5Hh-hS*4u4@g4ALlw-XA@lKPpxy^A@Yf_7^4dJGCy!X v2Ndl!{S;{L3Ur3S&uW48cLLR$&jqTFbq5x*drj{I+FCmATJBQvwt4>#C|r4D delta 7927 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 Qhr*mqodfnel){$$e~n_oHUIzs diff --git a/textproc.asm b/textproc.asm index a1a02ca..fa0001d 100644 --- a/textproc.asm +++ b/textproc.asm @@ -2508,7 +2508,7 @@ NextChar02 ; set background lda #$ff - ldx #100 ; top of the sprites + ldx #100+7 ; top of the sprites @ sta PMGraph+$400,x sta PMGraph+$500,x inx From 64254314967cc17e92df043ffa31082a87746f5c Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 3 Oct 2022 22:54:20 -0400 Subject: [PATCH 27/33] WIP: more keyboard shenanigans --- constants.asm | 18 ++++++- lib/5200MACRO.ASM | 2 +- lib/5200SYS.ASM | 20 ++++++++ lib/ATARISYS.ASM | 68 ++++++++++++++++++++++++++ lib/MACRO.ASM | 2 +- scorch.asm | 119 ++++++++++++++++++++++++++++++++++++---------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48635 -> 48558 bytes textproc.asm | 48 +++++++++---------- weapons.asm | 40 ++++++++-------- 10 files changed, 243 insertions(+), 74 deletions(-) diff --git a/constants.asm b/constants.asm index a62334e..45f1464 100644 --- a/constants.asm +++ b/constants.asm @@ -525,8 +525,22 @@ weaponsOfDeath ; weapons used in tank death animations dta 1,2,3,7,17,18,19,20,21,22,23,24,25,26,27 weaponsOfDeathEnd joyToKeyTable - ; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15 - .by $ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$ff,$ff,$ff,$06,$ff,$0f,$0e,$ff + .by $ff ;00 + .by $ff ;01 + .by $ff ;02 + .by $ff ;03 + .by $ff ;04 + .by $ff ;05 + .by $ff ;06 + .by @kbcode._right ;07 + .by $ff ;08 + .by $ff ;09 + .by $ff ;0a + .by @kbcode._left ;0b + .by $ff ;0c + .by @kbcode._down ;0d + .by @kbcode._up ;0e + .by $ff ;0f ;----------------------------------- keycodes ;tables for converting KeyCode to Screen Code (38 -1 characters) diff --git a/lib/5200MACRO.ASM b/lib/5200MACRO.ASM index 0aafe81..d613dc5 100644 --- a/lib/5200MACRO.ASM +++ b/lib/5200MACRO.ASM @@ -102,7 +102,7 @@ sta :1+1 .endm ;------------------------------------- - .macro randomize + .macro randomizer ;usage: randomize floor ceiling ;returns (in A) a random .byte between "floor" and "ceiling" .if :2 < :1 diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index bf46da5..cebd9e0 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -249,3 +249,23 @@ scr32 = @dmactl(narrow|dma|players|missiles|lineX1) mode10 = %10000000 mode11 = %11000000 .ende +/* +; commented out to be replaced by the application specific A800 --> 5200 keypad translation +.enum @kbcode + _0 + _1 + _2 + _3 + _4 + _5 + _6 + _7 + _8 + _9 + _asterisk = $0a + _hash = $0b + _start = $0c + _pause = $0d + _reset = $0e +.ende +*/ \ No newline at end of file diff --git a/lib/ATARISYS.ASM b/lib/ATARISYS.ASM index 83cc301..7c031de 100644 --- a/lib/ATARISYS.ASM +++ b/lib/ATARISYS.ASM @@ -652,3 +652,71 @@ scr32 = @dmactl(narrow|dma|players|missiles|lineX1) mode10 = %10000000 mode11 = %11000000 .ende +; --------------------------------------------------------------------------- +; KBCODEs +; --------------------------------------------------------------------------- +.enum @kbcode + _none = 255 + _esc = 28 + _1 = 31 + _2 = 30 + _3 = 26 + _4 = 24 + _5 = 29 + _6 = 27 + _7 = 51 + _8 = 53 + _9 = 48 + _0 = 50 + _lt = 54 + _gt = 55 + _del = 52 + _tab = 44 + _Q = 47 + _W = 46 + _E = 42 + _R = 40 + _T = 45 + _Y = 43 + _U = 11 + _I = 13 + _O = 8 + _P = 10 + _min = 14 + _up = 14 ; cursor function + _eq = 15 + _down = 15 ; cursor function + _ret = 12 + _A = 63 + _S = 62 + _D = 58 + _F = 56 + _G = 61 + _H = 57 + _J = 1 + _K = 5 + _L = 0 + _semicolon = 2 + _plus = 6 + _left = 6 ; cursor function + _asterisk = 7 + _right = 7 ; cursor function + _caps = 60 + _Z = 23 + _X = 22 + _C = 18 + _V = 16 + _B = 21 + _N = 36 + _M = 37 + _comma = 32 + _dot = 34 + _slash = 38 + _atari = 39 + _help = 17 + _F1 = 3 + _F2 = 4 + _F3 = 19 + _F4 = 20 + _space = 33 +.ende \ No newline at end of file diff --git a/lib/MACRO.ASM b/lib/MACRO.ASM index 2567870..14e7780 100644 --- a/lib/MACRO.ASM +++ b/lib/MACRO.ASM @@ -101,7 +101,7 @@ sta :1+1 .endm ;------------------------------------- - .macro randomize + .macro randomizer ;usage: randomize floor ceiling ;returns (in A) a random .byte between "floor" and "ceiling" .if :2 < :1 diff --git a/scorch.asm b/scorch.asm index 313f14f..abdae63 100644 --- a/scorch.asm +++ b/scorch.asm @@ -7,6 +7,8 @@ ;--------------------------------------------------- .def TARGET = 800 ;5200 ; or 800 +;atari800 -5200 -cart ${outputFilePath} -cart-type 4 +;atari800 -run ${outputFilePath} ;--------------------------------------------------- OPT r+ ; saves 12 bytes :O @@ -133,6 +135,41 @@ OPT h-f+ icl 'lib/5200SYS.ASM' icl 'lib/5200MACRO.ASM' + .enum @kbcode + /* + _0 + _1 + _2 + _3 + _4 + _5 + _6 + _7 + _8 + _9 + _asterisk = $0a + _hash = $0b + _start = $0c + _pause = $0d + _reset = $0e + */ + _space = $00 + _Y = $01 + _up = $02 + _O = $03 + _left = $04 + _tab = $05 + _right = $06 + _A = $07 + _down = $08 + _I = $09 + _esc = $0a + _ret = $0b + _M = $0d + _S = $0e + _del = $0e ; not used in 5200 + + .ende .ELSE icl 'lib/ATARISYS.ASM' icl 'lib/MACRO.ASM' @@ -577,7 +614,7 @@ RoboTanks jsr DisplayStatus ; to make visible AI selected defensive (and offensive :) ) jsr MoveBarrelToNewPosition lda kbcode - cmp #28 ; ESC + cmp #@kbcode._esc ; 28 ; ESC bne @+ jsr AreYouSure @ lda escFlag @@ -1556,7 +1593,7 @@ SetRandomWalls lda kbcode and #$3f ;CTRL and SHIFT ellimination - cmp #28 ; ESC + cmp #@kbcode._esc ; 28 ; ESC bne getkeyend mvx #$80 escFlag bne getkeyend @@ -1577,7 +1614,7 @@ notpressedJoyGetKey ;fire lda STRIG0 bne @- - lda #$0c ;Return key + lda #@kbcode._ret ;Return key getkeyend mvx #sfx_keyclick sfx_effect @@ -1638,13 +1675,12 @@ checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE ;pause 150 ldy #75 jsr PauseYFrames - jmp noKey + rts peopleAreHere - jsr getkey -noKey - rts + jmp getkey ; jsr:rts .endp + MakeDarkScreen mva #0 dmactls ; dark screen sta dmactl @@ -1652,13 +1688,12 @@ MakeDarkScreen .proc WaitOneFrame lda CONSOL and #%00000101 ; Start + Option - bne @+ - mva #$40 escFlag -@ and #%00000001 ; START KEY - beq @+ - wait -@ rts + sne:mva #$40 escFlag + and #%00000001 ; START KEY + seq:wait + rts .endp + .proc PauseYFrames ; Y - number of frames to wait (divided by 2) ; pauses for maximally 510 frames (255 * 2) @@ -1708,19 +1743,51 @@ noingame bne @- rts .endp -;;-------------------------------------------------- -;.proc Randomizer -;;-------------------------------------------------- -; ;usage: randomize floor ceiling -; ;returns (in A) a random .byte between "floor" and "ceiling" -;?rand -; lda random -; cmp #:1 ;floor -; bcc ?rand -; cmp #:2+1 ;ceiling -; bcs ?rand -; rts -;.endp +;-------------------------------------------------- +.macro randomize floor ceiling +;-------------------------------------------------- + ;usage: randomize floor ceiling + ;returns (in A) a random .byte between "floor" and "ceiling" + jsr _randomizator + .byte :floor + .byte :ceiling +.endm + +.proc _randomizator +; private function that accompanies `randomize` macro +; trashes: magic, temp, Y + pla + sta magic + pla + sta magic+1 + ldy #1 ; add 1 to the value got from the stack to point to the input parameters + lda (magic),y + sta temp + iny + lda (magic),y + sta temp+1 + +?rand + lda random + cmp temp ;floor + bcc ?rand + cmp temp+1 ;ceiling + bcs ?rand + tay ; save the result + + ; point the PC to a byte after the parameters + clc + lda magic + adc #2 ; length of the parameters in bytes + sta magic + lda magic+1 + adc #0 + pha + lda magic + pha + tya ; retrieve the result + rts +.endp ;---------------------------------------------- icl 'weapons.asm' ;---------------------------------------------- diff --git a/scorch.bin b/scorch.bin index 7c564ac41059b08f5987bd764e308c8e7643d88b..f1148f672e673ef7b37d2b1cde9138ac903356b5 100644 GIT binary patch delta 8284 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 diff --git a/scorch.xex b/scorch.xex index 5ba2f4cf841b0cf7b51ee64e6d3170970d59bb7f..1d22ef57b0adc18118ff4e9653dd6bb992a16b7c 100644 GIT binary patch delta 8032 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 Date: Wed, 5 Oct 2022 11:21:49 -0400 Subject: [PATCH 28/33] WIP: 5200 keyboard revert --- lib/5200SYS.ASM | 68 +++++++++++++++++++++++++++++++++++++++++++++++- scorch.asm | 8 +++--- scorch.bin | Bin 32768 -> 32768 bytes 3 files changed, 71 insertions(+), 5 deletions(-) diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index cebd9e0..314072b 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -268,4 +268,70 @@ scr32 = @dmactl(narrow|dma|players|missiles|lineX1) _pause = $0d _reset = $0e .ende -*/ \ No newline at end of file +*/ + +.enum @kbcode + _none = 255 + _esc = 28 + _1 = 31 + _2 = 30 + _3 = 26 + _4 = 24 + _5 = 29 + _6 = 27 + _7 = 51 + _8 = 53 + _9 = 48 + _0 = 50 + _lt = 54 + _gt = 55 + _del = 52 + _tab = 44 + _Q = 47 + _W = 46 + _E = 42 + _R = 40 + _T = 45 + _Y = 43 + _U = 11 + _I = 13 + _O = 8 + _P = 10 + _min = 14 + _up = 14 ; cursor function + _eq = 15 + _down = 15 ; cursor function + _ret = 12 + _A = 63 + _S = 62 + _D = 58 + _F = 56 + _G = 61 + _H = 57 + _J = 1 + _K = 5 + _L = 0 + _semicolon = 2 + _plus = 6 + _left = 6 ; cursor function + _asterisk = 7 + _right = 7 ; cursor function + _caps = 60 + _Z = 23 + _X = 22 + _C = 18 + _V = 16 + _B = 21 + _N = 36 + _M = 37 + _comma = 32 + _dot = 34 + _slash = 38 + _atari = 39 + _help = 17 + _F1 = 3 + _F2 = 4 + _F3 = 19 + _F4 = 20 + _space = 33 +.ende \ No newline at end of file diff --git a/scorch.asm b/scorch.asm index abdae63..dc52539 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800 ;5200 ; or 800 +.def TARGET = 800; 5200 ; or 800 ;atari800 -5200 -cart ${outputFilePath} -cart-type 4 ;atari800 -run ${outputFilePath} ;--------------------------------------------------- @@ -135,7 +135,7 @@ OPT h-f+ icl 'lib/5200SYS.ASM' icl 'lib/5200MACRO.ASM' - .enum @kbcode +/* .enum @kbcode /* _0 _1 @@ -153,7 +153,7 @@ _pause = $0d _reset = $0e */ - _space = $00 +/* _space = $00 _Y = $01 _up = $02 _O = $03 @@ -169,7 +169,7 @@ _S = $0e _del = $0e ; not used in 5200 - .ende + .ende */ .ELSE icl 'lib/ATARISYS.ASM' icl 'lib/MACRO.ASM' diff --git a/scorch.bin b/scorch.bin index f1148f672e673ef7b37d2b1cde9138ac903356b5..8a4098f449bdbd0ae5e0eda24a079ed42d49f7fb 100644 GIT binary patch delta 353 zcmZo@U}|V!+7QaiD6=_?cRMR1&t^X1hg@157kCu3D^#uuoL=eBdNtvs%moeze|N%3 z`wN^3dz%zi-zYN-N={-R3U230$IZs~#nsWc!eNlKq47NyW|j zn$MU+_%8^(Q{i8$!he$U!t<3Jy(;`ZoVh3YF7TdH;TO2Jk^w5fc0q8R3je(tp1n0Z z0{j2f@PJgYUl0Zg0y#jzldKn30Hr~~JexChb(myjKGXs&t31hbfiVH-Y>|`vAB@4S zR4Y2kzIl`WR~8u_peqeaPwIRy06IwrsM-ps$PK7C>ZHl$!zPQF8MQa3TSzH#u>b%6 OpY1DW~n$bb;CDb==7gAf*+5vK2^iCTQB9Wcm Date: Sat, 8 Oct 2022 01:18:10 -0400 Subject: [PATCH 29/33] minor style improv --- scorch.asm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/scorch.asm b/scorch.asm index dc52539..526bf0a 100644 --- a/scorch.asm +++ b/scorch.asm @@ -115,7 +115,6 @@ .zpvar HowToDraw .byte .zpvar gravity .byte .zpvar LineLength .word - ;.zpvar LineAddress4x4 .word .zpvar tracerflag .byte .zpvar isInventory .byte .zpvar DifficultyLevel .byte @@ -132,7 +131,7 @@ ; libraries ;----------------------------------------------- .IF TARGET = 5200 - OPT h-f+ + OPT h-f+ ; no headers, single block --> cart bin file icl 'lib/5200SYS.ASM' icl 'lib/5200MACRO.ASM' /* .enum @kbcode @@ -184,7 +183,6 @@ ; Game loading address ORG $4000 - ;opt f+ ; single block WeaponFont ins 'artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt' @@ -226,15 +224,15 @@ FirstSTART ; one time zero variables in RAM (non zero page) lda #0 ldy #OneTimeZeroVariablesCount-1 -@ sta OneTimeZeroVariables,y - dey +@ sta OneTimeZeroVariables,y + dey bpl @- ; initialize variables in RAM (non zero page) ldy #initialvaluesCount-1 -@ lda initialvaluesStart,y - sta variablesToInitialize,y - dey +@ lda initialvaluesStart,y + sta variablesToInitialize,y + dey bpl @- From 443b62e9e6e69aea9f926aea762473d1c9f05c85 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 8 Oct 2022 02:04:20 -0400 Subject: [PATCH 30/33] a bit better 5200 keyboard but still not good... --- grafproc.asm | 32 ++++++++++++++++++++++ lib/5200SYS.ASM | 71 ++---------------------------------------------- scorch.asm | 64 +++++++++++++++---------------------------- scorch.xex | Bin 48558 -> 32768 bytes 4 files changed, 57 insertions(+), 110 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index f981821..1f42fcd 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2181,5 +2181,37 @@ ybarrel rts .endp +;-------------------------------------------------- +.proc PMoutofScreen +;-------------------------------------------------- + lda #$00 ; let all P/M disappear + :8 sta hposp0+# + rts +.endp +;-------------------------------------------------- +.proc ColorsOfSprites + lda TankColoursTable ; colours of sprites under tanks + sta PCOLR0 + lda TankColoursTable+1 + sta PCOLR1 + lda TankColoursTable+2 + sta PCOLR2 + lda TankColoursTable+3 + sta PCOLR3 + LDA TankColoursTable+4 + STA COLOR3 ; joined missiles (5th tank) + rts +.endp +;-------------------------------------------------- +.proc SetPMWidth + lda #$00 + sta sizep0 ; P0-P3 widths + sta sizep0+1 + sta sizep0+2 + sta sizep0+3 + lda #%01010101 + sta sizem ; all missiles, double width + rts +.endp .endif \ No newline at end of file diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM index 314072b..0ad696b 100644 --- a/lib/5200SYS.ASM +++ b/lib/5200SYS.ASM @@ -37,6 +37,7 @@ STRIG0 = $1a ;There is no strig0 but we will make this the shadow of the TR chbas = $1b ;There is no CHBAS but we will make this the shadow of the CHBASE CONSOL = $1c ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys consol_reset = $07;The constant value representing that no consol key is pressed +kbcode = $1d ;There is no keyboard on the Atari 5200, so replace kbcode h/w reads with a byte variable read based on the keypad keys ; PAGE 2 VIMIRQ EQU $0200 ;IMMED IRQ VECTOR @@ -74,7 +75,7 @@ POT5 EQU POKEY+$05 POT6 EQU POKEY+$06 POT7 EQU POKEY+$07 ALLPOT EQU POKEY+$08 -KBCODE EQU POKEY+$09 +KBCODE_5200 EQU POKEY+$09 RANDOM EQU POKEY+$0a POTGO EQU POKEY+$0b SERIN EQU POKEY+$0d @@ -268,70 +269,4 @@ scr32 = @dmactl(narrow|dma|players|missiles|lineX1) _pause = $0d _reset = $0e .ende -*/ - -.enum @kbcode - _none = 255 - _esc = 28 - _1 = 31 - _2 = 30 - _3 = 26 - _4 = 24 - _5 = 29 - _6 = 27 - _7 = 51 - _8 = 53 - _9 = 48 - _0 = 50 - _lt = 54 - _gt = 55 - _del = 52 - _tab = 44 - _Q = 47 - _W = 46 - _E = 42 - _R = 40 - _T = 45 - _Y = 43 - _U = 11 - _I = 13 - _O = 8 - _P = 10 - _min = 14 - _up = 14 ; cursor function - _eq = 15 - _down = 15 ; cursor function - _ret = 12 - _A = 63 - _S = 62 - _D = 58 - _F = 56 - _G = 61 - _H = 57 - _J = 1 - _K = 5 - _L = 0 - _semicolon = 2 - _plus = 6 - _left = 6 ; cursor function - _asterisk = 7 - _right = 7 ; cursor function - _caps = 60 - _Z = 23 - _X = 22 - _C = 18 - _V = 16 - _B = 21 - _N = 36 - _M = 37 - _comma = 32 - _dot = 34 - _slash = 38 - _atari = 39 - _help = 17 - _F1 = 3 - _F2 = 4 - _F3 = 19 - _F4 = 20 - _space = 33 -.ende \ No newline at end of file +*/ \ No newline at end of file diff --git a/scorch.asm b/scorch.asm index 526bf0a..40bff36 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 800; 5200 ; or 800 +.def TARGET = 5200 ; or 800 ;atari800 -5200 -cart ${outputFilePath} -cart-type 4 ;atari800 -run ${outputFilePath} ;--------------------------------------------------- @@ -134,7 +134,7 @@ OPT h-f+ ; no headers, single block --> cart bin file icl 'lib/5200SYS.ASM' icl 'lib/5200MACRO.ASM' -/* .enum @kbcode + .enum @kbcode /* _0 _1 @@ -152,7 +152,7 @@ _pause = $0d _reset = $0e */ -/* _space = $00 + _space = $00 _Y = $01 _up = $02 _O = $03 @@ -163,10 +163,10 @@ _down = $08 _I = $09 _esc = $0a - _ret = $0b + _ret = $fa ;$0b _M = $0d _S = $0e - _del = $0e ; not used in 5200 + _del = $fe ; not used in 5200 .ende */ .ELSE @@ -262,6 +262,7 @@ FirstSTART .IF TARGET = 5200 mva #$0f STICK0 mva #$04 CONSOL5200 ;Speaker off, Pots enabled, port #1 selected + mwa #kb_continue VKEYCNT ;Keyboard handler .ENDIF VMAIN VBLinterrupt,7 ;jsr SetVBL @@ -1003,27 +1004,6 @@ B0 DEY sta MaxForceTableL,x rts .endp -;-------------------------------------------------- -.proc PMoutofScreen -;-------------------------------------------------- - lda #$00 ; let all P/M disappear - :8 sta hposp0+# - rts -.endp -;-------------------------------------------------- -.proc ColorsOfSprites - lda TankColoursTable ; colours of sprites under tanks - sta PCOLR0 - lda TankColoursTable+1 - sta PCOLR1 - lda TankColoursTable+2 - sta PCOLR2 - lda TankColoursTable+3 - sta PCOLR3 - LDA TankColoursTable+4 - STA COLOR3 ; joined missiles (5th tank) - rts -.endp ;-------------------------------------------------- .proc WeaponCleanup; @@ -1125,17 +1105,6 @@ MakeTanksVisible rts .endp ;-------------------------------------------------- -.proc SetPMWidth - lda #$00 - sta sizep0 ; P0-P3 widths - sta sizep0+1 - sta sizep0+2 - sta sizep0+3 - lda #%01010101 - sta sizem ; all missiles, double width - rts -.endp -;-------------------------------------------------- .proc DLIinterruptGraph ;sta dliA ;sty dliY @@ -1313,6 +1282,17 @@ exitVBL jmp XITVBV .ENDIF .endp + .IF TARGET = 5200 +.proc kb_continue + sta kbcode ;Store key code in shadow. +exit pla + tay + pla + tax + pla + rti +.endp + .ENDIF ;---------------------------------------------- .proc RandomizeSequence0 ldx #0 @@ -1787,15 +1767,15 @@ noingame rts .endp ;---------------------------------------------- - icl 'weapons.asm' + icl 'constants.asm' ;---------------------------------------------- icl 'textproc.asm' ;---------------------------------------------- icl 'grafproc.asm' ;---------------------------------------------- - icl 'ai.asm' + icl 'weapons.asm' ;---------------------------------------------- - icl 'constants.asm' + icl 'ai.asm' ;---------------------------------------------- icl 'artwork/talk.asm' ;---------------------------------------------- @@ -1823,8 +1803,8 @@ font4x4 org ROM_SETTINGS ; 5200 ROM settings address $bfe8 ; "01234567890123456789" .byte " scorch 5200 v" ;20 characters title - build ; " " - .byte " " + build ; " " + .byte " " .byte "7A" ;2 characters year .. 1900 + $7A = 2020 .word FirstSTART .ELSE diff --git a/scorch.xex b/scorch.xex index 1d22ef57b0adc18118ff4e9653dd6bb992a16b7c..e7d23f81a0ac7917800f9d9be040433ae83f4861 100644 GIT binary patch delta 9424 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 Date: Sat, 8 Oct 2022 02:05:11 -0400 Subject: [PATCH 31/33] 800 recompile --- scorch.asm | 2 +- scorch.xex | Bin 32768 -> 48558 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index 40bff36..8cf259c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -6,7 +6,7 @@ ;Miami & Warsaw 2022 ;--------------------------------------------------- -.def TARGET = 5200 ; or 800 +.def TARGET = 800 ;5200 ; or 800 ;atari800 -5200 -cart ${outputFilePath} -cart-type 4 ;atari800 -run ${outputFilePath} ;--------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index e7d23f81a0ac7917800f9d9be040433ae83f4861..751c8012aba9b1f578fb1adf59982cf094ba5b1d 100644 GIT binary patch delta 24405 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 delta 9126 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 LM#~ Date: Sat, 8 Oct 2022 09:17:12 -0400 Subject: [PATCH 32/33] 5200 bin --- scorch.bin | Bin 32768 -> 32768 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/scorch.bin b/scorch.bin index 8a4098f449bdbd0ae5e0eda24a079ed42d49f7fb..e7d23f81a0ac7917800f9d9be040433ae83f4861 100644 GIT binary patch delta 8728 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 delta 8438 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 Date: Sun, 16 Oct 2022 23:29:04 -0400 Subject: [PATCH 33/33] 5200 keyboard OK-ish --- scorch.asm | 26 ++++++++++++++++---------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 48558 -> 48562 bytes 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/scorch.asm b/scorch.asm index 8cf259c..c6adf6b 100644 --- a/scorch.asm +++ b/scorch.asm @@ -15,7 +15,7 @@ ;--------------------------------------------------- .macro build - dta d"1.15" ; number of this build (4 bytes) + dta d"1.16" ; number of this build (4 bytes) .endm .macro RMTSong @@ -154,19 +154,20 @@ */ _space = $00 _Y = $01 - _up = $02 + _up = $f2 ;02 _O = $03 - _left = $04 + _left = $f4 ;04 _tab = $05 - _right = $06 + _right = $f6 ;06 _A = $07 - _down = $08 + _down = $f8 ;08 _I = $09 _esc = $0a - _ret = $fa ;$0b + _ret = $fb ;$0b ;not used in 5200 + _del = $fc ;$0c ;not used in 5200 _M = $0d _S = $0e - _del = $fe ; not used in 5200 + _none = $0f .ende */ .ELSE @@ -1270,7 +1271,10 @@ exitVBL lda skstat ;Reset consol key shadow is no key is pressed anymore and #4 - seq:mva #consol_reset consol + beq @+ + mva #consol_reset consol + mva #@kbcode._none kbcode +@ pla tay @@ -1568,14 +1572,16 @@ SetRandomWalls beq checkJoyGetKey ; key not pressed, check Joy cmp #$f7 ; SHIFT beq checkJoyGetKey - + .ENDIF lda kbcode + cmp #@kbcode._none + beq checkJoyGetKey and #$3f ;CTRL and SHIFT ellimination cmp #@kbcode._esc ; 28 ; ESC bne getkeyend mvx #$80 escFlag bne getkeyend - .ENDIF + checkJoyGetKey ;------------JOY------------- ;happy happy joy joy diff --git a/scorch.bin b/scorch.bin index e7d23f81a0ac7917800f9d9be040433ae83f4861..44756d49ce6314db28270f11484547eabfb27dea 100644 GIT binary patch delta 7596 zcmZ`e3s@6Z)=a`PhRi5YK?H6T5F`qUA}T6YbWsKo0xG^5H6XOuh#C}u<)MREi3P7H zVzZmF3^EufsQuUcYm~Oi686`P|7z{7k8OQW*{YjbU+hEn%mmR|7x-rGJ?Gr>ntRVZ z=TK52Dk%}Q-F78LoVeq9UQ7k4I49%m!?UCn)IW^A=5yFAiSt~g;z-7abJhoRaCulV zBr0W<3dO8ML8`zj5f9O+b&k;;^kFh$Q_#F6D15a8bO}vQLMj@4O9SP(C1QF8%{ehz zl$?UL<}wsF1OX@81~gQK_YdI$f>dZhHa#QZ;YkYCbHf=U>L{es6F66%?g?HYjU911 z*^n&nrn&)xOq-A*4_(-V%5a->l;<`TI$MCQ6{2Z*r~qG;{(@MA13Z0-3o|)_IohbT z^r#pal5RvL?_2Vu_R)x~Y1G054NqbHtP-0T-O6OI*av2R*2wpC+O&gy;Nf&dG3`47@^}S3ev}qSZCP_+~PRiuR0c&1c=-g&@8>8hhyh;f;M;7H0n2v@P;iIw&x7!6A!H=WJzk56>

_}4%C4sQo+8@ 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 KP9qgfi~a-o&E`3c%&-6 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 Xc*ooPu;J9kjeCbXjS!6tXk7Tea`gn- diff --git a/scorch.xex b/scorch.xex index 751c8012aba9b1f578fb1adf59982cf094ba5b1d..b1aa435b3881c908f969c6dbeb0e3b2f4d2bc184 100644 GIT binary patch delta 7441 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 delta 7317 zcmZ`e3s@6Z)|n8V24>WV0R%5E3yO-5D&4KEZS9J6d_Z7*Yg7`UN+W8JP$Lf+1SJ%_ zqC6VSvJNtsups{3W^1gr%J0zPrmn8--wvA4h%lQao)A4Kb<_7+@4fSqB zOLLKT4*CE$%nJ>iqC)?98!3%wV=n5zAI(c9cH<%QLkf;)If6Odq;oW?Or28nYBqXr zy(3rd3P(THH0fZ1+EQ%(=lM}iFEn%=d(lOx>4o#q!BljoRGe`V<_mO03mlG;e3VPU zBUb=F&KZKHRMUT-hy29n?rKhAK1#-1q|T^sM3bng1~~VmkZ9(|<%e`4i+nBXa7CcG zM#Sf`I;N<}+EuD^tR!7t==_#0>gT4SQl0gE(&^Krt2JB62dnVa`SZr6s;1?b<}0iV z6x@B-O}-XJz+-EP4&B?tZe?@=M%ZUQUb^a*-yT z6ikUDQewl7sjO#J-+yl!>8wyX``*oL&YYRdNnmO_+p#ib1M&Qin}A_6*v^8wbI@-a zVAPDhOGR!td*SO8g)6AaXCOsEe~{86K2bNmpQ?Z1V5*Hg&);_q=Wn@4Fm3$HVBArS zg{2pr!L~eUJjs(TpJw|{i=Do<5~=e%CvQ}iTGZ$uZdbiR1mT}m&&xp2cO407ulr5w z-3a^8bF-LSj$*cQh{@w_GX^e_$wyOET(2on%FQuNl5#JZCQ1<~DHXo55+7b3G5y~v z(@weVuF6y<=X@9|sQ$oXwt|;{{n4TnbBdyix`jG&G8rrAA48%>d~bR9bC;L#LC(N) zF(ma*5ljQX$2qh$hV0oUcWjeW9}aAj)0gqg6~Ssi$(>&GoaI1d-6lVKw!~^R${Qti zUS*y_+Rv%XXyRksx-wJ--oFojx-u4Y zqc2@-4)2{z%vVy;k9E*#E|a0u|wRZ|rcG+Z&0$tjquMoDE0Re6L$)9{j2i0WNk zasoxHK`Y_pQeN~yT)rx7yw_^p7u54w?L23*QPhym6VynHq~rvhu@Z(dVaT31bFEFv zT%$AaXRCsV419f6Bs>Gu5sAbapo4u2d3Uk=}sT}6!Pnm^fmygElQ58&a^~uRCT73&CCjB3~W}Ggvp0BObgO!n)CuVWDr~e zV8`Ng<_Magv4n84>P)&HcdL~PhNUs}c4ZpVa7f=?FNjlHMsSkq%(Ewv^ERtTr)roM zffez9mB`$2J>3F4K#N?9mydo-ZW(o3$?CI$@YK~4h=q9V>KBP=*s^*i(T*>#PAd3b zt&X{pn3Z6o68#RHuy3d6kk#-$KsD)_lN?jX+a>AX7>@De?ZxTf8x>aSWP~%s7I2=Q zQYA;JDq=Jr;kwoA^nr2YxMqj2YlpCFWqZA$Exo#)dYpd%;yAEF|2nrMhHR&L9 zNa4fPuZbX>*uG|*^4MbYBJv@N_WGoLqPm_w*l}-76p`qTieYO-m+I58x-(X1zZ%>K zoF!MzT)ke}!WDVWn@)pdcz#CQq;(l?4*yY_t{U>pRBX&t^D`l>Ty#B49 zljy2!rRe2r#gj1{AI_MfUB0&ODtndpcgkSfSCLEu=uUu8GS2V8oV}{d@?wCf%9p*G z)bIZgp41O;3ZTlYK`8Js3n4_#n)#5bUr})ey&TWfOeNy5UNeqZhySDrCSvjXnx%@^ zC3O{%6|kk^j7C3)B#qHK{P7s=3q%T5Ye&K}Pdg?sWl7y%s4}Y8_7|!<1s~CV`C@7J)>o>RBZS2#KjndT}SV^|ZdxDGES7a)v2iPir&SHWy$bAO~2OddpJ2C?{~ zb>j#Y-&hw{(4VhlFJ;M?OI6ao&u`=@=x?=ZPR6vcZOlK>!YsB;3CK3C1Oiru2q$@6U`acqmE#G!c4I z(jeDoaC}JIiJd*2yPZ{Pv?yDYKkG@gY{#f>M(!HJ;NNEj6zDWuIS7|OrKT%VtOGdh zGq=VOrUdd)ORN>GCIzJzJ#)d6v`PIy+hoP3v!)Ug@a?SMWk0U(+N^VLD-r|PHj$A2 zYo=gt?uEyB)0ec|*r!3sPl1H`!Cj!dvK~FZ9)h#w&0yJdBV?w(y*Y_!#6P?l?teKe zGucA4I8yPj^%GSPlqHM-j@>pAf>$od91%jya0o=XSrF0RTk9Y)ciMFLI zsn%yUpA}T`qR-;J>!ZSyszz^g@69giPNO#z9A`;Bxh+u4=H2+S^>HuWdlM2o)HYE6 z1V9~PM<-I9N1^b7ZL1;v1R(QS65f(ykSc|DeEfjY7?EZ^PC8=n^Bcwx%kc6IA;cn_ zyMZ2?vYvC9%t2hD=|GUWNq5{z+OMaZjt4ocq!?Sd6A(*+KpP$Y0TwB+Pxj>C85_WU zPsUaSo}Y~f9oA)!gJ(l_>QJ2qJc((6ts6K}WHFE(4Bv9ZTdx4cqPN0{xmf>JE#ZrU zbdw<-zoLsK)?#Ci z&>md4adOB39nu*3b~vSdC2Yx=T}~Oh<4n2Bi*CiAY@|b9-`KZV$ue1f48!hr$rA&T zt}*>GW;Z~V>)N@1dSny?YLIKXxU@^5@sE+Ok&%wZDumqqcGRN+$N(K zt<9Sfkl30N=~=S*i6s^PZOPr7B}52L-;@&%X&>q{R+ro;Db>OE?9(;rpyK#7lM#x~ zX806PX*$O^n(sq$v1hZBnRKHb5PWwxLf9Y%?f%U=t8Gg%BEVPN~6{`b#y=dexj1l0Ed zTLcT({3vGvm?3@}SWF2eh8FUk9<|^(xzWT#oSpl!&w$?IYe)EKu6Bg5nD>GbAYcoW z-NITg`WHNYYY6cRp1n1~&&?A`?(D6v`4|oDnKOps_qL9gT66Hcyl91l(SldC7+gav z5>{JXRIR5KcvN22s1}1W9DL<4G8!zBc0HqQ*TY___3+J%_)mF>a9Gag%^`N;QHJTn z5}am8BEH5Z!%8UUelWZm6UkJ7XEH3BjaM39 z9oCx0*jbieR^`ndOS;CkI9l;hV=VCx{JAj>z5%g)Qpme1(@Ck#tTLUF+775pA4zQo zRi=-nHVdA+J+xpy-0~p$1hhC-8Iv6=jmhc*M$UN5_@S}OIDPxH?Va0;3UGnhXf_@y zJW_bHa9y#!*k1T?VRzxx!rO(v6%8+rFMhdrPO++ZNAZecvvF^+n)7BX+z_UfUb;gZ z4s{P@01bIKj1Y%`4=B*m9f-#_w}%F&?ShNoOAx|Z(a;(JjaGP2!$njO7dVKbSK#>t zu>nJCM4DV=#m0g#A{Eya#HHf3~>}^6s^)|OW+#cO2bRA3cSE%KuyynT=?Kf0bC>|g5m;AUy+dS zza(j@2rem)LcN{|^%bEwu6R_)l_EhEnOhaxS8&dx0Re&tyrMXa*n|zm(}`BxUOZ*! zm7>g+F6zp;uSg(+Z23C=wHOtAV&H~>M8Bu@@i_FsJ|2g9dv+&x>l9hS1rLr!4~}NI zN5>hkf`#+I|HnNG@gQLu2FL-^eG+UUq3Ael+d&gG_|A?u;Q4w<)a*Tb!Hv8v8R+1A zwcGL>oa)oMKCX{rxihU*KSM4!e7%$tVIt&L;ox(HrYI6Fzd}OrqJwd32?CCPFPTaQ zm!L1_pOk>>9Gvf1L^{KOT*xVF&6C z8ZTfXhYFh!1Up5+Y7~l#m{9RZ28q0?}Cf>`TYat4Agu``_r#fx^D z!;J>peNgk9ggSShv`Hvl;`9ax4@%OL@zAo^0B8U~PY7BZ-{F~Mih{Z2V)Ftlb89Dm zOMD3}j1PG~ryTl2a82ssW-=Gm(9-a8&;O?8Uv~NB&^3y6F6 zl8Il5i&!&U+u-`ehqOh&H?V+b{J06)Ktfe<-zCs;9Z)cew1ap+CiTkz%*(1CCwY=x zfyfV-!pycu%S3}_w+jYsi|0q7;U=_R>m1_pqUc>DCC3wNr8EBv&! z+t8|m_MOv&<+flBxf@C-)7{ja+kKxQ0J9X-Cq2oz6ZgjF12 zj-wi7f>g2PATYsyGDUa;4%Qm0m9l&-WZAlE(;x0_0=E;w6)=M0)0{$@SCZxo61ucP zBd{aK9lIcaLj&t{W8R_DD8IU^i@FU5RG4w;%o%8>ZrBqkE2}}D;_5w$g4{elqDs~; zcS^ZoCVvXbHw#w>cNb^_aBJLm_9V!?{c^a~UxJP?h&Di})9p`HP4Vo8HSpe5;FA!l zqr|GP=PcQ0fNhG105OV*IQk^Cl-*PhMBo@ajQ9di$591*E^r^sSRhRE3TMRk-20ww zsC3CmPtQcHoV>)}!<8h>7k2{WtC?PL+(Fj9h~o*THxzXI)V3i5$AN6%Ba*(c2P$+6Hw+G`5M&_)ewRwm+5>D{uRX#7 z$L)=rG7XEgjZe`2H{Cc1`T}p;JBldBb$e$K-MD9Of}%TzF2Y?D6n#*U2x&?1>WG@x z#(;2l$vgnpS#culGLGFctp}k0yA0xTXYrJYiqm=%Y2J_enL}U0wc=8NJ2c znHv1b(@?{``{L>7eaZHyeaRMYJ5;lJJ5;l|f5_G9gfAHBIBbz+~|(E)HP_p@$QC=Ju_#M*G;6rNW*9g0MzHj)&(e6sH zGX^Yb`)9~G(1pTvP4X)$(`JQct4Xi0U&XK2FOd1y!_}jIAIfruX&|lWu7vrJt#up5JSbJN#GDpv^t&&1#Rxeyzh!f%McNH+=f3qS%MC8Go$ZnCk0lz4O! zIJ@bf+7%c|Mtfjt3-UN$$JKZH{R(d08IXsd*Vb(=soH;_?bM}jiJ