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.cpp56
1 files changed, 43 insertions, 13 deletions
diff --git a/src/mame/drivers/spg2xx_zone_32bit.cpp b/src/mame/drivers/spg2xx_zone_32bit.cpp
index 9130d958bae..596ee09c3a7 100644
--- a/src/mame/drivers/spg2xx_zone_32bit.cpp
+++ b/src/mame/drivers/spg2xx_zone_32bit.cpp
@@ -85,6 +85,9 @@ public:
{ }
void init_denver();
+ void init_m521neo();
+
+
protected:
virtual void machine_reset() override;
@@ -788,6 +791,29 @@ ROM_START( m505neo )
ROM_IGNORE(0x4000000)
ROM_END
+ROM_START( m521neo )
+ ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 ) // was this dumped with some address lines swapped?
+ ROM_LOAD16_WORD_SWAP( "6gu-1cd-a.u2", 0x0000000, 0x800000, CRC(7cb31b4c) SHA1(8de44756747a292c5d39bd491048d6fac4219953) )
+ ROM_CONTINUE(0x01000000, 0x800000)
+ ROM_CONTINUE(0x00800000, 0x800000)
+ ROM_CONTINUE(0x01800000, 0x800000)
+
+ ROM_CONTINUE(0x02000000, 0x800000)
+ ROM_CONTINUE(0x03000000, 0x800000)
+ ROM_CONTINUE(0x02800000, 0x800000)
+ ROM_CONTINUE(0x03800000, 0x800000)
+
+ ROM_CONTINUE(0x04000000, 0x800000)
+ ROM_CONTINUE(0x05000000, 0x800000)
+ ROM_CONTINUE(0x04800000, 0x800000)
+ ROM_CONTINUE(0x05800000, 0x800000)
+
+ ROM_CONTINUE(0x06000000, 0x800000)
+ ROM_CONTINUE(0x07000000, 0x800000)
+ ROM_CONTINUE(0x06800000, 0x800000)
+ ROM_CONTINUE(0x07800000, 0x800000)
+ROM_END
+
void oplayer_100in1_state::init_oplayer()
{
@@ -848,7 +874,7 @@ void oplayer_100in1_state::init_m505neo()
// TODO: remove these hacks
// port a checks when starting the system
- ROM[0x43c30 + (0x2000000 / 2)] = 0xf165; // boot
+ ROM[0x43c30 + (0x2000000 / 2)] = 0xf165; // boot main bank
}
@@ -858,20 +884,21 @@ void denver_200in1_state::init_denver()
// patch checks when booting each bank, similar to oplayer
uint16_t* rom = (uint16_t*)memregion("maincpu")->base();
- rom[0x175f7 + (0x0000000 / 2)] = 0xf165;
- rom[0x18f47 + (0x1000000 / 2)] = 0xf165;
- rom[0x33488 + (0x2000000 / 2)] = 0xf165;
- rom[0x87f81 + (0x3000000 / 2)] = 0xf165;
- rom[0x764d9 + (0x4000000 / 2)] = 0xf165;
- rom[0xb454e + (0x5000000 / 2)] = 0xf165;
- rom[0x43c30 + (0x6000000 / 2)] = 0xf165; // boot
- rom[0x1fb00 + (0x7000000 / 2)] = 0xf165;
-
- // no exit patches required?
+ //rom[0x175f7 + (0x0000000 / 2)] = 0xf165;
+ //rom[0x18f47 + (0x1000000 / 2)] = 0xf165;
+ //rom[0x33488 + (0x2000000 / 2)] = 0xf165;
+ //rom[0x87f81 + (0x3000000 / 2)] = 0xf165;
+ //rom[0x764d9 + (0x4000000 / 2)] = 0xf165;
+ //rom[0xb454e + (0x5000000 / 2)] = 0xf165;
+ rom[0x43c30 + (0x6000000 / 2)] = 0xf165; // boot main bank
+ //rom[0x1fb00 + (0x7000000 / 2)] = 0xf165;
}
-
-
+void denver_200in1_state::init_m521neo()
+{
+ uint16_t* rom = (uint16_t*)memregion("maincpu")->base();
+ rom[0x43c30 + (0x6000000 / 2)] = 0xf165; // boot main bank
+}
@@ -887,6 +914,9 @@ CONS( 200?, oplayer, 0, 0, zon32bit, oplayer, oplayer_100in1_state, init_oplay
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 )
+// 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 )
+
/*
DENVER(r)