From 633b13175b661950def5eef0acff23a61dcc44ef Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Mon, 26 Dec 2022 21:22:32 -0500 Subject: [PATCH] Unrolled loop for faster SHR mode plotting. Thx John Brooks :) --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.shr.s | 43 ++++++++++++++++++++++++------------------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/applecorn.po b/applecorn.po index cea55c0677e0650cd4115b6dd4ba449e61da3530..14e6ef0cbfea9bdc94b2123141daaaea39a0ab5a 100644 GIT binary patch delta 74 zcmZo@FluNp+K|J-Eh5U$@R&himad3sb2&?UISV5YGXXI(5QF%vK+Fcj>_E%`#GF9P N1;pIj%UO6js{tLQ6vO}k delta 74 zcmZo@FluNp+K|J-tuDgQ@R&himae);b2&?UISV5YGXXI(5QF%vK+Fcj>_E%`#GF9P N1;pIj%UO6js{tkj6zBi| diff --git a/auxmem.shr.s b/auxmem.shr.s index 58f65b8..3ddd470 100644 --- a/auxmem.shr.s +++ b/auxmem.shr.s @@ -265,25 +265,30 @@ SHRPRCHAR SEC LDA #$E1 STA VDUBANK2 JSR SHRCHARADDR ; Screen addr in VDUADDR - LDX #$00 ; First row of char -:L1 LDY #$00 - LDA [VDUADDR2] ; Load exploded font data 1st byte - JSR SHRCOLBYTE - STA [VDUADDR] ; Store on screen - INY - INC VDUADDR2+0 ; Increment exploded font ptr - BNE :S1 - INC VDUADDR2+1 -:S1 LDA [VDUADDR2] ; Load exploded font data 2nd byte - JSR SHRCOLBYTE - STA [VDUADDR],Y ; Store on screen - INC VDUADDR2+0 ; Increment exploded font ptr - BNE :S2 - INC VDUADDR2+1 -:S2 JSR SHRNEXTROW ; Add 160 to VDUADDR - INX ; Next row of font - CPX #$08 ; Last row? - BNE :L1 + +* 65816 code contributed by John Brooks follows ... + + PHB ; Save data bank + LDA VDUADDR2+2 ; Push font Bank onto stack + PHA + PLB ; Set data bank to font bank + CLC + XCE + REP #$30 + LDY VDUADDR2 ; Font src ptr + LDX VDUADDR ; SHR dst ptr +SrcFont = $000000 +DstShr = $E10000 + LUP 8 + LDA !SrcFont,Y + STAL DstShr,X +SrcFont = SrcFont+2 +DstShr = DstShr+160 + --^ + PLB + SEC + XCE + MX %11 RTS