trunk/src/mess/machine/sns_bsx.c
| r22738 | r22739 | |
| 73 | 73 | save_item(NAME(access_60_6f)); |
| 74 | 74 | save_item(NAME(rom_access)); |
| 75 | 75 | save_item(NAME(m_pram)); |
| 76 | | // TODO: save unit-related items and fix their restore... |
| 77 | 76 | } |
| 78 | 77 | |
| 79 | 78 | void sns_rom_bsx_device::device_reset() |
| r22738 | r22739 | |
| 117 | 116 | BSX_base::BSX_base(running_machine &machine) |
| 118 | 117 | : m_machine(machine) |
| 119 | 118 | { |
| 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); |
| 120 | 123 | } |
| 121 | 124 | |
| 122 | 125 | void BSX_base::init() |
trunk/src/mess/machine/sns_slot.c
| r22738 | r22739 | |
| 112 | 112 | { |
| 113 | 113 | m_nvram = auto_alloc_array_clear(machine, UINT8, size); |
| 114 | 114 | m_nvram_size = size; |
| 115 | state_save_register_item_pointer(machine, "SNES_CART", NULL, 0, m_nvram, m_nvram_size); |
| 115 | 116 | } |
| 116 | 117 | } |
| 117 | 118 | |
| r22738 | r22739 | |
| 129 | 130 | { |
| 130 | 131 | m_rtc_ram = auto_alloc_array_clear(machine, UINT8, size); |
| 131 | 132 | m_rtc_ram_size = size; |
| 133 | state_save_register_item_pointer(machine, "SNES_CART", NULL, 0, m_rtc_ram, m_rtc_ram_size); |
| 132 | 134 | } |
| 133 | 135 | } |
| 134 | 136 | |
trunk/src/mess/machine/gb_slot.c
| r22738 | r22739 | |
| 27 | 27 | const device_type MEGADUCK_CART_SLOT = &device_creator<megaduck_cart_slot_device>; |
| 28 | 28 | |
| 29 | 29 | //************************************************************************** |
| 30 | | // MD cartridges Interface |
| 30 | // GB cartridges Interface |
| 31 | 31 | //************************************************************************** |
| 32 | 32 | |
| 33 | 33 | //------------------------------------------------- |
| r22738 | r22739 | |
| 76 | 76 | { |
| 77 | 77 | m_ram = auto_alloc_array_clear(machine, UINT8, size); |
| 78 | 78 | m_ram_size = size; |
| 79 | state_save_register_item_pointer(machine, "GB_CART", NULL, 0, m_ram, m_ram_size); |
| 79 | 80 | } |
| 80 | 81 | } |
| 81 | 82 | |
trunk/src/mess/machine/md_svp.c
| r22738 | r22739 | |
| 384 | 384 | m_xst = 0; |
| 385 | 385 | m_xst2 = 0; |
| 386 | 386 | |
| 387 | | /* SVP stuff */ |
| 387 | // SVP stuff |
| 388 | 388 | // DRAM |
| 389 | 389 | m_dram = auto_alloc_array(machine(), UINT8, 0x20000); |
| 390 | 390 | // IRAM |
| 391 | 391 | m_iram = auto_alloc_array(machine(), UINT8, 0x800); |
| 392 | 392 | this->membank("iram_svp")->set_base(m_iram); |
| 393 | 393 | // 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); |
| 394 | 405 | } |
| 395 | 406 | |
| 396 | 407 | READ16_MEMBER(md_rom_svp_device::read) |
trunk/src/mess/machine/md_stm95.c
| r22738 | r22739 | |
| 16 | 16 | #include "machine/md_stm95.h" |
| 17 | 17 | |
| 18 | 18 | |
| 19 | stm95_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 | |
| 19 | 34 | void stm95_eeprom_device::set_cs_line(int state) |
| 20 | 35 | { |
| 21 | 36 | reset_line = state; |
| r22738 | r22739 | |
| 177 | 192 | void md_eeprom_stm95_device::device_start() |
| 178 | 193 | { |
| 179 | 194 | 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())); |
| 181 | 196 | |
| 182 | 197 | save_item(NAME(m_rdcnt)); |
| 183 | 198 | save_item(NAME(m_bank)); |
| 184 | | //TODO: save and restore the m_stm95... |
| 185 | 199 | } |
| 186 | 200 | |
| 187 | 201 | void md_eeprom_stm95_device::device_reset() |
| r22738 | r22739 | |
| 227 | 241 | { |
| 228 | 242 | if (offset == 0x0a/2) |
| 229 | 243 | { |
| 230 | | return m_stm95.get_so_line() & 1; |
| 244 | return m_stm95->get_so_line() & 1; |
| 231 | 245 | } |
| 232 | 246 | return 0xffff; |
| 233 | 247 | } |
| r22738 | r22739 | |
| 244 | 258 | } |
| 245 | 259 | else if (offset < 0x0a/2) |
| 246 | 260 | { |
| 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)); |
| 251 | 265 | } |
| 252 | 266 | } |