summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar AJR <ajrhacker@users.noreply.github.com>2018-08-13 23:50:01 -0400
committerGravatarGravatar AJR <ajrhacker@users.noreply.github.com>2018-08-13 23:50:01 -0400
commit89bfd6adbe4dcaabb4298f7ed0b863f3b56dbb48 (patch) (github)
tree4ffcafeecce568677a459c68f76d29a8fb8a2a80
parentb1c7579b3fde172fbaf8a6503c1a719ee92f743c (diff)
downloadmame-89bfd6adbe4dcaabb4298f7ed0b863f3b56dbb48.tar.bz2
mame-89bfd6adbe4dcaabb4298f7ed0b863f3b56dbb48.zip
m79152pc: This ROM looks like MCS-48 code (nw)
-rw-r--r--src/mame/drivers/m79152pc.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/mame/drivers/m79152pc.cpp b/src/mame/drivers/m79152pc.cpp
index d39720ed3b3..efab0bd4678 100644
--- a/src/mame/drivers/m79152pc.cpp
+++ b/src/mame/drivers/m79152pc.cpp
@@ -12,6 +12,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
+#include "cpu/mcs48/mcs48.h"
#include "machine/z80ctc.h"
#include "machine/z80sio.h"
#include "machine/clock.h"
@@ -37,8 +38,9 @@ public:
private:
uint32_t screen_update_m79152pc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void io_map(address_map &map);
void mem_map(address_map &map);
+ void io_map(address_map &map);
+ void mcu_map(address_map &map);
virtual void machine_reset() override;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -51,7 +53,7 @@ private:
void m79152pc_state::mem_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x3fff).rom();
+ map(0x0000, 0x3fff).rom().region("maincpu", 0);;
map(0x4000, 0x47ff).ram();
map(0x8000, 0x8fff).ram().share("videoram");
map(0x9000, 0x9fff).ram().share("attributes");
@@ -65,6 +67,11 @@ void m79152pc_state::io_map(address_map &map)
map(0x44, 0x47).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
}
+void m79152pc_state::mcu_map(address_map &map)
+{
+ map(0x000, 0x7ff).rom().region("mcu", 0);
+}
+
/* Input ports */
static INPUT_PORTS_START( m79152pc )
INPUT_PORTS_END
@@ -133,6 +140,9 @@ MACHINE_CONFIG_START(m79152pc_state::m79152pc)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
+ MCFG_DEVICE_ADD("mcu", I8035, 6'000'000)
+ MCFG_DEVICE_PROGRAM_MAP(mcu_map)
+
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -170,12 +180,14 @@ MACHINE_CONFIG_END
/* ROM definition */
ROM_START( m79152pc )
- ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
+ ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD( "left.bin", 0x0000, 0x4000, CRC(8cd677fc) SHA1(7ad28f3ba984383f24a36639ca27fc1eb5a5d002))
- ROM_REGION( 0x1800, "chargen", ROMREGION_INVERT )
+ ROM_REGION( 0x1000, "chargen", ROMREGION_INVERT )
ROM_LOAD( "right.bin", 0x0000, 0x1000, CRC(93f83fdc) SHA1(e8121b3d175c46c02828f43ec071a7d9c62e7c26)) // chargen
- ROM_LOAD( "char.bin", 0x1000, 0x0800, CRC(da3792a5) SHA1(b4a4f0d61d8082b7909a346a5b01494c53cf8d05)) // unknown
+
+ ROM_REGION( 0x0800, "mcu", 0 )
+ ROM_LOAD( "char.bin", 0x0000, 0x0800, CRC(da3792a5) SHA1(b4a4f0d61d8082b7909a346a5b01494c53cf8d05))
ROM_END
/* Driver */