.list push off BUS_RESET = 0xa05f6c8c BUS_RESET_VALUE = 0x6155404f BUS_RESET2 = 0xa05f6c10 BUS_RESET2_VALUE = 0 BUS_DMAADDR = 0xa05f6c04 BUS_ENABLE = 0xa05f6c14 BUS_ENABLE_VALUE = 1 BUS_STATE = 0xa05f6c18 BUS_STATE_GO = 1 BUS_STATE_RUNNING = 1 BUS_SPEED = 0xa05f6c80 DMA_ADDRMASK = 0x1fffffe0 SPEED_TIMEOUT_SHIFT = 16 SPEED_2MBPS = 0 CMD_DEVINFO = 1 CMD_EXTINFO = 2 CMD_RESET = 3 CMD_SHUTDOWN = 4 RESP_DEVINFO = 5 RESP_EXTINFO = 6 RESP_ACK = 7 RESP_DATA = 8 CMD_GETCOND = 9 CMD_GETMEMINFO = 10 CMD_BLOCKREAD = 11 CMD_BLOCKWRITE = 12 CMD_SETCOND = 14 ERR_NORESP = [256-1] ERR_FUNCUNSUPP = [256-2] ERR_UNKCMD = [256-3] ERR_SENDAGAIN = [256-4] ERR_FILEERR = [256-5] XDESC_LAST = 0x80000000 XDESC_PORTSHIFT = 16 XDESC_GUN = 0x00000200 XDESC_LENSHIFT = 0 FRAME_CRSHIFT = 24 FRAME_RSHIFT = 16 FRAME_SSHIFT = 8 FRAME_LENSHIFT = 0 ADDR_PORTSHIFT = 6 ADDR_MAIN = 0x20 ADDR_SUB5 = 0x10 ADDR_SUB4 = 0x08 ADDR_SUB3 = 0x04 ADDR_SUB2 = 0x02 ADDR_SUB1 = 0x01 FUNC_CONTROLLER = 0x001 FUNC_MEMORY = 0x002 FUNC_LCD = 0x004 FUNC_CLOCK = 0x008 FUNC_MICROPHONE = 0x010 FUNC_AR_GUN = 0x020 FUNC_KEYBOARD = 0x040 FUNC_LIGHT_GUN = 0x080 FUNC_RUMBLE = 0x100 FUNC_MOUSE = 0x200 .macro MapleFrame cr, rport, rbits, sport, sbits, len .long @BSL[ [[$(cr)] << FRAME_CRSHIFT] | [[[[$(rport)] << ADDR_PORTSHIFT] | [$(rbits)]] << FRAME_RSHIFT] | [[[[$(sport)] << ADDR_PORTSHIFT] | [$(sbits)]] << FRAME_SSHIFT] | [[$(len)] << FRAME_LENSHIFT] ] .endm .list pop