.program vga_pixel entrypoint_vga_pixel: 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 irq set 1 mov x, osr vsync_idle: wait irq 0 set pins, 1 jmp x-- vsync_idle .wrap