diff --git a/constants.asm b/constants.asm index c79e863..d4fff35 100644 --- a/constants.asm +++ b/constants.asm @@ -969,6 +969,8 @@ NamesOfWeapons ;the comment is an index in the tables dta d"Fuel Tank " ; 61 dta d"Contact Trigger " ; 62 dta d"----------------" ; 63 +weaponsOfDeath + dta 0,1,2,3,7,8,9,15,16,17,18,19,20,21,22,23,24,25,26,27 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 diff --git a/display.asm b/display.asm index 1ebe0ef..b3c9515 100755 --- a/display.asm +++ b/display.asm @@ -54,48 +54,51 @@ dl ; MAIN game display list .byte $10 ; 2 blank lines .byte $4f - .word display - :76 .by $0f - .by $0f+$80 ; DLI (black bar) + .word display ; 1 line + :76 .by $0f ;76 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :13 .by $0f - .by $0f+$80 ; DLI (black bar) + :13 .by $0f ;13 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :8 .by $0f - .by $4f + :8 .by $0f ;8 + .by $4f ;1 .wo display+$0ff0 - :2 .by $0f - .by $0f+$80 ; DLI (black bar) + :2 .by $0f ;2 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :9 .by $0f - .by $0f+$80 ; DLI (black bar) + :9 .by $0f ;9 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :8 .by $0f - .by $0f+$80 ; DLI (black bar) + :8 .by $0f ;8 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :7 .by $0f - .by $0f+$80 ; DLI (black bar) + :7 .by $0f ;7 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :6 .by $0f - .by $0f+$80 ; DLI (black bar) + :6 .by $0f ;6 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :5 .by $0f - .by $0f+$80 ; DLI (black bar) + :5 .by $0f ;5 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :4 .by $0f - .by $0f+$80 ; DLI (black bar) + :4 .by $0f ;4 + .by $0f+$80 ; DLI (black bar) ;2 .by $0f+$80 ; DLI - :3 .by $0f - .by $0f+$80 ; DLI (black to end) - - :34 .byte $0f ;1+101+1+97 = 200 + :3 .by $0f ;3 + .by $0f+$80 ; DLI (black to end);1 + :38 .byte $0f ;35 ..... = 200 + .by $4f + .wo LastLine ; additional line of ground .byte $41 .word dl ;----------------------------------------------- ;Screen displays go first to avoid crossing 4kb barrier ;----------------------------------------------- OptionsScreen - dta d"Welcome to Scorch ver. 138 (un)2000-2022" + dta d"Welcome to Scorch ver. " + build ; 3 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 " OptionsHere @@ -156,6 +159,8 @@ WeaponsDescription dta d" - Finish " EmptyLine dta d" " +LastLine + :40 dta $ff ;----------------------------------------------- textbuffer ; 0123456789012345678901234567890123456789 diff --git a/scorch.asm b/scorch.asm index 1bb0f3b..2d3c104 100644 --- a/scorch.asm +++ b/scorch.asm @@ -35,6 +35,10 @@ ;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 +.macro build + dta d"138" ; number of this build (3 bytes) +.endm + icl 'definitions.asm' @@ -616,11 +620,11 @@ PlayerXdeath .proc MetodOfDeath lda random and #%00011111 ; range 0-31 (reduced to 0 - 15 - why??? ) - cmp #4 ; no leapfrog - beq MetodOfDeath - cmp #5 ; no Funkybomb - beq MetodOfDeath - jsr ExplosionDirect + cmp #19 ; we have 19 weapons in table + bcs MetodOfDeath + tay + lda weaponsOfDeath,y + jsr ExplosionDirect ; jump to after explosion routines (soil fallout, etc.) ; After going through these routines we are back diff --git a/scorch.xex b/scorch.xex index 7efb916..e0368ff 100644 Binary files a/scorch.xex and b/scorch.xex differ