From 8a448a6e4b3f0b8bbd2b5d6a0767b679c38b8c04 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 6 Jun 2023 12:57:23 +0200 Subject: [PATCH] Faster clearscreen --- Atari/gr_basics.asm | 21 +++++++++++++++------ Atari/textproc.asm | 7 ++++++- C64/gr_basics.asm | 18 ++++++++++++++++++ scorch.xex | Bin 56333 -> 56332 bytes 4 files changed, 39 insertions(+), 7 deletions(-) diff --git a/Atari/gr_basics.asm b/Atari/gr_basics.asm index f4e9d5e..5bd09ea 100644 --- a/Atari/gr_basics.asm +++ b/Atari/gr_basics.asm @@ -641,13 +641,22 @@ EndPut4x4 ;-------------------------------------------------- .proc ClearScreen ;-------------------------------------------------- - mwa #display temp -Go ldy #0 -@ lda #$ff + ldy #display + sta temp+1 +Go +loop lda #$ff sta (temp),y - inw temp - cpw temp #display+screenheight*screenBytes+1 - bne @- + iny + bne @+ + inc temp+1 +@ cpy #<(display+screenheight*screenBytes+1) + bne loop + lda temp+1 + cmp #>(display+screenheight*screenBytes+1) + bne loop rts .endp diff --git a/Atari/textproc.asm b/Atari/textproc.asm index 8ca3c4c..ec2fc6e 100644 --- a/Atari/textproc.asm +++ b/Atari/textproc.asm @@ -16,7 +16,12 @@ ; - money each player has on the beginning of the game (moneyL i moneyH) ; - and I am sure maxwind, gravity, no_of_rounds in a game, speed of shell flight - mwa #(display+40*140) temp ; we only need to clear last 60 lines (faster) + ; we only need to clear last 60 lines (faster) + ldy #<(display+40*140) + lda #0 + sta temp + lda #>(display+40*140) + sta temp+1 jsr clearscreen.Go ;let the screen be clean ; jsr clearscreen ;let the screen be clean diff --git a/C64/gr_basics.asm b/C64/gr_basics.asm index 03465f8..a95d2f7 100644 --- a/C64/gr_basics.asm +++ b/C64/gr_basics.asm @@ -598,6 +598,24 @@ EndPut4x4 cpw temp #displayC64+screenheight*screenBytes+1 bne @- rts + + ldy #displayC64 + sta temp+1 +Go +loop lda #$ff + sta (temp),y + iny + bne @+ + inc temp+1 +@ cpy #<(displayC64+screenheight*screenBytes+1) + bne loop + lda temp+1 + cmp #>(displayC64+screenheight*screenBytes+1) + bne loop + rts .endp ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 45befe36dea04c79105083336ac1fc5ff3fc847e..00371694d7d8563497ae58a8b361d32ff7e68f51 100644 GIT binary patch delta 5934 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 My&rd1_3s<|{|q)sp8x;= delta 5739 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