summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-07-02 13:44:38 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-07-02 13:45:57 -0400
commit0b8733206a1f6d3c931171c18f2200b2eb5a2b87 (patch)
tree2562856c430f5e9c3772a198214b75fa63231c4d
parent1ba8223dfa4b763d4d59c087dca1c9beaba513da (diff)
prestige.cpp: Identify Genius Junior CPU architecture and split to new driver file (nw)
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--src/mame/drivers/geniusjr.cpp101
-rw-r--r--src/mame/drivers/prestige.cpp44
-rw-r--r--src/mame/mame.lst14
-rw-r--r--src/mame/mess.flt1
5 files changed, 111 insertions, 50 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 7fcdebd35b7..45f31bbb2b5 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -3727,6 +3727,7 @@ files {
MAME_DIR .. "src/mame/includes/crvision.h",
MAME_DIR .. "src/mame/drivers/gamemachine.cpp",
MAME_DIR .. "src/mame/drivers/geniusiq.cpp",
+ MAME_DIR .. "src/mame/drivers/geniusjr.cpp",
MAME_DIR .. "src/mame/drivers/vtech_unk1.cpp",
MAME_DIR .. "src/mame/drivers/vtech_unk2.cpp",
MAME_DIR .. "src/mame/drivers/vtech_eu3a12.cpp",
diff --git a/src/mame/drivers/geniusjr.cpp b/src/mame/drivers/geniusjr.cpp
new file mode 100644
index 00000000000..9ae0d031b7b
--- /dev/null
+++ b/src/mame/drivers/geniusjr.cpp
@@ -0,0 +1,101 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/*
+
+VTech Genius Junior series
+
+CPU is 68HC05 derived?
+
+*/
+
+#include "emu.h"
+#include "cpu/m6805/m68hc05.h"
+#include "softlist_dev.h"
+
+
+class geniusjr_state : public driver_device
+{
+public:
+ geniusjr_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ {
+ }
+
+ void geniusjr(machine_config &config);
+ void gjmovie(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+
+private:
+ void mem_map(address_map &map);
+
+ required_device<m68hc05_device> m_maincpu;
+};
+
+void geniusjr_state::mem_map(address_map &map)
+{
+}
+
+
+INPUT_PORTS_START( geniusjr )
+INPUT_PORTS_END
+
+
+void geniusjr_state::machine_start()
+{
+}
+
+void geniusjr_state::geniusjr(machine_config &config)
+{
+ M68HC05C8(config, m_maincpu, 8'000'000); // unknown type and clock
+ m_maincpu->set_addrmap(AS_PROGRAM, &geniusjr_state::mem_map);
+}
+
+void geniusjr_state::gjmovie(machine_config &config)
+{
+ geniusjr(config);
+
+ SOFTWARE_LIST(config, "cart_list").set_original("gjmovie");
+}
+
+
+ROM_START( gj4000 )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "27-05886-000-000.u4", 0x000000, 0x40000, CRC(5f6db95b) SHA1(fe683154e33a82ea38696096616d11e850e0c7a3))
+ROM_END
+
+ROM_START( gj5000 )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "27-6019-01.u2", 0x000000, 0x80000, CRC(946e5b7d) SHA1(80963d6ad80d49e54c8996bfc77ac135c4935be5))
+ROM_END
+
+ROM_START( gjmovie )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "lh532hlk.bin", 0x000000, 0x40000, CRC(2e64c296) SHA1(604034f902e20851cb9af60964031a508ceef83e))
+ROM_END
+
+ROM_START( gjrstar )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "27-5740-00.u1", 0x000000, 0x40000, CRC(ff3dc3bb) SHA1(bc16dfc1e12b0008456c700c431c8df6263b671f))
+ROM_END
+
+ROM_START( gjrstar2 )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "27-5740-00.u1", 0x000000, 0x40000, CRC(ff3dc3bb) SHA1(bc16dfc1e12b0008456c700c431c8df6263b671f)) // identical to 'Genius Junior Redstar'
+ROM_END
+
+ROM_START( gjrstar3 )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "54-06056-000-000.u3", 0x000000, 0x040000, CRC(72522179) SHA1(ede9491713ad018012cf925a519bcafe126f1ad3))
+ROM_END
+
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 1996, gj4000, 0, 0, geniusjr, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior 4000 (Germany)", MACHINE_IS_SKELETON )
+COMP( 1993, gjmovie, 0, 0, gjmovie, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Movie (Germany)", MACHINE_IS_SKELETON )
+COMP( 1996, gjrstar, 0, 0, geniusjr, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar (Germany)", MACHINE_IS_SKELETON )
+COMP( 1996, gjrstar2, gjrstar, 0, geniusjr, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar 2 (Germany)", MACHINE_IS_SKELETON )
+COMP( 1998, gjrstar3, 0, 0, geniusjr, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar 3 (Germany)", MACHINE_IS_SKELETON )
+COMP( 1998, gj5000, 0, 0, geniusjr, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior 5000 (Germany)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp
index 07fe746c614..6c6e4b33801 100644
--- a/src/mame/drivers/prestige.cpp
+++ b/src/mame/drivers/prestige.cpp
@@ -110,7 +110,6 @@ public:
void prestige_base(machine_config &config);
void gl6000sl(machine_config &config);
- void gjmovie(machine_config &config);
void snotec(machine_config &config);
void glmcolor(machine_config &config);
void glcolor(machine_config &config);
@@ -831,13 +830,6 @@ void prestige_state::gl7007sl(machine_config &config)
SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
}
-void prestige_state::gjmovie(machine_config &config)
-{
- prestige_base(config);
-
- SOFTWARE_LIST(config, "cart_list").set_original("gjmovie");
-}
-
/* ROM definition */
ROM_START( gl6000sl )
@@ -890,36 +882,6 @@ ROM_START( glmcolor )
ROM_LOAD( "27-5673-00.u6", 0x00000, 0x100000, CRC(c4245392) SHA1(bb651aaf11b75f4155c0a0106de9394018110cc7) )
ROM_END
-ROM_START( gj4000 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "27-05886-000-000.u4", 0x000000, 0x40000, CRC(5f6db95b) SHA1(fe683154e33a82ea38696096616d11e850e0c7a3))
-ROM_END
-
-ROM_START( gj5000 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "27-6019-01.u2", 0x000000, 0x80000, CRC(946e5b7d) SHA1(80963d6ad80d49e54c8996bfc77ac135c4935be5))
-ROM_END
-
-ROM_START( gjmovie )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "lh532hlk.bin", 0x000000, 0x40000, CRC(2e64c296) SHA1(604034f902e20851cb9af60964031a508ceef83e))
-ROM_END
-
-ROM_START( gjrstar )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "27-5740-00.u1", 0x000000, 0x40000, CRC(ff3dc3bb) SHA1(bc16dfc1e12b0008456c700c431c8df6263b671f))
-ROM_END
-
-ROM_START( gjrstar2 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "27-5740-00.u1", 0x000000, 0x40000, CRC(ff3dc3bb) SHA1(bc16dfc1e12b0008456c700c431c8df6263b671f)) // identical to 'Genius Junior Redstar'
-ROM_END
-
-ROM_START( gjrstar3 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "54-06056-000-000.u3", 0x000000, 0x040000, CRC(72522179) SHA1(ede9491713ad018012cf925a519bcafe126f1ad3))
-ROM_END
-
ROM_START( gkidabc )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD("27-5730-00.bin", 0x00000, 0x20000, CRC(64664708) SHA1(74212c2dec1caa41dbc933b50f857904a8ac623b))
@@ -948,11 +910,5 @@ COMP( 1999, gwnf, 0, 0, prestige, prestige, prestige_state, empty
// these systems need to be moved into a separate driver
-COMP( 1996, gj4000, 0, 0, prestige, prestige, prestige_state, empty_init, "VTech", "Genius Junior 4000 (Germany)", MACHINE_IS_SKELETON )
COMP( 1996, gkidabc, 0, 0, prestige, prestige, prestige_state, empty_init, "VTech", "Genius KID ABC Fan (Germany)", MACHINE_IS_SKELETON )
-COMP( 1993, gjmovie, 0, 0, gjmovie, prestige, prestige_state, empty_init, "VTech", "Genius Junior Movie (Germany)", MACHINE_IS_SKELETON )
-COMP( 1996, gjrstar, 0, 0, prestige, prestige, prestige_state, empty_init, "VTech", "Genius Junior Redstar(Germany)", MACHINE_IS_SKELETON )
-COMP( 1996, gjrstar2, gjrstar, 0, prestige, prestige, prestige_state, empty_init, "VTech", "Genius Junior Redstar 2 (Germany)", MACHINE_IS_SKELETON )
-COMP( 1998, gjrstar3, 0, 0, prestige, prestige, prestige_state, empty_init, "VTech", "Genius Junior Redstar 3 (Germany)", MACHINE_IS_SKELETON )
-COMP( 1998, gj5000, 0, 0, prestige, prestige, prestige_state, empty_init, "VTech", "Genius Junior 5000 (Germany)", MACHINE_IS_SKELETON )
COMP( 2012, cars2lap, 0, 0, prestige, prestige, prestige_state, empty_init, "VTech", "CARS 2 Laptop (Germany)", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 86bdecef849..0c02de6809c 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -14199,6 +14199,14 @@ iq128_fr // 1997 Genius PC (France)
iqtv512 // IQ TV512 (Germany)
itunlim // 199? IT Unlimited
+@source:geniusjr.cpp
+gj4000 // Genius Junior 4000 (Germany)
+gj5000 // Genius Junior 5000 (Germany)
+gjmovie // Genius Junior Movie (Germany)
+gjrstar // Genius Junior Redstar (Germany)
+gjrstar2 // Genius Junior Redstar 2 (Germany)
+gjrstar3 // Genius Junior Redstar 3 (Germany)
+
@source:genpc.cpp
pc // 1987 PC with CGA
pcega // 1987 PC with EGA
@@ -32994,12 +33002,6 @@ prehisleb // bootleg
@source:prestige.cpp
cars2lap // CARS 2 Laptop (Germany)
-gj4000 // Genius Junior 4000 (Germany)
-gj5000 // Genius Junior 5000 (Germany)
-gjmovie // Genius Junior Movie (Germany)
-gjrstar // Genius Junior Redstar(Germany)
-gjrstar2 // Genius Junior Redstar 2 (Germany)
-gjrstar3 // Genius Junior Redstar 3 (Germany)
gkidabc // Genius KID ABC Fan (Germany)
gl6000sl // Genius Leader 6000SL (Germany)
gl7007sl // Genius Leader 7007SL (Germany)
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 772cfa6b4dc..3f3d380f2d0 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -289,6 +289,7 @@ gb.cpp
gba.cpp
geneve.cpp
geniusiq.cpp
+geniusjr.cpp
genpc.cpp
gimix.cpp
gizmondo.cpp