added some missing clobbers() specs

This commit is contained in:
Irmen de Jong 2020-12-30 16:59:31 +01:00
parent ee12236d53
commit ddfcf45d40
4 changed files with 11 additions and 16 deletions

View File

@ -306,7 +306,7 @@ sub wait(uword jiffies) {
}
}
asmsub disable_runstop_and_charsetswitch() {
asmsub disable_runstop_and_charsetswitch() clobbers(A) {
%asm {{
lda #$80
sta 657 ; disable charset switching
@ -400,7 +400,7 @@ IRQ_SCRATCH_ZPWORD2 .word 0
}}
}
asmsub restore_irqvec() {
asmsub restore_irqvec() clobbers(A) {
%asm {{
sei
lda #<c64.IRQDFRT

View File

@ -546,8 +546,7 @@ _done
}}
}
; TODO CLOBBERS
asmsub next_pixels(uword pixels @AY, uword amount @R0) {
asmsub next_pixels(uword pixels @AY, uword amount @R0) clobbers(A, Y) {
; -- sets the next bunch of pixels from a prepared array of bytes.
; for 8 bpp screens this will plot 1 pixel per byte.
; for 1 bpp screens it will plot 8 pixels at once (colors are the bit patterns per byte).
@ -578,7 +577,6 @@ _done
}}
}
; TODO CLOBBERS
asmsub set_8_pixels_from_bits(ubyte bits @R0, ubyte oncolor @A, ubyte offcolor @Y) {
; this is only useful in 256 color mode where one pixel equals one byte value.
%asm {{
@ -694,8 +692,7 @@ _done
}
}
; TODO CLOBBERS
asmsub cs_innerloop640() {
asmsub cs_innerloop640() clobbers(Y) {
%asm {{
ldy #80
- stz cx16.VERA_DATA0
@ -712,8 +709,7 @@ _done
}}
}
; TODO CLOBBERS
asmsub addr_mul_320_add_24(uword address @R0, uword value @AY) -> uword @R0, ubyte @R1 {
asmsub addr_mul_320_add_24(uword address @R0, uword value @AY) clobbers(A) -> uword @R0, ubyte @R1 {
%asm {{
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1

View File

@ -128,8 +128,7 @@ graphics {
}
}
; TODO CLOBBERS
inline asmsub plot(uword plotx @R0, uword ploty @R1) {
inline asmsub plot(uword plotx @R0, uword ploty @R1) clobbers(A, X, Y) {
%asm {{
jsr cx16.FB_cursor_position
lda #1

View File

@ -282,7 +282,7 @@ asmsub vpeek(ubyte bank @A, uword address @XY) -> ubyte @A {
}
asmsub vaddr(ubyte bank @A, uword address @R0, ubyte addrsel @R1, byte autoIncrOrDecrByOne @Y) {
asmsub vaddr(ubyte bank @A, uword address @R0, ubyte addrsel @R1, byte autoIncrOrDecrByOne @Y) clobbers(A) {
; -- setup the VERA's data address register 0 or 1
%asm {{
and #1
@ -308,7 +308,7 @@ asmsub vaddr(ubyte bank @A, uword address @R0, ubyte addrsel @R1, byte autoIncrO
}
asmsub vpoke(ubyte bank @A, uword address @R0, ubyte value @Y) {
asmsub vpoke(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers(A) {
; -- write a single byte to VERA's video memory
; note: inefficient when writing multiple sequential bytes!
%asm {{
@ -324,7 +324,7 @@ asmsub vpoke(ubyte bank @A, uword address @R0, ubyte value @Y) {
}}
}
asmsub vpoke_or(ubyte bank @A, uword address @R0, ubyte value @Y) {
asmsub vpoke_or(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers (A) {
; -- or a single byte to the value already in the VERA's video memory at that location
; note: inefficient when writing multiple sequential bytes!
%asm {{
@ -342,7 +342,7 @@ asmsub vpoke_or(ubyte bank @A, uword address @R0, ubyte value @Y) {
}}
}
asmsub vpoke_and(ubyte bank @A, uword address @R0, ubyte value @Y) {
asmsub vpoke_and(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers(A) {
; -- and a single byte to the value already in the VERA's video memory at that location
; note: inefficient when writing multiple sequential bytes!
%asm {{
@ -360,7 +360,7 @@ asmsub vpoke_and(ubyte bank @A, uword address @R0, ubyte value @Y) {
}}
}
asmsub vpoke_xor(ubyte bank @A, uword address @R0, ubyte value @Y) {
asmsub vpoke_xor(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers (A) {
; -- xor a single byte to the value already in the VERA's video memory at that location
; note: inefficient when writing multiple sequential bytes!
%asm {{