summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-04-04 17:21:59 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-04-04 17:21:59 -0400
commit9abc6733ba12420392bf6bca2540c00ea5ea77e4 (patch)
tree0b2182becd0e84de6ca15b1bca83913e081e07ea /src/mame/drivers
parent7339d77c024e461518ecaa69440e347d3e74e739 (diff)
Add H8/500 disassembler and skeleton CPU device family
alesis_qs.cpp: Document XTALs; replace legacy MCFG in comments (nw) picno.cpp: Replace legacy MCFG in comments (nw)
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/alesis_qs.cpp36
-rw-r--r--src/mame/drivers/bingoman.cpp22
-rw-r--r--src/mame/drivers/picno.cpp40
-rw-r--r--src/mame/drivers/roland_sc55.cpp17
-rw-r--r--src/mame/drivers/tg100.cpp20
5 files changed, 68 insertions, 67 deletions
diff --git a/src/mame/drivers/alesis_qs.cpp b/src/mame/drivers/alesis_qs.cpp
index 7542b5202bb..0bbc2b311a1 100644
--- a/src/mame/drivers/alesis_qs.cpp
+++ b/src/mame/drivers/alesis_qs.cpp
@@ -13,7 +13,7 @@
*******************************************************************/
#include "emu.h"
-#include "cpu/h8/h83048.h"
+#include "cpu/h8500/h8510.h"
//#include "sound/alesis_qs.h"
class qs_state : public driver_device
@@ -29,7 +29,7 @@ public:
private:
void qs7_prog_map(address_map &map);
- required_device<cpu_device> m_maincpu;
+ required_device<h8510_device> m_maincpu;
};
/* Input ports */
@@ -47,41 +47,43 @@ INPUT_PORTS_END
void qs_state::qs7_prog_map(address_map &map)
{
- //map.global_mask(0x3ffff);
- map(0x00000, 0x3ffff).rom();
+ map(0x00000, 0x3ffff).mirror(0x40000).rom().region("program", 0);
}
void qs_state::qs7(machine_config &config)
{
/* basic machine hardware */
- H83048(config, m_maincpu, XTAL(10'000'000)); /* FIX-ME! Actual CPU is H8/510 and XTAL value is a guess */
+ HD6415108(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &qs_state::qs7_prog_map);
- //MCFG_ALESIS_KEYSCAN_ASIC_ADD("keyscan")
+ //ALESIS_KEYSCAN(config, "keyscan", 20_MHz_XTAL / 2 / 8);
- /* Alesis Sound Generator ASIC */
- //MCFG_ALESIS_SG_ASIC_ADD("sndgen")
+ /* Alesis Sound Generator ASIC */
+ //ALESIS_SG(config, "sndgen");
- /* Alesis Sound Effects Processor ASIC */
- //MCFG_ALESIS_FX_ASIC_ADD("sfx")
+ /* Alesis Sound Effects Processor ASIC */
+ //ALESIS_FXCHIP(config, "sfx", 7.056_MHz_XTAL);
/* video hardware */
- //TODO: add LCD display controller here
+ //TODO: add LCD display controller here
/* sound hardware */
- //MCFG_SPEAKER_STANDARD_STEREO("stereo")
- //MCFG_ALESIS_QS_SERIES_ADD("sound", SND_CLOCK)
- //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "stereo", 1.0)
+ //SPEAKER(config, "left").front_left();
+ //SPEAKER(config, "right").front_right();
+ //alesis_qs_series_device &sound(ALESIS_QS_SERIES(config, "sound", SND_CLOCK));
+ //sound.add_route(0, "left", 1.0);
+ //sound.add_route(1, "right", 1.0);
/* Interfaces */
- //MCFG_PCMCIA_ADD("pcmcia")
+ //PCMCIA
//MIDI
//RS232
}
+// XTALs: 20 MHz (H8/510), 7.056 MHz (FXCHIP), 14.7456 MHz
ROM_START( alesqs7 )
- ROM_REGION( 0x80000, "maincpu", 0 )
- ROM_LOAD( "2-31-0069_q7_v1.02_alesis_sp_09_12_96_cs_dbcc.u18", 0x00000, 0x80000, CRC(6e5404cb) SHA1(f00598b66ab7a83b16105cbb73e09c66ce3493a7) )
+ ROM_REGION16_BE( 0x80000, "program", 0 )
+ ROM_LOAD16_WORD_SWAP( "2-31-0069_q7_v1.02_alesis_sp_09_12_96_cs_dbcc.u18", 0x00000, 0x80000, CRC(6e5404cb) SHA1(f00598b66ab7a83b16105cbb73e09c66ce3493a7) )
// ROM_REGION( 0x200000, "sound", 0 ) /* Samples ROMs (2Mbyte each) */
// ROM_LOAD( "?.u?", 0x00000, 0x200000, NO_DUMP )
diff --git a/src/mame/drivers/bingoman.cpp b/src/mame/drivers/bingoman.cpp
index 5556104cd4b..29f891d0701 100644
--- a/src/mame/drivers/bingoman.cpp
+++ b/src/mame/drivers/bingoman.cpp
@@ -240,7 +240,8 @@
***************************************************************************/
#include "emu.h"
-#include "cpu/h8/h83002.h"
+#include "cpu/h8500/h8520.h"
+#include "cpu/h8500/h8534.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -264,12 +265,11 @@ protected:
private:
// devices
- required_device<cpu_device> m_maincpu;
+ required_device<h8520_device> m_maincpu;
// screen updates
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void bingoman_palette(palette_device &palette) const;
- void bingoman_io_map(address_map &map);
void bingoman_prg_map(address_map &map);
};
@@ -287,11 +287,6 @@ void bingoman_state::bingoman_prg_map(address_map &map)
map(0x000000, 0x07ffff).rom();
}
-void bingoman_state::bingoman_io_map(address_map &map)
-{
-// map.global_mask(0xff);
-}
-
static INPUT_PORTS_START( bingoman )
/* dummy active high structure */
PORT_START("SYSA")
@@ -382,9 +377,10 @@ void bingoman_state::bingoman_palette(palette_device &palette) const
void bingoman_state::bingoman(machine_config &config)
{
/* basic machine hardware */
- H83002(config, m_maincpu, XTAL(20'000'000)); /* TODO: correct CPU type */
+ HD6435208(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &bingoman_state::bingoman_prg_map);
- m_maincpu->set_addrmap(AS_IO, &bingoman_state::bingoman_io_map);
+
+ HD6475348(config, "subcpu", 20_MHz_XTAL).set_disable();
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -413,6 +409,9 @@ ROM_START( bingoman )
ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "ps.020.u51", 0x000000, 0x080000, CRC(0f40b10d) SHA1(96a24547a612ba7c2b33c84a0f3afecc9a7cc076) ) // wrong ...
+ ROM_REGION( 0x8000, "subcpu", ROMREGION_ERASE00 )
+ ROM_LOAD( "hd6475348cp16.u33", 0x0000, 0x8000, NO_DUMP )
+
ROM_REGION( 0x300000, "tms", ROMREGION_ERASE00 ) // banked
ROM_LOAD( "p03_036.015.u01", 0x000000, 0x080000, CRC(b78b7fca) SHA1(8e4147bb8351db5b17e2bf39bb12ca31cf02f3a6) ) // Game 1 (Gold Jackpot)
ROM_LOAD( "p03_tms.030.u02", 0x080000, 0x080000, CRC(94f0076e) SHA1(45d0379ad232ae7c5723c87a5fed9f9cc576aea2) ) // Game 1 (Gold Jackpot)
@@ -442,6 +441,9 @@ ROM_START( bingomana )
ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "ps.020.u51", 0x000000, 0x080000, CRC(0f40b10d) SHA1(96a24547a612ba7c2b33c84a0f3afecc9a7cc076) ) // wrong ...
+ ROM_REGION( 0x8000, "subcpu", ROMREGION_ERASE00 )
+ ROM_LOAD( "hd6475348cp16.u33", 0x0000, 0x8000, NO_DUMP )
+
ROM_REGION( 0x300000, "tms", ROMREGION_ERASE00 ) // banked
ROM_LOAD( "a03_037.013.u01", 0x000000, 0x080000, CRC(9c3ed8e9) SHA1(263431ed6db314bee64709bae16fa8c6d5adbd41) ) // Game 1 (Gold Jackpot)
ROM_LOAD( "a03_tms.010.u02", 0x080000, 0x080000, CRC(f4142b1a) SHA1(1a14865bd567d5e7bf9e0e0765f6443c8165f46b) ) // Game 1 (Gold Jackpot)
diff --git a/src/mame/drivers/picno.cpp b/src/mame/drivers/picno.cpp
index b789a83eceb..9e4e2cd9d61 100644
--- a/src/mame/drivers/picno.cpp
+++ b/src/mame/drivers/picno.cpp
@@ -24,7 +24,7 @@ Can't do anything until the internal ROM is dumped.
******************************************************************************************************************************/
#include "emu.h"
-#include "cpu/h8/h83002.h"
+#include "cpu/h8500/h8532.h"
#include "bus/generic/slot.h"
#include "bus/generic/carts.h"
@@ -44,23 +44,17 @@ public:
void picno(machine_config &config);
private:
- void io_map(address_map &map);
void mem_map(address_map &map);
- required_device<cpu_device> m_maincpu;
+ required_device<h8532_device> m_maincpu;
};
void picno_state::mem_map(address_map &map)
{
- map(0x00000, 0x07fff).rom().region("roms", 0); // 32kb internal rom
- map(0x0fb80, 0x0ff7f).ram(); // internal ram
- map(0x0ff80, 0x0ffff); // internal controls
- map(0x10000, 0x8ffff).rom().region("roms", 0x8000); // guess
-}
-
-void picno_state::io_map(address_map &map)
-{
-// map.global_mask(0xff);
+ //map(0x00000, 0x07fff).rom().region("roms", 0); // 32kb internal rom
+ //map(0x0fb80, 0x0ff7f).ram(); // internal ram
+ //map(0x0ff80, 0x0ffff); // internal controls
+ map(0x10000, 0x8ffff).rom().region("roms", 0); // guess
}
static INPUT_PORTS_START( picno )
@@ -69,13 +63,13 @@ INPUT_PORTS_END
void picno_state::picno(machine_config &config)
{
/* basic machine hardware */
- H83002(config, m_maincpu, XTAL(20'000'000)); /* TODO: correct CPU type (H8/532), crystal is a guess, divided by 2 in the cpu */
+ HD6435328(config, m_maincpu, 20'000'000); // TODO: clock is a guess, divided by 2 in the cpu
m_maincpu->set_addrmap(AS_PROGRAM, &picno_state::mem_map);
- m_maincpu->set_addrmap(AS_IO, &picno_state::io_map);
- //MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") // no speaker in the unit, but there's a couple of sockets on the back
- //MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- //MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
+ //SPEAKER(config, "lspeaker").front_left(); // no speaker in the unit, but there's a couple of sockets on the back
+ //SPEAKER(config, "rspeaker").front_right();
+ //sound.add_route(0, "lspeaker", 1.0);
+ //sound.add_route(1, "rspeaker", 1.0);
GENERIC_CARTSLOT(config, "cartslot", generic_linear_slot, "picno_cart");
@@ -83,15 +77,19 @@ void picno_state::picno(machine_config &config)
}
ROM_START( picno )
- ROM_REGION16_BE(0x88000, "roms", 0)
+ ROM_REGION(0x8000, "maincpu", ROMREGION_ERASE00)
ROM_LOAD( "hd6435328f10.u5", 0x00000, 0x08000, NO_DUMP ) // internal rom
- ROM_LOAD( "rx001-z8-v3j.u2", 0x08000, 0x80000, CRC(e3c8929d) SHA1(1716f09b0a594b3782d257330282d77b6ca6fa0d) ) //HN62334BP
+
+ ROM_REGION(0x80000, "roms", 0)
+ ROM_LOAD( "rx001-z8-v3j.u2", 0x00000, 0x80000, CRC(e3c8929d) SHA1(1716f09b0a594b3782d257330282d77b6ca6fa0d) ) //HN62334BP
ROM_END
ROM_START( picno2 )
- ROM_REGION16_BE(0x88000, "roms", 0)
+ ROM_REGION(0x8000, "maincpu", ROMREGION_ERASE00)
ROM_LOAD( "hd6435328f10.u5", 0x00000, 0x08000, NO_DUMP ) // internal rom
- ROM_LOAD( "rx001-z8-v4j.u2", 0x08000, 0x80000, CRC(ae89a9a5) SHA1(51ed458ffd151e19019beb23517263efce4be272) ) //HN62334BP
+
+ ROM_REGION(0x80000, "roms", 0)
+ ROM_LOAD( "rx001-z8-v4j.u2", 0x00000, 0x80000, CRC(ae89a9a5) SHA1(51ed458ffd151e19019beb23517263efce4be272) ) //HN62334BP
ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
diff --git a/src/mame/drivers/roland_sc55.cpp b/src/mame/drivers/roland_sc55.cpp
index 0616c32b744..4939ac2c0f4 100644
--- a/src/mame/drivers/roland_sc55.cpp
+++ b/src/mame/drivers/roland_sc55.cpp
@@ -38,7 +38,7 @@
#include "emu.h"
#include "machine/ram.h"
-#include "cpu/mcs96/i8x9x.h"
+#include "cpu/h8500/h8532.h"
static INPUT_PORTS_START( sc55 )
INPUT_PORTS_END
@@ -51,7 +51,7 @@ public:
void sc55(machine_config &config);
private:
- required_device<i8x9x_device> m_maincpu;
+ required_device<h8532_device> m_maincpu;
void sc55_map(address_map &map);
};
@@ -64,23 +64,26 @@ sc55_state::sc55_state(const machine_config &mconfig, device_type type, const ch
void sc55_state::sc55_map(address_map &map)
{
- map(0x1000, 0x3fff).rom().region("maincpu", 0x1000);
+ map(0x40000, 0x7ffff).rom().region("progrom", 0);
}
void sc55_state::sc55(machine_config &config)
{
- P8098(config, m_maincpu, XTAL(20'000'000)); // probably not?
+ HD6435328(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &sc55_state::sc55_map);
}
ROM_START( sc55 )
- ROM_REGION( 0x40000, "maincpu", 0 ) // additional H8/532 code and patch data - revisions match main CPU revisions
+ ROM_REGION( 0x8000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD( "roland_r15199778_6435328a97f.ic30", 0x0000, 0x4000, NO_DUMP )
+
+ ROM_REGION( 0x40000, "progrom", 0 ) // additional H8/532 code and patch data - revisions match main CPU revisions
ROM_LOAD( "roland_r15209363.ic23", 0x000000, 0x040000, CRC(2dc58549) SHA1(9c17f85e784dc1549ac1f98d457b353393331f6b) )
- ROM_REGION( 0x300000, "la", 0 )
+ ROM_REGION( 0x300000, "waverom", 0 )
ROM_LOAD( "roland-gss.a_r15209276.ic28", 0x000000, 0x100000, CRC(1ac774d3) SHA1(8cc3c0d7ec0993df81d4ca1970e01a4b0d8d3775) )
ROM_LOAD( "roland-gss.b_r15209277.ic27", 0x100000, 0x100000, CRC(8dcc592a) SHA1(80e6eb130c18c09955551563f78906163c55cc11) )
ROM_LOAD( "roland-gss.c_r15209281.ic26", 0x200000, 0x100000, CRC(e21ebc04) SHA1(7454b817778179806f3f9d1985b3a2ef67ace76f) )
ROM_END
-CONS( 1991, sc55, 0, 0, sc55, sc55, sc55_state, empty_init, "Roland", "Sound Canvas SC-55", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+SYST( 1991, sc55, 0, 0, sc55, sc55, sc55_state, empty_init, "Roland", "Sound Canvas SC-55", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
diff --git a/src/mame/drivers/tg100.cpp b/src/mame/drivers/tg100.cpp
index 031c877e635..08eb1811998 100644
--- a/src/mame/drivers/tg100.cpp
+++ b/src/mame/drivers/tg100.cpp
@@ -28,7 +28,7 @@
#include "emu.h"
-#include "cpu/h8/h83002.h"
+#include "cpu/h8500/h8520.h"
#include "sound/multipcm.h"
#include "screen.h"
@@ -46,9 +46,8 @@ public:
void tg100(machine_config &config);
private:
- required_device<cpu_device> m_maincpu;
+ required_device<h8520_device> m_maincpu;
required_device<multipcm_device> m_ymw258;
- void tg100_io_map(address_map &map);
void tg100_map(address_map &map);
void ymw258_map(address_map &map);
};
@@ -60,11 +59,6 @@ void tg100_state::tg100_map(address_map &map)
map(0x00080000, 0x0009ffff).rom().region("prgrom", 0x00000);
}
-void tg100_state::tg100_io_map(address_map &map)
-{
-// map.global_mask(0xff);
-}
-
static INPUT_PORTS_START( tg100 )
INPUT_PORTS_END
@@ -76,9 +70,8 @@ void tg100_state::ymw258_map(address_map &map)
void tg100_state::tg100(machine_config &config)
{
/* basic machine hardware */
- H83002(config, m_maincpu, XTAL(20'000'000)); /* TODO: correct CPU type (H8/520) */
+ HD6435208(config, m_maincpu, XTAL(20'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &tg100_state::tg100_map);
- m_maincpu->set_addrmap(AS_IO, &tg100_state::tg100_io_map);
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -90,9 +83,12 @@ void tg100_state::tg100(machine_config &config)
}
ROM_START( tg100 )
+ ROM_REGION(0x20000, "prgrom", 0)
+ ROM_LOAD( "xk731c0.ic4", 0x00000, 0x20000, CRC(8fb6139c) SHA1(483103a2ffc63a90a2086c597baa2b2745c3a1c2) )
- ROM_REGION16_BE(0x20000, "prgrom", 0) // H8/520 memory bus is 8 bit actually
- ROM_LOAD16_WORD_SWAP( "xk731c0.ic4", 0x00000, 0x20000, CRC(8fb6139c) SHA1(483103a2ffc63a90a2086c597baa2b2745c3a1c2) )
+ ROM_REGION(0x4000, "maincpu", 0)
+ ROM_LOAD( "hd6435208a00p.bin", 0x0000, 0x4000, NO_DUMP )
+ ROM_COPY( "prgrom", 0x0000, 0x0000, 0x4000 )
ROM_REGION(0x200000, "ymw258", 0)
ROM_LOAD( "xk992a0.ic6", 0x000000, 0x200000, CRC(01dc6954) SHA1(32ec77a46f4d005538c735f56ad48fa7243c63be) )