trunk/src/mame/drivers/bfm_sc2.c
| r31676 | r31677 | |
| 180 | 180 | public: |
| 181 | 181 | bfm_sc2_state(const machine_config &mconfig, device_type type, const char *tag) |
| 182 | 182 | : driver_device(mconfig, type, tag), |
| 183 | m_maincpu(*this, "maincpu"), |
| 184 | m_upd7759(*this, "upd"), |
| 183 | 185 | m_vfd0(*this, "vfd0"), |
| 184 | 186 | m_vfd1(*this, "vfd1"), |
| 185 | | m_dm01(*this, "dm01"), |
| 186 | | m_maincpu(*this, "maincpu"), |
| 187 | | m_upd7759(*this, "upd") { } |
| 188 | | |
| 187 | m_dm01(*this, "dm01") { } |
| 188 | |
| 189 | required_device<cpu_device> m_maincpu; |
| 190 | required_device<upd7759_device> m_upd7759; |
| 189 | 191 | optional_device<bfm_bd1_t> m_vfd0; |
| 190 | 192 | optional_device<bfm_bd1_t> m_vfd1; |
| 191 | 193 | optional_device<bfmdm01_device> m_dm01; |
| 192 | 194 | |
| 193 | | int m_sc2gui_update_mmtr; |
| 195 | int m_sc2gui_update_mmtr; //not used? |
| 194 | 196 | UINT8 *m_nvram; |
| 195 | 197 | UINT8 m_key[8]; |
| 196 | 198 | UINT8 m_e2ram[1024]; |
| 197 | 199 | int m_mmtr_latch; |
| 198 | | int m_triac_latch; |
| 200 | int m_triac_latch; //initialized but not used? |
| 199 | 201 | int m_irq_status; |
| 200 | 202 | int m_optic_pattern; |
| 201 | 203 | int m_uart1_data; |
| 202 | 204 | int m_uart2_data; |
| 203 | 205 | int m_data_to_uart1; |
| 204 | 206 | int m_data_to_uart2; |
| 205 | | int m_locked; |
| 207 | int m_locked; //initialized but not used? |
| 206 | 208 | int m_is_timer_enabled; |
| 207 | 209 | int m_reel_changed; |
| 208 | 210 | int m_coin_inhibits; |
| r31676 | r31677 | |
| 317 | 319 | void adder2_common_init(); |
| 318 | 320 | void sc2awp_common_init(int reels, int decrypt); |
| 319 | 321 | void sc2awpdmd_common_init(int reels, int decrypt); |
| 320 | | required_device<cpu_device> m_maincpu; |
| 321 | | required_device<upd7759_device> m_upd7759; |
| 322 | void save_state(); |
| 322 | 323 | }; |
| 323 | 324 | |
| 324 | 325 | |
| r31676 | r31677 | |
| 1390 | 1391 | return 0; |
| 1391 | 1392 | } |
| 1392 | 1393 | |
| 1394 | void bfm_sc2_state::save_state() |
| 1395 | { |
| 1396 | /* TODO: Split between the different machine types */ |
| 1397 | |
| 1398 | save_item(NAME(m_key)); |
| 1399 | save_item(NAME(m_mmtr_latch)); |
| 1400 | //save_item(NAME(m_triac_latch)); // uncomment when variable is used |
| 1401 | save_item(NAME(m_irq_status)); |
| 1402 | save_item(NAME(m_optic_pattern)); |
| 1403 | save_item(NAME(m_uart1_data)); |
| 1404 | save_item(NAME(m_uart2_data)); |
| 1405 | save_item(NAME(m_data_to_uart1)); |
| 1406 | save_item(NAME(m_data_to_uart2)); |
| 1407 | //save_item(NAME(m_locked)); // uncomment when variable is used |
| 1408 | save_item(NAME(m_is_timer_enabled)); |
| 1409 | save_item(NAME(m_reel_changed)); |
| 1410 | save_item(NAME(m_coin_inhibits)); |
| 1411 | save_item(NAME(m_irq_timer_stat)); |
| 1412 | save_item(NAME(m_expansion_latch)); |
| 1413 | save_item(NAME(m_global_volume)); |
| 1414 | save_item(NAME(m_volume_override)); |
| 1415 | save_item(NAME(m_reel12_latch)); |
| 1416 | save_item(NAME(m_reel34_latch)); |
| 1417 | save_item(NAME(m_reel56_latch)); |
| 1418 | save_item(NAME(m_pay_latch)); |
| 1419 | save_item(NAME(m_slide_states)); |
| 1420 | save_item(NAME(m_slide_pay_sensor)); |
| 1421 | save_item(NAME(m_triac_select)); |
| 1422 | save_item(NAME(m_hopper_running)); |
| 1423 | save_item(NAME(m_hopper_coin_sense)); |
| 1424 | save_item(NAME(m_timercnt)); |
| 1425 | save_item(NAME(m_sc2_Inputs)); |
| 1426 | save_item(NAME(m_input_override)); |
| 1427 | save_item(NAME(m_e2reg)); |
| 1428 | save_item(NAME(m_e2state)); |
| 1429 | save_item(NAME(m_e2cnt)); |
| 1430 | save_item(NAME(m_e2data)); |
| 1431 | save_item(NAME(m_e2address)); |
| 1432 | save_item(NAME(m_e2rw)); |
| 1433 | save_item(NAME(m_e2data_pin)); |
| 1434 | save_item(NAME(m_e2dummywrite)); |
| 1435 | save_item(NAME(m_e2data_to_read)); |
| 1436 | save_item(NAME(m_codec_data)); |
| 1437 | } |
| 1393 | 1438 | |
| 1394 | 1439 | |
| 1395 | | |
| 1396 | 1440 | static ADDRESS_MAP_START( sc2_basemap, AS_PROGRAM, 8, bfm_sc2_state ) |
| 1397 | 1441 | AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") //8k |
| 1398 | 1442 | AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_r) |
| r31676 | r31677 | |
| 2110 | 2154 | nvram_device *e2ram = subdevice<nvram_device>("e2ram"); |
| 2111 | 2155 | if (e2ram != NULL) |
| 2112 | 2156 | e2ram->set_base(m_e2ram, sizeof(m_e2ram)); |
| 2157 | |
| 2158 | save_state(); |
| 2113 | 2159 | } |
| 2114 | 2160 | |
| 2115 | 2161 | static MACHINE_CONFIG_START( scorpion2_vid, bfm_sc2_state ) |