.text #include "hwregs.h" #include "z80.inc" .globl pad_init pad_init: move.b #IO_BIT_TH, %d0 move.b %d0, IO_CTL1_PORT move.b %d0, IO_DATA1_PORT move.b %d0, IO_CTL2_PORT move.b %d0, IO_DATA2_PORT move.b %d0, IO_CTL3_PORT move.b %d0, IO_DATA3_PORT rts .globl pad_read pad_read: | Z80 busreq to avoid messing up its wait states (bulletin #4) z80_grab_wait move.l 4(%sp), %d0 lsl.l #1, %d0 add.l #IO_DATA1_PORT, %d0 move.l %d0, %a0 move.b #IO_BIT_TH, (%a0) clr.l %d0 nop move.b (%a0), %d0 move.b #0, (%a0) and.b #0x3f, %d0 move.b (%a0), %d1 lsl.b #2, %d1 and.b #0xc0, %d1 or.b %d1, %d0 not.b %d0 z80_release rts .bss .globl bnstate .globl bndiff bnstate: .word 0 bndiff: .word 0 | vi:ft=gas68k: