diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 0f2eb061219..41580b29f49 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -5930,7 +5930,7 @@ PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus)
Programs Available: PP0055, X000055P, PP0723
*/
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "xp000098.u67", 0x00000, 0x10000, CRC(12257ad8) SHA1(8f613377519850f8f711ccb827685dece018c735) )
+ ROM_LOAD( "xp000098.u67", 0x00000, 0x10000, CRC(12257ad8) SHA1(8f613377519850f8f711ccb827685dece018c735) ) /* 01/29/98 @ IGT L98-0643 */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "x000055p.u66", 0x00000, 0x10000, CRC(e06819df) SHA1(36590c4588b8036908e63714fbb3e77d23e60eae) ) /* Deuces Wild Poker */
@@ -9075,7 +9075,7 @@ Double Bonus Poker P324A 100.20%
Double Deuce Poker P236A 99.60%
*/
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "xmp00002.u67", 0x00000, 0x10000, CRC(d5624ac8) SHA1(6b778b0e7ddb81123c6038920b3447e05a0556b2) ) /* Linkable Progressive */
+ ROM_LOAD( "xmp00002.u67", 0x00000, 0x10000, CRC(d5624ac8) SHA1(6b778b0e7ddb81123c6038920b3447e05a0556b2) ) /* 09/07/95 @ IGT L95-2183 - Linkable Progressive */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "xm00004p.u66", 0x00000, 0x10000, CRC(bafd160f) SHA1(7454fbf992d4d0668ef375b76ce2cae3324a5f75) )
@@ -9104,7 +9104,7 @@ Double Bonus Poker P434A 96.40%
*/
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "xmp00004.u67", 0x00000, 0x10000, CRC(83184999) SHA1(b8483917b338be4fd3641b3990eea37072d36885) ) /* Linkable Progressive */
- /* Also known to be found with XMP00024 programs */
+ /* Also known to be found with XMP00024 program */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "xm00005p.u66", 0x00000, 0x10000, CRC(c832eac7) SHA1(747d57de602b44ae1276fe1009db1b6de0d2c64c) )
@@ -9162,12 +9162,13 @@ Double Bonus Poker P325A 97.80%
*/
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "xmp00006.u67", 0x00000, 0x10000, CRC(d61f1677) SHA1(2eca1315d6aa310a54de2dfa369e443a07495b76) ) /* 07/25/96 @ IGT L96-2041 - Linkable Progressive */
+ /* Also known to be found with XMP00002 program */
ROM_REGION( 0x10000, "user1", 0 )
- ROM_LOAD( "xm00007p.u66", 0x00000, 0x10000, CRC(85a76416) SHA1(1bc3b9c2f687e68a085bfc5cf86d99fbd18cb9c7) )
+ ROM_LOAD( "xm00007p.u66", 0x00000, 0x10000, CRC(85a76416) SHA1(1bc3b9c2f687e68a085bfc5cf86d99fbd18cb9c7) ) /* 03/09/96 @ IGT L96-0737 */
ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD( "mro-cg2233.u77", 0x00000, 0x8000, CRC(8758866a) SHA1(49146560a7e79593a2ac0378dc3b300b96ef1015) )
+ ROM_LOAD( "mro-cg2233.u77", 0x00000, 0x8000, CRC(8758866a) SHA1(49146560a7e79593a2ac0378dc3b300b96ef1015) ) /* 03/07/96 @ IGT L96-0686 */
ROM_LOAD( "mgo-cg2233.u78", 0x08000, 0x8000, CRC(45ac6cfd) SHA1(25ff276320fe51c56aea0cff099be17e4ce8f404) )
ROM_LOAD( "mbo-cg2233.u79", 0x10000, 0x8000, CRC(9e9d702f) SHA1(75bb9adb49095b7cb87d2615bcf725e4a4774e25) )
ROM_LOAD( "mxo-cg2233.u80", 0x18000, 0x8000, CRC(2f05ebcb) SHA1(90d00ee4ce2dcbfbe33e221efe4db45a4e484baa) )
@@ -9221,7 +9222,7 @@ Jacks or Better BB 97.80%
Double Aces & Faces ????? 99.30%
*/
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "xmp00002.u67", 0x00000, 0x10000, CRC(d5624ac8) SHA1(6b778b0e7ddb81123c6038920b3447e05a0556b2) ) /* Linkable Progressive */
+ ROM_LOAD( "xmp00002.u67", 0x00000, 0x10000, CRC(d5624ac8) SHA1(6b778b0e7ddb81123c6038920b3447e05a0556b2) ) /* 09/07/95 @ IGT L95-2183 - Linkable Progressive */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "xm00009p.u66", 0x00000, 0x10000, CRC(e133d0bb) SHA1(7ed4fa335e230c28e6fc66f0c990bc7ead2b279d) )
@@ -9341,7 +9342,7 @@ The CG2298 graphics can support the following XnnnnnnP Data game types:
*/
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "xmp00017.u67", 0x00000, 0x10000, CRC(129e6eaa) SHA1(1dd2b83a672a618f338b553a6cbd598b6d4ce672) )
+ ROM_LOAD( "xmp00017.u67", 0x00000, 0x10000, CRC(129e6eaa) SHA1(1dd2b83a672a618f338b553a6cbd598b6d4ce672) ) /* 09/17/97 @ IGT L97-2154 */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "x000055p.u66", 0x00000, 0x10000, CRC(e06819df) SHA1(36590c4588b8036908e63714fbb3e77d23e60eae) ) /* Deuces Wild Poker */
@@ -9375,7 +9376,7 @@ The CG2352 set supersedes CG2298. It's currently not known what has changed betw
*/
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "xmp00017.u67", 0x00000, 0x10000, CRC(129e6eaa) SHA1(1dd2b83a672a618f338b553a6cbd598b6d4ce672) )
+ ROM_LOAD( "xmp00017.u67", 0x00000, 0x10000, CRC(129e6eaa) SHA1(1dd2b83a672a618f338b553a6cbd598b6d4ce672) ) /* 09/17/97 @ IGT L97-2154 */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "x000430p.u66", 0x00000, 0x10000, CRC(905571e3) SHA1(fd506516fed22842df8e9dbb3683dcb4c459719b) ) /* Dueces Joker Wild Poker */
@@ -9412,7 +9413,7 @@ The CG2426 set supersedes both CG2298 & CG2352 and adds graphics support for the
*/
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "xmp00017.u67", 0x00000, 0x10000, CRC(129e6eaa) SHA1(1dd2b83a672a618f338b553a6cbd598b6d4ce672) )
+ ROM_LOAD( "xmp00017.u67", 0x00000, 0x10000, CRC(129e6eaa) SHA1(1dd2b83a672a618f338b553a6cbd598b6d4ce672) ) /* 09/17/97 @ IGT L97-2154 */
ROM_REGION( 0x10000, "user1", 0 )
ROM_LOAD( "x002272p.u66", 0x00000, 0x10000, CRC(ee4f27b9) SHA1(1ee105430358ea27badd943bb6b18663e4029388) ) /* Black Jack Bonus Poker */
@@ -9430,7 +9431,7 @@ The CG2426 set supersedes both CG2298 & CG2352 and adds graphics support for the
ROM_LOAD( "x002307p.u66", 0x00000, 0x10000, CRC(c6d5db70) SHA1(017e1e382fb789e4cd8b410362ad5e82b61f61db) ) /* Triple Double Bonus Poker */
ROM_REGION( 0x040000, "gfx1", 0 )
- ROM_LOAD( "mro-cg2426.u77", 0x00000, 0x10000, CRC(e7622901) SHA1(f653aaf02de840aef56d3efd7680572356e94da7) )
+ ROM_LOAD( "mro-cg2426.u77", 0x00000, 0x10000, CRC(e7622901) SHA1(f653aaf02de840aef56d3efd7680572356e94da7) ) /* 05/29/98 @ IGT L98-1765 */
ROM_LOAD( "mgo-cg2426.u78", 0x10000, 0x10000, CRC(5c8388a0) SHA1(c883bf7969850d07f37fa0fd58f82cda4cf15654) )
ROM_LOAD( "mbo-cg2426.u79", 0x20000, 0x10000, CRC(dc6e39aa) SHA1(7a7188757f5be25521a023d1315cfd7c395b6c25) )
ROM_LOAD( "mxo-cg2426.u80", 0x30000, 0x10000, CRC(a32f42a2) SHA1(87ddc4dda7c198ed62a2a065507efe4d3a016236) )
@@ -9488,7 +9489,7 @@ ROM_START( pexmp030 ) /* Superboard : 5-in-1 Wingboard (XMP00030) */
ROM_LOAD( "x002440p.u66", 0x00000, 0x10000, CRC(2ecb28cc) SHA1(a7b902bdfbf8f5ceedc778b8408c39ee279a1a1d) ) /* Deuces Wild Poker */
ROM_REGION( 0x040000, "gfx1", 0 )
- ROM_LOAD( "mro-cg2426.u77", 0x00000, 0x10000, CRC(e7622901) SHA1(f653aaf02de840aef56d3efd7680572356e94da7) )
+ ROM_LOAD( "mro-cg2426.u77", 0x00000, 0x10000, CRC(e7622901) SHA1(f653aaf02de840aef56d3efd7680572356e94da7) ) /* 05/29/98 @ IGT L98-1765 */
ROM_LOAD( "mgo-cg2426.u78", 0x10000, 0x10000, CRC(5c8388a0) SHA1(c883bf7969850d07f37fa0fd58f82cda4cf15654) )
ROM_LOAD( "mbo-cg2426.u79", 0x20000, 0x10000, CRC(dc6e39aa) SHA1(7a7188757f5be25521a023d1315cfd7c395b6c25) )
ROM_LOAD( "mxo-cg2426.u80", 0x30000, 0x10000, CRC(a32f42a2) SHA1(87ddc4dda7c198ed62a2a065507efe4d3a016236) )
diff --git a/src/mess/drivers/mbdtower.c b/src/mess/drivers/mbdtower.c
index 802db8e59dd..412cbf3a6a7 100644
--- a/src/mess/drivers/mbdtower.c
+++ b/src/mess/drivers/mbdtower.c
@@ -92,7 +92,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mbdtower_state::motor_sim_tick)
// give it some time to spin out when it's turned off
if (m_r & 0x200)
- m_motor_decay += (m_motor_decay < 6);
+ m_motor_decay += (m_motor_decay < 4);
else if (m_motor_decay > 0)
m_motor_decay--;
else
@@ -112,11 +112,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(mbdtower_state::motor_sim_tick)
/* 3 display cards per hole, like this:
- (0) <---- display increments this way <---- (7)
+ (0) <---- display increments this way <---- (7)
- VICTORY WIZARD DRAGON GOLD KEY SCOUT WARRIOR (void) CURSED
- WARRIORS BAZAAR CLOSED SWORD SILVER KEY HEALER FOOD (void) LOST
- BRIGANDS KEY MISSING PEGASUS BRASS KEY GOLD BEAST (void) PLAGUE
+ CURSED VICTORY WIZARD DRAGON GOLD KEY SCOUT WARRIOR (void)
+ LOST WARRIORS BAZAAR CLOSED SWORD SILVER KEY HEALER FOOD (void)
+ PLAGUE BRIGANDS KEY MISSING PEGASUS BRASS KEY GOLD BEAST (void)
*/
int card_pos = m_motor_pos >> 4 & 7;
if (card_pos != (m_motor_pos_prev >> 4 & 7))
@@ -281,4 +281,4 @@ ROM_START( mbdtower )
ROM_END
-CONS( 1981, mbdtower, 0, 0, mbdtower, mbdtower, driver_device, 0, "Milton Bradley", "Dark Tower (Milton Bradley)", GAME_SUPPORTS_SAVE | GAME_MECHANICAL | GAME_NOT_WORKING )
+CONS( 1981, mbdtower, 0, 0, mbdtower, mbdtower, driver_device, 0, "Milton Bradley", "Dark Tower (Milton Bradley)", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
diff --git a/src/mess/drivers/ticalc1x.c b/src/mess/drivers/ticalc1x.c
index 679d62d550e..37d90600162 100644
--- a/src/mess/drivers/ticalc1x.c
+++ b/src/mess/drivers/ticalc1x.c
@@ -8,8 +8,8 @@
TODO:
- - MCU clocks are unknown
- - lilprof equals-sign is always on
+ - MCU clocks are unknown where noted
+ - lilprof78 equals-sign is always on
***************************************************************************/
@@ -70,7 +70,7 @@ public:
void display_matrix_seg(int maxx, int maxy, UINT32 setx, UINT32 sety, UINT16 segmask);
// calculator-specific handlers
- void tisr16_display_update();
+ void tisr16_display();
DECLARE_WRITE16_MEMBER(tisr16_write_o);
DECLARE_WRITE16_MEMBER(tisr16_write_r);
DECLARE_READ8_MEMBER(tisr16_read_k);
@@ -84,9 +84,12 @@ public:
DECLARE_READ8_MEMBER(wizatron_read_k);
DECLARE_WRITE16_MEMBER(lilprof_write_o);
- DECLARE_WRITE16_MEMBER(lilprof_write_r);
DECLARE_READ8_MEMBER(lilprof_read_k);
+ DECLARE_WRITE16_MEMBER(lilprof78_write_o);
+ DECLARE_WRITE16_MEMBER(lilprof78_write_r);
+ DECLARE_READ8_MEMBER(lilprof78_read_k);
+
DECLARE_WRITE16_MEMBER(ti30_write_o);
DECLARE_WRITE16_MEMBER(ti30_write_r);
DECLARE_READ8_MEMBER(ti30_read_k);
@@ -256,7 +259,7 @@ INPUT_CHANGED_MEMBER(ticalc1x_state::power_button)
***************************************************************************/
-void ticalc1x_state::tisr16_display_update()
+void ticalc1x_state::tisr16_display()
{
// update leds state
for (int y = 0; y < 11; y++)
@@ -275,14 +278,14 @@ WRITE16_MEMBER(ticalc1x_state::tisr16_write_r)
// R0-R10: input mux
// R0-R10: select digit (right-to-left)
m_r = m_inp_mux = data;
- tisr16_display_update();
+ tisr16_display();
}
WRITE16_MEMBER(ticalc1x_state::tisr16_write_o)
{
// O0-O7: digit segments
m_o = data;
- tisr16_display_update();
+ tisr16_display();
}
READ8_MEMBER(ticalc1x_state::tisr16_read_k)
@@ -475,12 +478,17 @@ MACHINE_CONFIG_END
WRITE16_MEMBER(ticalc1x_state::wizatron_write_r)
{
- // note: 6th digit is custom(not 7seg), for math symbols, and 3rd digit
- // only has A and G for =, though some newer revisions use a custom digit too.
+ // 6th digit is custom(not 7seg), for math symbols, like this:
+ // \./ GAB
+ // --- F
+ // /.\ EDC
+
+ // 3rd digit only has A and G for =, though some newer hardware revisions
+ // (goes for both wizatron and lilprof) use a custom equals-sign digit here
m_display_segmask[3] = 0x41;
// R0-R8: select digit (right-to-left)
- display_matrix_seg(8, 9, m_o, data, 0x7f);
+ display_matrix_seg(7, 9, m_o, data, 0x7f);
}
WRITE16_MEMBER(ticalc1x_state::wizatron_write_o)
@@ -500,7 +508,7 @@ READ8_MEMBER(ticalc1x_state::wizatron_read_k)
static INPUT_PORTS_START( wizatron )
PORT_START("IN.0") // O1
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME("CLEAR")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_NAME("Clear")
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_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+")
@@ -547,12 +555,72 @@ MACHINE_CONFIG_END
/***************************************************************************
- TI Little Professor '78
+ TI Little Professor (1976 version)
+ * TMS0970 MCU labeled TMS0975NL ZA0356, GP0975CS. die labeled 0970D-75C
+
+ The hardware is nearly identical to Wiz-A-Tron (or vice versa, since this
+ one is older).
+
+***************************************************************************/
+
+WRITE16_MEMBER(ticalc1x_state::lilprof_write_o)
+{
+ // O1-O4,O7: input mux
+ // O0-O6: digit segments A-G
+ m_inp_mux = (data >> 1 & 0xf) | (data >> 3 & 0x10);
+ m_o = data;
+}
+
+READ8_MEMBER(ticalc1x_state::lilprof_read_k)
+{
+ return read_inputs(5);
+}
+
+
+static INPUT_PORTS_START( lilprof )
+ PORT_INCLUDE( wizatron )
+
+ PORT_MODIFY("IN.0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CODE(KEYCODE_DEL) PORT_NAME("Set")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Go")
+
+ PORT_START("IN.4") // O7
+ PORT_CONFNAME( 0x0f, 0x01, "Level")
+ PORT_CONFSETTING( 0x01, "1" )
+ PORT_CONFSETTING( 0x02, "2" )
+ PORT_CONFSETTING( 0x04, "3" )
+ PORT_CONFSETTING( 0x08, "4" )
+INPUT_PORTS_END
+
+
+static MACHINE_CONFIG_START( lilprof, ticalc1x_state )
+
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", TMS0970, 250000) // guessed
+ MCFG_TMS1XXX_READ_K_CB(READ8(ticalc1x_state, lilprof_read_k))
+ MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ticalc1x_state, lilprof_write_o))
+ MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ticalc1x_state, wizatron_write_r))
+
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", ticalc1x_state, display_decay_tick, attotime::from_msec(1))
+ MCFG_DEFAULT_LAYOUT(layout_wizatron)
+
+ /* no video! */
+
+ /* no sound! */
+MACHINE_CONFIG_END
+
+
+
+
+
+/***************************************************************************
+
+ TI Little Professor (1978 version, same as 1980 version)
* TMS1990 MCU labeled TMC1993NL. die labeled 1990C-c3C
***************************************************************************/
-WRITE16_MEMBER(ticalc1x_state::lilprof_write_r)
+WRITE16_MEMBER(ticalc1x_state::lilprof78_write_r)
{
// update leds state
UINT8 o = BITSWAP8(m_o,7,4,3,2,1,0,6,5) & 0x7f;
@@ -564,15 +632,15 @@ WRITE16_MEMBER(ticalc1x_state::lilprof_write_r)
// 3rd digit A/G(equals sign) is from O7
m_display_state[3] = (m_o & 0x80) ? 0x41 : 0;
- // 6th digit is a custom 7seg for math symbols
+ // 6th digit is a custom 7seg for math symbols (see wizatron_write_r)
m_display_state[6] = BITSWAP8(m_display_state[6],7,6,1,4,2,3,5,0);
- m_display_maxx = 8;
+ m_display_maxx = 7;
m_display_maxy = 9;
display_update();
}
-WRITE16_MEMBER(ticalc1x_state::lilprof_write_o)
+WRITE16_MEMBER(ticalc1x_state::lilprof78_write_o)
{
// O0-O3,O5: input mux
// O0-O6: digit segments A-G
@@ -581,13 +649,13 @@ WRITE16_MEMBER(ticalc1x_state::lilprof_write_o)
m_o = data;
}
-READ8_MEMBER(ticalc1x_state::lilprof_read_k)
+READ8_MEMBER(ticalc1x_state::lilprof78_read_k)
{
return read_inputs(5);
}
-static INPUT_PORTS_START( lilprof )
+static INPUT_PORTS_START( lilprof78 )
PORT_START("IN.0") // O0
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2")
@@ -621,13 +689,13 @@ static INPUT_PORTS_START( lilprof )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( lilprof, ticalc1x_state )
+static MACHINE_CONFIG_START( lilprof78, ticalc1x_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMS1990, 250000) // guessed
- MCFG_TMS1XXX_READ_K_CB(READ8(ticalc1x_state, lilprof_read_k))
- MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ticalc1x_state, lilprof_write_o))
- MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ticalc1x_state, lilprof_write_r))
+ MCFG_TMS1XXX_READ_K_CB(READ8(ticalc1x_state, lilprof78_read_k))
+ MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ticalc1x_state, lilprof78_write_o))
+ MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ticalc1x_state, lilprof78_write_r))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", ticalc1x_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_wizatron)
@@ -895,7 +963,7 @@ ROM_END
ROM_START( ti1270 )
ROM_REGION( 0x0400, "maincpu", 0 )
- ROM_LOAD( "tms0974nl", 0x0000, 0x0400, CRC(48e09b4b) SHA1(17f27167164df223f9f06082ece4c3fc3900eda3) )
+ ROM_LOAD( "za0355", 0x0000, 0x0400, CRC(48e09b4b) SHA1(17f27167164df223f9f06082ece4c3fc3900eda3) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_ti1270_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
@@ -910,7 +978,7 @@ ROM_END
ROM_START( wizatron )
ROM_REGION( 0x0400, "maincpu", 0 )
- ROM_LOAD( "dp0907bs", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
+ ROM_LOAD( "za0379", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_wizatron_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
@@ -924,6 +992,21 @@ ROM_END
ROM_START( lilprof )
+ ROM_REGION( 0x0400, "maincpu", 0 )
+ ROM_LOAD( "za0356", 0x0000, 0x0400, CRC(fef9dd39) SHA1(5c9614c9c5092d55dabeee2d6e0387d50d6ad4d5) )
+
+ ROM_REGION( 782, "maincpu:ipla", 0 )
+ ROM_LOAD( "tms0970_lilprof_ipla.pla", 0, 782, BAD_DUMP CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) ) // not verified
+ ROM_REGION( 860, "maincpu:mpla", 0 )
+ ROM_LOAD( "tms0970_lilprof_mpla.pla", 0, 860, BAD_DUMP CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) ) // not verified
+ ROM_REGION( 352, "maincpu:opla", 0 )
+ ROM_LOAD( "tms0970_lilprof_opla.pla", 0, 352, BAD_DUMP CRC(c74daf97) SHA1(c4948000196171b34d4fe9cdd2962a945da9883d) ) // not verified
+ ROM_REGION( 157, "maincpu:spla", 0 )
+ ROM_LOAD( "tms0970_lilprof_spla.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
+ROM_END
+
+
+ROM_START( lilprof78 )
ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "tmc1993nl", 0x0000, 0x0400, CRC(e941316b) SHA1(7e1542045d1e731cea81a639c9ac9e91bb233b15) )
@@ -989,7 +1072,8 @@ COMP( 1974, tisr16, 0, 0, tisr16, tisr16, driver_device, 0, "Tex
COMP( 1976, ti1270, 0, 0, ti1270, ti1270, driver_device, 0, "Texas Instruments", "TI-1270", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
COMP( 1977, wizatron, 0, 0, wizatron, wizatron, driver_device, 0, "Texas Instruments", "Wiz-A-Tron", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1978, lilprof, 0, 0, lilprof, lilprof, driver_device, 0, "Texas Instruments", "Little Professor (1978 version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) // original is from 1976
+COMP( 1976, lilprof, 0, 0, lilprof, lilprof, driver_device, 0, "Texas Instruments", "Little Professor (1976 version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1978, lilprof78, lilprof, 0, lilprof78, lilprof78, driver_device, 0, "Texas Instruments", "Little Professor (1978 version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
COMP( 1976, ti30, 0, 0, ti30, ti30, driver_device, 0, "Texas Instruments", "TI-30", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
COMP( 1977, tiprog, 0, 0, ti30, tiprog, driver_device, 0, "Texas Instruments", "TI Programmer", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
diff --git a/src/mess/layout/mbdtower.lay b/src/mess/layout/mbdtower.lay
index aff46ef4eff..98bbfc231a4 100644
--- a/src/mess/layout/mbdtower.lay
+++ b/src/mess/layout/mbdtower.lay
@@ -4,22 +4,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mess/mess.lst b/src/mess/mess.lst
index 35b59572ef8..643bd5452b8 100644
--- a/src/mess/mess.lst
+++ b/src/mess/mess.lst
@@ -1086,6 +1086,7 @@ tiprog
tibusan1
wizatron
lilprof
+lilprof78
ti73 // 1990 TI-73
ti74 // 1985 TI-74
ti95 // 1986 TI-95