static WRITE16_HANDLER(dbzcontrol_w) { /* bit 10 = enable '246 readback */ COMBINE_DATA(&dbz2_control); if (data & 0x400) { K053246_set_OBJCHA_line(ASSERT_LINE); } else { K053246_set_OBJCHA_line(CLEAR_LINE); } }
void simpsons_coin_counter_w( int offset, int data ) { /* bit 0,1 coin counters */ coin_counter_w(0,data & 0x01); coin_counter_w(1,data & 0x02); /* bit 2 selects mono or stereo sound */ /* bit 3 = enable char ROM reading through the video RAM */ K052109_set_RMRD_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE); /* bit 4 = INIT (unknown) */ /* bit 5 = enable sprite ROM reading */ K053246_set_OBJCHA_line((~data & 0x20) ? ASSERT_LINE : CLEAR_LINE); }
static WRITE16_HANDLER( control2_w ) { if(ACCESSING_LSB) { /* bit 0 is data */ /* bit 1 is cs (active low) */ /* bit 2 is clock (active high) */ /* bit 3 (unknown: coin) */ /* bit 5 is enable irq 6 */ /* bit 7 (unknown: enable irq 5?) */ EEPROM_write_bit(data & 0x01); EEPROM_set_cs_line((data & 0x02) ? CLEAR_LINE : ASSERT_LINE); EEPROM_set_clock_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE); cur_control2 = data; /* bit 6 = enable sprite ROM reading */ K053246_set_OBJCHA_line((data & 0x0040) ? ASSERT_LINE : CLEAR_LINE); } }
static WRITE16_HANDLER( eeprom_w ) { logerror("%06x: write %04x to 108000\n",activecpu_get_pc(),data); if (ACCESSING_LSB) { /* bit 0 = coin counter */ coin_counter_w(0,data & 0x01); /* bit 2 is data */ /* bit 3 is clock (active high) */ /* bit 4 is cs (active low) */ EEPROM_write_bit(data & 0x04); EEPROM_set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); EEPROM_set_clock_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE); } if (ACCESSING_MSB) { /* bit 8 = enable sprite ROM reading */ K053246_set_OBJCHA_line((data & 0x0100) ? ASSERT_LINE : CLEAR_LINE); /* bit 9 = enable char ROM reading through the video RAM */ K052109_set_RMRD_line((data & 0x0200) ? ASSERT_LINE : CLEAR_LINE); } }