diff options
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 |
commit | 9abc6733ba12420392bf6bca2540c00ea5ea77e4 (patch) | |
tree | 0b2182becd0e84de6ca15b1bca83913e081e07ea /src/mame/drivers | |
parent | 7339d77c024e461518ecaa69440e347d3e74e739 (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.cpp | 36 | ||||
-rw-r--r-- | src/mame/drivers/bingoman.cpp | 22 | ||||
-rw-r--r-- | src/mame/drivers/picno.cpp | 40 | ||||
-rw-r--r-- | src/mame/drivers/roland_sc55.cpp | 17 | ||||
-rw-r--r-- | src/mame/drivers/tg100.cpp | 20 |
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) ) |