From 2addb0905e67cfbaac7f03ec727c1dd81925da9d Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 17 Sep 2022 14:16:02 -0400 Subject: [PATCH] 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 ;=====================================================