Previous 199869 Revisions Next

r34513 Tuesday 20th January, 2015 at 18:39:00 UTC by Osso
exidy.c: try to avoid postload, review appreciated  (nw)
[src/mame/drivers]exidy.c
[src/mame/includes]exidy.h

trunk/src/mame/drivers/exidy.c
r243024r243025
186186
187187WRITE8_MEMBER(exidy_state::fax_bank_select_w)
188188{
189   m_fax_bank = data;
189   membank("bank1")->set_entry(data & 0x1f);
190190   
191   fax_bank_restore();
191   if ((data & 0x1f) > 0x17)
192      logerror("Banking to unpopulated ROM bank %02X!\n", data & 0x1f);
193   
192194}
193195
194void exidy_state::fax_bank_restore()
195{
196   UINT8 *RAM = memregion("maincpu")->base();
197196
198   membank("bank1")->set_base(&RAM[0x10000 + (0x2000 * (m_fax_bank & 0x1f))]);
199   if ((m_fax_bank & 0x1f) > 0x17)
200      logerror("Banking to unpopulated ROM bank %02X!\n", m_fax_bank & 0x1f);
201}
202
203
204
205197/*************************************
206198 *
207199 *  Main CPU memory handlers
r243024r243025
15481540
15491541   exidy_video_config(0x04, 0x04, TRUE);
15501542
1551   /* reset the ROM bank */
1552   fax_bank_select_w(space,0,0);
1553   
1554   save_item(NAME(m_fax_bank));
1555   machine().save().register_postload(save_prepost_delegate(FUNC(exidy_state::fax_bank_restore), this));
1543   membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x2000);
15561544}
15571545
15581546
trunk/src/mame/includes/exidy.h
r243024r243025
7373   UINT8 m_collision_invert;
7474   int m_is_2bpp;
7575   UINT8 m_int_condition;
76   int m_fax_bank;
7776   bitmap_ind16 m_background_bitmap;
7877   bitmap_ind16 m_motion_object_1_vid;
7978   bitmap_ind16 m_motion_object_2_vid;
r243024r243025
110109   inline int sprite_1_enabled();
111110   void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
112111   void check_collision();
113   void fax_bank_restore();
114112
115113   /* Targ and Spectar samples */
116114   int m_max_freq;


Previous 199869 Revisions Next


© 1997-2024 The MAME Team