summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2017-12-07 02:44:50 +0100
committer hap <happppp@users.noreply.github.com>2017-12-07 02:45:18 +0100
commit76bd4b9b3f5d8ea288307657f11fb82ae8d61a7f (patch)
treeb122775f3d614f4e6fdc172c98340d6e5886ddc3
parent46edbee6ed30c8a6cb16acb5c833d467117917c4 (diff)
New working machines
----------- Gakken Invader 2000 [hap, Sean Riddle]
-rw-r--r--src/devices/cpu/tms1000/tms1100.cpp2
-rw-r--r--src/mame/drivers/hh_hmcs40.cpp124
-rw-r--r--src/mame/drivers/hh_melps4.cpp8
-rw-r--r--src/mame/drivers/hh_sm510.cpp12
-rw-r--r--src/mame/drivers/hh_tms1k.cpp165
-rw-r--r--src/mame/drivers/hh_ucom4.cpp78
-rw-r--r--src/mame/mame.lst1
7 files changed, 271 insertions, 119 deletions
diff --git a/src/devices/cpu/tms1000/tms1100.cpp b/src/devices/cpu/tms1000/tms1100.cpp
index 8f329a3c725..9f654009bbe 100644
--- a/src/devices/cpu/tms1000/tms1100.cpp
+++ b/src/devices/cpu/tms1000/tms1100.cpp
@@ -18,7 +18,7 @@
DEFINE_DEVICE_TYPE(TMS1100, tms1100_cpu_device, "tms1100", "TMS1100") // 28-pin DIP, 11 R pins
DEFINE_DEVICE_TYPE(TMS1170, tms1170_cpu_device, "tms1170", "TMS1170") // high voltage version
DEFINE_DEVICE_TYPE(TMS1300, tms1300_cpu_device, "tms1300", "TMS1300") // 40-pin DIP, 16 R pins
-DEFINE_DEVICE_TYPE(TMS1370, tms1370_cpu_device, "tms1370", "TMS1370") // high voltage version
+DEFINE_DEVICE_TYPE(TMS1370, tms1370_cpu_device, "tms1370", "TMS1370") // high voltage version, also seen in 28-pin package(some O/R pins unavailable)
// internal memory maps
diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp
index 3888a877904..8d6dddefe55 100644
--- a/src/mame/drivers/hh_hmcs40.cpp
+++ b/src/mame/drivers/hh_hmcs40.cpp
@@ -85,7 +85,7 @@
On MAME they will show with full brightness, see eg. building explosions.
Currently there's a workaround in place.
- bzaxxon 3D effect is difficult to simulate
- - improve SVGs of bzaxxon, bpengo, bbtime
+ - improve/redo SVGs of: bzaxxon, bpengo, bbtime
***************************************************************************/
@@ -370,7 +370,7 @@ public:
WRITE8_MEMBER(bambball_state::plate_w)
{
- // R1x-R3x(,D0-D3): vfd matrix plate
+ // R1x-R3x(,D0-D3): vfd plate
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -387,7 +387,7 @@ WRITE16_MEMBER(bambball_state::grid_w)
// D7-D10: input mux
m_inp_mux = data >> 7 & 0xf;
- // D7-D15: vfd matrix grid
+ // D7-D15: vfd grid
m_grid = data >> 7 & 0x1ff;
// D0-D3: more plates (update display there)
@@ -491,7 +491,7 @@ void bmboxing_state::prepare_display()
WRITE8_MEMBER(bmboxing_state::plate_w)
{
- // R1x-R3x: vfd matrix plate
+ // R1x-R3x: vfd plate
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -505,7 +505,7 @@ WRITE16_MEMBER(bmboxing_state::grid_w)
// D9-D12: input mux
m_inp_mux = data >> 9 & 0xf;
- // D4-D12: vfd matrix grid
+ // D4-D12: vfd grid
m_grid = data >> 4 & 0x1ff;
prepare_display();
}
@@ -630,7 +630,7 @@ void bfriskyt_state::prepare_display()
WRITE8_MEMBER(bfriskyt_state::plate_w)
{
- // R0x-R3x: vfd matrix plate
+ // R0x-R3x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -649,7 +649,7 @@ WRITE16_MEMBER(bfriskyt_state::grid_w)
update_int1();
}
- // D8-D15: vfd matrix grid
+ // D8-D15: vfd grid
m_grid = data >> 8 & 0xff;
// D0-D5: more plates
@@ -750,7 +750,7 @@ public:
WRITE8_MEMBER(packmon_state::plate_w)
{
- // R0x-R3x(,D0-D3): vfd matrix plate
+ // R0x-R3x(,D0-D3): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -768,7 +768,7 @@ WRITE16_MEMBER(packmon_state::grid_w)
// D11-D15: input mux
m_inp_mux = data >> 11 & 0x1f;
- // D6-D15: vfd matrix grid
+ // D6-D15: vfd grid
m_grid = data >> 6 & 0x3ff;
// D0-D3: plate 9-12 (update display there)
@@ -872,7 +872,7 @@ void msthawk_state::prepare_display()
WRITE8_MEMBER(msthawk_state::plate_w)
{
- // R0x-R3x: vfd matrix plate
+ // R0x-R3x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -891,7 +891,7 @@ WRITE16_MEMBER(msthawk_state::grid_w)
update_int0();
}
- // D6-D15: vfd matrix grid
+ // D6-D15: vfd grid
m_grid = data >> 6 & 0x3ff;
// D0-D4: more plates
@@ -992,7 +992,7 @@ public:
WRITE8_MEMBER(bzaxxon_state::plate_w)
{
- // R0x-R3x(,D0-D2): vfd matrix plate
+ // R0x-R3x(,D0-D2): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -1015,7 +1015,7 @@ WRITE16_MEMBER(bzaxxon_state::grid_w)
update_int1();
}
- // D5-D15: vfd matrix grid
+ // D5-D15: vfd grid
m_grid = data >> 5 & 0x7ff;
// D0-D2: plate 7-9 (update display there)
@@ -1112,7 +1112,7 @@ public:
WRITE8_MEMBER(zackman_state::plate_w)
{
- // R0x-R6x(,D0,D1): vfd matrix plate
+ // R0x-R6x(,D0,D1): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -1135,7 +1135,7 @@ WRITE16_MEMBER(zackman_state::grid_w)
update_int0();
}
- // D8-D15: vfd matrix grid
+ // D8-D15: vfd grid
m_grid = data >> 8 & 0xff;
// D0,D1: plate 12,13 (update display there)
@@ -1239,7 +1239,7 @@ void bpengo_state::prepare_display()
WRITE8_MEMBER(bpengo_state::plate_w)
{
- // R0x-R6x: vfd matrix plate
+ // R0x-R6x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1258,7 +1258,7 @@ WRITE16_MEMBER(bpengo_state::grid_w)
update_int0();
}
- // D0-D7: vfd matrix grid
+ // D0-D7: vfd grid
m_grid = data & 0xff;
prepare_display();
}
@@ -1367,7 +1367,7 @@ void bbtime_state::prepare_display()
WRITE8_MEMBER(bbtime_state::plate_w)
{
- // R0x-R6x: vfd matrix plate
+ // R0x-R6x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1386,7 +1386,7 @@ WRITE16_MEMBER(bbtime_state::grid_w)
update_int0();
}
- // D4-D9: vfd matrix grid
+ // D4-D9: vfd grid
m_grid = data >> 4 & 0x3f;
prepare_display();
}
@@ -1480,7 +1480,7 @@ public:
WRITE8_MEMBER(bdoramon_state::plate_w)
{
- // R0x-R3x(,D0-D3): vfd matrix plate
+ // R0x-R3x(,D0-D3): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -1495,7 +1495,7 @@ WRITE16_MEMBER(bdoramon_state::grid_w)
// D7: speaker out
m_speaker->level_w(data >> 7 & 1);
- // D8-D15: vfd matrix grid
+ // D8-D15: vfd grid
m_grid = data >> 8 & 0xff;
// D0-D3: plate 15-18 (update display there)
@@ -1579,7 +1579,7 @@ public:
WRITE8_MEMBER(bultrman_state::plate_w)
{
- // R0x-R3x(,D0-D2): vfd matrix plate
+ // R0x-R3x(,D0-D2): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -1594,7 +1594,7 @@ WRITE16_MEMBER(bultrman_state::grid_w)
// D7: speaker out
m_speaker->level_w(data >> 7 & 1);
- // D8-D15: vfd matrix grid
+ // D8-D15: vfd grid
m_grid = data >> 8 & 0xff;
// D0-D2: plate 15-17 (update display there)
@@ -1678,7 +1678,7 @@ void machiman_state::prepare_display()
WRITE8_MEMBER(machiman_state::plate_w)
{
- // R0x-R3x,R6012: vfd matrix plate
+ // R0x-R3x,R6012: vfd plate
int shift = (offset == hmcs40_cpu_device::PORT_R6X) ? 16 : offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1689,7 +1689,7 @@ WRITE16_MEMBER(machiman_state::grid_w)
// D13: speaker out
m_speaker->level_w(data >> 13 & 1);
- // D0-D4: vfd matrix grid
+ // D0-D4: vfd grid
m_grid = data & 0x1f;
prepare_display();
}
@@ -1771,7 +1771,7 @@ public:
WRITE8_MEMBER(pairmtch_state::plate_w)
{
- // R2x,R3x,R6x: vfd matrix plate
+ // R2x,R3x,R6x: vfd plate
int shift = (offset == hmcs40_cpu_device::PORT_R6X) ? 8 : (offset-2) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
display_matrix(12, 6, m_plate, m_grid);
@@ -1788,7 +1788,7 @@ WRITE16_MEMBER(pairmtch_state::grid_w)
// D10,D15: input mux
m_inp_mux = (data >> 10 & 1) | (data >> 14 & 2);
- // D0-D5: vfd matrix grid
+ // D0-D5: vfd grid
m_grid = data & 0x3f;
display_matrix(12, 6, m_plate, m_grid);
}
@@ -1919,7 +1919,7 @@ public:
WRITE8_MEMBER(alnattck_state::plate_w)
{
- // R0x-R3x(,D0-D3): vfd matrix plate
+ // R0x-R3x(,D0-D3): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -1936,7 +1936,7 @@ WRITE16_MEMBER(alnattck_state::grid_w)
// D7-D13: input mux
m_inp_mux = data >> 7 & 0x7f;
- // D6-D15: vfd matrix grid
+ // D6-D15: vfd grid
m_grid = data >> 6 & 0x3ff;
// D0-D3: plate 16-19 (update display there)
@@ -2064,7 +2064,7 @@ WRITE8_MEMBER(cdkong_state::plate_w)
m_r[offset] = data;
speaker_decay_reset();
- // R0x-R6x: vfd matrix plate
+ // R0x-R6x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2075,7 +2075,7 @@ WRITE16_MEMBER(cdkong_state::grid_w)
// D3: speaker out
m_speaker->level_w(data >> 3 & 1);
- // D4-D14: vfd matrix grid
+ // D4-D14: vfd grid
m_grid = data >> 4 & 0x7ff;
prepare_display();
}
@@ -2183,7 +2183,7 @@ WRITE8_MEMBER(cgalaxn_state::grid_w)
if (offset == hmcs40_cpu_device::PORT_R1X)
m_inp_mux = data & 3;
- // R1x-R3x: vfd matrix grid
+ // R1x-R3x: vfd grid
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2196,7 +2196,7 @@ WRITE16_MEMBER(cgalaxn_state::plate_w)
// D1: start alien attack whine sound effect (edge triggered)
- // D2-D15: vfd matrix plate
+ // D2-D15: vfd plate
m_plate = (m_plate & 0x4000) | (data >> 2 & 0x3fff);
prepare_display();
}
@@ -2302,7 +2302,7 @@ public:
WRITE8_MEMBER(cpacman_state::plate_w)
{
- // R1x-R6x(,D1,D2): vfd matrix plate
+ // R1x-R6x(,D1,D2): vfd plate
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -2320,7 +2320,7 @@ WRITE16_MEMBER(cpacman_state::grid_w)
// D13-D15: input mux
m_inp_mux = data >> 13 & 7;
- // D5-D15: vfd matrix grid
+ // D5-D15: vfd grid
m_grid = data >> 5 & 0x7ff;
// D1,D2: plate 8,14 (update display there)
@@ -2419,7 +2419,7 @@ public:
WRITE8_MEMBER(cmspacmn_state::plate_w)
{
- // R1x-R6x(,D0,D1): vfd matrix plate
+ // R1x-R6x(,D0,D1): vfd plate
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -2437,7 +2437,7 @@ WRITE16_MEMBER(cmspacmn_state::grid_w)
// D13-D15: input mux
m_inp_mux = data >> 13 & 7;
- // D5-D15: vfd matrix grid
+ // D5-D15: vfd grid
m_grid = data >> 5 & 0x7ff;
// D0,D1: more plates (update display there)
@@ -2550,7 +2550,7 @@ void sag_state::prepare_display()
WRITE8_MEMBER(sag_state::plate_w)
{
- // R0x-R3x: vfd matrix plate
+ // R0x-R3x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2564,7 +2564,7 @@ WRITE16_MEMBER(sag_state::grid_w)
// D2-D7: input mux
m_inp_mux = data >> 2 & 0x3f;
- // D1-D12: vfd matrix grid
+ // D1-D12: vfd grid
m_grid = data >> 1 & 0xfff;
prepare_display();
}
@@ -2683,14 +2683,14 @@ WRITE16_MEMBER(egalaxn2_state::grid_w)
// D1-D4: input mux
m_inp_mux = data >> 1 & 0xf;
- // D1-D15: vfd matrix grid
+ // D1-D15: vfd grid
m_grid = data >> 1 & 0x7fff;
prepare_display();
}
WRITE8_MEMBER(egalaxn2_state::plate_w)
{
- // R1x-R6x: vfd matrix plate
+ // R1x-R6x: vfd plate
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2879,7 +2879,7 @@ WRITE8_MEMBER(eturtles_state::plate_w)
{
m_r[offset] = data;
- // R0x-R6x: vfd matrix plate
+ // R0x-R6x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2897,7 +2897,7 @@ WRITE16_MEMBER(eturtles_state::grid_w)
update_int();
}
- // D1-D15: vfd matrix grid
+ // D1-D15: vfd grid
m_grid = data >> 1 & 0x7fff;
prepare_display();
}
@@ -3161,7 +3161,7 @@ public:
WRITE8_MEMBER(ghalien_state::plate_w)
{
- // R0x-R3x(,D10-D13): vfd matrix plate
+ // R0x-R3x(,D10-D13): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -3179,7 +3179,7 @@ WRITE16_MEMBER(ghalien_state::grid_w)
// D0-D6: input mux
m_inp_mux = data & 0x7f;
- // D0-D9: vfd matrix grid
+ // D0-D9: vfd grid
m_grid = data & 0x3ff;
// D10-D13: more plates (update display there)
@@ -3280,7 +3280,7 @@ public:
WRITE8_MEMBER(gckong_state::plate_w)
{
- // R0x-R3x(,D0,D1): vfd matrix plate
+ // R0x-R3x(,D0,D1): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -3303,7 +3303,7 @@ WRITE16_MEMBER(gckong_state::grid_w)
update_int1();
}
- // D5-D15: vfd matrix grid
+ // D5-D15: vfd grid
m_grid = data >> 5 & 0x7ff;
// D0,D1: more plates (update display there)
@@ -3403,7 +3403,7 @@ public:
WRITE8_MEMBER(gdigdug_state::plate_w)
{
- // R0x-R6x(,D0-D3): vfd matrix plate
+ // R0x-R6x(,D0-D3): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -3425,7 +3425,7 @@ WRITE16_MEMBER(gdigdug_state::grid_w)
update_int1();
}
- // D7-D15: vfd matrix grid
+ // D7-D15: vfd grid
m_grid = data >> 7 & 0x1ff;
// D0-D3: more plates (update display there)
@@ -3534,7 +3534,7 @@ void mwcbaseb_state::prepare_display()
WRITE8_MEMBER(mwcbaseb_state::plate_w)
{
- // R1x-R3x,R6x: vfd matrix plate
+ // R1x-R3x,R6x: vfd plate
int shift = (offset == hmcs40_cpu_device::PORT_R6X) ? 12 : (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -3545,7 +3545,7 @@ WRITE16_MEMBER(mwcbaseb_state::grid_w)
// D9-D15: input mux
m_inp_mux = data >> 9 & 0x7f;
- // D0-D7: vfd matrix grid
+ // D0-D7: vfd grid
m_grid = data & 0xff;
prepare_display();
}
@@ -3683,7 +3683,7 @@ public:
WRITE8_MEMBER(pbqbert_state::plate_w)
{
- // R0x-R6x(,D8): vfd matrix plate
+ // R0x-R6x(,D8): vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -3697,7 +3697,7 @@ WRITE16_MEMBER(pbqbert_state::grid_w)
// D14: speaker out
m_speaker->level_w(data >> 14 & 1);
- // D0-D7: vfd matrix grid
+ // D0-D7: vfd grid
m_grid = data & 0xff;
// D8: plate 25 (update display there)
@@ -3783,7 +3783,7 @@ void kingman_state::prepare_display()
WRITE8_MEMBER(kingman_state::plate_w)
{
- // R0x-R3x: vfd matrix plate
+ // R0x-R3x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -3802,7 +3802,7 @@ WRITE16_MEMBER(kingman_state::grid_w)
update_int0();
}
- // D7-D15: vfd matrix grid
+ // D7-D15: vfd grid
m_grid = data >> 7 & 0x1ff;
// D0-D4: more plates
@@ -3904,7 +3904,7 @@ void tmtron_state::prepare_display()
WRITE8_MEMBER(tmtron_state::plate_w)
{
- // R0x-R3x: vfd matrix plate
+ // R0x-R3x: vfd plate
int shift = offset * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -3923,7 +3923,7 @@ WRITE16_MEMBER(tmtron_state::grid_w)
update_int1();
}
- // D6-D15: vfd matrix grid
+ // D6-D15: vfd grid
m_grid = data >> 6 & 0x3ff;
// D0-D3,D5: more plates
@@ -4018,7 +4018,7 @@ public:
WRITE8_MEMBER(vinvader_state::plate_w)
{
- // R1x-R3x(,D4-D6): vfd matrix plate
+ // R1x-R3x(,D4-D6): vfd plate
int shift = (offset - hmcs40_cpu_device::PORT_R1X) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -4032,7 +4032,7 @@ WRITE16_MEMBER(vinvader_state::grid_w)
// D0: speaker out
m_speaker->level_w(data & 1);
- // D7-D15: vfd matrix grid
+ // D7-D15: vfd grid
m_grid = data >> 7 & 0x1ff;
// D4-D6: more plates (update display there)
@@ -4147,7 +4147,7 @@ ROM_START( bzaxxon )
ROM_CONTINUE( 0x1e80, 0x0100 )
ROM_REGION( 521080, "svg", 0)
- ROM_LOAD( "bzaxxon.svg", 0, 521080, CRC(f4fbb2de) SHA1(83db400e67d91ae4bfee3e8568ae9df94ebede19) )
+ ROM_LOAD( "bzaxxon.svg", 0, 521080, BAD_DUMP CRC(f4fbb2de) SHA1(83db400e67d91ae4bfee3e8568ae9df94ebede19) )
ROM_END
@@ -4167,7 +4167,7 @@ ROM_START( bpengo )
ROM_CONTINUE( 0x1e80, 0x0100 )
ROM_REGION( 744461, "svg", 0)
- ROM_LOAD( "bpengo.svg", 0, 744461, CRC(2b9abaa5) SHA1(c70a6ac1fa757fdd3ababfe6e00573ef1410c1eb) )
+ ROM_LOAD( "bpengo.svg", 0, 744461, BAD_DUMP CRC(2b9abaa5) SHA1(c70a6ac1fa757fdd3ababfe6e00573ef1410c1eb) )
ROM_END
@@ -4177,7 +4177,7 @@ ROM_START( bbtime )
ROM_CONTINUE( 0x1e80, 0x0100 )
ROM_REGION( 461605, "svg", 0)
- ROM_LOAD( "bbtime.svg", 0, 461605, CRC(5b335271) SHA1(46c45b711358e8397ae707668aecead9e341ab8a) )
+ ROM_LOAD( "bbtime.svg", 0, 461605, BAD_DUMP CRC(5b335271) SHA1(46c45b711358e8397ae707668aecead9e341ab8a) )
ROM_END
diff --git a/src/mame/drivers/hh_melps4.cpp b/src/mame/drivers/hh_melps4.cpp
index f233dc064d7..f5028008831 100644
--- a/src/mame/drivers/hh_melps4.cpp
+++ b/src/mame/drivers/hh_melps4.cpp
@@ -246,7 +246,7 @@ WRITE8_MEMBER(cfrogger_state::plate_w)
if (offset == MELPS4_PORTF)
m_inp_mux = data & 3;
- // Sx,Fx,Gx: vfd matrix plate
+ // Sx,Fx,Gx: vfd plate
int mask = (offset == MELPS4_PORTS) ? 0xff : 0xf; // port S is 8-bit
int shift = (offset == MELPS4_PORTS) ? 0 : (offset + 1) * 4;
m_plate = (m_plate & ~(mask << shift)) | (data << shift);
@@ -255,7 +255,7 @@ WRITE8_MEMBER(cfrogger_state::plate_w)
WRITE16_MEMBER(cfrogger_state::grid_w)
{
- // D0-D11: vfd matrix grid
+ // D0-D11: vfd grid
m_grid = data;
prepare_display();
}
@@ -362,7 +362,7 @@ WRITE8_MEMBER(gjungler_state::plate_w)
if (offset == MELPS4_PORTG)
m_inp_mux = data & 3;
- // Sx,Fx,Gx,U: vfd matrix plate
+ // Sx,Fx,Gx,U: vfd plate
int mask = (offset == MELPS4_PORTS) ? 0xff : 0xf; // port S is 8-bit
int shift = (offset == MELPS4_PORTS) ? 0 : (offset + 1) * 4;
m_plate = (m_plate & ~(mask << shift)) | (data << shift);
@@ -371,7 +371,7 @@ WRITE8_MEMBER(gjungler_state::plate_w)
WRITE16_MEMBER(gjungler_state::grid_w)
{
- // D0-D11: vfd matrix grid
+ // D0-D11: vfd grid
m_grid = data;
prepare_display();
}
diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp
index c7637b3653e..6ee872aa1d6 100644
--- a/src/mame/drivers/hh_sm510.cpp
+++ b/src/mame/drivers/hh_sm510.cpp
@@ -11,7 +11,7 @@
MAME external artwork is recommended for the backgrounds inlays.
TODO:
- - improve LCD segments in SVGs for: gnw_mc25, gnw_eg26, exospace
+ - improve/redo SVGs of: gnw_mc25, gnw_eg26, exospace
- confirm gnw_mc25/gnw_eg26 rom (dumped from Soviet clone, but pretty confident that it's same)
***************************************************************************/
@@ -2677,7 +2677,7 @@ ROM_START( gnw_mc25 )
ROM_LOAD( "mc-25", 0x0000, 0x0740, BAD_DUMP CRC(cb820c32) SHA1(7e94fc255f32db725d5aa9e196088e490c1a1443) ) // dumped from Soviet clone
ROM_REGION( 102453, "svg", 0)
- ROM_LOAD( "gnw_mc25.svg", 0, 102453, CRC(88cc7c49) SHA1(c000d51d1b99750116b97f9bafc0314ea506366d) )
+ ROM_LOAD( "gnw_mc25.svg", 0, 102453, BAD_DUMP CRC(88cc7c49) SHA1(c000d51d1b99750116b97f9bafc0314ea506366d) )
ROM_END
ROM_START( gnw_eg26 )
@@ -2685,7 +2685,7 @@ ROM_START( gnw_eg26 )
ROM_LOAD( "eg-26", 0x0000, 0x0740, BAD_DUMP CRC(cb820c32) SHA1(7e94fc255f32db725d5aa9e196088e490c1a1443) ) // dumped from Soviet clone
ROM_REGION( 102848, "svg", 0)
- ROM_LOAD( "gnw_eg26.svg", 0, 102848, CRC(742c2605) SHA1(984d430ad2ff47ad7a3f9b25b7d3f3d51b10cca5) )
+ ROM_LOAD( "gnw_eg26.svg", 0, 102848, BAD_DUMP CRC(742c2605) SHA1(984d430ad2ff47ad7a3f9b25b7d3f3d51b10cca5) )
ROM_END
ROM_START( nupogodi )
@@ -2701,7 +2701,7 @@ ROM_START( exospace )
ROM_LOAD( "exospace.bin", 0x0000, 0x0740, CRC(553e2b09) SHA1(2b74f8437b881fbb62b61f25435a5bfc66872a9a) )
ROM_REGION( 66790, "svg", 0)
- ROM_LOAD( "exospace.svg", 0, 66790, CRC(df31043a) SHA1(2d8caf42894df699e469652e5f448beaebbcc1ae) )
+ ROM_LOAD( "exospace.svg", 0, 66790, BAD_DUMP CRC(df31043a) SHA1(2d8caf42894df699e469652e5f448beaebbcc1ae) )
ROM_END
@@ -2811,8 +2811,8 @@ ROM_START( taltbeast )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "m88", 0x0000, 0x1000, CRC(1b3d15e7) SHA1(78371230dff872d6c07eefdbc4856c2a3336eb61) )
- ROM_REGION( 668221, "svg", 0)
- ROM_LOAD( "taltbeast.svg", 0, 668221, CRC(9b41b5b9) SHA1(4c520f917572894a2f0ab92efbd344c6bc6deccc) )
+ ROM_REGION( 667887, "svg", 0)
+ ROM_LOAD( "taltbeast.svg", 0, 667887, CRC(1ca9bbf1) SHA1(be844dddee4a95f70ea2adf875d3ee6cda2a6633) )
ROM_END
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 89c6af6bd94..be2a9f5bf23 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -53,10 +53,10 @@
@MP1312 TMS1100 1983, Gakken FX-Micom R-165/Tandy Radio Shack Science Fair Microcomputer Trainer
*MP1359 TMS1100? 1985, Capsela CRC2000
@MP1525 TMS1170 1980, Coleco Head to Head Baseball
- *MP1604 TMS1370 1982, Gakken Invader 2000/Tandy Cosmic Fire Away 3000
+ @MP1604 TMS1370 1982, Gakken Invader 2000/Tandy Cosmic Fire Away 3000
@MP1801 TMS1700 1981, Tiger Ditto/Tandy Pocket Repeat (model 60-2152)
@MP2105 TMS1370 1979, Gakken/Entex Poker (6005)
- @MP2139 TMS1370 1982, Gakken Galaxy Invader 1000/Tandy Cosmic 1000 Fire Away
+ @MP2139 TMS1370 1981, Gakken Galaxy Invader 1000/Tandy Cosmic 1000 Fire Away
@MP2726 TMS1040 1979, Tomy Break Up
*MP2788 TMS1040? 1980, Bandai Flight Time (? note: VFD-capable)
@MP3005 TMS1730 1989, Tiger Copy Cat (model 7-522)
@@ -4398,8 +4398,8 @@ WRITE16_MEMBER(ginv1000_state::write_r)
// R8,R15: input mux
m_inp_mux = (data >> 8 & 1) | (data >> 14 & 2);
- // R1-R10: VFD matrix grid
- // R11-R14: VFD matrix plate
+ // R1-R10: VFD grid
+ // R11-R14: VFD plate
m_grid = data >> 1 & 0x3ff;
m_plate = (m_plate & 0xff) | (data >> 3 & 0xf00);
prepare_display();
@@ -4407,14 +4407,14 @@ WRITE16_MEMBER(ginv1000_state::write_r)
WRITE16_MEMBER(ginv1000_state::write_o)
{
- // O0-O7: VFD matrix plate
+ // O0-O7: VFD plate
m_plate = (m_plate & ~0xff) | data;
prepare_display();
}
READ8_MEMBER(ginv1000_state::read_k)
{
- // K: multiplexed inputs (K8 is fire button)
+ // K1,K2: multiplexed inputs (K8 is fire button)
return m_inp_matrix[2]->read() | read_inputs(2);
}
@@ -4466,6 +4466,142 @@ MACHINE_CONFIG_END
/***************************************************************************
+ Gakken Invader 2000
+ * TMS1370(28 pins) MP1604 (die label 1370A MP1604)
+ * TMS1024 I/O expander
+ * cyan/red/green VFD display, 1-bit sound
+
+ known releases:
+ - World: Invader 2000
+ - USA(1): Galaxy Invader 10000, published by CGL
+ - USA(2): Cosmic 3000 Fire Away, published by Tandy
+
+***************************************************************************/
+
+class ginv2000_state : public hh_tms1k_state
+{
+public:
+ ginv2000_state(const machine_config &mconfig, device_type type, const char *tag)
+ : hh_tms1k_state(mconfig, type, tag),
+ m_expander(*this, "expander")
+ { }
+
+ required_device<tms1024_device> m_expander;
+ DECLARE_WRITE8_MEMBER(expander_w);
+
+ void prepare_display();
+ virtual DECLARE_WRITE16_MEMBER(write_r);
+ virtual DECLARE_WRITE16_MEMBER(write_o);
+ virtual DECLARE_READ8_MEMBER(read_k);
+
+protected:
+ virtual void machine_reset() override;
+};
+
+// handlers
+
+void ginv2000_state::prepare_display()
+{
+ display_matrix(16, 10, m_plate, m_grid);
+}
+
+WRITE8_MEMBER(ginv2000_state::expander_w)
+{
+ // TMS1024 port 4-7: VFD plate
+ int shift = (offset - tms1024_device::PORT4) * 4;
+ m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
+ prepare_display();
+}
+
+WRITE16_MEMBER(ginv2000_state::write_r)
+{
+ // R0: speaker out
+ m_speaker->level_w(data & 1);
+
+ // R11,R12: input mux
+ m_inp_mux = data >> 11 & 3;
+
+ // R11,R12: TMS1024 S1,S0 (S2 forced high)
+ // R13: TMS1024 STD
+ m_expander->write_s(space, 0, (data >> 12 & 1) | (data >> 10 & 2) | 4);
+ m_expander->write_std(data >> 13 & 1);
+
+ // R1-R10: VFD grid
+ m_grid = data >> 1 & 0x3ff;
+ prepare_display();
+}
+
+WRITE16_MEMBER(ginv2000_state::write_o)
+{
+ // O4-O7: TMS1024 H1-H4
+ m_expander->write_h(space, 0, data >> 4 & 0xf);
+}
+
+READ8_MEMBER(ginv2000_state::read_k)
+{
+ // K1,K2: multiplexed inputs (K8 is fire button)
+ return m_inp_matrix[2]->read() | read_inputs(2);
+}
+
+
+// config
+
+static INPUT_PORTS_START( ginv2000 )
+ PORT_START("IN.0") // R11
+ PORT_CONFNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
+ PORT_CONFSETTING( 0x01, "1" )
+ PORT_CONFSETTING( 0x02, "2" )
+ PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("IN.1") // R12
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
+ PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("IN.2") // K8
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+INPUT_PORTS_END
+
+void ginv2000_state::machine_reset()
+{
+ hh_tms1k_state::machine_reset();
+ m_expander->write_ms(1); // Vss
+}
+
+static MACHINE_CONFIG_START( ginv2000 )
+
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", TMS1370, 425000) // approximation - RC osc. R=36K, C=47pF
+ MCFG_TMS1XXX_READ_K_CB(READ8(ginv2000_state, read_k))
+ MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ginv2000_state, write_r))
+ MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ginv2000_state, write_o))
+
+ MCFG_DEVICE_ADD("expander", TMS1024, 0)
+ MCFG_TMS1025_WRITE_PORT_CB(PORT4, WRITE8(ginv2000_state, expander_w))
+ MCFG_TMS1025_WRITE_PORT_CB(PORT5, WRITE8(ginv2000_state, expander_w))
+ MCFG_TMS1025_WRITE_PORT_CB(PORT6, WRITE8(ginv2000_state, expander_w))
+ MCFG_TMS1025_WRITE_PORT_CB(PORT7, WRITE8(ginv2000_state, expander_w))
+
+ /* video hardware */
+ MCFG_SCREEN_SVG_ADD("screen", "svg")
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_SIZE(364, 1080)
+ MCFG_SCREEN_VISIBLE_AREA(0, 364-1, 0, 1080-1)
+ MCFG_DEFAULT_LAYOUT(layout_svg)
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
+
+ /* sound hardware */
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+ MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
+MACHINE_CONFIG_END
+
+
+
+
+
+/***************************************************************************
+
Gakken FX-Micom R-165
* TMS1100 MCU, label MP1312 (die label MP1312A)
* 1 7seg led, 6 other leds, 1-bit sound
@@ -9335,6 +9471,20 @@ ROM_START( ginv1000 )
ROM_END
+ROM_START( ginv2000 )
+ ROM_REGION( 0x0800, "maincpu", 0 )
+ ROM_LOAD( "mp1604", 0x0000, 0x0800, CRC(f1646d0b) SHA1(65601931d81e3eef7bf22a08de5a146910ce8137) )
+
+ ROM_REGION( 867, "maincpu:mpla", 0 )
+ ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
+ ROM_REGION( 365, "maincpu:opla", 0 )
+ ROM_LOAD( "tms1100_ginv2000_output.pla", 0, 365, CRC(520bb003) SHA1(1640ae54f8dcc257e0ad0cbe0281b38fcbd8da35) )
+
+ ROM_REGION( 374443, "svg", 0)
+ ROM_LOAD( "ginv2000.svg", 0, 374443, CRC(a4ce1e6d) SHA1(57d9ff05d634a8d495b9d544a2a959790cd10b6b) )
+ROM_END
+
+
ROM_START( fxmcr165 )
ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "mp1312", 0x0000, 0x0800, CRC(6efc8bcc) SHA1(ced8a02b472a3178073691d3dccc0f19f57428fd) )
@@ -9809,7 +9959,8 @@ CONS( 1979, f3in1, 0, 0, f3in1, f3in1, f3in1_state, 0,
CONS( 1979, gpoker, 0, 0, gpoker, gpoker, gpoker_state, 0, "Gakken", "Poker (Gakken, 1979 version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, gjackpot, 0, 0, gjackpot, gjackpot, gjackpot_state, 0, "Gakken", "Jackpot: Gin Rummy & Black Jack", MACHINE_SUPPORTS_SAVE )
-CONS( 1982, ginv1000, 0, 0, ginv1000, ginv1000, ginv1000_state, 0, "Gakken", "Galaxy Invader 1000", MACHINE_SUPPORTS_SAVE )
+CONS( 1981, ginv1000, 0, 0, ginv1000, ginv1000, ginv1000_state, 0, "Gakken", "Galaxy Invader 1000", MACHINE_SUPPORTS_SAVE )
+CONS( 1982, ginv2000, 0, 0, ginv2000, ginv2000, ginv2000_state, 0, "Gakken", "Invader 2000", MACHINE_SUPPORTS_SAVE )
COMP( 1983, fxmcr165, 0, 0, fxmcr165, fxmcr165, fxmcr165_state, 0, "Gakken", "FX-Micom R-165", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1979, elecdet, 0, 0, elecdet, elecdet, elecdet_state, 0, "Ideal", "Electronic Detective", MACHINE_SUPPORTS_SAVE ) // ***
diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp
index 11a92566f36..bad818daab8 100644
--- a/src/mame/drivers/hh_ucom4.cpp
+++ b/src/mame/drivers/hh_ucom4.cpp
@@ -288,7 +288,7 @@ void ufombs_state::prepare_display()
WRITE8_MEMBER(ufombs_state::grid_w)
{
- // F,G,H0: vfd matrix grid
+ // F,G,H0: vfd grid
int shift = (offset - NEC_UCOM4_PORTF) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -296,7 +296,7 @@ WRITE8_MEMBER(ufombs_state::grid_w)
WRITE8_MEMBER(ufombs_state::plate_w)
{
- // C,D012,I: vfd matrix plate
+ // C,D012,I: vfd plate
int shift = (offset == NEC_UCOM4_PORTI) ? 8 : (offset - NEC_UCOM4_PORTC) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -400,7 +400,7 @@ void ssfball_state::prepare_display()
WRITE8_MEMBER(ssfball_state::grid_w)
{
- // C,D(,E3): vfd matrix grid 0-7(,8)
+ // C,D(,E3): vfd grid 0-7(,8)
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -410,7 +410,7 @@ WRITE8_MEMBER(ssfball_state::plate_w)
{
m_port[offset] = data;
- // E,F,G,H,I(not all!): vfd matrix plate
+ // E,F,G,H,I(not all!): vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -418,7 +418,7 @@ WRITE8_MEMBER(ssfball_state::plate_w)
m_inp_mux = (m_port[NEC_UCOM4_PORTF] >> 3 & 1) | (m_port[NEC_UCOM4_PORTG] >> 2 & 2);
m_speaker->level_w(m_inp_mux);
- // E3: vfd matrix grid 8
+ // E3: vfd grid 8
if (offset == NEC_UCOM4_PORTE)
grid_w(space, offset, data >> 3 & 1);
else
@@ -548,7 +548,7 @@ WRITE8_MEMBER(bmsoccer_state::grid_w)
if (offset == NEC_UCOM4_PORTC)
m_inp_mux = data & 3;
- // C,D(,E3): vfd matrix grid
+ // C,D(,E3): vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -560,7 +560,7 @@ WRITE8_MEMBER(bmsoccer_state::plate_w)
if (offset == NEC_UCOM4_PORTG)
m_speaker->level_w(data >> 3 & 1);
- // E012,F012,G012,H,I: vfd matrix plate
+ // E012,F012,G012,H,I: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -668,7 +668,7 @@ void bmsafari_state::prepare_display()
WRITE8_MEMBER(bmsafari_state::grid_w)
{
- // C,D(,E3): vfd matrix grid
+ // C,D(,E3): vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -676,7 +676,7 @@ WRITE8_MEMBER(bmsafari_state::grid_w)
WRITE8_MEMBER(bmsafari_state::plate_w)
{
- // E012,H,I: vfd matrix plate
+ // E012,H,I: vfd plate
int shift = (offset == NEC_UCOM4_PORTE) ? 8 : (offset - NEC_UCOM4_PORTH) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -777,14 +777,14 @@ void splasfgt_state::prepare_display()
WRITE8_MEMBER(splasfgt_state::grid_w)
{
- // G,H,I0: vfd matrix grid
+ // G,H,I0: vfd grid
int shift = (offset - NEC_UCOM4_PORTG) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
// G(grid 0-3): input mux
m_inp_mux = m_grid & 0xf;
- // I2: vfd matrix plate 6
+ // I2: vfd plate 6
if (offset == NEC_UCOM4_PORTI)
plate_w(space, 4 + NEC_UCOM4_PORTC, data >> 2 & 1);
else
@@ -797,7 +797,7 @@ WRITE8_MEMBER(splasfgt_state::plate_w)
if (offset == NEC_UCOM4_PORTF)
m_speaker->level_w(data & 3);
- // C,D,E,F23(,I2): vfd matrix plate
+ // C,D,E,F23(,I2): vfd plate
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -934,7 +934,7 @@ WRITE8_MEMBER(bcclimbr_state::grid_w)
if (offset == NEC_UCOM4_PORTI)
m_speaker->level_w(data >> 2 & 1);
- // H,I01: vfd matrix grid
+ // H,I01: vfd grid
int shift = (offset - NEC_UCOM4_PORTH) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -942,7 +942,7 @@ WRITE8_MEMBER(bcclimbr_state::grid_w)
WRITE8_MEMBER(bcclimbr_state::plate_w)
{
- // C,D,E,F: vfd matrix plate
+ // C,D,E,F: vfd plate
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1152,7 +1152,7 @@ WRITE8_MEMBER(invspace_state::grid_w)
if (offset == NEC_UCOM4_PORTI)
m_speaker->level_w(data & 1);
- // C,D,I1: vfd matrix grid
+ // C,D,I1: vfd grid
int shift = (offset == NEC_UCOM4_PORTI) ? 8 : (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1160,7 +1160,7 @@ WRITE8_MEMBER(invspace_state::grid_w)
WRITE8_MEMBER(invspace_state::plate_w)
{
- // E,F,G,H123: vfd matrix plate
+ // E,F,G,H123: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1253,7 +1253,7 @@ WRITE8_MEMBER(efball_state::grid_w)
if (offset == NEC_UCOM4_PORTH)
m_speaker->level_w(data >> 2 & 1);
- // F,G,H01: vfd matrix grid
+ // F,G,H01: vfd grid
int shift = (offset - NEC_UCOM4_PORTF) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1261,7 +1261,7 @@ WRITE8_MEMBER(efball_state::grid_w)
WRITE8_MEMBER(efball_state::plate_w)
{
- // D,E,I: vfd matrix plate
+ // D,E,I: vfd plate
int shift = (offset == NEC_UCOM4_PORTI) ? 8 : (offset - NEC_UCOM4_PORTD) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1367,7 +1367,7 @@ WRITE8_MEMBER(galaxy2_state::grid_w)
if (offset == NEC_UCOM4_PORTE)
m_speaker->level_w(data >> 3 & 1);
- // C,D,E01: vfd matrix grid
+ // C,D,E01: vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1375,7 +1375,7 @@ WRITE8_MEMBER(galaxy2_state::grid_w)
WRITE8_MEMBER(galaxy2_state::plate_w)
{
- // F,G,H,I: vfd matrix plate
+ // F,G,H,I: vfd plate
int shift = (offset - NEC_UCOM4_PORTF) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1474,7 +1474,7 @@ void astrocmd_state::prepare_display()
WRITE8_MEMBER(astrocmd_state::grid_w)
{
- // C,D(,E3): vfd matrix grid
+ // C,D(,E3): vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1482,7 +1482,7 @@ WRITE8_MEMBER(astrocmd_state::grid_w)
WRITE8_MEMBER(astrocmd_state::plate_w)
{
- // E01,F,G,H,I: vfd matrix plate
+ // E01,F,G,H,I: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
@@ -1491,7 +1491,7 @@ WRITE8_MEMBER(astrocmd_state::plate_w)
// E2: speaker out
m_speaker->level_w(data >> 2 & 1);
- // E3: vfd matrix grid 8
+ // E3: vfd grid 8
grid_w(space, offset, data >> 3 & 1);
}
else
@@ -1576,7 +1576,7 @@ public:
WRITE8_MEMBER(edracula_state::grid_w)
{
- // C,D: vfd matrix grid
+ // C,D: vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
display_matrix(18, 8, m_plate, m_grid);
@@ -1588,7 +1588,7 @@ WRITE8_MEMBER(edracula_state::plate_w)
if (offset == NEC_UCOM4_PORTI)
m_speaker->level_w(data >> 2 & 1);
- // E,F,G,H,I01: vfd matrix plate
+ // E,F,G,H,I01: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
display_matrix(18, 8, m_plate, m_grid);
@@ -1753,7 +1753,7 @@ void mvbfree_state::prepare_display()
WRITE8_MEMBER(mvbfree_state::grid_w)
{
- // E23,F,G,H: vfd matrix grid
+ // E23,F,G,H: vfd grid
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
@@ -1766,7 +1766,7 @@ WRITE8_MEMBER(mvbfree_state::grid_w)
WRITE8_MEMBER(mvbfree_state::plate_w)
{
- // C,D(,E01): vfd matrix plate
+ // C,D(,E01): vfd plate
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1978,7 +1978,7 @@ WRITE8_MEMBER(tccombat_state::grid_w)
if (offset == NEC_UCOM4_PORTI)
m_speaker->level_w(data >> 1 & 1);
- // C,D,I0: vfd matrix grid
+ // C,D,I0: vfd grid
int shift = (offset == NEC_UCOM4_PORTI) ? 8 : (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -1986,7 +1986,7 @@ WRITE8_MEMBER(tccombat_state::grid_w)
WRITE8_MEMBER(tccombat_state::plate_w)
{
- // E,F123,G,H: vfd matrix plate
+ // E,F123,G,H: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2074,7 +2074,7 @@ protected:
WRITE8_MEMBER(tmtennis_state::grid_w)
{
- // G,H,I: vfd matrix grid
+ // G,H,I: vfd grid
int shift = (offset - NEC_UCOM4_PORTG) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
display_matrix(12, 12, m_plate, m_grid);
@@ -2082,7 +2082,7 @@ WRITE8_MEMBER(tmtennis_state::grid_w)
WRITE8_MEMBER(tmtennis_state::plate_w)
{
- // C,D,F: vfd matrix plate
+ // C,D,F: vfd plate
int shift = (offset == NEC_UCOM4_PORTF) ? 8 : (offset - NEC_UCOM4_PORTC) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
display_matrix(12, 12, m_plate, m_grid);
@@ -2236,7 +2236,7 @@ void tmpacman_state::prepare_display()
WRITE8_MEMBER(tmpacman_state::grid_w)
{
- // C,D: vfd matrix grid
+ // C,D: vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2248,7 +2248,7 @@ WRITE8_MEMBER(tmpacman_state::plate_w)
if (offset == NEC_UCOM4_PORTE)
m_speaker->level_w(data >> 1 & 1);
- // E023,F,G,H,I: vfd matrix plate
+ // E023,F,G,H,I: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2344,7 +2344,7 @@ WRITE8_MEMBER(tmscramb_state::grid_w)
if (offset == NEC_UCOM4_PORTI)
m_speaker->level_w(data >> 2 & 1);
- // C,D,I01: vfd matrix grid
+ // C,D,I01: vfd grid
int shift = (offset == NEC_UCOM4_PORTI) ? 8 : (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2352,7 +2352,7 @@ WRITE8_MEMBER(tmscramb_state::grid_w)
WRITE8_MEMBER(tmscramb_state::plate_w)
{
- // E,F,G,H: vfd matrix plate
+ // E,F,G,H: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2443,7 +2443,7 @@ void tcaveman_state::prepare_display()
WRITE8_MEMBER(tcaveman_state::grid_w)
{
- // C,D: vfd matrix grid
+ // C,D: vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2455,7 +2455,7 @@ WRITE8_MEMBER(tcaveman_state::plate_w)
if (offset == NEC_UCOM4_PORTE)
m_speaker->level_w(data >> 3 & 1);
- // E012,F,G,H,I: vfd matrix plate
+ // E012,F,G,H,I: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
prepare_display();
@@ -2537,7 +2537,7 @@ WRITE8_MEMBER(alnchase_state::output_w)
{
if (offset <= NEC_UCOM4_PORTE)
{
- // C,D,E0: vfd matrix grid
+ // C,D,E0: vfd grid
int shift = (offset - NEC_UCOM4_PORTC) * 4;
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
@@ -2552,7 +2552,7 @@ WRITE8_MEMBER(alnchase_state::output_w)
if (offset >= NEC_UCOM4_PORTE)
{
- // E23,F,G,H,I: vfd matrix plate
+ // E23,F,G,H,I: vfd plate
int shift = (offset - NEC_UCOM4_PORTE) * 4;
m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2;
}
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index d60e4454791..485c5582acc 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -14756,6 +14756,7 @@ f2pbball // Fonas
f3in1 // Fonas
fxmcr165 // Gakken
ginv1000 // Gakken
+ginv2000 // Gakken
gjackpot // Gakken
gpoker // Gakken
h2hbaseb // Coleco