Previous 199869 Revisions Next

r34953 Tuesday 10th February, 2015 at 16:20:31 UTC by Osso
tait8741.c: added save state support (nw)
cyclemb.c: added save state support (nw)
[src/mame/drivers]cyclemb.c
[src/mame/machine]tait8741.c

trunk/src/mame/drivers/cyclemb.c
r243464r243465
8484      : driver_device(mconfig, type, tag),
8585      m_maincpu(*this, "maincpu"),
8686      m_audiocpu(*this, "audiocpu"),
87      m_gfxdecode(*this, "gfxdecode"),
88      m_palette(*this, "palette"),
8789      m_vram(*this, "vram"),
8890      m_cram(*this, "cram"),
8991      m_obj1_ram(*this, "obj1_ram"),
9092      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")
9494   { }
9595
9696   required_device<cpu_device> m_maincpu;
9797   required_device<cpu_device> m_audiocpu;
98   required_device<gfxdecode_device> m_gfxdecode;
99   required_device<palette_device> m_palette;
100   
98101   required_shared_ptr<UINT8> m_vram;
99102   required_shared_ptr<UINT8> m_cram;
100103   required_shared_ptr<UINT8> m_obj1_ram;
101104   required_shared_ptr<UINT8> m_obj2_ram;
102105   required_shared_ptr<UINT8> m_obj3_ram;
103   required_device<gfxdecode_device> m_gfxdecode;
104   required_device<palette_device> m_palette;
105106
106107   struct
107108   {
r243464r243465
120121   DECLARE_WRITE8_MEMBER(cyclemb_flip_w);
121122   DECLARE_READ8_MEMBER(skydest_i8741_0_r);
122123   DECLARE_WRITE8_MEMBER(skydest_i8741_0_w);
124   
123125   DECLARE_DRIVER_INIT(skydest);
124126   DECLARE_DRIVER_INIT(cyclemb);
127   virtual void machine_start();
125128   virtual void machine_reset();
126   virtual void video_start();
127129   DECLARE_PALETTE_INIT(cyclemb);
130   
128131   UINT32 screen_update_cyclemb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
129132   UINT32 screen_update_skydest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
130133   void cyclemb_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
r243464r243465
164167}
165168
166169
167void cyclemb_state::video_start()
168{
169}
170
171170void cyclemb_state::cyclemb_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
172171{
173172   gfx_element *gfx = m_gfxdecode->gfx(0);
r243464r243465
593592   AM_RANGE(0x40, 0x40) AM_READ(soundlatch_byte_r) AM_WRITE(soundlatch2_byte_w)
594593ADDRESS_MAP_END
595594
595
596void 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
596608void cyclemb_state::machine_reset()
597609{
598610   skydest_i8741_reset();
r243464r243465
10301042   m_dsw_pc_hack = 0x554;
10311043}
10321044
1033GAME( 1984, cyclemb,  0,   cyclemb,  cyclemb, cyclemb_state,  cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
1034GAME( 1985, skydest,  0,   skydest,  skydest, cyclemb_state,  skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
1045GAME( 1984, cyclemb,  0,   cyclemb,  cyclemb, cyclemb_state,  cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1046GAME( 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
r243464r243465
250250   m_port_handler_1_r.resolve_safe(0);
251251   m_port_handler_2_r.resolve_safe(0);
252252   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   };
253269}
254270
255271/* read status port */
r243464r243465
344360   m_port_handler_1_r.resolve_safe(0);
345361   m_port_handler_2_r.resolve_safe(0);
346362   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?
347375}
348376
349377


Previous 199869 Revisions Next


© 1997-2024 The MAME Team