diff --git a/artwork/weapons_AW4.fnt b/artwork/weapons_AW4.fnt deleted file mode 100644 index 4b6ec5e..0000000 Binary files a/artwork/weapons_AW4.fnt and /dev/null differ diff --git a/artwork/weapons_AW5.fnt b/artwork/weapons_AW5.fnt new file mode 100644 index 0000000..6beb32f Binary files /dev/null and b/artwork/weapons_AW5.fnt differ diff --git a/constants.asm b/constants.asm index a4eeb93..c79e863 100644 --- a/constants.asm +++ b/constants.asm @@ -987,5 +987,7 @@ scrcodes dta d"qrstuvwx" dta d"yz123456" dta d"7890." ; "-" +dliColors + :10 .by $02,$00 .endif diff --git a/display.asm b/display.asm index 10dc036..1ebe0ef 100755 --- a/display.asm +++ b/display.asm @@ -55,17 +55,47 @@ dl ; MAIN game display list .byte $4f .word display - :101 .by $0f + :76 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :13 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :8 .by $0f .by $4f .wo display+$0ff0 - :97 .byte $0f ;1+101+1+97 = 200 + :2 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :9 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :8 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :7 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :6 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :5 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :4 .by $0f + .by $0f+$80 ; DLI (black bar) + .by $0f+$80 ; DLI + :3 .by $0f + .by $0f+$80 ; DLI (black to end) + + :34 .byte $0f ;1+101+1+97 = 200 .byte $41 .word dl ;----------------------------------------------- ;Screen displays go first to avoid crossing 4kb barrier ;----------------------------------------------- OptionsScreen - dta d"Welcome to Scorch ver. 137 (un)2000-2022" + dta d"Welcome to Scorch ver. 138 (un)2000-2022" dta d" Please select option with cursor keys " dta d" and press (Return) to proceed " OptionsHere diff --git a/scorch.asm b/scorch.asm index a9c2fcb..1bb0f3b 100644 --- a/scorch.asm +++ b/scorch.asm @@ -66,12 +66,12 @@ .zpvar dx .word .zpvar tempor2 .byte .zpvar dy .word - .zpvar tempor3 .word .zpvar dd .word .zpvar di .word .zpvar dp .word .zpvar modify .word .zpvar weaponPointer .word + .zpvar dliCounter .byte displayposition = modify ;------------------------------- @@ -83,7 +83,7 @@ displayposition = modify ;Game loading address ORG $3000 WeaponFont - ins 'artwork/weapons_AW4.fnt' ; 'artwork/weapons.fnt' + ins 'artwork/weapons_AW5.fnt' ; 'artwork/weapons.fnt' ;----------------------------------------------- ;Screen displays go here to avoid crossing 4kb barrier ;----------------------------------------------- @@ -131,7 +131,7 @@ START ; for the round #1 shooting sequence is random MainGameLoop - + VMAIN VBLinterrupt,6 ; jsr SetVBL VDLI DLIinterrupt ; jsr SetDLI jsr CallPurchaseForEveryTank @@ -613,8 +613,13 @@ PlayerXdeath .proc ; jumping into the middle of the explosion ; routine +MetodOfDeath lda random - and #%00011011 ; range 0-31, no Funkybomb, no leapfrog, no others as well :] + and #%00011111 ; range 0-31 (reduced to 0 - 15 - why??? ) + cmp #4 ; no leapfrog + beq MetodOfDeath + cmp #5 ; no Funkybomb + beq MetodOfDeath jsr ExplosionDirect ; jump to after explosion routines (soil fallout, etc.) @@ -811,12 +816,24 @@ ClearResults DLIinterrupt .proc pha - lda #$02 ; color of playground + phy + ldy dliCounter + lda dliColors,y + ;lda #$02 ; color of playground sta WSYNC sta COLPF2 + inc dliCounter + ply pla rti .endp + +VBLinterrupt .proc + pha + mva #0 dliCounter + pla + jmp SYSVBV +.endp ;---------------------------------------------- RandomizeSequence .proc ; in: NumberOfPlayers diff --git a/scorch.xex b/scorch.xex index 09403d2..7efb916 100644 Binary files a/scorch.xex and b/scorch.xex differ