summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/spg2xx_zone_32bit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/spg2xx_zone_32bit.cpp')
-rw-r--r--src/mame/drivers/spg2xx_zone_32bit.cpp35
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 )