prog8/examples/rasterbars.p8

42 lines
761 B
Plaintext
Raw Normal View History

2019-01-12 00:59:32 +00:00
%import c64utils
%import c64lib
2019-01-12 00:59:32 +00:00
~ main {
sub start() {
c64.SCROLY &= %11101111 ; blank the screen
2019-01-12 00:59:32 +00:00
c64utils.set_rasterirq_excl(40)
while(true) {
}
2019-01-12 00:59:32 +00:00
}
}
~ irq {
const ubyte barheight = 4
ubyte[] colors = [6,2,4,5,15,7,1,13,3,12,8,11,9]
ubyte color = 0
2019-01-12 00:59:32 +00:00
ubyte ypos = 0
sub irq() {
Y++ ; slight timing delay to avoid rasterline transition issues
ubyte rasterpos = c64.RASTER
2019-01-12 00:59:32 +00:00
if color!=len(colors) {
c64.EXTCOL = colors[color]
color++
c64.RASTER = rasterpos+barheight
2019-01-12 00:59:32 +00:00
}
else {
ypos += 2
2019-01-12 00:59:32 +00:00
c64.EXTCOL = 0
color = 0
c64.RASTER = sin8u(ypos)/2+40
2019-01-12 00:59:32 +00:00
}
}
}