diff options
Diffstat (limited to 'src/mame/drivers/ticalc1x.cpp')
-rw-r--r-- | src/mame/drivers/ticalc1x.cpp | 560 |
1 files changed, 279 insertions, 281 deletions
diff --git a/src/mame/drivers/ticalc1x.cpp b/src/mame/drivers/ticalc1x.cpp index 11f782fcd89..92ab626b219 100644 --- a/src/mame/drivers/ticalc1x.cpp +++ b/src/mame/drivers/ticalc1x.cpp @@ -38,8 +38,8 @@ class ticalc1x_state : public hh_tms1k_state { public: - ticalc1x_state(const machine_config &mconfig, device_type type, const char *tag) - : hh_tms1k_state(mconfig, type, tag) + ticalc1x_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_tms1k_state(mconfig, type, tag) { } }; @@ -47,10 +47,12 @@ public: /*************************************************************************** - Minidrivers (subclass, I/O, Inputs, Machine Config) + Minidrivers (subclass, I/O, Inputs, Machine Config, ROM Defs) ***************************************************************************/ +namespace { + /*************************************************************************** Canon Multi 8 (Palmtronic MD-8) / Canon Canola MD 810 @@ -63,8 +65,8 @@ public: class cmulti8_state : public ticalc1x_state { public: - cmulti8_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + cmulti8_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void cmulti8(machine_config &config); @@ -111,7 +113,6 @@ READ8_MEMBER(cmulti8_state::read_k) return read_inputs(11); } - // config static INPUT_PORTS_START( cmulti8 ) @@ -187,19 +188,31 @@ static INPUT_PORTS_START( cmulti8 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(cmulti8_state::cmulti8) - +void cmulti8_state::cmulti8(machine_config &config) +{ /* basic machine hardware */ TMS1070(config, m_maincpu, 250000); // approximation - RC osc. R=56K, C=68pf m_maincpu->k().set(FUNC(cmulti8_state::read_k)); m_maincpu->o().set(FUNC(cmulti8_state::write_o)); m_maincpu->r().set(FUNC(cmulti8_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cmulti8); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( cmulti8 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tmc1079nl", 0x0000, 0x0400, CRC(202c5ed8) SHA1(0143975cac20cb4a4e9f659ca0535e8a9056f5bb) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_cmulti8_output.pla", 0, 365, CRC(e999cece) SHA1(c5012877cd030a4dc66228f109fa23eec1867873) ) +ROM_END @@ -220,8 +233,8 @@ MACHINE_CONFIG_END class tisr16_state : public ticalc1x_state { public: - tisr16_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + tisr16_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void prepare_display(); @@ -265,7 +278,6 @@ READ8_MEMBER(tisr16_state::read_k) return read_inputs(11); } - // config static INPUT_PORTS_START( tisr16 ) @@ -404,19 +416,41 @@ static INPUT_PORTS_START( tisr16ii ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") INPUT_PORTS_END -MACHINE_CONFIG_START(tisr16_state::tisr16) - +void tisr16_state::tisr16(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 300000); // approximation - RC osc. R=43K, C=68pf (note: tisr16ii MCU RC osc. is different: R=30K, C=100pf, same freq) m_maincpu->k().set(FUNC(tisr16_state::read_k)); m_maincpu->o().set(FUNC(tisr16_state::write_o)); m_maincpu->r().set(FUNC(tisr16_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tisr16); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( tisr16 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tms1001nl", 0x0000, 0x0400, CRC(b7ce3c1d) SHA1(95cdb0c6be31043f4fe06314ed41c0ca1337bc46) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_sr16_micro.pla", 0, 867, CRC(5b35019c) SHA1(730d3b9041ed76d57fbedd73b009477fe432b386) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_sr16_output.pla", 0, 365, CRC(29b08739) SHA1(d55f01e40a2d493d45ea422f12e63b01bcde08fb) ) +ROM_END + +ROM_START( tisr16ii ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tms1016nl", 0x0000, 0x0400, CRC(c07a7b27) SHA1(34ea4d3b59871e08db74f8c5bfb7ff00d1f0adc7) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_sr16ii_micro.pla", 0, 867, CRC(31b43e95) SHA1(6864e4c20f3affffcd3810dcefbc9484dd781547) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_sr16ii_output.pla", 0, 365, CRC(c45dfbd0) SHA1(5d588c1abc317134b51eb08ac3953f1009d80056) ) +ROM_END @@ -450,8 +484,8 @@ MACHINE_CONFIG_END class ti1250_state : public ticalc1x_state { public: - ti1250_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + ti1250_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void ti1270(machine_config &config); @@ -487,7 +521,6 @@ READ8_MEMBER(ti1250_state::read_k) return read_inputs(6); } - // config static INPUT_PORTS_START( ti1250 ) @@ -546,21 +579,22 @@ static INPUT_PORTS_START( ti1270 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("+/-") INPUT_PORTS_END -MACHINE_CONFIG_START(ti1250_state::ti1250) - +void ti1250_state::ti1250(machine_config &config) +{ /* basic machine hardware */ TMS0950(config, m_maincpu, 200000); // approximation - RC osc. R=68K, C=68pf m_maincpu->k().set(FUNC(ti1250_state::read_k)); m_maincpu->o().set(FUNC(ti1250_state::write_o)); m_maincpu->r().set(FUNC(ti1250_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ti1250); /* no sound! */ -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(ti1250_state::ti1270) +void ti1250_state::ti1270(machine_config &config) +{ ti1250(config); /* basic machine hardware */ @@ -570,7 +604,49 @@ MACHINE_CONFIG_START(ti1250_state::ti1270) m_maincpu->r().set(FUNC(ti1250_state::write_r)); config.set_default_layout(layout_ti1270); -MACHINE_CONFIG_END +} + +// roms + +ROM_START( ti1250 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tmc0952nl", 0x0000, 0x0400, CRC(fc0cee65) SHA1(1480e4553181f081281d3b78457721b9ecb20173) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_ti1250_micro.pla", 0, 867, CRC(cb3fd2d6) SHA1(82cf36a65dfc3ccb9dd08e48f45ac4d90f693238) ) + ROM_REGION( 195, "maincpu:opla", 0 ) + ROM_LOAD( "tms0950_ti1250_output.pla", 0, 195, CRC(31570eb8) SHA1(c1cb17c31367b65aa777925459515c3d5c565508) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) +ROM_END + +ROM_START( ti125076 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tms0972nl_za0348", 0x0000, 0x0400, CRC(6e3f8add) SHA1(a249209e2a92f5016e33b7ad2c6c2660df1df959) ) + + ROM_REGION( 782, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) + ROM_REGION( 860, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) + ROM_REGION( 352, "maincpu:opla", 0 ) + ROM_LOAD( "tms0980_ti1270_output.pla", 0, 352, CRC(472f95a0) SHA1(32adb17285f2f3f93a4b027a3dd2156ec48000ec) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) +ROM_END + +ROM_START( ti1270 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tmc0974nl_za0355", 0x0000, 0x0400, CRC(48e09b4b) SHA1(17f27167164df223f9f06082ece4c3fc3900eda3) ) + + ROM_REGION( 782, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) + ROM_REGION( 860, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) + ROM_REGION( 352, "maincpu:opla", 0 ) + ROM_LOAD( "tms0980_ti1270_output.pla", 0, 352, CRC(472f95a0) SHA1(32adb17285f2f3f93a4b027a3dd2156ec48000ec) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) +ROM_END @@ -587,8 +663,8 @@ MACHINE_CONFIG_END class ti25503_state : public ticalc1x_state { public: - ti25503_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + ti25503_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void ti25503(machine_config &config); @@ -629,7 +705,6 @@ READ8_MEMBER(ti25503_state::read_k) return read_inputs(7); } - // config static INPUT_PORTS_START( ti25503 ) @@ -676,19 +751,31 @@ static INPUT_PORTS_START( ti25503 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("1/x") INPUT_PORTS_END -MACHINE_CONFIG_START(ti25503_state::ti25503) - +void ti25503_state::ti25503(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(ti25503_state::read_k)); m_maincpu->o().set(FUNC(ti25503_state::write_o)); m_maincpu->r().set(FUNC(ti25503_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ti25503); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( ti25503 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tms1043nl_za0352", 0x0000, 0x0400, CRC(434c2684) SHA1(ff566f1991f63cfe057879674e6bc7ccd580a919) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_ti25503_micro.pla", 0, 867, CRC(65d274ae) SHA1(33d77efe38f8b067096c643d71263bb5adde0ca9) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_ti25503_output.pla", 0, 365, CRC(ac43b768) SHA1(5eb19b493328c73edab73e44591afda0fbe4965f) ) +ROM_END @@ -708,8 +795,8 @@ MACHINE_CONFIG_END class ti1000_state : public ticalc1x_state { public: - ti1000_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + ti1000_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void ti1000(machine_config &config); @@ -743,7 +830,6 @@ READ8_MEMBER(ti1000_state::read_k) return read_inputs(5); } - // config static INPUT_PORTS_START( ti1000 ) @@ -767,31 +853,47 @@ static INPUT_PORTS_START( ti1000 ) // note: even though power buttons are on the matrix, they are not CPU-controlled PORT_START("IN.3") // O3 or O4? - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("+/-") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("%") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(UTF8_DIVIDE) PORT_START("IN.4") // O5 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On/C") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On/C") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME(".") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=") INPUT_PORTS_END -MACHINE_CONFIG_START(ti1000_state::ti1000) - +void ti1000_state::ti1000(machine_config &config) +{ /* basic machine hardware */ TMS1990(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(ti1000_state::read_k)); m_maincpu->o().set(FUNC(ti1000_state::write_o)); m_maincpu->r().set(FUNC(ti1000_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ti1270); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( ti1000 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tmc1991nl", 0x0000, 0x0400, CRC(2da5381d) SHA1(b5dc14553db2068ed48e130e5ec9109930d8cda9) ) + + ROM_REGION( 782, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) + ROM_REGION( 860, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0970_common2_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) ) + ROM_REGION( 352, "maincpu:opla", 0 ) + ROM_LOAD( "tms0980_ti1000_output.pla", 0, 352, CRC(a936631e) SHA1(1f900b12a41419d6e1ffbddd5cf72be3adaa4435) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common3_segment.pla", 0, 157, CRC(b5b3153f) SHA1(e0145c729695a4f962970aee0571d42cee6f5a9e) ) +ROM_END @@ -808,8 +910,8 @@ MACHINE_CONFIG_END class wizatron_state : public ticalc1x_state { public: - wizatron_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + wizatron_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void wizatron(machine_config &config); @@ -852,7 +954,6 @@ READ8_MEMBER(wizatron_state::read_k) return read_inputs(4); } - // config static INPUT_PORTS_START( wizatron ) @@ -881,19 +982,35 @@ static INPUT_PORTS_START( wizatron ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(UTF8_DIVIDE) INPUT_PORTS_END -MACHINE_CONFIG_START(wizatron_state::wizatron) - +void wizatron_state::wizatron(machine_config &config) +{ /* basic machine hardware */ TMS0970(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(wizatron_state::read_k)); m_maincpu->o().set(FUNC(wizatron_state::write_o)); m_maincpu->r().set(FUNC(wizatron_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_wizatron); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( wizatron ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tmc0907nl_za0379", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) ) + + ROM_REGION( 782, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) + ROM_REGION( 860, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0970_common2_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) ) + ROM_REGION( 352, "maincpu:opla", 0 ) + ROM_LOAD( "tms0980_wizatron_output.pla", 0, 352, CRC(c0ee5c04) SHA1(e9fadcef688309adbe6c1c0545aac6883ce4a1ac) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) +ROM_END @@ -913,8 +1030,8 @@ MACHINE_CONFIG_END class lilprof_state : public wizatron_state { public: - lilprof_state(const machine_config &mconfig, device_type type, const char *tag) - : wizatron_state(mconfig, type, tag) + lilprof_state(const machine_config &mconfig, device_type type, const char *tag) : + wizatron_state(mconfig, type, tag) { } void lilprof(machine_config &config); @@ -940,7 +1057,6 @@ READ8_MEMBER(lilprof_state::read_k) return read_inputs(5); } - // config static INPUT_PORTS_START( lilprof ) @@ -958,19 +1074,35 @@ static INPUT_PORTS_START( lilprof ) PORT_CONFSETTING( 0x08, "4" ) INPUT_PORTS_END -MACHINE_CONFIG_START(lilprof_state::lilprof) - +void lilprof_state::lilprof(machine_config &config) +{ /* basic machine hardware */ TMS0970(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(lilprof_state::read_k)); m_maincpu->o().set(FUNC(lilprof_state::write_o)); m_maincpu->r().set(FUNC(wizatron_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_wizatron); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( lilprof ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tms0975nl_za0356", 0x0000, 0x0400, CRC(fef9dd39) SHA1(5c9614c9c5092d55dabeee2d6e0387d50d6ad4d5) ) + + ROM_REGION( 782, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) + ROM_REGION( 860, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) + ROM_REGION( 352, "maincpu:opla", 0 ) + ROM_LOAD( "tms0980_lilprof_output.pla", 0, 352, CRC(73f9ca93) SHA1(9d6c559e2c1886c62bcd57e3c3aa897e8829b4d2) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) +ROM_END @@ -990,8 +1122,8 @@ MACHINE_CONFIG_END class lilprof78_state : public ticalc1x_state { public: - lilprof78_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + lilprof78_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void lilprof78(machine_config &config); @@ -1035,7 +1167,6 @@ READ8_MEMBER(lilprof78_state::read_k) return read_inputs(5); } - // config static INPUT_PORTS_START( lilprof78 ) @@ -1059,31 +1190,47 @@ static INPUT_PORTS_START( lilprof78 ) // note: even though power buttons are on the matrix, they are not CPU-controlled PORT_START("IN.3") // O3 or O4? - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("Set") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_L) PORT_NAME("Level") PORT_START("IN.4") // O5 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Go") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+") INPUT_PORTS_END -MACHINE_CONFIG_START(lilprof78_state::lilprof78) - +void lilprof78_state::lilprof78(machine_config &config) +{ /* basic machine hardware */ TMS1990(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(lilprof78_state::read_k)); m_maincpu->o().set(FUNC(lilprof78_state::write_o)); m_maincpu->r().set(FUNC(lilprof78_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_wizatron); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( lilprof78 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "tmc1993nl", 0x0000, 0x0400, CRC(e941316b) SHA1(7e1542045d1e731cea81a639c9ac9e91bb233b15) ) + + ROM_REGION( 782, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) + ROM_REGION( 860, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0970_common2_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) ) + ROM_REGION( 352, "maincpu:opla", 0 ) + ROM_LOAD( "tms0980_lilprof78_output.pla", 0, 352, CRC(b7416cc0) SHA1(57891ffeaf34aafe8a915086c6d2feb78f5113af) ) + ROM_REGION( 157, "maincpu:spla", 0 ) + ROM_LOAD( "tms0980_common3_segment.pla", 0, 157, CRC(b5b3153f) SHA1(e0145c729695a4f962970aee0571d42cee6f5a9e) ) +ROM_END @@ -1100,8 +1247,8 @@ MACHINE_CONFIG_END class dataman_state : public ticalc1x_state { public: - dataman_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + dataman_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void dataman(machine_config &config); @@ -1143,7 +1290,6 @@ READ8_MEMBER(dataman_state::read_k) return m_inp_matrix[5]->read() | read_inputs(5); } - // config static INPUT_PORTS_START( dataman ) @@ -1179,14 +1325,14 @@ static INPUT_PORTS_START( dataman ) // note: even though power buttons are on the matrix, they are not CPU-controlled PORT_START("IN.5") // Vss! - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_U) PORT_NAME("On/User Entry") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_U) PORT_NAME("On/User Entry") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("?") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("Electro Flash") INPUT_PORTS_END -MACHINE_CONFIG_START(dataman_state::dataman) - +void dataman_state::dataman(machine_config &config) +{ /* basic machine hardware */ TMS1980(config, m_maincpu, 300000); // patent says 300kHz m_maincpu->k().set(FUNC(dataman_state::read_k)); @@ -1194,11 +1340,25 @@ MACHINE_CONFIG_START(dataman_state::dataman) m_maincpu->r().set(FUNC(dataman_state::write_r)); m_maincpu->power_off().set(FUNC(hh_tms1k_state::auto_power_off)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_dataman); /* no sound! */ -MACHINE_CONFIG_END +} + +// roms + +ROM_START( dataman ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD16_WORD( "tmc1982nl", 0x0000, 0x1000, CRC(3521f53f) SHA1(c46fe7fe20715fdf5aed65833fb867cfd3938062) ) // matches patent US4340374 + + ROM_REGION( 1246, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) + ROM_REGION( 2127, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) + ROM_REGION( 525, "maincpu:opla", 0 ) + ROM_LOAD( "tms1980_dataman_output.pla", 0, 525, CRC(5fc6f451) SHA1(11475c785c34eab5b13c5dc67f413c709cd4bd4d) ) +ROM_END @@ -1217,8 +1377,8 @@ MACHINE_CONFIG_END class mathmarv_state : public dataman_state { public: - mathmarv_state(const machine_config &mconfig, device_type type, const char *tag) - : dataman_state(mconfig, type, tag) + mathmarv_state(const machine_config &mconfig, device_type type, const char *tag) : + dataman_state(mconfig, type, tag) { } void mathmarv(machine_config &config); @@ -1238,7 +1398,6 @@ WRITE16_MEMBER(mathmarv_state::write_r) dataman_state::write_r(space, offset, data); } - // config static INPUT_PORTS_START( mathmarv ) @@ -1250,13 +1409,13 @@ static INPUT_PORTS_START( mathmarv ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("Review") PORT_MODIFY("IN.5") // Vss! - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_N) PORT_NAME("On/Numberific") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_N) PORT_NAME("On/Numberific") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("Zap") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_NAME("Flash") INPUT_PORTS_END -MACHINE_CONFIG_START(mathmarv_state::mathmarv) - +void mathmarv_state::mathmarv(machine_config &config) +{ /* basic machine hardware */ TMS1980(config, m_maincpu, 300000); // assume same as dataman m_maincpu->k().set(FUNC(dataman_state::read_k)); @@ -1264,14 +1423,27 @@ MACHINE_CONFIG_START(mathmarv_state::mathmarv) m_maincpu->r().set(FUNC(mathmarv_state::write_r)); m_maincpu->power_off().set(FUNC(hh_tms1k_state::auto_power_off)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_mathmarv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( mathmarv ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD16_WORD( "tmc1986anl", 0x0000, 0x1000, CRC(79fda72d) SHA1(137852b29d9136459f78e29e7810195a956a5903) ) + + ROM_REGION( 1246, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) + ROM_REGION( 2127, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) + ROM_REGION( 525, "maincpu:opla", 0 ) + ROM_LOAD( "tms1980_mathmarv_output.pla", 0, 525, CRC(5fc6f451) SHA1(11475c785c34eab5b13c5dc67f413c709cd4bd4d) ) +ROM_END @@ -1301,8 +1473,8 @@ MACHINE_CONFIG_END class ti30_state : public ticalc1x_state { public: - ti30_state(const machine_config &mconfig, device_type type, const char *tag) - : ticalc1x_state(mconfig, type, tag) + ti30_state(const machine_config &mconfig, device_type type, const char *tag) : + ticalc1x_state(mconfig, type, tag) { } void ti30(machine_config &config); @@ -1337,7 +1509,6 @@ READ8_MEMBER(ti30_state::read_k) return m_inp_matrix[7]->read() | read_inputs(7); } - // config static INPUT_PORTS_START( ti30 ) @@ -1392,11 +1563,11 @@ static INPUT_PORTS_START( ti30 ) // note: even though power buttons are on the matrix, they are not CPU-controlled PORT_START("IN.7") // Vss! - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On/C") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On/C") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_NAME("1/x") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME(UTF8_SQUAREROOT"x") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("x" UTF8_POW_2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) INPUT_PORTS_END static INPUT_PORTS_START( tiprog ) @@ -1451,11 +1622,11 @@ static INPUT_PORTS_START( tiprog ) // note: even though power buttons are on the matrix, they are not CPU-controlled PORT_START("IN.7") // Vss! - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_PGUP) PORT_NAME("C/ON") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_PGUP) PORT_NAME("C/ON") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("DEC") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_NAME("OCT") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_NAME("HEX") - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) INPUT_PORTS_END static INPUT_PORTS_START( tibusan ) @@ -1511,15 +1682,15 @@ static INPUT_PORTS_START( tibusan ) // note: even though power buttons are on the matrix, they are not CPU-controlled PORT_START("IN.7") // Vss! - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On/C") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)true) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP) PORT_CODE(KEYCODE_DEL) PORT_NAME("On/C") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_NAME("2nd") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("x" UTF8_POW_2" " UTF8_SQUAREROOT"x") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_NAME("ln(x) e" UTF8_POW_X) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) INPUT_PORTS_END -MACHINE_CONFIG_START(ti30_state::ti30) - +void ti30_state::ti30(machine_config &config) +{ /* basic machine hardware */ TMS0980(config, m_maincpu, 400000); // guessed m_maincpu->k().set(FUNC(ti30_state::read_k)); @@ -1527,192 +1698,13 @@ MACHINE_CONFIG_START(ti30_state::ti30) m_maincpu->r().set(FUNC(ti30_state::write_r)); m_maincpu->power_off().set(FUNC(hh_tms1k_state::auto_power_off)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ti30); /* no sound! */ -MACHINE_CONFIG_END - - - - - -/*************************************************************************** - - Game driver(s) - -***************************************************************************/ - -ROM_START( cmulti8 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tmc1079nl", 0x0000, 0x0400, CRC(202c5ed8) SHA1(0143975cac20cb4a4e9f659ca0535e8a9056f5bb) ) - - ROM_REGION( 867, "maincpu:mpla", 0 ) - ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) ) - ROM_REGION( 365, "maincpu:opla", 0 ) - ROM_LOAD( "tms1000_cmulti8_output.pla", 0, 365, CRC(e999cece) SHA1(c5012877cd030a4dc66228f109fa23eec1867873) ) -ROM_END - - -ROM_START( tisr16 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tms1001nl", 0x0000, 0x0400, CRC(b7ce3c1d) SHA1(95cdb0c6be31043f4fe06314ed41c0ca1337bc46) ) - - ROM_REGION( 867, "maincpu:mpla", 0 ) - ROM_LOAD( "tms1000_sr16_micro.pla", 0, 867, CRC(5b35019c) SHA1(730d3b9041ed76d57fbedd73b009477fe432b386) ) - ROM_REGION( 365, "maincpu:opla", 0 ) - ROM_LOAD( "tms1000_sr16_output.pla", 0, 365, CRC(29b08739) SHA1(d55f01e40a2d493d45ea422f12e63b01bcde08fb) ) -ROM_END - - -ROM_START( tisr16ii ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tms1016nl", 0x0000, 0x0400, CRC(c07a7b27) SHA1(34ea4d3b59871e08db74f8c5bfb7ff00d1f0adc7) ) - - ROM_REGION( 867, "maincpu:mpla", 0 ) - ROM_LOAD( "tms1000_sr16ii_micro.pla", 0, 867, CRC(31b43e95) SHA1(6864e4c20f3affffcd3810dcefbc9484dd781547) ) - ROM_REGION( 365, "maincpu:opla", 0 ) - ROM_LOAD( "tms1000_sr16ii_output.pla", 0, 365, CRC(c45dfbd0) SHA1(5d588c1abc317134b51eb08ac3953f1009d80056) ) -ROM_END - - -ROM_START( ti1250 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tmc0952nl", 0x0000, 0x0400, CRC(fc0cee65) SHA1(1480e4553181f081281d3b78457721b9ecb20173) ) - - ROM_REGION( 867, "maincpu:mpla", 0 ) - ROM_LOAD( "tms1000_ti1250_micro.pla", 0, 867, CRC(cb3fd2d6) SHA1(82cf36a65dfc3ccb9dd08e48f45ac4d90f693238) ) - ROM_REGION( 195, "maincpu:opla", 0 ) - ROM_LOAD( "tms0950_ti1250_output.pla", 0, 195, CRC(31570eb8) SHA1(c1cb17c31367b65aa777925459515c3d5c565508) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) -ROM_END - -ROM_START( ti125076 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tms0972nl_za0348", 0x0000, 0x0400, CRC(6e3f8add) SHA1(a249209e2a92f5016e33b7ad2c6c2660df1df959) ) - - ROM_REGION( 782, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) - ROM_REGION( 860, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) - ROM_REGION( 352, "maincpu:opla", 0 ) - ROM_LOAD( "tms0980_ti1270_output.pla", 0, 352, CRC(472f95a0) SHA1(32adb17285f2f3f93a4b027a3dd2156ec48000ec) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) -ROM_END - - -ROM_START( ti1270 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tmc0974nl_za0355", 0x0000, 0x0400, CRC(48e09b4b) SHA1(17f27167164df223f9f06082ece4c3fc3900eda3) ) - - ROM_REGION( 782, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) - ROM_REGION( 860, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) - ROM_REGION( 352, "maincpu:opla", 0 ) - ROM_LOAD( "tms0980_ti1270_output.pla", 0, 352, CRC(472f95a0) SHA1(32adb17285f2f3f93a4b027a3dd2156ec48000ec) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) -ROM_END - - -ROM_START( ti25503 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tms1043nl_za0352", 0x0000, 0x0400, CRC(434c2684) SHA1(ff566f1991f63cfe057879674e6bc7ccd580a919) ) - - ROM_REGION( 867, "maincpu:mpla", 0 ) - ROM_LOAD( "tms1000_ti25503_micro.pla", 0, 867, CRC(65d274ae) SHA1(33d77efe38f8b067096c643d71263bb5adde0ca9) ) - ROM_REGION( 365, "maincpu:opla", 0 ) - ROM_LOAD( "tms1000_ti25503_output.pla", 0, 365, CRC(ac43b768) SHA1(5eb19b493328c73edab73e44591afda0fbe4965f) ) -ROM_END - - -ROM_START( ti1000 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tmc1991nl", 0x0000, 0x0400, CRC(2da5381d) SHA1(b5dc14553db2068ed48e130e5ec9109930d8cda9) ) - - ROM_REGION( 782, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) - ROM_REGION( 860, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0970_common2_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) ) - ROM_REGION( 352, "maincpu:opla", 0 ) - ROM_LOAD( "tms0980_ti1000_output.pla", 0, 352, CRC(a936631e) SHA1(1f900b12a41419d6e1ffbddd5cf72be3adaa4435) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common3_segment.pla", 0, 157, CRC(b5b3153f) SHA1(e0145c729695a4f962970aee0571d42cee6f5a9e) ) -ROM_END - - -ROM_START( wizatron ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tmc0907nl_za0379", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) ) - - ROM_REGION( 782, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) - ROM_REGION( 860, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0970_common2_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) ) - ROM_REGION( 352, "maincpu:opla", 0 ) - ROM_LOAD( "tms0980_wizatron_output.pla", 0, 352, CRC(c0ee5c04) SHA1(e9fadcef688309adbe6c1c0545aac6883ce4a1ac) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) -ROM_END - - -ROM_START( lilprof ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tms0975nl_za0356", 0x0000, 0x0400, CRC(fef9dd39) SHA1(5c9614c9c5092d55dabeee2d6e0387d50d6ad4d5) ) - - ROM_REGION( 782, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) - ROM_REGION( 860, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) - ROM_REGION( 352, "maincpu:opla", 0 ) - ROM_LOAD( "tms0980_lilprof_output.pla", 0, 352, CRC(73f9ca93) SHA1(9d6c559e2c1886c62bcd57e3c3aa897e8829b4d2) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common2_segment.pla", 0, 157, CRC(c03cccd8) SHA1(08bc4b597686a7aa8b2c9f43b85b62747ffd455b) ) -ROM_END - -ROM_START( lilprof78 ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "tmc1993nl", 0x0000, 0x0400, CRC(e941316b) SHA1(7e1542045d1e731cea81a639c9ac9e91bb233b15) ) - - ROM_REGION( 782, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) - ROM_REGION( 860, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0970_common2_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) ) - ROM_REGION( 352, "maincpu:opla", 0 ) - ROM_LOAD( "tms0980_lilprof78_output.pla", 0, 352, CRC(b7416cc0) SHA1(57891ffeaf34aafe8a915086c6d2feb78f5113af) ) - ROM_REGION( 157, "maincpu:spla", 0 ) - ROM_LOAD( "tms0980_common3_segment.pla", 0, 157, CRC(b5b3153f) SHA1(e0145c729695a4f962970aee0571d42cee6f5a9e) ) -ROM_END - - -ROM_START( dataman ) - ROM_REGION( 0x1000, "maincpu", 0 ) - ROM_LOAD16_WORD( "tmc1982nl", 0x0000, 0x1000, CRC(3521f53f) SHA1(c46fe7fe20715fdf5aed65833fb867cfd3938062) ) // matches patent US4340374 - - ROM_REGION( 1246, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) - ROM_REGION( 2127, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) - ROM_REGION( 525, "maincpu:opla", 0 ) - ROM_LOAD( "tms1980_dataman_output.pla", 0, 525, CRC(5fc6f451) SHA1(11475c785c34eab5b13c5dc67f413c709cd4bd4d) ) -ROM_END - - -ROM_START( mathmarv ) - ROM_REGION( 0x1000, "maincpu", 0 ) - ROM_LOAD16_WORD( "tmc1986anl", 0x0000, 0x1000, CRC(79fda72d) SHA1(137852b29d9136459f78e29e7810195a956a5903) ) - - ROM_REGION( 1246, "maincpu:ipla", 0 ) - ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) - ROM_REGION( 2127, "maincpu:mpla", 0 ) - ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) - ROM_REGION( 525, "maincpu:opla", 0 ) - ROM_LOAD( "tms1980_mathmarv_output.pla", 0, 525, CRC(5fc6f451) SHA1(11475c785c34eab5b13c5dc67f413c709cd4bd4d) ) -ROM_END +} +// roms ROM_START( ti30 ) ROM_REGION( 0x1000, "maincpu", 0 ) @@ -1728,7 +1720,6 @@ ROM_START( ti30 ) ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) ) ROM_END - ROM_START( tibusan ) ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD16_WORD( "tmc0982nl", 0x0000, 0x1000, CRC(6954560a) SHA1(6c153a0c9239a811e3514a43d809964c06f8f88e) ) @@ -1743,7 +1734,6 @@ ROM_START( tibusan ) ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) ) ROM_END - ROM_START( tiprog ) ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD16_WORD( "za0675nl", 0x0000, 0x1000, CRC(82355854) SHA1(03fab373bce04df8ea3fe25352525e8539213626) ) // tmc0983 @@ -1760,8 +1750,16 @@ ROM_END -// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY FULLNAME, FLAGS -COMP( 1977, cmulti8, 0, 0, cmulti8, cmulti8, cmulti8_state, empty_init, "Canon", "Multi 8 (Canon)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) +} // anonymous namespace + +/*************************************************************************** + + Game driver(s) + +***************************************************************************/ + +// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +COMP( 1977, cmulti8, 0, 0, cmulti8, cmulti8, cmulti8_state, empty_init, "Canon", "Multi 8 (Canon)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) COMP( 1974, tisr16, 0, 0, tisr16, tisr16, tisr16_state, empty_init, "Texas Instruments", "SR-16", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) COMP( 1975, tisr16ii, 0, 0, tisr16, tisr16ii, tisr16_state, empty_init, "Texas Instruments", "SR-16 II", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) |