trunk/src/mame/drivers/zaccaria.c
| r242626 | r242627 | |
| 40 | 40 | #include "emu.h" |
| 41 | 41 | #include "cpu/z80/z80.h" |
| 42 | 42 | #include "cpu/m6800/m6800.h" |
| 43 | | #include "machine/6821pia.h" |
| 44 | 43 | #include "machine/i8255.h" |
| 45 | | #include "sound/ay8910.h" |
| 46 | | #include "sound/dac.h" |
| 47 | | #include "sound/tms5220.h" |
| 48 | 44 | #include "includes/zaccaria.h" |
| 49 | 45 | |
| 50 | 46 | |
| 51 | | WRITE8_MEMBER(zaccaria_state::zaccaria_dsw_sel_w) |
| 47 | void zaccaria_state::machine_start() |
| 52 | 48 | { |
| 49 | save_item(NAME(m_dsw_sel)); |
| 50 | save_item(NAME(m_active_8910)); |
| 51 | save_item(NAME(m_port0a)); |
| 52 | save_item(NAME(m_acs)); |
| 53 | save_item(NAME(m_last_port0b)); |
| 54 | save_item(NAME(m_toggle)); |
| 55 | save_item(NAME(m_nmi_mask)); |
| 56 | } |
| 57 | |
| 58 | void zaccaria_state::machine_reset() |
| 59 | { |
| 60 | m_dsw_sel = 0; |
| 61 | m_active_8910 = 0; |
| 62 | m_port0a = 0; |
| 63 | m_acs = 0; |
| 64 | m_last_port0b = 0; |
| 65 | m_toggle = 0; |
| 66 | m_nmi_mask = 0; |
| 67 | } |
| 68 | |
| 69 | WRITE8_MEMBER(zaccaria_state::dsw_sel_w) |
| 70 | { |
| 53 | 71 | switch (data & 0xf0) |
| 54 | 72 | { |
| 55 | 73 | case 0xe0: |
| r242626 | r242627 | |
| 70 | 88 | } |
| 71 | 89 | } |
| 72 | 90 | |
| 73 | | READ8_MEMBER(zaccaria_state::zaccaria_dsw_r) |
| 91 | READ8_MEMBER(zaccaria_state::dsw_r) |
| 74 | 92 | { |
| 75 | 93 | return m_dsw_port[m_dsw_sel]->read(); |
| 76 | 94 | } |
| r242626 | r242627 | |
| 94 | 112 | /* 150 below to scale to volume 100 */ |
| 95 | 113 | v = (150 * table[ba]) / (4700 + table[ba]); |
| 96 | 114 | //printf("dac1w %02d %04d\n", ba, v); |
| 97 | | machine().device<ay8910_device>("ay2")->set_volume(1, v); |
| 115 | m_ay2->set_volume(1, v); |
| 98 | 116 | } |
| 99 | 117 | |
| 100 | 118 | |
| 101 | | WRITE_LINE_MEMBER(zaccaria_state::zaccaria_irq0a) |
| 119 | WRITE_LINE_MEMBER(zaccaria_state::irq0a) |
| 102 | 120 | { |
| 103 | 121 | m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE); |
| 104 | 122 | } |
| 105 | 123 | |
| 106 | | WRITE_LINE_MEMBER(zaccaria_state::zaccaria_irq0b) |
| 124 | WRITE_LINE_MEMBER(zaccaria_state::irq0b) |
| 107 | 125 | { |
| 108 | 126 | m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); |
| 109 | 127 | } |
| 110 | 128 | |
| 111 | | READ8_MEMBER(zaccaria_state::zaccaria_port0a_r) |
| 129 | READ8_MEMBER(zaccaria_state::port0a_r) |
| 112 | 130 | { |
| 113 | | return machine().device<ay8910_device>((m_active_8910 == 0) ? "ay1" : "ay2")->data_r(space, 0); |
| 131 | return (m_active_8910 == 0) ? m_ay1->data_r(space, 0) : m_ay2->data_r(space, 0); |
| 114 | 132 | } |
| 115 | 133 | |
| 116 | | WRITE8_MEMBER(zaccaria_state::zaccaria_port0a_w) |
| 134 | WRITE8_MEMBER(zaccaria_state::port0a_w) |
| 117 | 135 | { |
| 118 | 136 | m_port0a = data; |
| 119 | 137 | } |
| 120 | 138 | |
| 121 | | WRITE8_MEMBER(zaccaria_state::zaccaria_port0b_w) |
| 139 | WRITE8_MEMBER(zaccaria_state::port0b_w) |
| 122 | 140 | { |
| 123 | 141 | /* bit 1 goes to 8910 #0 BDIR pin */ |
| 124 | 142 | if ((m_last_port0b & 0x02) == 0x02 && (data & 0x02) == 0x00) |
| 125 | 143 | { |
| 126 | 144 | /* bit 0 goes to the 8910 #0 BC1 pin */ |
| 127 | | machine().device<ay8910_device>("ay1")->data_address_w(space, m_last_port0b, m_port0a); |
| 145 | m_ay1->data_address_w(space, m_last_port0b, m_port0a); |
| 128 | 146 | } |
| 129 | 147 | else if ((m_last_port0b & 0x02) == 0x00 && (data & 0x02) == 0x02) |
| 130 | 148 | { |
| r242626 | r242627 | |
| 136 | 154 | if ((m_last_port0b & 0x08) == 0x08 && (data & 0x08) == 0x00) |
| 137 | 155 | { |
| 138 | 156 | /* bit 2 goes to the 8910 #1 BC1 pin */ |
| 139 | | machine().device<ay8910_device>("ay2")->data_address_w(space, m_last_port0b >> 2, m_port0a); |
| 157 | m_ay2->data_address_w(space, m_last_port0b >> 2, m_port0a); |
| 140 | 158 | } |
| 141 | 159 | else if ((m_last_port0b & 0x08) == 0x00 && (data & 0x08) == 0x08) |
| 142 | 160 | { |
| r242626 | r242627 | |
| 148 | 166 | m_last_port0b = data; |
| 149 | 167 | } |
| 150 | 168 | |
| 151 | | INTERRUPT_GEN_MEMBER(zaccaria_state::zaccaria_cb1_toggle) |
| 169 | INTERRUPT_GEN_MEMBER(zaccaria_state::cb1_toggle) |
| 152 | 170 | { |
| 153 | | pia6821_device *pia0 = machine().device<pia6821_device>("pia0"); |
| 154 | | |
| 155 | | pia0->cb1_w(m_toggle & 1); |
| 171 | m_pia->cb1_w(m_toggle & 1); |
| 156 | 172 | m_toggle ^= 1; |
| 157 | 173 | } |
| 158 | 174 | |
| 159 | | WRITE8_MEMBER(zaccaria_state::zaccaria_port1b_w) |
| 175 | WRITE8_MEMBER(zaccaria_state::port1b_w) |
| 160 | 176 | { |
| 161 | | tms5220_device *tms5220 = machine().device<tms5220_device>("tms"); |
| 162 | | |
| 163 | 177 | // bit 0 = /RS |
| 164 | | tms5220->rsq_w((data >> 0) & 0x01); |
| 178 | m_tms->rsq_w((data >> 0) & 0x01); |
| 165 | 179 | // bit 1 = /WS |
| 166 | | tms5220->wsq_w((data >> 1) & 0x01); |
| 180 | m_tms->wsq_w((data >> 1) & 0x01); |
| 167 | 181 | |
| 168 | 182 | // bit 3 = "ACS" (goes, inverted, to input port 6 bit 3) |
| 169 | 183 | m_acs = ~data & 0x08; |
| r242626 | r242627 | |
| 181 | 195 | |
| 182 | 196 | WRITE8_MEMBER(zaccaria_state::sound1_command_w) |
| 183 | 197 | { |
| 184 | | pia6821_device *pia0 = machine().device<pia6821_device>("pia0"); |
| 185 | | pia0->ca1_w(data & 0x80); |
| 198 | m_pia->ca1_w(data & 0x80); |
| 186 | 199 | soundlatch2_byte_w(space, 0, data); |
| 187 | 200 | } |
| 188 | 201 | |
| r242626 | r242627 | |
| 194 | 207 | |
| 195 | 208 | GAME_EXTERN(monymony); |
| 196 | 209 | |
| 197 | | READ8_MEMBER(zaccaria_state::zaccaria_prot1_r) |
| 210 | READ8_MEMBER(zaccaria_state::prot1_r) |
| 198 | 211 | { |
| 199 | 212 | switch (offset) |
| 200 | 213 | { |
| r242626 | r242627 | |
| 214 | 227 | } |
| 215 | 228 | } |
| 216 | 229 | |
| 217 | | READ8_MEMBER(zaccaria_state::zaccaria_prot2_r) |
| 230 | READ8_MEMBER(zaccaria_state::prot2_r) |
| 218 | 231 | { |
| 219 | 232 | switch (offset) |
| 220 | 233 | { |
| r242626 | r242627 | |
| 249 | 262 | static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zaccaria_state ) |
| 250 | 263 | AM_RANGE(0x0000, 0x5fff) AM_ROM |
| 251 | 264 | AM_RANGE(0x6000, 0x63ff) AM_READONLY |
| 252 | | AM_RANGE(0x6400, 0x6407) AM_READ(zaccaria_prot1_r) |
| 253 | | AM_RANGE(0x6000, 0x67ff) AM_WRITE(zaccaria_videoram_w) AM_SHARE("videoram") /* 6400-67ff is 4 bits wide */ |
| 254 | | AM_RANGE(0x6800, 0x683f) AM_WRITE(zaccaria_attributes_w) AM_SHARE("attributesram") |
| 265 | AM_RANGE(0x6400, 0x6407) AM_READ(prot1_r) |
| 266 | AM_RANGE(0x6000, 0x67ff) AM_WRITE(videoram_w) AM_SHARE("videoram") /* 6400-67ff is 4 bits wide */ |
| 267 | AM_RANGE(0x6800, 0x683f) AM_WRITE(attributes_w) AM_SHARE("attributesram") |
| 255 | 268 | AM_RANGE(0x6840, 0x685f) AM_RAM AM_SHARE("spriteram") |
| 256 | 269 | AM_RANGE(0x6881, 0x68c0) AM_RAM AM_SHARE("spriteram2") |
| 257 | | AM_RANGE(0x6c00, 0x6c00) AM_WRITE(zaccaria_flip_screen_x_w) |
| 258 | | AM_RANGE(0x6c01, 0x6c01) AM_WRITE(zaccaria_flip_screen_y_w) |
| 270 | AM_RANGE(0x6c00, 0x6c00) AM_WRITE(flip_screen_x_w) |
| 271 | AM_RANGE(0x6c01, 0x6c01) AM_WRITE(flip_screen_y_w) |
| 259 | 272 | AM_RANGE(0x6c02, 0x6c02) AM_WRITENOP /* sound reset */ |
| 260 | 273 | AM_RANGE(0x6c06, 0x6c06) AM_WRITE(coin_w) |
| 261 | 274 | AM_RANGE(0x6c07, 0x6c07) AM_WRITE(nmi_mask_w) |
| 262 | | AM_RANGE(0x6c00, 0x6c07) AM_READ(zaccaria_prot2_r) |
| 263 | | AM_RANGE(0x6e00, 0x6e00) AM_READWRITE(zaccaria_dsw_r, sound_command_w) |
| 275 | AM_RANGE(0x6c00, 0x6c07) AM_READ(prot2_r) |
| 276 | AM_RANGE(0x6e00, 0x6e00) AM_READWRITE(dsw_r, sound_command_w) |
| 264 | 277 | AM_RANGE(0x7000, 0x77ff) AM_RAM |
| 265 | 278 | AM_RANGE(0x7800, 0x7803) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) |
| 266 | 279 | AM_RANGE(0x7c00, 0x7c00) AM_READ(watchdog_reset_r) |
| r242626 | r242627 | |
| 511 | 524 | |
| 512 | 525 | MCFG_CPU_ADD("audiocpu", M6802,XTAL_3_579545MHz) /* verified on pcb */ |
| 513 | 526 | MCFG_CPU_PROGRAM_MAP(sound_map_1) |
| 514 | | MCFG_CPU_PERIODIC_INT_DRIVER(zaccaria_state, zaccaria_cb1_toggle, (double)XTAL_3_579545MHz/4096) |
| 527 | MCFG_CPU_PERIODIC_INT_DRIVER(zaccaria_state, cb1_toggle, (double)XTAL_3_579545MHz/4096) |
| 515 | 528 | MCFG_QUANTUM_TIME(attotime::from_hz(1000000)) |
| 516 | 529 | |
| 517 | 530 | MCFG_CPU_ADD("audio2", M6802,XTAL_3_579545MHz) /* verified on pcb */ |
| r242626 | r242627 | |
| 522 | 535 | MCFG_I8255_IN_PORTA_CB(IOPORT("P1")) |
| 523 | 536 | MCFG_I8255_IN_PORTB_CB(IOPORT("P2")) |
| 524 | 537 | MCFG_I8255_IN_PORTC_CB(IOPORT("SYSTEM")) |
| 525 | | MCFG_I8255_OUT_PORTC_CB(WRITE8(zaccaria_state, zaccaria_dsw_sel_w)) |
| 538 | MCFG_I8255_OUT_PORTC_CB(WRITE8(zaccaria_state, dsw_sel_w)) |
| 526 | 539 | |
| 527 | 540 | MCFG_DEVICE_ADD( "pia0", PIA6821, 0) |
| 528 | | MCFG_PIA_READPA_HANDLER(READ8(zaccaria_state, zaccaria_port0a_r)) |
| 529 | | MCFG_PIA_WRITEPA_HANDLER(WRITE8(zaccaria_state, zaccaria_port0a_w)) |
| 530 | | MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state, zaccaria_port0b_w)) |
| 531 | | MCFG_PIA_IRQA_HANDLER(WRITELINE(zaccaria_state, zaccaria_irq0a)) |
| 532 | | MCFG_PIA_IRQB_HANDLER(WRITELINE(zaccaria_state, zaccaria_irq0b)) |
| 541 | MCFG_PIA_READPA_HANDLER(READ8(zaccaria_state, port0a_r)) |
| 542 | MCFG_PIA_WRITEPA_HANDLER(WRITE8(zaccaria_state, port0a_w)) |
| 543 | MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state, port0b_w)) |
| 544 | MCFG_PIA_IRQA_HANDLER(WRITELINE(zaccaria_state, irq0a)) |
| 545 | MCFG_PIA_IRQB_HANDLER(WRITELINE(zaccaria_state, irq0b)) |
| 533 | 546 | |
| 534 | 547 | MCFG_DEVICE_ADD( "pia1", PIA6821, 0) |
| 535 | 548 | MCFG_PIA_READPA_HANDLER(DEVREAD8("tms", tms5220_device, status_r)) |
| 536 | 549 | MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8("tms", tms5220_device, data_w)) |
| 537 | | MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state,zaccaria_port1b_w)) |
| 550 | MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state,port1b_w)) |
| 538 | 551 | |
| 539 | 552 | /* video hardware */ |
| 540 | 553 | MCFG_SCREEN_ADD("screen", RASTER) |
| r242626 | r242627 | |
| 542 | 555 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 543 | 556 | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 544 | 557 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 545 | | MCFG_SCREEN_UPDATE_DRIVER(zaccaria_state, screen_update_zaccaria) |
| 558 | MCFG_SCREEN_UPDATE_DRIVER(zaccaria_state, screen_update) |
| 546 | 559 | MCFG_SCREEN_PALETTE("palette") |
| 547 | 560 | |
| 548 | 561 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", zaccaria) |
| r242626 | r242627 | |
| 726 | 739 | |
| 727 | 740 | |
| 728 | 741 | |
| 729 | | GAME( 1983, monymony, 0, zaccaria, monymony, driver_device, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND ) |
| 730 | | GAME( 1984, jackrabt, 0, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND ) |
| 731 | | GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND ) |
| 732 | | GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND ) |
| 742 | GAME( 1983, monymony, 0, zaccaria, monymony, driver_device, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 743 | GAME( 1984, jackrabt, 0, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 744 | GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 745 | GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
trunk/src/mame/includes/zaccaria.h
| r242626 | r242627 | |
| 1 | #include "machine/6821pia.h" |
| 2 | #include "sound/ay8910.h" |
| 1 | 3 | #include "sound/dac.h" |
| 4 | #include "sound/tms5220.h" |
| 2 | 5 | |
| 3 | 6 | class zaccaria_state : public driver_device |
| 4 | 7 | { |
| 5 | 8 | public: |
| 6 | 9 | zaccaria_state(const machine_config &mconfig, device_type type, const char *tag) |
| 7 | 10 | : driver_device(mconfig, type, tag), |
| 8 | | m_videoram(*this, "videoram"), |
| 9 | | m_attributesram(*this, "attributesram"), |
| 10 | | m_spriteram(*this, "spriteram"), |
| 11 | | m_spriteram2(*this, "spriteram2"), |
| 12 | 11 | m_maincpu(*this, "maincpu"), |
| 13 | 12 | m_audiocpu(*this, "audiocpu"), |
| 14 | 13 | m_audio2(*this, "audio2"), |
| 14 | m_pia(*this, "pia0"), |
| 15 | 15 | m_dac2(*this, "dac2"), |
| 16 | m_ay1(*this, "ay1"), |
| 17 | m_ay2(*this, "ay2"), |
| 18 | m_tms(*this, "tms"), |
| 16 | 19 | m_gfxdecode(*this, "gfxdecode"), |
| 17 | 20 | m_palette(*this, "palette"), |
| 21 | m_videoram(*this, "videoram"), |
| 22 | m_attributesram(*this, "attributesram"), |
| 23 | m_spriteram(*this, "spriteram"), |
| 24 | m_spriteram2(*this, "spriteram2"), |
| 18 | 25 | m_dsw_port(*this, "DSW") { } |
| 26 | |
| 27 | |
| 28 | |
| 29 | /* devices */ |
| 30 | required_device<cpu_device> m_maincpu; |
| 31 | required_device<cpu_device> m_audiocpu; |
| 32 | required_device<cpu_device> m_audio2; |
| 33 | required_device<pia6821_device> m_pia; |
| 34 | required_device<dac_device> m_dac2; |
| 35 | required_device<ay8910_device> m_ay1; |
| 36 | required_device<ay8910_device> m_ay2; |
| 37 | required_device<tms5220_device> m_tms; |
| 38 | required_device<gfxdecode_device> m_gfxdecode; |
| 39 | required_device<palette_device> m_palette; |
| 40 | |
| 41 | /* memory pointers */ |
| 42 | required_shared_ptr<UINT8> m_videoram; |
| 43 | required_shared_ptr<UINT8> m_attributesram; |
| 44 | required_shared_ptr<UINT8> m_spriteram; |
| 45 | required_shared_ptr<UINT8> m_spriteram2; |
| 46 | |
| 47 | required_ioport_array<3> m_dsw_port; |
| 19 | 48 | |
| 20 | 49 | int m_dsw_sel; |
| 21 | 50 | int m_active_8910; |
| r242626 | r242627 | |
| 23 | 52 | int m_acs; |
| 24 | 53 | int m_last_port0b; |
| 25 | 54 | int m_toggle; |
| 26 | | required_shared_ptr<UINT8> m_videoram; |
| 27 | | required_shared_ptr<UINT8> m_attributesram; |
| 28 | 55 | tilemap_t *m_bg_tilemap; |
| 29 | | required_shared_ptr<UINT8> m_spriteram; |
| 30 | | required_shared_ptr<UINT8> m_spriteram2; |
| 31 | 56 | UINT8 m_nmi_mask; |
| 32 | | DECLARE_READ8_MEMBER(zaccaria_dsw_r); |
| 57 | |
| 58 | DECLARE_READ8_MEMBER(dsw_r); |
| 33 | 59 | DECLARE_WRITE8_MEMBER(sound_command_w); |
| 34 | 60 | DECLARE_WRITE8_MEMBER(sound1_command_w); |
| 35 | | DECLARE_READ8_MEMBER(zaccaria_prot1_r); |
| 36 | | DECLARE_READ8_MEMBER(zaccaria_prot2_r); |
| 61 | DECLARE_READ8_MEMBER(prot1_r); |
| 62 | DECLARE_READ8_MEMBER(prot2_r); |
| 37 | 63 | DECLARE_WRITE8_MEMBER(coin_w); |
| 38 | 64 | DECLARE_WRITE8_MEMBER(nmi_mask_w); |
| 39 | | DECLARE_WRITE8_MEMBER(zaccaria_videoram_w); |
| 40 | | DECLARE_WRITE8_MEMBER(zaccaria_attributes_w); |
| 41 | | DECLARE_WRITE8_MEMBER(zaccaria_flip_screen_x_w); |
| 42 | | DECLARE_WRITE8_MEMBER(zaccaria_flip_screen_y_w); |
| 65 | DECLARE_WRITE8_MEMBER(videoram_w); |
| 66 | DECLARE_WRITE8_MEMBER(attributes_w); |
| 67 | DECLARE_WRITE8_MEMBER(flip_screen_x_w); |
| 68 | DECLARE_WRITE8_MEMBER(flip_screen_y_w); |
| 43 | 69 | DECLARE_CUSTOM_INPUT_MEMBER(acs_r); |
| 44 | | DECLARE_WRITE8_MEMBER(zaccaria_dsw_sel_w); |
| 70 | DECLARE_WRITE8_MEMBER(dsw_sel_w); |
| 45 | 71 | DECLARE_WRITE8_MEMBER(ay8910_port0a_w); |
| 46 | | DECLARE_WRITE_LINE_MEMBER(zaccaria_irq0a); |
| 47 | | DECLARE_WRITE_LINE_MEMBER(zaccaria_irq0b); |
| 48 | | DECLARE_READ8_MEMBER(zaccaria_port0a_r); |
| 49 | | DECLARE_WRITE8_MEMBER(zaccaria_port0a_w); |
| 50 | | DECLARE_WRITE8_MEMBER(zaccaria_port0b_w); |
| 51 | | DECLARE_WRITE8_MEMBER(zaccaria_port1b_w); |
| 72 | DECLARE_WRITE_LINE_MEMBER(irq0a); |
| 73 | DECLARE_WRITE_LINE_MEMBER(irq0b); |
| 74 | DECLARE_READ8_MEMBER(port0a_r); |
| 75 | DECLARE_WRITE8_MEMBER(port0a_w); |
| 76 | DECLARE_WRITE8_MEMBER(port0b_w); |
| 77 | DECLARE_WRITE8_MEMBER(port1b_w); |
| 52 | 78 | DECLARE_WRITE8_MEMBER(mc1408_data_w); |
| 53 | 79 | TILE_GET_INFO_MEMBER(get_tile_info); |
| 80 | virtual void machine_start(); |
| 81 | virtual void machine_reset(); |
| 54 | 82 | virtual void video_start(); |
| 55 | 83 | DECLARE_PALETTE_INIT(zaccaria); |
| 56 | | UINT32 screen_update_zaccaria(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 57 | | INTERRUPT_GEN_MEMBER(zaccaria_cb1_toggle); |
| 84 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 85 | INTERRUPT_GEN_MEMBER(cb1_toggle); |
| 58 | 86 | INTERRUPT_GEN_MEMBER(vblank_irq); |
| 59 | 87 | void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,UINT8 *spriteram,int color,int section); |
| 60 | | required_device<cpu_device> m_maincpu; |
| 61 | | required_device<cpu_device> m_audiocpu; |
| 62 | | required_device<cpu_device> m_audio2; |
| 63 | | required_device<dac_device> m_dac2; |
| 64 | | required_device<gfxdecode_device> m_gfxdecode; |
| 65 | | required_device<palette_device> m_palette; |
| 66 | | required_ioport_array<3> m_dsw_port; |
| 67 | 88 | }; |