blit.s: more routines for full screen image presents, SCBs, and palettes. import a macros file, to try and get ORCA lup to work

This commit is contained in:
dwsJason 2018-08-31 23:24:12 -04:00
parent 4721fc2336
commit b36cab1c12
2 changed files with 125 additions and 0 deletions

View File

@ -8,9 +8,133 @@
longa on
longi on
mcopy asm:unroll.macros
Dummy5 start BLITCODE
end
PresentPalette start BLITCODE
phb
phk
plb
tsc
sta stack
tdc
sta dp
*---------------------
clc
lda #$9E00
peiloop anop
tcd
adc #$00FF
tcs
_pushpage
inc a
cmp #$A000
bcs done
jmp peiloop
*---------------------
done anop
lda dp
tcd
lda stack
tcs
plb
rtl
stack ds 2
dp ds 2
end
PresentSCB start BLITCODE
phb
phk
plb
tsc
sta stack
tdc
sta dp
*---------------------
lda #$9D00
tcd
lda #$9DFF
tcs
lcla &ct
&ct seta 128
.loop
&ct seta &ct-1
pei &ct*2
aif &ct,^loop
*---------------------
lda dp
tcd
lda stack
tcs
plb
rtl
stack ds 2
dp ds 2
end
PresentFrameBuffer start BLITCODE
phb
phk
plb
tsc
sta stack
tdc
sta dp
*---------------------
clc
lda #$2000
peiloop anop
tcd
adc #$00FF
tcs
_pushpage
inc a
cmp #$9d00
bcs done
jmp peiloop
*---------------------
done anop
lda dp
tcd
lda stack
tcs
plb
rtl
stack ds 2
dp ds 2
end
*
* void DrawRect(short x, short y, short width, short height)
*

1
asm/unroll.macros Normal file
View File

@ -0,0 +1 @@
MACRO &lab _pushpage &lab lcla &addr &addr seta 254 lcla &loop &loop seta 128 .ploop pei &addr &addr seta &addr-2 &loop seta &loop-1 aif &loop,^ploop MEND macro &lab asl4 &lab lcla &ct &ct seta 4 .top asl a &ct seta &ct-1 aif &ct>0,^top mend