prestige.cpp: Identify Genius Junior CPU architecture and split to new driver file (nw)

This commit is contained in:
AJR 2019-07-02 13:44:38 -04:00
parent 1ba8223dfa
commit 0b8733206a
5 changed files with 111 additions and 50 deletions

View File

@ -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",

View File

@ -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 )

View File

@ -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 )

View File

@ -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)

View File

@ -289,6 +289,7 @@ gb.cpp
gba.cpp
geneve.cpp
geniusiq.cpp
geniusjr.cpp
genpc.cpp
gimix.cpp
gizmondo.cpp