From 6a2f819f508745e47182aad3f521e63b990b2045 Mon Sep 17 00:00:00 2001 From: mamehaze Date: Sun, 23 Nov 2014 23:36:50 +0000 Subject: new NOT WORKING LeapFrog Leapster [Team Europe] (added a single item software list, will add the rest of the items we have shortly - uses ArcTangent A5 cpu, we don't have a core afaik) --- hash/leapster.xml | 17 ++++++ src/mess/drivers/leapster.c | 127 ++++++++++++++++++++++++++++++++++++++++++++ src/mess/mess.lst | 3 ++ src/mess/mess.mak | 1 + 4 files changed, 148 insertions(+) create mode 100644 hash/leapster.xml create mode 100644 src/mess/drivers/leapster.c diff --git a/hash/leapster.xml b/hash/leapster.xml new file mode 100644 index 00000000000..7b4844f7bf5 --- /dev/null +++ b/hash/leapster.xml @@ -0,0 +1,17 @@ + + + + + + + Findet Nemo (German) + 2003 + LeapFrog + + + + + + + + diff --git a/src/mess/drivers/leapster.c b/src/mess/drivers/leapster.c new file mode 100644 index 00000000000..3f62035a1c2 --- /dev/null +++ b/src/mess/drivers/leapster.c @@ -0,0 +1,127 @@ +/* + LeapFrog - Leapster + + educational system from 2003, software is all developed in MXFlash + + hwspecs + + + CPU: + Custom ASIC (ARCTangent 5.1 CPU @ 96MHz) + + Memory: + Leapster: 2MB onboard RAM, 256 bytes NVRAM. + Leapster2: 16MB RAM, 128kbytes NVRAM + + Media type: + Cartridges of 4-16MB with between 2 and 512kb NVRAM + + Graphics: + 4Mb ATI chip. + + Audio: + Custom + + Screen: + 160x160 CSTN with touchscreen. + + + The Leapster 2 also has + USB 1.1 (client only) + full-sized SD slot. + +*/ + +#include "emu.h" +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" + + +class leapster_state : public driver_device +{ +public: + leapster_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_cart(*this, "cartslot") + { } + + + virtual void machine_start(); + virtual void machine_reset(); + + UINT32 screen_update_leapster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + DECLARE_DEVICE_IMAGE_LOAD_MEMBER(leapster_cart); + +protected: + required_device m_cart; + + memory_region *m_cart_rom; +}; + + + + +static INPUT_PORTS_START( leapster ) +INPUT_PORTS_END + + + +UINT32 leapster_state::screen_update_leapster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +DEVICE_IMAGE_LOAD_MEMBER( leapster_state, leapster_cart ) +{ + UINT32 size = m_cart->common_get_size("rom"); + + m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE); + m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom"); + + return IMAGE_INIT_PASS; +} + +void leapster_state::machine_start() +{ + astring region_tag; + m_cart_rom = memregion(region_tag.cpy(m_cart->tag()).cat(GENERIC_ROM_REGION_TAG)); +} + +void leapster_state::machine_reset() +{ +} + + + +static MACHINE_CONFIG_START( leapster, leapster_state ) + /* basic machine hardware */ + // CPU is ArcTangent A5 + + /* video hardware */ + MCFG_SCREEN_ADD("screen", LCD) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_SIZE(160, 160) + MCFG_SCREEN_VISIBLE_AREA(0, 160-1, 0, 160-1) + MCFG_SCREEN_UPDATE_DRIVER(leapster_state, screen_update_leapster) + + /* cartridge */ + MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "leapster_cart") + MCFG_GENERIC_EXTENSIONS("bin") + MCFG_GENERIC_LOAD(leapster_state, leapster_cart) + + /* Software lists */ + MCFG_SOFTWARE_LIST_ADD("cart_list", "leapster") +MACHINE_CONFIG_END + +ROM_START(leapster) + ROM_REGION(0x200000, "maincpu", ROMREGION_ERASE00) + ROM_LOAD( "155-10072-a.bin", 0x00000, 0x200000, CRC(af05e5a0) SHA1(d4468d060543ba7e44785041093bc98bcd9afa07) ) +ROM_END + +ROM_START(leapstertv) + ROM_REGION(0x200000, "maincpu", ROMREGION_ERASE00) + ROM_LOAD( "am29pl160cb-90sf.bin", 0x00000, 0x200000, CRC(dc281f1f) SHA1(17588de54ab3bb82801bd5062f3e6aa687412178) ) +ROM_END + + +CONS(2003, leapster, 0, 0, leapster, leapster, driver_device, 0, "LeapFrog", "Leapster (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON ) +CONS(2005, leapstertv, leapster, 0, leapster, leapster, driver_device, 0, "LeapFrog", "Leapster TV (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON ) diff --git a/src/mess/mess.lst b/src/mess/mess.lst index 9ee0d0128d8..82dc67d530f 100644 --- a/src/mess/mess.lst +++ b/src/mess/mess.lst @@ -2555,3 +2555,6 @@ gimix tecnbras minicom gameking +leapster +leapstertv + diff --git a/src/mess/mess.mak b/src/mess/mess.mak index cba88e1e541..1a78afa29c0 100644 --- a/src/mess/mess.mak +++ b/src/mess/mess.mak @@ -1927,6 +1927,7 @@ $(MESSOBJ)/skeleton.a: \ $(MESS_DRIVERS)/jade.o \ $(MESS_DRIVERS)/jonos.o \ $(MESS_DRIVERS)/konin.o \ + $(MESS_DRIVERS)/leapster.o \ $(MESS_DRIVERS)/lft.o \ $(MESS_DRIVERS)/lola8a.o \ $(MESS_DRIVERS)/m79152pc.o \ -- cgit v1.2.3