63 lines
790 B
Plaintext
63 lines
790 B
Plaintext
.program vga_free_run
|
|
|
|
entrypoint_vga_free_run:
|
|
pull
|
|
mov y, osr
|
|
|
|
.wrap_target
|
|
mov x, y
|
|
wait irq 7
|
|
loop:
|
|
out pins, 1 [2]
|
|
jmp x-- loop
|
|
.wrap
|
|
|
|
.program vga_hsync
|
|
|
|
entrypoint_vga_hsync:
|
|
pull
|
|
mov isr, osr
|
|
pull
|
|
|
|
.wrap_target
|
|
set pins, 0 [1]
|
|
irq set 0
|
|
mov x, isr
|
|
hsync_pulse:
|
|
jmp x-- hsync_pulse [3]
|
|
|
|
set pins, 1 [1]
|
|
set y, 27
|
|
hsync_back_porch:
|
|
jmp y-- hsync_back_porch [16]
|
|
irq set 7
|
|
|
|
mov x, osr [3]
|
|
hsync_idle:
|
|
jmp x-- hsync_idle [3]
|
|
.wrap
|
|
|
|
|
|
.program vga_vsync
|
|
|
|
entrypoint_vga_vsync:
|
|
pull
|
|
mov isr, osr
|
|
pull
|
|
|
|
.wrap_target
|
|
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
|
|
.wrap
|