Previous 199869 Revisions Next

r22739 Friday 10th May, 2013 at 15:12:14 UTC by Fabio Priuli
(MESS) added a bunch of slot-related save registrations. nw.
[src/mess/machine]gb_slot.c md_slot.c md_stm95.c md_stm95.h md_svp.c sns_bsx.c sns_slot.c

trunk/src/mess/machine/sns_bsx.c
r22738r22739
7373   save_item(NAME(access_60_6f));
7474   save_item(NAME(rom_access));
7575   save_item(NAME(m_pram));
76   // TODO: save unit-related items and fix their restore...
7776}
7877
7978void sns_rom_bsx_device::device_reset()
r22738r22739
117116BSX_base::BSX_base(running_machine &machine)
118117         : m_machine(machine)
119118{
119   state_save_register_item(machine, "SNES_BSX", NULL, 0, regs);
120   state_save_register_item(machine, "SNES_BSX", NULL, 0, r2192_counter);
121   state_save_register_item(machine, "SNES_BSX", NULL, 0, r2192_hour);
122   state_save_register_item(machine, "SNES_BSX", NULL, 0, r2192_second);
120123}
121124
122125void BSX_base::init()
trunk/src/mess/machine/sns_slot.c
r22738r22739
112112   {
113113      m_nvram = auto_alloc_array_clear(machine, UINT8, size);
114114      m_nvram_size = size;
115      state_save_register_item_pointer(machine, "SNES_CART", NULL, 0, m_nvram, m_nvram_size);
115116   }
116117}
117118
r22738r22739
129130   {
130131      m_rtc_ram = auto_alloc_array_clear(machine, UINT8, size);
131132      m_rtc_ram_size = size;
133      state_save_register_item_pointer(machine, "SNES_CART", NULL, 0, m_rtc_ram, m_rtc_ram_size);
132134   }
133135}
134136
trunk/src/mess/machine/md_slot.c
r22738r22739
103103   {
104104      m_nvram = auto_alloc_array_clear(machine, UINT16, size/sizeof(UINT16));
105105      m_nvram_size = size;
106      state_save_register_item_pointer(machine, "MD_CART", NULL, 0, m_nvram, m_nvram_size);
106107   }
107108}
108109
trunk/src/mess/machine/gb_slot.c
r22738r22739
2727const device_type MEGADUCK_CART_SLOT = &device_creator<megaduck_cart_slot_device>;
2828
2929//**************************************************************************
30//    MD cartridges Interface
30//    GB cartridges Interface
3131//**************************************************************************
3232
3333//-------------------------------------------------
r22738r22739
7676   {
7777      m_ram = auto_alloc_array_clear(machine, UINT8, size);
7878      m_ram_size = size;
79      state_save_register_item_pointer(machine, "GB_CART", NULL, 0, m_ram, m_ram_size);
7980   }
8081}
8182
trunk/src/mess/machine/md_svp.c
r22738r22739
384384   m_xst = 0;
385385   m_xst2 = 0;
386386
387   /* SVP stuff */
387   // SVP stuff
388388   // DRAM
389389   m_dram = auto_alloc_array(machine(), UINT8, 0x20000);
390390   // IRAM
391391   m_iram = auto_alloc_array(machine(), UINT8, 0x800);
392392   this->membank("iram_svp")->set_base(m_iram);
393393   // the other bank, "cart_svp", is setup at call_load
394
395   save_item(NAME(m_pmac_read));
396   save_item(NAME(m_pmac_write));
397   save_item(NAME(m_emu_status));
398   save_item(NAME(m_xst));
399   save_item(NAME(m_xst2));
400   save_item(NAME(m_pmc.d));
401   save_item(NAME(m_pmc.w.l));
402   save_item(NAME(m_pmc.w.h));
403   save_pointer(NAME(m_dram), 0x20000);
404   save_pointer(NAME(m_iram), 0x800);
394405}
395406
396407READ16_MEMBER(md_rom_svp_device::read)
trunk/src/mess/machine/md_stm95.c
r22738r22739
1616#include "machine/md_stm95.h"
1717
1818
19stm95_eeprom_device::stm95_eeprom_device(running_machine &machine, UINT8 *eeprom) :
20         stm_state(IDLE),
21         stream_pos(0),
22         m_machine(machine)
23{
24   eeprom_data = eeprom;
25   state_save_register_item(machine, "STM95", NULL, 0, latch);
26   state_save_register_item(machine, "STM95", NULL, 0, reset_line);
27   state_save_register_item(machine, "STM95", NULL, 0, sck_line);
28   state_save_register_item(machine, "STM95", NULL, 0, WEL);
29   state_save_register_item(machine, "STM95", NULL, 0, stream_pos);
30   state_save_register_item(machine, "STM95", NULL, 0, stream_data);
31   state_save_register_item(machine, "STM95", NULL, 0, eeprom_addr);
32}
33
1934void stm95_eeprom_device::set_cs_line(int state)
2035{
2136   reset_line = state;
r22738r22739
177192void md_eeprom_stm95_device::device_start()
178193{
179194   nvram_alloc(machine(), M95320_SIZE);
180   m_stm95.eeprom_data = (UINT8*)get_nvram_base();
195   m_stm95 = auto_alloc(machine(), stm95_eeprom_device(machine(), (UINT8*)get_nvram_base()));
181196
182197   save_item(NAME(m_rdcnt));
183198   save_item(NAME(m_bank));
184   //TODO: save and restore the m_stm95...
185199}
186200
187201void md_eeprom_stm95_device::device_reset()
r22738r22739
227241{
228242   if (offset == 0x0a/2)
229243   {
230      return m_stm95.get_so_line() & 1;
244      return m_stm95->get_so_line() & 1;
231245   }
232246   return 0xffff;
233247}
r22738r22739
244258   }
245259   else if (offset < 0x0a/2)
246260   {
247      m_stm95.set_si_line(BIT(data, 0));
248      m_stm95.set_sck_line(BIT(data, 1));
249      m_stm95.set_halt_line(BIT(data, 2));
250      m_stm95.set_cs_line(BIT(data, 3));
261      m_stm95->set_si_line(BIT(data, 0));
262      m_stm95->set_sck_line(BIT(data, 1));
263      m_stm95->set_halt_line(BIT(data, 2));
264      m_stm95->set_cs_line(BIT(data, 3));
251265   }
252266}
trunk/src/mess/machine/md_stm95.h
r22738r22739
2626class stm95_eeprom_device
2727{
2828public:
29   stm95_eeprom_device() :
30   stm_state(IDLE),
31   stream_pos(0)
32   {};
29   stm95_eeprom_device(running_machine &machine, UINT8 *eeprom);
30   running_machine &machine() const { return m_machine; }
3331
3432   UINT8   *eeprom_data;
3533   void    set_cs_line(int);
r22738r22739
4846   int     stream_pos;
4947   int     stream_data;
5048   int     eeprom_addr;
49   
50   running_machine& m_machine;
5151};
5252
5353
r22738r22739
7474   UINT8 m_bank[3];
7575   int m_rdcnt;
7676
77   stm95_eeprom_device m_stm95;
77   stm95_eeprom_device *m_stm95;
7878};
7979
8080

Previous 199869 Revisions Next


© 1997-2024 The MAME Team