blob: ac46576ff68e3a7a9afc6b9ca354363226916bac [file] [edit]
.program dbi_raw
.side_set 1 opt
; raw serial, nothing special
.wrap_target
out x, 8 side 1
mov pins, x side 0
.wrap
; pixel doubling, "borrowed" from PicoSystem
.program dbi_pixel_double
.side_set 1 opt
.wrap_target
pull side 1 ; fetch two pixels
mov x, osr ; both pixels in x register
out y, 16 ; second pixel in y register
; write first pixel (still in osr)
out pins, 8 side 0
nop side 1
out pins, 8 side 0
; duplicate first pixel
mov osr, x side 1 ; move pixel data back into osr from register x
out null, 16 ; discard second pixel
out pins, 8 side 0
nop side 1
out pins, 8 side 0
; write second pixel
mov osr, y side 1 ; move pixel data back into osr from register y
out null, 16 ; discard the 16-bits of dummy data from the mov
out pins, 8 side 0
nop side 1
out pins, 8 side 0
; duplicate second pixel
mov osr, y side 1 ; move pixel data back into osr from register y
out null, 16 ; discard as above..
out pins, 8 side 0
nop side 1
out pins, 8 side 0
.wrap