Previous 199869 Revisions Next

r34510 Tuesday 20th January, 2015 at 17:17:40 UTC by Osso
paradise.c: added missing save state, fixes penky save state problem (nw)
[src/mame/drivers]paradise.c
[src/mame/includes]paradise.h
[src/mame/video]paradise.c

trunk/src/mame/drivers/paradise.c
r243021r243022
678678
679679   save_item(NAME(m_palbank));
680680   save_item(NAME(m_priority));
681   save_item(NAME(irq_count));
681   save_item(NAME(m_irq_count));
682682}
683683
684684void paradise_state::machine_reset()
r243021r243022
686686   m_palbank = 0;
687687   m_priority = 0;
688688
689   irq_count = 0;
689   m_irq_count = 0;
690690
691691}
692692
693693INTERRUPT_GEN_MEMBER(paradise_state::paradise_irq)
694694{
695   if (irq_count<300)
696      irq_count++;
695   if (m_irq_count<300)
696      m_irq_count++;
697697   else
698698      m_maincpu->set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
699699}
trunk/src/mame/includes/paradise.h
r243021r243022
55public:
66   paradise_state(const machine_config &mconfig, device_type type, const char *tag)
77      : driver_device(mconfig, type, tag),
8      m_maincpu(*this, "maincpu"),
9      m_oki2(*this, "oki2"),
10      m_gfxdecode(*this, "gfxdecode"),
11      m_screen(*this, "screen"),
12      m_palette(*this, "palette"),
813      m_vram_0(*this, "vram_0"),
914      m_vram_1(*this, "vram_1"),
1015      m_vram_2(*this, "vram_2"),
1116      m_videoram(*this, "videoram"),
1217      m_paletteram(*this, "paletteram"),
13      m_spriteram(*this, "spriteram"),
14      m_maincpu(*this, "maincpu"),
15      m_oki2(*this, "oki2"),
16      m_gfxdecode(*this, "gfxdecode"),
17      m_screen(*this, "screen"),
18      m_palette(*this, "palette") { }
18      m_spriteram(*this, "spriteram") { }
19     
20   /* devices */
21   required_device<cpu_device> m_maincpu;
22   optional_device<okim6295_device> m_oki2;
23   required_device<gfxdecode_device> m_gfxdecode;
24   required_device<screen_device> m_screen;
25   required_device<palette_device> m_palette;
1926
2027   /* memory pointers */
2128   required_shared_ptr<UINT8> m_vram_0;
r243021r243022
2936   tilemap_t *m_tilemap_0;
3037   tilemap_t *m_tilemap_1;
3138   tilemap_t *m_tilemap_2;
39   
3240   bitmap_ind16 m_tmpbitmap;
3341   UINT8 m_palbank;
3442   UINT8 m_priority;
3543   UINT8 m_pixbank;
3644   int m_sprite_inc;
37
38   int irq_count;
45   int m_irq_count;
46   
3947   DECLARE_WRITE8_MEMBER(paradise_rombank_w);
4048   DECLARE_WRITE8_MEMBER(torus_coin_counter_w);
4149   DECLARE_WRITE8_MEMBER(paradise_flipscreen_w);
r243021r243022
4856   DECLARE_WRITE8_MEMBER(paradise_pixmap_w);
4957   DECLARE_WRITE8_MEMBER(paradise_priority_w);
5058   DECLARE_WRITE8_MEMBER(paradise_okibank_w);
59   
5160   DECLARE_DRIVER_INIT(torus);
5261   DECLARE_DRIVER_INIT(paradise);
5362   DECLARE_DRIVER_INIT(tgtball);
63   
5464   TILE_GET_INFO_MEMBER(get_tile_info_0);
5565   TILE_GET_INFO_MEMBER(get_tile_info_1);
5666   TILE_GET_INFO_MEMBER(get_tile_info_2);
67   
5768   virtual void machine_start();
5869   virtual void machine_reset();
5970   virtual void video_start();
71   
6072   UINT32 screen_update_paradise(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
6173   UINT32 screen_update_torus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
6274   UINT32 screen_update_madball(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
75   
6376   INTERRUPT_GEN_MEMBER(paradise_irq);
77   
6478   void update_pix_palbank();
65   void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
66   required_device<cpu_device> m_maincpu;
67   optional_device<okim6295_device> m_oki2;
68   required_device<gfxdecode_device> m_gfxdecode;
69   required_device<screen_device> m_screen;
70   required_device<palette_device> m_palette;
79   void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
7180};
trunk/src/mame/video/paradise.c
r243021r243022
164164   m_tilemap_2->set_transparent_pen(0xff);
165165
166166   save_item(NAME(m_tmpbitmap));
167   save_item(NAME(m_pixbank));
167168}
168169
169170
r243021r243022
179180   m_priority = data;
180181}
181182
182void paradise_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
183void paradise_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
183184{
184   UINT8 *spriteram = m_spriteram;
185   int i;
186   for (i = 0; i < m_spriteram.bytes() ; i += m_sprite_inc)
185   for (int i = 0; i < m_spriteram.bytes() ; i += m_sprite_inc)
187186   {
188      int code = spriteram[i + 0];
189      int x    = spriteram[i + 1];
190      int y    = spriteram[i + 2] - 2;
191      int attr = spriteram[i + 3];
187      int code = m_spriteram[i + 0];
188      int x    = m_spriteram[i + 1];
189      int y    = m_spriteram[i + 2] - 2;
190      int attr = m_spriteram[i + 3];
192191
193192      int flipx = 0;  // ?
194193      int flipy = 0;


Previous 199869 Revisions Next


© 1997-2024 The MAME Team