diff options
Diffstat (limited to 'src/mame/drivers/leapster.cpp')
-rw-r--r-- | src/mame/drivers/leapster.cpp | 85 |
1 files changed, 44 insertions, 41 deletions
diff --git a/src/mame/drivers/leapster.cpp b/src/mame/drivers/leapster.cpp index 1393ff342a9..9646da90603 100644 --- a/src/mame/drivers/leapster.cpp +++ b/src/mame/drivers/leapster.cpp @@ -116,8 +116,6 @@ PCB - Handheld-Console: A = 24LC02B / SN0429 - - ETCHES ON THE BACK OF THE PCB: "FAB-300-10069-C" @@ -127,11 +125,6 @@ ETCHES ON THE BACK OF THE PCB: - - - - - PCB - Cartridge: FRONT: @@ -151,9 +144,6 @@ FRONT: B1: 24L002B - - - 24L002B: +-----+ @@ -165,12 +155,8 @@ B1: 24L002B - - PCB - LEAPSTER-TV: - - +-----------------------------------------------------------------------+ | | | | @@ -198,12 +184,6 @@ PCB - LEAPSTER-TV: \ / +-----------------------------------------------+ - - - - - - */ #include "emu.h" @@ -254,13 +234,10 @@ private: }; - - static INPUT_PORTS_START( leapster ) INPUT_PORTS_END - uint32_t leapster_state::screen_update_leapster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; @@ -293,7 +270,7 @@ void leapster_state::machine_reset() void leapster_state::leapster_map(address_map &map) { - map(0x00000000, 0x007fffff).rom().mirror(0x40000000); // pointers in the bios region seem to be to the 40xxxxxx region, either we mirror there or something (real bios?) is acutally missing + map(0x00000000, 0x007fffff).rom().mirror(0x40000000); // pointers in the BIOS region seem to be to the 40xxxxxx region, either we mirror there or something (real BIOS?) is acutally missing map(0x0180D800, 0x0180D803).r(FUNC(leapster_state::leapster_random_r)); map(0x03000000, 0x030007ff).ram(); // puts stack here, writes a pointer @ 0x03000000 on startup map(0x3c000000, 0x3c1fffff).ram(); // really ram, or has our code execution gone wrong? @@ -307,56 +284,82 @@ void leapster_state::leapster_aux(address_map &map) void leapster_state::leapster(machine_config &config) { - /* basic machine hardware */ + // Basic machine hardware // CPU is ArcTangent-A5 '5.1' (ARCompact core) ARCA5(config, m_maincpu, 96000000/10); m_maincpu->set_addrmap(AS_PROGRAM, &leapster_state::leapster_map); m_maincpu->set_addrmap(AS_IO, &leapster_state::leapster_aux); - /* video hardware */ + // Video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); screen.set_refresh_hz(60); screen.set_size(160, 160); screen.set_visarea(0, 160-1, 0, 160-1); screen.set_screen_update(FUNC(leapster_state::screen_update_leapster)); - /* cartridge */ + // Cartridge GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "leapster_cart", "bin").set_device_load(FUNC(leapster_state::cart_load)); - /* Software lists */ + // Software lists SOFTWARE_LIST(config, "cart_list").set_original("leapster"); } #define ROM_LOAD_BIOS(bios,name,offset,length,hash) \ ROMX_LOAD(name, offset, length, hash, ROM_BIOS(bios)) -/* There are various build dates and revisions for different parts of the code, the date listed is the newest on in each rom. - This is always in the same place relative to the rest of the data +/* There are various build dates and revisions for different parts of the code, the date listed is the newest on in each ROM. + This is always in the same place relative to the rest of the data. - V2.1 sets (except TV) are apparently larger because "Learning with Leap" was built in + V2.1 sets (except TV) are apparently larger because "Learning with Leap" was built in. */ ROM_START(leapster) ROM_REGION(0x800000, "maincpu", ROMREGION_ERASE00) - ROM_SYSTEM_BIOS( 0, "uni15", "Universal 1.5" ) // 152-10346 Leapster BaseROM Universal v1.5 - Sep 04 2003 10:46:47 + ROM_SYSTEM_BIOS( 0, "uni15", "Universal v1.5" ) // 152-10346 Leapster BaseROM Universal v1.5 - Sep 04 2003 10:46:47 ROM_LOAD_BIOS( 0, "155-10072-a.bin" , 0x00000, 0x200000, CRC(af05e5a0) SHA1(d4468d060543ba7e44785041093bc98bcd9afa07) ) - ROM_SYSTEM_BIOS( 1, "uk21", "UK 2.1" ) // 152-11452 Leapster BaseROM UK v2.1 - Aug 30 2005 16:01:46 - ROM_LOAD_BIOS( 1, "leapster2_1004.bin", 0x00000, 0x800000, CRC(b466e14d) SHA1(910c234f03e76b7de55b8aa0a0c62fd1daae4910) ) - ROM_SYSTEM_BIOS( 2, "ger21", "German 2.1" ) // 152-11435 Leapster BaseROM German v2.1 - Oct 21 2005 18:53:59 - ROM_LOAD_BIOS( 2, "leapster2_1006.bin", 0x00000, 0x800000, CRC(a69ed8ca) SHA1(e6aacba0c39b1465f344c2b07ff1cbd8a395adac) ) - ROM_SYSTEM_BIOS( 3, "sp10", "Spanish 1.0" ) // 152-11546 Leapster Baserom SP v1.0 - Apr 03 2006 06:26:00 - ROM_LOAD_BIOS( 3, "leapster2_1008.bin", 0x00000, 0x800000, CRC(b43345e7) SHA1(31c27e79568115bf36e5ef668f528e3005054152) ) + ROM_SYSTEM_BIOS( 1, "us21", "USA v2.1" ) // 152-11265 Leapster BaseROM US v2.1 - Apr 13 2005 15:34:57 + ROM_LOAD_BIOS( 1, "152-11265_2.1.bin", 0x00000, 0x800000, CRC(9639b3ae) SHA1(002873b782e823c7a8159deed16c78c149f2afab) ) + ROM_SYSTEM_BIOS( 2, "uk21", "UK v2.1" ) // 152-11452 Leapster BaseROM UK v2.1 - Aug 30 2005 16:01:46 + ROM_LOAD_BIOS( 2, "leapster2_1004.bin", 0x00000, 0x800000, CRC(b466e14d) SHA1(910c234f03e76b7de55b8aa0a0c62fd1daae4910) ) + ROM_SYSTEM_BIOS( 3, "ger21", "German v2.1" ) // 152-11435 Leapster BaseROM German v2.1 - Oct 21 2005 18:53:59 + ROM_LOAD_BIOS( 3, "leapster2_1006.bin", 0x00000, 0x800000, CRC(a69ed8ca) SHA1(e6aacba0c39b1465f344c2b07ff1cbd8a395adac) ) + ROM_SYSTEM_BIOS( 4, "sp10", "Spanish v1.0" ) // 152-11546 Leapster Baserom SP v1.0 - Apr 03 2006 06:26:00 + ROM_LOAD_BIOS( 4, "leapster2_1008.bin", 0x00000, 0x800000, CRC(b43345e7) SHA1(31c27e79568115bf36e5ef668f528e3005054152) ) + ROM_SYSTEM_BIOS( 5, "connb5", "Connected B5" ) // 152-12076 Leapster Connected Baserom B5 - Feb 29 2008 18:11:21 + ROM_LOAD_BIOS( 5, "152-12076_b5.bin", 0x00000, 0x800000, CRC(4d223022) SHA1(bdc10ad70aa7641716e16fbea16bd0ef35f6e85e) ) + ROM_DEFAULT_BIOS( "connb5" ) ROM_END ROM_START(leapstertv) ROM_REGION(0x800000, "maincpu", ROMREGION_ERASE00) - ROM_SYSTEM_BIOS( 0, "uni2111", "Universal 2.1.11" ) /* 152-11594 LeapsterTv Baserom Universal.v2.1.11 - Apr 13 2006 16:36:08 */ \ + ROM_SYSTEM_BIOS( 0, "uni2111", "Universal v2.1.11" ) // 152-11594 LeapsterTv Baserom Universal.v2.1.11 - Apr 13 2006 16:36:08 ROM_LOAD_BIOS( 0, "am29pl160cb-90sf.bin", 0x00000, 0x200000, CRC(194cc724) SHA1(000a79d75c19f2e43532ce0b31f0dca0bed49eab) ) + ROM_DEFAULT_BIOS( "uni2111" ) +ROM_END + +ROM_START(leapster2) + ROM_REGION(0x800000, "maincpu", ROMREGION_ERASE00) + ROM_SYSTEM_BIOS( 0, "2xcip3_m9", "2x CIP3 m9" ) // 152-12659 Leapster 2x CIP3 Baserom m9 - Mar 29 2011 14:13:45 + ROM_LOAD_BIOS( 0, "152-12659_m9.bin", 0x00000, 0x800000, CRC(57bde604) SHA1(4b5eaac1e40bc605eb4cf6d4ad212343334762fd) ) + ROM_SYSTEM_BIOS( 1, "2x_06", "2x 0.6" ) // 152-12206 Leapster 2x Baserom 0.6 - Feb 02 2009 17:15:38 + ROM_LOAD_BIOS( 1, "152-12206_0.6.bin", 0x00000, 0x800000, CRC(fa94d9a7) SHA1(c5bd84146701dc4a7635b0e37adedb90747adf32) ) + ROM_DEFAULT_BIOS( "2xcip3_m9" ) +ROM_END + +ROM_START(leapsterlmx) + ROM_REGION(0x800000, "maincpu", ROMREGION_ERASE00) + ROM_SYSTEM_BIOS( 0, "lmax_2_2", "v2.2" ) // 152-11476 LMAX Baserom v2.2 - Jan 12 2006 11:22:50 + ROM_LOAD_BIOS( 0, "152-11476_v2.2.bin", 0x00000, 0x800000, CRC(e1140475) SHA1(42089165db67005b6a0180e894ff8f36b97a081e) ) + ROM_SYSTEM_BIOS( 1, "lmax_us_2_1", "USA v2.1" ) // 152-11238 LMAX BaseROM US v2.1 - Mar 04 2005 12:01:01 + ROM_LOAD_BIOS( 1, "152-11238_us_v2.1.bin", 0x00000, 0x800000, CRC(80bb4e58) SHA1(7d8b1c23d08ce76a89cff1112957377c6a1d4b63) ) + ROM_DEFAULT_BIOS( "lmax_2_2" ) ROM_END void leapster_state::init_leapster() { } -CONS( 2003, leapster, 0, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster", MACHINE_IS_SKELETON ) -CONS( 2005, leapstertv, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster TV", MACHINE_IS_SKELETON ) +CONS( 2003, leapster, 0, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster", MACHINE_IS_SKELETON ) +CONS( 2005, leapstertv, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster TV", MACHINE_IS_SKELETON ) +CONS( 2005, leapsterlmx, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster L-MAX", MACHINE_IS_SKELETON ) +CONS( 2009, leapster2, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster 2", MACHINE_IS_SKELETON ) |