void starfire_output_w(int address, int data) { starfire_ram[address & 0x3ff] = data; switch(address & 0xf) { case 0: starfire_vidctrl_w(0, data); break; case 1: starfire_vidctrl1_w(0, data); break; case 2: /* Sounds */ break; } }
void fireone_output_w(int address, int data) { starfire_ram[address & 0x3ff] = data; switch(address & 0xf) { case 0: starfire_vidctrl_w(0, data); break; case 1: starfire_vidctrl1_w(0, data); break; case 2: /* Sounds */ fireone_sell = (data & 0x8) ? 0 : 1; break; } }
static WRITE_HANDLER( starfire_scratch_w ) { /* A12 and A3 select video control registers */ if ((offset & 0x1008) == 0x1000) { switch (offset & 7) { case 0: starfire_vidctrl_w(0, data); break; case 1: starfire_vidctrl1_w(0, data); break; case 2: /* Sounds */ fireone_select = (data & 0x8) ? 0 : 1; break; } } /* convert to a videoram offset */ offset = (offset & 0x31f) | ((offset & 0xe0) << 5); starfire_videoram[offset] = data; }