ceda2vga/src/vga.pio

56 lines
633 B
Plaintext

.program vga_free_run
entrypoint_vga_free_run:
loop:
out pins, 1 [2]
nop
nop
jmp loop
.program vga_hsync
entrypoint_vga_hsync:
pull
mov isr, osr
pull
loop:
nop
irq set 0
mov x, isr
set pins, 0
hsync_pulse:
jmp x-- hsync_pulse
mov x, osr
set pins, 1
hsync_idle:
jmp x-- hsync_idle
nop
jmp loop
.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
jmp loop