From 6f4c97a8a6c732a8c2412d044b76c7b855d28145 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 15 Dec 2019 23:44:43 -0500 Subject: bbl380: Identify MCU and note bad dump (nw) --- src/mame/drivers/bbl380.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/bbl380.cpp b/src/mame/drivers/bbl380.cpp index 794b3be9299..e75842a5332 100644 --- a/src/mame/drivers/bbl380.cpp +++ b/src/mame/drivers/bbl380.cpp @@ -4,10 +4,9 @@ // the BBL 380 - 180 in 1 features similar menus / presentation / games to the 'ORB Gaming Retro Arcade Pocket Handheld Games Console with 153 Games' (eg has Matchstick Man, Gang Tie III etc.) // https://www.youtube.com/watch?v=NacY2WHd-CY -// contains 6502 code - #include "emu.h" +#include "cpu/m6502/st2205u.h" #include "screen.h" #include "emupal.h" #include "speaker.h" @@ -17,6 +16,7 @@ class bbl380_state : public driver_device public: bbl380_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), m_palette(*this, "palette"), m_screen(*this, "screen") { } @@ -29,6 +29,9 @@ private: uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void bbl380_map(address_map &map); + + required_device m_maincpu; required_device m_palette; required_device m_screen; }; @@ -46,14 +49,20 @@ void bbl380_state::machine_reset() { } +void bbl380_state::bbl380_map(address_map &map) +{ + map(0x000000, 0x3fffff).rom().region("maincpu", 0); // not correct +} + static INPUT_PORTS_START( bbl380 ) INPUT_PORTS_END void bbl380_state::bbl380(machine_config &config) { - // unknown CPU, 6502 based + ST2205U(config, m_maincpu, 8000000); // unknown clock; type guessed + m_maincpu->set_addrmap(AS_DATA, &bbl380_state::bbl380_map); - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + SCREEN(config, m_screen, SCREEN_TYPE_LCD); // RGB LCD m_screen->set_refresh_hz(60); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); m_screen->set_size(64*8, 32*8); @@ -66,7 +75,9 @@ void bbl380_state::bbl380(machine_config &config) ROM_START( bbl380 ) ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD( "bbl 380 180 in 1.bin", 0x000000, 0x400000, CRC(146c88da) SHA1(7f18526a6d8cf991f86febce3418d35aac9f49ad) ) + ROM_LOAD( "st2205u_otp.bin", 0x000000, 0x004000, NO_DUMP ) // internal OTPROM BIOS + ROM_LOAD( "bbl 380 180 in 1.bin", 0x000000, 0x400000, CRC(146c88da) SHA1(7f18526a6d8cf991f86febce3418d35aac9f49ad) BAD_DUMP ) + // 0x0022XX, 0x0026XX, 0x002AXX, 0x002CXX, 0x002DXX, 0x0031XX, 0x0036XX, etc. should not be FF fill ROM_END CONS( 200?, bbl380, 0, 0, bbl380, bbl380, bbl380_state, empty_init, "BaoBaoLong", "BBL380 - 180 in 1", MACHINE_IS_SKELETON ) -- cgit v1.2.3