void mole_write_byte(unsigned short address, unsigned char data) { // Tile RAM if (address >= 0x8000 && address <= 0x83ff) { BankRam[address & 0x3ff] = tile_bank; Rom[address] = data; return; } switch (address) { case 0x0800: // ? case 0x0820: case 0x8c40: case 0x8c80: case 0x8c81: break; case 0x8400: tile_bank = data; break; case 0x8c00: // ay8910_write_port case 0x8c01: // ay8910_control_port AY8910Write(0, ~address & 1, data); break; case 0x8d00: // watchdog break; case 0x8dc0: // flipscreen flipscreen = data & 1; break; } }
static WRITE_HANDLER(ay8910_data_w) { AY8910Write(0,1,data); }
static WRITE_HANDLER(ay8910_ctrl_w) { AY8910Write(0,0,data); }
void AY8910_write_port_0_w(Uint32 offset, Uint32 data) { AY8910Write(1, data); }
void AY8910_control_port_0_w(Uint32 offset, Uint32 data) { AY8910Write(0, data); }
static WRITE_HANDLER(ay8912_1_data_w) { AY8910Write(1,1,data); }
static WRITE_HANDLER(ay8912_1_ctrl_w) { AY8910Write(1,0,data); }