diff options
Diffstat (limited to 'src/mame/drivers/spg2xx_zone_32bit.cpp')
-rw-r--r-- | src/mame/drivers/spg2xx_zone_32bit.cpp | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/src/mame/drivers/spg2xx_zone_32bit.cpp b/src/mame/drivers/spg2xx_zone_32bit.cpp index 596ee09c3a7..966ae5f82cf 100644 --- a/src/mame/drivers/spg2xx_zone_32bit.cpp +++ b/src/mame/drivers/spg2xx_zone_32bit.cpp @@ -16,6 +16,7 @@ public: { } void zon32bit(machine_config& config); + void zon32bit_bat(machine_config& config); void mem_map_zon32bit(address_map &map); @@ -36,6 +37,8 @@ protected: virtual void portb_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override; virtual void portc_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override; + uint16_t an3_r(); + int m_porta_dat; int m_portb_dat; int m_portc_dat; @@ -67,10 +70,8 @@ public: { } void init_oplayer(); - void init_m505neo(); - protected: virtual uint16_t porta_r() override; virtual uint16_t portb_r() override; @@ -87,8 +88,6 @@ public: void init_denver(); void init_m521neo(); - - protected: virtual void machine_reset() override; @@ -99,6 +98,15 @@ protected: virtual void porta_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override; }; +uint16_t zon32bit_state::an3_r() +{ + int status = ioport("BATT")->read(); + if (status) + return 0xfff; + else + return 0x000; +} + void zon32bit_state::device_post_load() { // load state can change the bank, so we must invalide cache @@ -694,6 +702,11 @@ static INPUT_PORTS_START( oplayer ) PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + + PORT_START("BATT") + PORT_CONFNAME( 0x0001, 0x0001, "Battery Status" ) + PORT_CONFSETTING( 0x0000, "Low" ) + PORT_CONFSETTING( 0x0001, "High" ) INPUT_PORTS_END @@ -713,6 +726,12 @@ void zon32bit_state::zon32bit(machine_config &config) m_maincpu->portc_out().set(FUNC(zon32bit_state::portc_w)); } +void zon32bit_state::zon32bit_bat(machine_config& config) +{ + zon32bit(config); + m_maincpu->adc_in<3>().set(FUNC(zon32bit_state::an3_r)); +} + ROM_START( mywicodx ) ROM_REGION( 0x4000000, "maincpu", ROMREGION_ERASE00 ) // the first bank contains the Mi Guitar game, the 2nd half of the ROM is where the Menu starts @@ -910,12 +929,12 @@ CONS( 200?, zon32bit, 0, 0, zon32bit, zon32bit, zon32bit_state, empty_init, CONS( 200?, mywicodx, 0, 0, zon32bit, zon32bit, mywicodx_state, empty_init, "<unknown>", "My Wico Deluxe (Family Sport 85-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // issues with 'low battery' always showing, but otherwise functional -CONS( 200?, oplayer, 0, 0, zon32bit, oplayer, oplayer_100in1_state, init_oplayer, "OPlayer", "OPlayer Mobile Game Console (MGS03-white) (Family Sport 100-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 200?, oplayer, 0, 0, zon32bit_bat, oplayer, oplayer_100in1_state, init_oplayer, "OPlayer", "OPlayer Mobile Game Console (MGS03-white) (Family Sport 100-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) -CONS( 2012, m505neo, 0, 0, zon32bit, oplayer, oplayer_100in1_state, init_m505neo, "Millennium 2000 GmbH", "Millennium M505 Arcade Neo Portable Spielkonsole (Family Sport 100-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 2012, m505neo, 0, 0, zon32bit_bat, oplayer, oplayer_100in1_state, init_m505neo, "Millennium 2000 GmbH", "Millennium M505 Arcade Neo Portable Spielkonsole (Family Sport 100-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // a version of this exists with the 'newer' style title screen seen in m505neo -CONS( 2012, m521neo, 0, 0, zon32bit, oplayer, denver_200in1_state, init_m521neo, "Millennium 2000 GmbH", "Millennium M521 Arcade Neo 2.0 (Family Sport 220-in-1) ", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 2012, m521neo, 0, 0, zon32bit_bat, oplayer, denver_200in1_state, init_m521neo, "Millennium 2000 GmbH", "Millennium M521 Arcade Neo 2.0 (Family Sport 220-in-1) ", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) /* DENVER(r) @@ -934,6 +953,6 @@ DENMARK */ -CONS( 200?, dnv200fs, 0, 0, zon32bit, oplayer, denver_200in1_state, init_denver, "Denver", "Denver (GMP-270CMK2) (Family Sport 200-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 200?, dnv200fs, 0, 0, zon32bit_bat, oplayer, denver_200in1_state, init_denver, "Denver", "Denver (GMP-270CMK2) (Family Sport 200-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) |