1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-21 02:24:34 +00:00
kickc/src/test/ref/clobber-a-problem.asm

46 lines
677 B
NASM

.pc = $801 "Basic"
:BasicUpstart(bbegin)
.pc = $80d "Program"
.label BORDERCOL = $d020
.label RASTER = $d012
.const DARK_GREY = $b
.const BLACK = 0
.label KERNEL_IRQ = $314
.label irq_raster_next = 2
bbegin:
lda #0
sta.z irq_raster_next
jsr main
rts
main: {
lda #<irq
sta KERNEL_IRQ
lda #>irq
sta KERNEL_IRQ+1
rts
}
irq: {
sta rega+1
stx regx+1
lda #DARK_GREY
sta BORDERCOL
lax.z irq_raster_next
axs #-[$15]
stx.z irq_raster_next
// Setup next interrupt
txa
and #7
cmp #0
bne b1
dex
b1:
stx RASTER
lda #BLACK
sta BORDERCOL
rega:
lda #00
regx:
ldx #00
rti
}