8 move.l #def_reg_tab, %a0
14 move.w %d0, VDP_CTL_PORT | VDP_CTL = 0x8000 | (reg << 8) | val
16 cmp.w def_reg_tab_size, %d1
20 | address in d0, type in d1
26 move.l %d0, VDP_CTL_PORT
31 move.l 4(%sp), %d0 | palette number
33 add.l 8(%sp), %d0 | add index
36 move.w 22(%sp), %d0 | blue
38 or.w 18(%sp), %d0 | green
40 or.w 14(%sp), %d0 | red
42 move.w %d0, VDP_DATA_PORT
47 .byte VDP_M1_INIT | 0: mode 1
48 .byte VDP_M2_INIT + VDP_M2_DISP | 1: mode 2
49 .byte VDP_NA_ADDR(0xc000) | 2: scroll A nametable addr.
50 .byte 0 | 3: window nametable addr.
51 .byte VDP_NB_ADDR(0xd000) | 4: scroll B nametable addr.
52 .byte VDP_SPRTAB_ADDR(0xe000) | 5: sprite table addr.
56 .byte 0 | 10: horiz. interrupt interval
58 .byte VDP_M4_H40 | 12: mode 4
59 .byte 0 | 13: hscroll table addr.
61 .byte 2 | 15: autoincrement 2 bytes
62 .byte VDP_SCR_H64 | 16: scroll size (64x32)
63 .byte 0, 0 | 17,18: win x/y pos
64 .byte 0, 0, 0, 0, 0 | 19-23: DMA regs
68 .word def_reg_tab_end - def_reg_tab