mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-06-12 16:29:29 +00:00
Unrolled loop for faster SHR mode plotting. Thx John Brooks :)
This commit is contained in:
parent
986d8aa1fc
commit
633b13175b
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
43
auxmem.shr.s
43
auxmem.shr.s
|
@ -265,25 +265,30 @@ SHRPRCHAR SEC
|
||||||
LDA #$E1
|
LDA #$E1
|
||||||
STA VDUBANK2
|
STA VDUBANK2
|
||||||
JSR SHRCHARADDR ; Screen addr in VDUADDR
|
JSR SHRCHARADDR ; Screen addr in VDUADDR
|
||||||
LDX #$00 ; First row of char
|
|
||||||
:L1 LDY #$00
|
* 65816 code contributed by John Brooks follows ...
|
||||||
LDA [VDUADDR2] ; Load exploded font data 1st byte
|
|
||||||
JSR SHRCOLBYTE
|
PHB ; Save data bank
|
||||||
STA [VDUADDR] ; Store on screen
|
LDA VDUADDR2+2 ; Push font Bank onto stack
|
||||||
INY
|
PHA
|
||||||
INC VDUADDR2+0 ; Increment exploded font ptr
|
PLB ; Set data bank to font bank
|
||||||
BNE :S1
|
CLC
|
||||||
INC VDUADDR2+1
|
XCE
|
||||||
:S1 LDA [VDUADDR2] ; Load exploded font data 2nd byte
|
REP #$30
|
||||||
JSR SHRCOLBYTE
|
LDY VDUADDR2 ; Font src ptr
|
||||||
STA [VDUADDR],Y ; Store on screen
|
LDX VDUADDR ; SHR dst ptr
|
||||||
INC VDUADDR2+0 ; Increment exploded font ptr
|
SrcFont = $000000
|
||||||
BNE :S2
|
DstShr = $E10000
|
||||||
INC VDUADDR2+1
|
LUP 8
|
||||||
:S2 JSR SHRNEXTROW ; Add 160 to VDUADDR
|
LDA !SrcFont,Y
|
||||||
INX ; Next row of font
|
STAL DstShr,X
|
||||||
CPX #$08 ; Last row?
|
SrcFont = SrcFont+2
|
||||||
BNE :L1
|
DstShr = DstShr+160
|
||||||
|
--^
|
||||||
|
PLB
|
||||||
|
SEC
|
||||||
|
XCE
|
||||||
|
MX %11
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user