trunk/src/mame/drivers/cyclemb.c
| r243464 | r243465 | |
| 84 | 84 | : driver_device(mconfig, type, tag), |
| 85 | 85 | m_maincpu(*this, "maincpu"), |
| 86 | 86 | m_audiocpu(*this, "audiocpu"), |
| 87 | m_gfxdecode(*this, "gfxdecode"), |
| 88 | m_palette(*this, "palette"), |
| 87 | 89 | m_vram(*this, "vram"), |
| 88 | 90 | m_cram(*this, "cram"), |
| 89 | 91 | m_obj1_ram(*this, "obj1_ram"), |
| 90 | 92 | m_obj2_ram(*this, "obj2_ram"), |
| 91 | | m_obj3_ram(*this, "obj3_ram"), |
| 92 | | m_gfxdecode(*this, "gfxdecode"), |
| 93 | | m_palette(*this, "palette") |
| 93 | m_obj3_ram(*this, "obj3_ram") |
| 94 | 94 | { } |
| 95 | 95 | |
| 96 | 96 | required_device<cpu_device> m_maincpu; |
| 97 | 97 | required_device<cpu_device> m_audiocpu; |
| 98 | required_device<gfxdecode_device> m_gfxdecode; |
| 99 | required_device<palette_device> m_palette; |
| 100 | |
| 98 | 101 | required_shared_ptr<UINT8> m_vram; |
| 99 | 102 | required_shared_ptr<UINT8> m_cram; |
| 100 | 103 | required_shared_ptr<UINT8> m_obj1_ram; |
| 101 | 104 | required_shared_ptr<UINT8> m_obj2_ram; |
| 102 | 105 | required_shared_ptr<UINT8> m_obj3_ram; |
| 103 | | required_device<gfxdecode_device> m_gfxdecode; |
| 104 | | required_device<palette_device> m_palette; |
| 105 | 106 | |
| 106 | 107 | struct |
| 107 | 108 | { |
| r243464 | r243465 | |
| 120 | 121 | DECLARE_WRITE8_MEMBER(cyclemb_flip_w); |
| 121 | 122 | DECLARE_READ8_MEMBER(skydest_i8741_0_r); |
| 122 | 123 | DECLARE_WRITE8_MEMBER(skydest_i8741_0_w); |
| 124 | |
| 123 | 125 | DECLARE_DRIVER_INIT(skydest); |
| 124 | 126 | DECLARE_DRIVER_INIT(cyclemb); |
| 127 | virtual void machine_start(); |
| 125 | 128 | virtual void machine_reset(); |
| 126 | | virtual void video_start(); |
| 127 | 129 | DECLARE_PALETTE_INIT(cyclemb); |
| 130 | |
| 128 | 131 | UINT32 screen_update_cyclemb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 129 | 132 | UINT32 screen_update_skydest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 130 | 133 | void cyclemb_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| r243464 | r243465 | |
| 164 | 167 | } |
| 165 | 168 | |
| 166 | 169 | |
| 167 | | void cyclemb_state::video_start() |
| 168 | | { |
| 169 | | } |
| 170 | | |
| 171 | 170 | void cyclemb_state::cyclemb_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 172 | 171 | { |
| 173 | 172 | gfx_element *gfx = m_gfxdecode->gfx(0); |
| r243464 | r243465 | |
| 593 | 592 | AM_RANGE(0x40, 0x40) AM_READ(soundlatch_byte_r) AM_WRITE(soundlatch2_byte_w) |
| 594 | 593 | ADDRESS_MAP_END |
| 595 | 594 | |
| 595 | |
| 596 | void cyclemb_state::machine_start() |
| 597 | { |
| 598 | for (int i = 0; i < 2; i++) |
| 599 | { |
| 600 | save_item(NAME(m_mcu[i].rxd), i); |
| 601 | save_item(NAME(m_mcu[i].txd), i); |
| 602 | save_item(NAME(m_mcu[i].rst), i); |
| 603 | save_item(NAME(m_mcu[i].state), i); |
| 604 | save_item(NAME(m_mcu[i].packet_type), i); |
| 605 | } |
| 606 | } |
| 607 | |
| 596 | 608 | void cyclemb_state::machine_reset() |
| 597 | 609 | { |
| 598 | 610 | skydest_i8741_reset(); |
| r243464 | r243465 | |
| 1030 | 1042 | m_dsw_pc_hack = 0x554; |
| 1031 | 1043 | } |
| 1032 | 1044 | |
| 1033 | | GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb_state, cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND ) |
| 1034 | | GAME( 1985, skydest, 0, skydest, skydest, cyclemb_state, skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND ) |
| 1045 | GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb_state, cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1046 | GAME( 1985, skydest, 0, skydest, skydest, cyclemb_state, skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
trunk/src/mame/machine/tait8741.c
| r243464 | r243465 | |
| 250 | 250 | m_port_handler_1_r.resolve_safe(0); |
| 251 | 251 | m_port_handler_2_r.resolve_safe(0); |
| 252 | 252 | m_port_handler_3_r.resolve_safe(0); |
| 253 | |
| 254 | for (int i = 0; i < 4; i++) |
| 255 | { |
| 256 | save_item(NAME(m_taito8741[i].toData), i); |
| 257 | save_item(NAME(m_taito8741[i].fromData), i); |
| 258 | save_item(NAME(m_taito8741[i].fromCmd), i); |
| 259 | save_item(NAME(m_taito8741[i].status), i); |
| 260 | save_item(NAME(m_taito8741[i].phase), i); |
| 261 | save_item(NAME(m_taito8741[i].txd), i); |
| 262 | save_item(NAME(m_taito8741[i].rxd), i); |
| 263 | save_item(NAME(m_taito8741[i].parallelselect), i); |
| 264 | save_item(NAME(m_taito8741[i].txpoint), i); |
| 265 | //save_item(NAME(m_taito8741[i].pending4a), i); //currently initialized to 0, never changes |
| 266 | save_item(NAME(m_taito8741[i].serial_out), i); |
| 267 | //save_item(NAME(m_taito8741[i].coins), i); // currently initialized but otherwise unused |
| 268 | }; |
| 253 | 269 | } |
| 254 | 270 | |
| 255 | 271 | /* read status port */ |
| r243464 | r243465 | |
| 344 | 360 | m_port_handler_1_r.resolve_safe(0); |
| 345 | 361 | m_port_handler_2_r.resolve_safe(0); |
| 346 | 362 | m_port_handler_3_r.resolve_safe(0); |
| 363 | |
| 364 | for (int i = 0; i < 4; i++) |
| 365 | { |
| 366 | save_item(NAME(m_i8741[i].cmd), i); |
| 367 | save_item(NAME(m_i8741[i].sts), i); |
| 368 | save_item(NAME(m_i8741[i].txd), i); |
| 369 | //save_item(NAME(m_i8741[i].outport), i); //currently initialized to 0xff, never changed |
| 370 | save_item(NAME(m_i8741[i].rxd), i); |
| 371 | save_item(NAME(m_i8741[i].rst), i); |
| 372 | }; |
| 373 | |
| 374 | //save_item(NAME(m_nmi_enable)); //never changes from 0? |
| 347 | 375 | } |
| 348 | 376 | |
| 349 | 377 | |