mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
leadsng2: Decrypt ROM and tentatively identify CPU architecture
This commit is contained in:
parent
dfbcf4db84
commit
6d60f631a5
@ -42,6 +42,8 @@ Card Slot
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/mips/mips3.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
@ -52,16 +54,22 @@ class leadsng2_state : public driver_device
|
||||
public:
|
||||
leadsng2_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_screen(*this, "screen")
|
||||
{ }
|
||||
|
||||
void leadsng2(machine_config &config) ATTR_COLD;
|
||||
|
||||
void init_leadsng2();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override ATTR_COLD;
|
||||
virtual void machine_reset() override ATTR_COLD;
|
||||
|
||||
private:
|
||||
void mem_map(address_map &map);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<screen_device> m_screen;
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
@ -81,12 +89,19 @@ void leadsng2_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void leadsng2_state::mem_map(address_map &map)
|
||||
{
|
||||
map(0x18000000, 0x180fffff).mirror(0x07c00000).rom().region("maincpu", 0);
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( leadsng2 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void leadsng2_state::leadsng2(machine_config &config)
|
||||
{
|
||||
// unknown CPU core
|
||||
// unknown CPU core (MIPS-based, little endian?)
|
||||
R4400LE(config, m_maincpu, 27_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &leadsng2_state::mem_map);
|
||||
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_refresh_hz(60);
|
||||
@ -103,6 +118,13 @@ ROM_START( leadsng2 )
|
||||
ROM_LOAD( "ls-k2_es29lv800eb_004a225b.bin", 0x000000, 0x100000, CRC(e70f1e1f) SHA1(5aa3187adffcba5bd4a9e3e89a1c210d7f1a978e) )
|
||||
ROM_END
|
||||
|
||||
void leadsng2_state::init_leadsng2()
|
||||
{
|
||||
memory_region *rgn = memregion("maincpu");
|
||||
for (offs_t offset = 0; offset < rgn->bytes(); offset++)
|
||||
rgn->as_u8(offset) ^= (offset & 0x54) ^ 0xa5;
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
CONS( 200?, leadsng2, 0, 0, leadsng2, leadsng2, leadsng2_state, empty_init, "Enter Tech", "Leadsinger II (LS-K2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
||||
CONS( 200?, leadsng2, 0, 0, leadsng2, leadsng2, leadsng2_state, init_leadsng2, "Enter Tech", "Leadsinger II (LS-K2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
||||
|
Loading…
Reference in New Issue
Block a user