diff --git a/grafproc.asm b/grafproc.asm index c5c51da..ff18d03 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -2021,7 +2021,7 @@ EndPut4x4 .proc SetMainScreen ; mva #0 dmactls - VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen + SetDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen mwa #dl dlptrs ; issue #72 (glitches when switches) lda #%00111110 ; and #$fc diff --git a/scorch.asm b/scorch.asm index d878199..1808b23 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1849,8 +1849,22 @@ noingame bne @- rts .endp - - +;-------------------------------------------------- +.macro SetDLI +; SetDLI #WORD +; Initialises Display List Interrupts + LDY # <:1 + LDX # >:1 + jsr _SetDLIproc +.endm +.proc _SetDLIproc + LDA #$C0 + STY VDSLST + STX VDSLST+1 + STA NMIEN + rts +.endp +;-------------------------------------------------- /* ;-------------------------------------------------- .macro randomize floor ceiling ;-------------------------------------------------- @@ -1972,7 +1986,10 @@ EndofBFGDLI .endp ; ------------------------ .proc BFGblink - VDLI DLIinterruptBFG + SetDLI DLIinterruptBFG ; blinking on + ldy #50 + jsr PauseYFrames + SetDLI DLIinterruptGraph ; blinking off rts .endp ;-------------------------------------------------- diff --git a/scorch.bin b/scorch.bin index 6bc7136..1ee11c9 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index 62f0b0d..e17c372 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 86baa48..876f354 100644 --- a/textproc.asm +++ b/textproc.asm @@ -33,7 +33,7 @@ mva #$ca COLOR1 mva #$00 COLBAKS ; set color of background - VDLI DLIinterruptOptions ; jsr SetDLI for Options text screen + SetDLI DLIinterruptOptions ; jsr SetDLI for Options text screen ; -------- setup bottom (tanks) line lda NumberOfPlayers @@ -293,7 +293,7 @@ AfterManualPurchase GoToActivation mva #$ff LastWeapon - VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen + SetDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen jsr PMoutofScreen mwa #PurchaseDL dlptrs lda #@dmactl(narrow|dma) ; narrow screen width, DL on, P/M off @@ -1076,7 +1076,7 @@ NoArrowDown mwa #NameDL dlptrs lda #%00110001 ; narrow screen width, DL on, P/M off sta dmactls - VDLI DLIinterruptText ; jsr SetDLI for text (names) screen + SetDLI DLIinterruptText ; jsr SetDLI for text (names) screen mva #0 TankNr sta COLBAKS ; set color of background @@ -2074,7 +2074,7 @@ FinishResultDisplay sta COLBAKS ; set color of background sta CreditsVScrol mva #TextForegroundColor COLOR2 - VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen + SetDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen ; make text and color lines for each tank ldx NumberOfPlayers ;we start from the highest (best) tank dex ;and it is the last one diff --git a/weapons.asm b/weapons.asm index 3e29652..c46be23 100644 --- a/weapons.asm +++ b/weapons.asm @@ -57,10 +57,8 @@ tracer rts .endp .proc BFG - mva #sfx_baby_missile sfx_effect + mva #sfx_plasma_2_2 sfx_effect jsr BFGblink - ;wait 50 - ;VDLI DLIinterruptGraph ; blinking off (but no memory :) ) ; Kill all :) ldx NumberOfPlayers dex