diff --git a/Atari/gr_basics.asm b/Atari/gr_basics.asm index 6c8691f..5a75e8e 100644 --- a/Atari/gr_basics.asm +++ b/Atari/gr_basics.asm @@ -463,20 +463,21 @@ Fast ; Put char without coordinates check! ; and 8 bytes to the table ldy #7 + ldx #$ff ; otimization - thanks @Irgendwer CopyChar + txa ; $ff + sta char2,y lda (fontind),y eor #$ff sta char1,y - lda #$ff - sta char2,y dey bpl CopyChar ; and 8 subsequent bytes as a mask adw fontind #8 ldy #7 CopyMask - lda (fontind),y - eor #$ff + txa ; $ff + eor (fontind),y sta mask1,y lda #$00 sta mask2,y diff --git a/C64/gr_basics.asm b/C64/gr_basics.asm index 860ae9d..831d814 100644 --- a/C64/gr_basics.asm +++ b/C64/gr_basics.asm @@ -344,20 +344,21 @@ Fast ; Put char without coordinates check! ; and 8 bytes to the table ldy #7 + ldx #$ff ; otimization - thanks @Irgendwer CopyChar + txa ; $ff + sta char2,y lda (fontind),y eor #$ff sta char1,y - lda #$ff - sta char2,y dey bpl CopyChar ; and 8 subsequent bytes as a mask adw fontind #8 ldy #7 CopyMask - lda (fontind),y - eor #$ff + txa ; $ff + eor (fontind),y sta mask1,y lda #$00 sta mask2,y diff --git a/grafproc.asm b/grafproc.asm index 4d13726..9e9ff81 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -584,11 +584,14 @@ UnequalTanks ;------------------------------------------------- .proc ClearTanks jsr PMoutofScreen - mva #1 Erase ; erase tanks flag + lda #1 ; erase tanks flag + bne drawtanks.era .endp ;------------------------------------------------- .proc drawtanks ;------------------------------------------------- + lda #0 ; no erase tanks flag +era sta Erase lda TankNr pha ldx #$00 @@ -604,7 +607,6 @@ DrawNextTank pla sta TankNr - mva #0 Erase ; no erase tanks flag rts .endp ;--------- diff --git a/scorch.xex b/scorch.xex index db5b702..f5a66ff 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/scorchC64.prg b/scorchC64.prg index 3c65015..917f471 100644 Binary files a/scorchC64.prg and b/scorchC64.prg differ