Previous 199869 Revisions Next

r31819 Thursday 28th August, 2014 at 15:58:47 UTC by Osso
Added save states to igs011.c (nw)
[src/mame/drivers]igs011.c

trunk/src/mame/drivers/igs011.c
r31818r31819
7676         depth,
7777         pen,
7878         flags;
79
8079};
8180
8281class igs011_state : public driver_device
r31818r31819
8584   igs011_state(const machine_config &mconfig, device_type type, const char *tag)
8685      : driver_device(mconfig, type, tag),
8786      m_maincpu(*this, "maincpu"),
88      m_priority_ram(*this, "priority_ram"),
89      m_vbowl_trackball(*this, "vbowl_trackball"),
9087      m_oki(*this, "oki"),
9188      m_screen(*this, "screen"),
9289      m_palette(*this, "palette"),
90      m_priority_ram(*this, "priority_ram"),
91      m_vbowl_trackball(*this, "vbowl_trackball"),
9392      m_generic_paletteram_16(*this, "paletteram") { }
9493
94   /* devices */
9595   required_device<cpu_device> m_maincpu;
96   optional_device<okim6295_device> m_oki;
97   required_device<screen_device> m_screen;
98   required_device<palette_device> m_palette;
99   
100   /* memory pointers */
96101   required_shared_ptr<UINT16> m_priority_ram;
97102   optional_shared_ptr<UINT16> m_vbowl_trackball;
103   required_shared_ptr<UINT16> m_generic_paletteram_16;
104     
98105   UINT8 *m_layer[8];
99106   UINT16 m_priority;
100107   UINT8 m_lhb2_pen_hi;
r31818r31819
209216   TIMER_DEVICE_CALLBACK_MEMBER(lev5_timer_irq_cb);
210217   TIMER_DEVICE_CALLBACK_MEMBER(lhb_timer_irq_cb);
211218   TIMER_DEVICE_CALLBACK_MEMBER(lev3_timer_irq_cb);
219   virtual void machine_start();
212220   virtual void video_start();
213221   UINT32 screen_update_igs011(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
214222   void screen_eof_vbowl(screen_device &screen, bool state);
r31818r31819
225233   void ryukobou_decrypt();
226234   void lhb2_decrypt_gfx();
227235   void drgnwrld_gfx_decrypt();
228   optional_device<okim6295_device> m_oki;
229   required_device<screen_device> m_screen;
230   required_device<palette_device> m_palette;
231   required_shared_ptr<UINT16> m_generic_paletteram_16;
232236};
233237
234238
r31818r31819
266270
267271void igs011_state::video_start()
268272{
269   int i;
270
271   for (i = 0; i < 8; i++)
273   for (int i = 0; i < 8; i++)
272274   {
273275      m_layer[i] = auto_alloc_array(machine(), UINT8, 512 * 256);
276      save_pointer(NAME(m_layer[i]), 512 * 256, i);
274277   }
275278
276279   m_lhb2_pen_hi = 0;
280   
281   save_item(NAME(m_priority));
282   save_item(NAME(m_lhb2_pen_hi));
283   save_item(NAME(m_blitter.x));
284   save_item(NAME(m_blitter.y));
285   save_item(NAME(m_blitter.w));
286   save_item(NAME(m_blitter.h));
287   save_item(NAME(m_blitter.gfx_lo));
288   save_item(NAME(m_blitter.gfx_hi));
289   save_item(NAME(m_blitter.depth));
290   save_item(NAME(m_blitter.pen));
291   save_item(NAME(m_blitter.flags));
277292}
278293
279294UINT32 igs011_state::screen_update_igs011(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
r31818r31819
572587
573588***************************************************************************/
574589
590void igs011_state::machine_start()
591{
592   save_item(NAME(m_igs_dips_sel));
593   save_item(NAME(m_igs_input_sel));
594   save_item(NAME(m_igs_hopper));
595   save_item(NAME(m_prot1));
596   save_item(NAME(m_prot1_swap));
597   save_item(NAME(m_prot1_addr));
598   save_item(NAME(m_prot2));
599   save_item(NAME(m_igs012_prot));
600   save_item(NAME(m_igs012_prot_swap));
601   save_item(NAME(m_igs012_prot_mode));
602   save_item(NAME(m_igs003_reg));
603   save_item(NAME(m_lhb_irq_enable));
604   save_item(NAME(m_igs003_prot_hold));
605   save_item(NAME(m_igs003_prot_x));
606   save_item(NAME(m_igs003_prot_y));
607   save_item(NAME(m_igs003_prot_z));
608   save_item(NAME(m_igs003_prot_h1));
609   save_item(NAME(m_igs003_prot_h2));
610}
611
575612// Inputs
576613
577614
r31818r31819
47474784
47484785***************************************************************************/
47494786
4750GAME( 1997, drgnwrld,     0,        drgnwrld,        drgnwrld, igs011_state,  drgnwrld,     ROT0, "IGS",        "Dragon World (World, V040O)",          0 )
4751GAME( 1995, drgnwrldv30,  drgnwrld, drgnwrld,        drgnwrld, igs011_state,  drgnwrldv30,  ROT0, "IGS",        "Dragon World (World, V030O)",          0 )
4752GAME( 1995, drgnwrldv21,  drgnwrld, drgnwrld_igs012, drgnwrld, igs011_state,  drgnwrldv21,  ROT0, "IGS",        "Dragon World (World, V021O)",          0 )
4753GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, drgnwrldv21j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V021J)",        0 )
4754GAME( 1995, drgnwrldv20j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, drgnwrldv20j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V020J)",        0 )
4755GAME( 1995, drgnwrldv10c, drgnwrld, drgnwrld,        drgnwrldc, igs011_state, drgnwrldv10c, ROT0, "IGS",        "Zhong Guo Long (China, V010C)",        0 )
4756GAME( 1995, drgnwrldv11h, drgnwrld, drgnwrld,        drgnwrldc, igs011_state, drgnwrldv11h, ROT0, "IGS",        "Dong Fang Zhi Zhu (Hong Kong, V011H)", 0 )
4757GAME( 1995, lhb,          0,        lhb,             lhb, igs011_state,       lhb,          ROT0, "IGS",        "Long Hu Bang (China, V035C)",          0 )
4758GAME( 1995, lhbv33c,      lhb,      lhb,             lhb, igs011_state,       lhbv33c,      ROT0, "IGS",        "Long Hu Bang (China, V033C)",          0 )
4759GAME( 1995, dbc,          lhb,      lhb,             lhb, igs011_state,       dbc,          ROT0, "IGS",        "Da Ban Cheng (Hong Kong, V027H)",      0 )
4760GAME( 1995, ryukobou,     lhb,      lhb,             lhb, igs011_state,       ryukobou,     ROT0, "IGS / Alta", "Mahjong Ryukobou (Japan, V030J)",      0 )
4761GAME( 1996, lhb2,         0,        lhb2,            lhb2, igs011_state,      lhb2,         ROT0, "IGS",        "Long Hu Bang II (Hong Kong, V185H)",   0 )
4762GAME( 1996, xymg,         0,        xymg,            xymg, igs011_state,      xymg,         ROT0, "IGS",        "Xing Yun Man Guan (China, V651C)",     0 )
4763GAME( 1996, wlcc,         xymg,     wlcc,            wlcc, igs011_state,      wlcc,         ROT0, "IGS",        "Wan Li Chang Cheng (China, V638C)",    0 )
4764GAME( 1996, vbowl,        0,        vbowl,           vbowl, igs011_state,     vbowl,        ROT0, "IGS",        "Virtua Bowling (World, V101XCM)",      GAME_IMPERFECT_SOUND )
4765GAME( 1996, vbowlj,       vbowl,    vbowl,           vbowlj, igs011_state,    vbowlj,       ROT0, "IGS / Alta", "Virtua Bowling (Japan, V100JCM)",      GAME_IMPERFECT_SOUND )
4766GAME( 1998, nkishusp,     lhb2,     nkishusp,        nkishusp, igs011_state,  nkishusp,     ROT0, "IGS / Alta", "Mahjong Nenrikishu SP (Japan, V250J)", 0 )
4787GAME( 1997, drgnwrld,     0,        drgnwrld,        drgnwrld, igs011_state,  drgnwrld,     ROT0, "IGS",        "Dragon World (World, V040O)",          GAME_SUPPORTS_SAVE )
4788GAME( 1995, drgnwrldv30,  drgnwrld, drgnwrld,        drgnwrld, igs011_state,  drgnwrldv30,  ROT0, "IGS",        "Dragon World (World, V030O)",          GAME_SUPPORTS_SAVE )
4789GAME( 1995, drgnwrldv21,  drgnwrld, drgnwrld_igs012, drgnwrld, igs011_state,  drgnwrldv21,  ROT0, "IGS",        "Dragon World (World, V021O)",          GAME_SUPPORTS_SAVE )
4790GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, drgnwrldv21j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V021J)",        GAME_SUPPORTS_SAVE )
4791GAME( 1995, drgnwrldv20j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, drgnwrldv20j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V020J)",        GAME_SUPPORTS_SAVE )
4792GAME( 1995, drgnwrldv10c, drgnwrld, drgnwrld,        drgnwrldc, igs011_state, drgnwrldv10c, ROT0, "IGS",        "Zhong Guo Long (China, V010C)",        GAME_SUPPORTS_SAVE )
4793GAME( 1995, drgnwrldv11h, drgnwrld, drgnwrld,        drgnwrldc, igs011_state, drgnwrldv11h, ROT0, "IGS",        "Dong Fang Zhi Zhu (Hong Kong, V011H)", GAME_SUPPORTS_SAVE )
4794GAME( 1995, lhb,          0,        lhb,             lhb, igs011_state,       lhb,          ROT0, "IGS",        "Long Hu Bang (China, V035C)",          GAME_SUPPORTS_SAVE )
4795GAME( 1995, lhbv33c,      lhb,      lhb,             lhb, igs011_state,       lhbv33c,      ROT0, "IGS",        "Long Hu Bang (China, V033C)",          GAME_SUPPORTS_SAVE )
4796GAME( 1995, dbc,          lhb,      lhb,             lhb, igs011_state,       dbc,          ROT0, "IGS",        "Da Ban Cheng (Hong Kong, V027H)",      GAME_SUPPORTS_SAVE )
4797GAME( 1995, ryukobou,     lhb,      lhb,             lhb, igs011_state,       ryukobou,     ROT0, "IGS / Alta", "Mahjong Ryukobou (Japan, V030J)",      GAME_SUPPORTS_SAVE )
4798GAME( 1996, lhb2,         0,        lhb2,            lhb2, igs011_state,      lhb2,         ROT0, "IGS",        "Long Hu Bang II (Hong Kong, V185H)",   GAME_SUPPORTS_SAVE )
4799GAME( 1996, xymg,         0,        xymg,            xymg, igs011_state,      xymg,         ROT0, "IGS",        "Xing Yun Man Guan (China, V651C)",     GAME_SUPPORTS_SAVE )
4800GAME( 1996, wlcc,         xymg,     wlcc,            wlcc, igs011_state,      wlcc,         ROT0, "IGS",        "Wan Li Chang Cheng (China, V638C)",    GAME_SUPPORTS_SAVE )
4801GAME( 1996, vbowl,        0,        vbowl,           vbowl, igs011_state,     vbowl,        ROT0, "IGS",        "Virtua Bowling (World, V101XCM)",      GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
4802GAME( 1996, vbowlj,       vbowl,    vbowl,           vbowlj, igs011_state,    vbowlj,       ROT0, "IGS / Alta", "Virtua Bowling (Japan, V100JCM)",      GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
4803GAME( 1998, nkishusp,     lhb2,     nkishusp,        nkishusp, igs011_state,  nkishusp,     ROT0, "IGS / Alta", "Mahjong Nenrikishu SP (Japan, V250J)", GAME_SUPPORTS_SAVE )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team