ceda2vga/src/vga.pio

60 lines
697 B
Plaintext

.program vga_free_run
entrypoint_vga_free_run:
pull
mov y, osr
loope:
mov x, y
wait irq 0
loop:
out pins, 1
jmp x-- loop
jmp loope
.program vga_hsync
entrypoint_vga_hsync:
pull
mov isr, osr
pull
loop:
irq set 0 [1]
mov x, isr
set pins, 0
hsync_pulse:
jmp x-- hsync_pulse
mov x, osr
set pins, 1
hsync_idle:
jmp x-- hsync_idle
jmp loop [1]
.program vga_vsync
entrypoint_vga_vsync:
pull
mov isr, osr
pull
loop:
mov x, isr
vsync_pulse:
wait irq 0
set pins, 0
jmp x-- vsync_pulse
mov x, osr
vsync_idle:
wait irq 0
set pins, 1
jmp x-- vsync_idle
irq set 1
jmp loop