From a4f09c3ffe6a5707693cb38e10bb1240890f8e11 Mon Sep 17 00:00:00 2001 From: ClawGrip Date: Sun, 16 Feb 2025 19:51:05 +0100 Subject: [PATCH] vtech/magibook.cpp: Dumped the external ROM for the Spanish VTech MagiBook. (#13320) New systems marked not working ------------------------------ VTech MagiBook (Spanish) [ArcadeHacker] --- src/mame/mame.lst | 3 ++ src/mame/vtech/magibook.cpp | 72 +++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 src/mame/vtech/magibook.cpp diff --git a/src/mame/mame.lst b/src/mame/mame.lst index a17336a46a9..e471a6ea407 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -47161,6 +47161,9 @@ learnwin1 learnwinf spielmast +@source:vtech/magibook.cpp +magibooksp // (c) 2016 VTech / LeapFrog + @source:vtech/pc1000.cpp misterx ordisava diff --git a/src/mame/vtech/magibook.cpp b/src/mame/vtech/magibook.cpp new file mode 100644 index 00000000000..a58e8fb7f8e --- /dev/null +++ b/src/mame/vtech/magibook.cpp @@ -0,0 +1,72 @@ +// license:BSD-3-Clause +// copyright-holders: + +/********************************************************************************* + + Skeleton driver for VTech MagiBook / LeapFrog LeapStart interactive books. + Video from the real hardware (VTech): https://youtube.com/shorts/OcZ1ADZ_rTo + +*********************************************************************************/ + +#include "emu.h" + +#include "cpu/arm7/arm7.h" + +#include "screen.h" +#include "speaker.h" + + +namespace { + + +class magibook_state : public driver_device +{ +public: + magibook_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void magibook(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + + required_device m_maincpu; +}; + +void magibook_state::machine_start() +{ +} + +void magibook_state::machine_reset() +{ +} + +// Wired touch pen plus "+", "-" and power buttons. +static INPUT_PORTS_START( magibook ) +INPUT_PORTS_END + +void magibook_state::magibook(machine_config &config) +{ + ARM9(config, m_maincpu, 24'000'000); // GeneralPlus GP326813, unknown frequency + + // Screenless + + SPEAKER(config, "mono").front_left(); +} + +// Spanish machine on VTech 6021 hardware, may be different between regions. +ROM_START( magibooksp ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "internal.u200", 0x00000, 0x10000, NO_DUMP ) // Unknown internal ROM size, if any + + ROM_REGION( 0x11000000, "program", 0 ) + ROM_LOAD( "vtech_magibook_tc58nvg1s3hta00.u302", 0x00000000, 0x11000000, CRC(035aa5ba) SHA1(b118954b764daab217d8b6b6785b0cedfcb88780) ) +ROM_END + +} // anonymous namespace + + +CONS( 2016, magibooksp, 0, 0, magibook, magibook, magibook_state, empty_init, "VTech", "MagiBook (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_REQUIRES_ARTWORK )