mirror of
https://github.com/holub/mame
synced 2025-07-04 01:18:59 +03:00
hh_*: misc cleanups
This commit is contained in:
parent
c12e8830ca
commit
b58e5b4d55
@ -6,7 +6,7 @@
|
||||
|
||||
Marx Series 300 Electronic Bowling Game
|
||||
Main board:
|
||||
* TMS1100NLL MP3403 DBS 7836 SINGAPORE
|
||||
* TMS1100NLL MP3403 DBS 7836 SINGAPORE (no decap)
|
||||
* 4*SN75492 quad segment driver, 2*SN74259 8-line demultiplexer,
|
||||
2*CD4043 quad r/s input latch
|
||||
* 5 7seg LEDs, 15 lamps(10 lamps projected to bowling pins reflection),
|
||||
@ -183,7 +183,7 @@ static const UINT16 elecbowl_output_pla[0x20] =
|
||||
static MACHINE_CONFIG_START( elecbowl, elecbowl_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // RC osc. R=33K, C=100pf -> ~350kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // approximation - RC osc. R=33K, C=100pf
|
||||
MCFG_TMS1XXX_OUTPUT_PLA(elecbowl_output_pla)
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(elecbowl_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(elecbowl_state, write_r))
|
||||
@ -211,7 +211,7 @@ ROM_START( elecbowl )
|
||||
ROM_LOAD( "mp3403.u9", 0x0000, 0x0800, CRC(9eabaa7d) SHA1(b1f54587ed7f2bbf3a5d49075c807296384c2b06) )
|
||||
|
||||
ROM_REGION( 867, "maincpu:mpla", 0 )
|
||||
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
|
||||
ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, BAD_DUMP CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) ) // not verified
|
||||
ROM_REGION( 365, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms1100_elecbowl_output.pla", 0, 365, NO_DUMP )
|
||||
ROM_END
|
||||
|
@ -691,7 +691,7 @@ void fidelz80base_state::set_display_segmask(UINT32 digits, UINT32 mask)
|
||||
}
|
||||
}
|
||||
|
||||
void fidelz80base_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
|
||||
void fidelz80base_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -700,7 +700,8 @@ void fidelz80base_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -194,7 +194,7 @@ void hh_cop400_state::set_display_size(int maxx, int maxy)
|
||||
m_display_maxy = maxy;
|
||||
}
|
||||
|
||||
void hh_cop400_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
|
||||
void hh_cop400_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -203,10 +203,13 @@ void hh_cop400_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 set
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
|
||||
// generic input handlers
|
||||
|
||||
UINT8 hh_cop400_state::read_inputs(int columns)
|
||||
{
|
||||
// active low
|
||||
@ -232,7 +235,7 @@ UINT8 hh_cop400_state::read_inputs(int columns)
|
||||
|
||||
Castle Toy Einstein
|
||||
* COP421 MCU labeled ~/927 COP421-NEZ/N
|
||||
* 4 lamps, 1bit sound
|
||||
* 4 lamps, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -277,7 +280,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Entex Space Invader
|
||||
* COP444L MCU labeled /B138 COPL444-HRZ/N INV II (die labeled HRZ COP 444L/A)
|
||||
* 3 7seg LEDs, LED matrix and overlay mask, 1bit sound
|
||||
* 3 7seg LEDs, LED matrix and overlay mask, 1-bit sound
|
||||
|
||||
The first version was on TMS1100 (see hh_tms1k.c), this is the reprogrammed
|
||||
second release with a gray case instead of black.
|
||||
@ -393,7 +396,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Mattel Funtronics Jacks
|
||||
* COP410L MCU bonded directly to PCB (die labeled COP410L/B NGS)
|
||||
* 8 LEDs, 1bit sound
|
||||
* 8 LEDs, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -500,7 +503,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Mattel Funtronics Red Light Green Light
|
||||
* COP410L MCU bonded directly to PCB (die labeled COP410L/B NHZ)
|
||||
* 14 LEDs, 1bit sound
|
||||
* 14 LEDs, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- USA: Funtronics Red Light Green Light
|
||||
@ -595,7 +598,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Milton Bradley Plus One
|
||||
* COP410L MCU in 8-pin DIP, labeled ~/029 MM 57405 (die labeled COP410L/B NNE)
|
||||
* 4 sensors(1 on each die side), 1bit sound
|
||||
* 4 sensors(1 on each die side), 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -639,7 +642,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Milton Bradley (Electronic) Lightfight
|
||||
* COP421L MCU labeled /B119 COP421L-HLA/N
|
||||
* LED matrix, 1bit sound
|
||||
* LED matrix, 1-bit sound
|
||||
|
||||
Xbox-shaped electronic game for 2 or more players, with long diagonal buttons
|
||||
next to each outer LED. The main object of the game is to pinpoint a light
|
||||
|
@ -138,7 +138,7 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety);
|
||||
void display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -267,7 +267,7 @@ void hh_hmcs40_state::set_display_size(int maxx, int maxy)
|
||||
m_display_maxy = maxy;
|
||||
}
|
||||
|
||||
void hh_hmcs40_state::display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety)
|
||||
void hh_hmcs40_state::display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -276,10 +276,13 @@ void hh_hmcs40_state::display_matrix(int maxx, int maxy, UINT64 setx, UINT32 set
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (U64(1) << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
|
||||
// generic input handlers
|
||||
|
||||
UINT16 hh_hmcs40_state::read_inputs(int columns)
|
||||
{
|
||||
UINT16 ret = 0;
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -176,7 +176,7 @@ void hh_melps4_state::set_display_size(int maxx, int maxy)
|
||||
m_display_maxy = maxy;
|
||||
}
|
||||
|
||||
void hh_melps4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
|
||||
void hh_melps4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -185,7 +185,8 @@ void hh_melps4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 set
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -186,7 +186,7 @@ void hh_pic16_state::set_display_size(int maxx, int maxy)
|
||||
m_display_maxy = maxy;
|
||||
}
|
||||
|
||||
void hh_pic16_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
|
||||
void hh_pic16_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -195,7 +195,8 @@ void hh_pic16_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
|
||||
|
@ -286,7 +286,7 @@ void hh_tms1k_state::set_display_segmask(UINT32 digits, UINT32 mask)
|
||||
}
|
||||
}
|
||||
|
||||
void hh_tms1k_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
|
||||
void hh_tms1k_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -295,18 +295,12 @@ void hh_tms1k_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
void hh_tms1k_state::display_matrix_seg(int maxx, int maxy, UINT32 setx, UINT32 sety, UINT16 segmask)
|
||||
{
|
||||
// expects m_display_segmask to be not-0
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_segmask[y] &= segmask;
|
||||
|
||||
display_matrix(maxx, maxy, setx, sety);
|
||||
}
|
||||
|
||||
// generic input handlers
|
||||
|
||||
UINT8 hh_tms1k_state::read_inputs(int columns)
|
||||
{
|
||||
@ -362,7 +356,7 @@ INPUT_CHANGED_MEMBER(hh_tms1k_state::power_button)
|
||||
/***************************************************************************
|
||||
|
||||
APF Mathemagician
|
||||
* TMS1100 MCU, labeled MP1030
|
||||
* TMS1100 MCU, labeled MP1030 (no decap)
|
||||
* 2 x DS8870N - Hex LED Digit Driver
|
||||
* 2 x DS8861N - MOS-to-LED 5-Segment Driver
|
||||
* 10-digit 7seg LED display(2 custom ones) + 4 LEDs, no sound
|
||||
@ -399,21 +393,8 @@ public:
|
||||
|
||||
void mathmagi_state::prepare_display()
|
||||
{
|
||||
// R0-R7: 7seg leds
|
||||
for (int y = 0; y < 8; y++)
|
||||
{
|
||||
m_display_segmask[y] = 0x7f;
|
||||
m_display_state[y] = (m_r >> y & 1) ? (m_o >> 1) : 0;
|
||||
}
|
||||
|
||||
// R8: custom math symbols digit
|
||||
// R9: custom equals digit
|
||||
// R10: misc lamps
|
||||
for (int y = 8; y < 11; y++)
|
||||
m_display_state[y] = (m_r >> y & 1) ? m_o : 0;
|
||||
|
||||
set_display_size(8, 11);
|
||||
display_update();
|
||||
set_display_segmask(0xff, 0x7f);
|
||||
display_matrix(7, 11, m_o, m_r);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(mathmagi_state::write_r)
|
||||
@ -421,16 +402,18 @@ WRITE16_MEMBER(mathmagi_state::write_r)
|
||||
// R3,R5-R7,R9,R10: input mux
|
||||
m_inp_mux = (data >> 3 & 1) | (data >> 4 & 0xe) | (data >> 5 & 0x30);
|
||||
|
||||
// +others:
|
||||
// R0-R7: 7seg leds
|
||||
// R8: custom math symbols digit
|
||||
// R9: custom equals digit
|
||||
// R10: misc lamps
|
||||
m_r = data;
|
||||
prepare_display();
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(mathmagi_state::write_o)
|
||||
{
|
||||
// O1-O7: digit segments A-G
|
||||
// O1-O7: led/digit segment data
|
||||
// O0: N/C
|
||||
data = (data << 1 & 0xfe) | (data >> 7 & 1); // because opla is unknown
|
||||
m_o = data;
|
||||
prepare_display();
|
||||
}
|
||||
@ -532,7 +515,7 @@ static const UINT16 mathmagi_output_pla[0x20] =
|
||||
static MACHINE_CONFIG_START( mathmagi, mathmagi_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 175000) // RC osc. R=68K, C=82pf -> ~175kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 175000) // approximation - RC osc. R=68K, C=82pf
|
||||
MCFG_TMS1XXX_OUTPUT_PLA(mathmagi_output_pla)
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(mathmagi_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mathmagi_state, write_r))
|
||||
@ -552,7 +535,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Coleco Amaze-A-Tron, by Ralph Baer
|
||||
* TMS1100 MCU, labeled MP3405(die label too)
|
||||
* 2-digit 7seg LED display + 2 LEDs(one red, one green), 1bit sound
|
||||
* 2-digit 7seg LED display + 2 LEDs(one red, one green), 1-bit sound
|
||||
* 5x5 pressure-sensitive playing board
|
||||
|
||||
This is an electronic board game with a selection of 8 maze games,
|
||||
@ -671,7 +654,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( amaztron, amaztron_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // RC osc. R=33K?, C=100pf -> ~350kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // approximation - RC osc. R=33K?, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(amaztron_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(amaztron_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(amaztron_state, write_o))
|
||||
@ -693,7 +676,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Coleco Zodiac - The Astrology Computer
|
||||
* TMS1100 MP3435 (no decap)
|
||||
* 8-digit 7seg display, 12 other LEDs, 1bit sound
|
||||
* 8-digit 7seg display, 12 other LEDs, 1-bit sound
|
||||
|
||||
As the name suggests, this is an astrologic calculator. Refer to the
|
||||
(very extensive) manual on how to use it.
|
||||
@ -854,7 +837,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Coleco Electronic Quarterback
|
||||
* TMS1100NLL MP3415 (die labeled MP3415)
|
||||
* 9-digit LED grid, 1bit sound
|
||||
* 9-digit LED grid, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- USA(1): Electronic Quarterback
|
||||
@ -965,7 +948,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Coleco Head to Head Football
|
||||
* TMS1100NLLE (rev. E!) MP3460 (die labeled MP3460)
|
||||
* 2*SN75492N LED display drivers, 9-digit LED grid, 1bit sound
|
||||
* 2*SN75492N LED display drivers, 9-digit LED grid, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- USA(1): Head to Head Football
|
||||
@ -1057,7 +1040,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( h2hfootb, h2hfootb_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 310000) // approximation - RC osc. R=39K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 310000) // approximation - RC osc. R=39K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(h2hfootb_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(h2hfootb_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(h2hfootb_state, write_o))
|
||||
@ -1080,7 +1063,7 @@ MACHINE_CONFIG_END
|
||||
Coleco Head to Head Baseball
|
||||
* PCB labels Coleco rev C 73891/2
|
||||
* TMS1170NLN MP1525-N2 (die labeled MP1525)
|
||||
* 9-digit cyan VFD display, and other LEDs behind bezel, 1bit sound
|
||||
* 9-digit cyan VFD display, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- USA: Head to Head Baseball
|
||||
@ -1219,7 +1202,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Coleco Total Control 4
|
||||
* TMS1400NLL MP7334-N2 (die labeled MP7334)
|
||||
* 2x2-digit 7seg LED display + 4 LEDs, LED grid display, 1bit sound
|
||||
* 2x2-digit 7seg LED display + 4 LEDs, LED grid display, 1-bit sound
|
||||
|
||||
This is a head to head electronic tabletop LED-display sports console.
|
||||
One cartridge(Football) was included with the console, the other three were
|
||||
@ -1353,7 +1336,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( tc4, tc4_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 450000) // approximation - RC osc. R=27.3K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 450000) // approximation - RC osc. R=27.3K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(tc4_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tc4_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tc4_state, write_o))
|
||||
@ -1375,7 +1358,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Entex (Electronic) Baseball (1)
|
||||
* TMS1000NLP MP0914 (die labeled MP0914A)
|
||||
* 1 7seg LED, and other LEDs behind bezel, 1bit sound
|
||||
* 1 7seg LED, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
This is a handheld LED baseball game. One player controls the batter, the CPU
|
||||
or other player controls the pitcher. Pitcher throw buttons are on a 'joypad'
|
||||
@ -1488,7 +1471,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( ebball, ebball_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 375000) // RC osc. R=43K, C=47pf -> ~375kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 375000) // approximation - RC osc. R=43K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(ebball_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebball_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebball_state, write_o))
|
||||
@ -1511,7 +1494,7 @@ MACHINE_CONFIG_END
|
||||
Entex (Electronic) Baseball 2
|
||||
* PCBs are labeled: ZENY
|
||||
* TMS1000 MCU, MP0923 (die labeled MP0923)
|
||||
* 3 7seg LEDs, and other LEDs behind bezel, 1bit sound
|
||||
* 3 7seg LEDs, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
The Japanese version was published by Gakken, black casing instead of white.
|
||||
|
||||
@ -1613,7 +1596,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( ebball2, ebball2_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 350000) // RC osc. R=47K, C=47pf -> ~350kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 350000) // approximation - RC osc. R=47K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(ebball2_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebball2_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebball2_state, write_o))
|
||||
@ -1637,7 +1620,7 @@ MACHINE_CONFIG_END
|
||||
* PCBs are labeled: ZENY
|
||||
* TMS1100NLL 6007 MP1204 (rev. E!) (die labeled MP1204)
|
||||
* 2*SN75492N LED display driver
|
||||
* 4 7seg LEDs, and other LEDs behind bezel, 1bit sound
|
||||
* 4 7seg LEDs, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
This is another improvement over Entex Baseball, where gameplay is a bit more
|
||||
varied. Like the others, the pitcher controls are on a separate joypad.
|
||||
@ -1816,7 +1799,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Entex Space Invader
|
||||
* TMS1100 MP1211 (die labeled MP1211)
|
||||
* 3 7seg LEDs, LED matrix and overlay mask, 1bit sound
|
||||
* 3 7seg LEDs, LED matrix and overlay mask, 1-bit sound
|
||||
|
||||
There are two versions of this game: the first release(this one) is on
|
||||
TMS1100, the second more widespread release runs on a COP400. There are
|
||||
@ -1930,7 +1913,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Entex Color Football 4
|
||||
* TMS1670 6009 MP7551 (die also labeled MP7551)
|
||||
* 9-digit cyan VFD display, 60 red and green LEDs behind bezel, 1bit sound
|
||||
* 9-digit cyan VFD display, 60 red and green LEDs behind bezel, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -2025,7 +2008,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( efootb4, efootb4_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1670, 475000) // approximation - RC osc. R=42K, C=47pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1670, 475000) // approximation - RC osc. R=42K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(efootb4_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(efootb4_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(efootb4_state, write_o))
|
||||
@ -2047,7 +2030,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Entex (Electronic) Basketball 2
|
||||
* TMS1100 6010 MP1218 (die also labeled MP1218)
|
||||
* 4 7seg LEDs, and other LEDs behind bezel, 1bit sound
|
||||
* 4 7seg LEDs, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
lamp translation table: led zz from game PCB = MAME lampyx:
|
||||
|
||||
@ -2148,7 +2131,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( ebaskb2, ebaskb2_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 360000) // RC osc. R=33K, C=82pf -> ~360kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 360000) // approximation - RC osc. R=33K, C=82pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(ebaskb2_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebaskb2_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebaskb2_state, write_o))
|
||||
@ -2170,7 +2153,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Entex Raise The Devil
|
||||
* TMS1100 MP1221 (die labeled MP1221)
|
||||
* 4 7seg LEDs(rightmost one unused), and other LEDs behind bezel, 1bit sound
|
||||
* 4 7seg LEDs(rightmost one unused), and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
lamp translation table: led zz from game PCB = MAME lampyx:
|
||||
|
||||
@ -2344,8 +2327,8 @@ protected:
|
||||
|
||||
void gpoker_state::prepare_display()
|
||||
{
|
||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask));
|
||||
display_matrix_seg(12, 11, m_o | (m_r >> 3 & 0xf00), m_r & 0x7ff, 0x7f);
|
||||
set_display_segmask(0x7ff, 0x7f);
|
||||
display_matrix(12, 11, m_o | (m_r >> 3 & 0xf00), m_r & 0x7ff);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(gpoker_state::write_r)
|
||||
@ -2435,7 +2418,7 @@ void gpoker_state::machine_reset()
|
||||
static MACHINE_CONFIG_START( gpoker, gpoker_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1370, 350000) // RC osc. R=47K, C=47pf -> ~350kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1370, 350000) // approximation - RC osc. R=47K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(gpoker_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(gpoker_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(gpoker_state, write_o))
|
||||
@ -2548,7 +2531,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( gjackpot, gjackpot_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1670, 450000) // approximation - RC osc. R=47K, C=47pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1670, 450000) // approximation - RC osc. R=47K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(gpoker_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(gjackpot_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(gpoker_state, write_o))
|
||||
@ -2570,7 +2553,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Ideal Electronic Detective
|
||||
* TMS0980NLL MP6100A (die labeled 0980B-00)
|
||||
* 10-digit 7seg LED display, 1bit sound
|
||||
* 10-digit 7seg LED display, 2-level sound
|
||||
|
||||
hardware (and concept) is very similar to Parker Brothers Stop Thief
|
||||
|
||||
@ -2597,12 +2580,12 @@ public:
|
||||
|
||||
WRITE16_MEMBER(elecdet_state::write_r)
|
||||
{
|
||||
// R7,R8: speaker on
|
||||
m_speaker->level_w((data & 0x180 && m_o & 0x80) ? 1 : 0);
|
||||
// R7,R8: speaker out
|
||||
m_speaker->level_w((m_o & 0x80) ? (data >> 7 & 3) : 0);
|
||||
|
||||
// R0-R6: select digit
|
||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask));
|
||||
display_matrix_seg(7, 7, BITSWAP8(m_o,7,5,2,1,4,0,6,3), data, 0x7f);
|
||||
set_display_segmask(0x7f, 0x7f);
|
||||
display_matrix(7, 7, BITSWAP8(m_o,7,5,2,1,4,0,6,3), data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(elecdet_state::write_o)
|
||||
@ -2611,7 +2594,7 @@ WRITE16_MEMBER(elecdet_state::write_o)
|
||||
m_inp_mux = (data & 3) | (data >> 2 & 4) | (data >> 3 & 8);
|
||||
|
||||
// O0-O6: digit segments A-G
|
||||
// O7: speaker out -> write_r
|
||||
// O7: speaker on -> write_r
|
||||
m_o = data;
|
||||
}
|
||||
|
||||
@ -2671,6 +2654,9 @@ static INPUT_PORTS_START( elecdet )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const INT16 elecdet_speaker_levels[4] = { 0, 0x3fff, 0x3fff, 0x7fff };
|
||||
|
||||
static MACHINE_CONFIG_START( elecdet, elecdet_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2686,6 +2672,7 @@ static MACHINE_CONFIG_START( elecdet, elecdet_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||
MCFG_SPEAKER_LEVELS(4, elecdet_speaker_levels)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -2697,7 +2684,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Kenner Star Wars - Electronic Battle Command
|
||||
* TMS1100 MCU, labeled MP3438A
|
||||
* 4x4 LED grid display + 2 separate LEDs and 2-digit 7segs, 1bit sound
|
||||
* 4x4 LED grid display + 2 separate LEDs and 2-digit 7segs, 1-bit sound
|
||||
|
||||
This is a small tabletop space-dogfighting game. To start the game,
|
||||
press BASIC/INTER/ADV and enter P#(number of players), then
|
||||
@ -2801,7 +2788,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( starwbc, starwbc_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 325000) // RC osc. R=51K, C=47pf -> ~325kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 325000) // approximation - RC osc. R=51K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(starwbc_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(starwbc_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(starwbc_state, write_o))
|
||||
@ -2847,8 +2834,8 @@ public:
|
||||
|
||||
void astro_state::prepare_display()
|
||||
{
|
||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask));
|
||||
display_matrix_seg(8, 10, m_o, m_r, 0xff);
|
||||
set_display_segmask(0x3ff, 0xff);
|
||||
display_matrix(8, 10, m_o, m_r);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(astro_state::write_r)
|
||||
@ -2928,7 +2915,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( astro, astro_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1470, 450000) // approximation - RC osc. R=4.7K, C=33pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1470, 450000) // approximation - RC osc. R=4.7K, C=33pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(astro_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(astro_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(astro_state, write_o))
|
||||
@ -2947,7 +2934,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Mattel Dungeons & Dragons - Computer Labyrinth Game
|
||||
* TMS1100 M34012-N2LL (die labeled M34012)
|
||||
* 72 buttons, no LEDs, 1bit sound
|
||||
* 72 buttons, no LEDs, 1-bit sound
|
||||
|
||||
This is an electronic board game. It requires markers and wall pieces to play.
|
||||
Refer to the official manual for more information.
|
||||
@ -3116,7 +3103,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( mdndclab, mdndclab_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 500000) // approximation - RC osc. R=27K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 500000) // approximation - RC osc. R=27K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(mdndclab_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mdndclab_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mdndclab_state, write_o))
|
||||
@ -3241,7 +3228,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Revision A hardware:
|
||||
* TMS1000 (die labeled MP3226)
|
||||
* DS75494 Hex digit LED driver, 4 big lamps, 1bit sound
|
||||
* DS75494 Hex digit LED driver, 4 big lamps, 1-bit sound
|
||||
|
||||
Newer revisions (also Pocket Simon) have a smaller 16-pin MB4850 chip
|
||||
instead of the TMS1000. This one has been decapped too, but we couldn't
|
||||
@ -3321,7 +3308,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( simon, simon_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 350000) // RC osc. R=33K, C=100pf -> ~350kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 350000) // approximation - RC osc. R=33K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(simon_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(simon_state, write_r))
|
||||
|
||||
@ -3342,7 +3329,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Milton Bradley Super Simon
|
||||
* TMS1100 MP3476NLL (die labeled MP3476)
|
||||
* 8 big lamps(2 turn on at same time), 1bit sound
|
||||
* 8 big lamps(2 turn on at same time), 1-bit sound
|
||||
|
||||
The semi-squel to Simon, not as popular. It includes more game variations
|
||||
and a 2-player head-to-head mode.
|
||||
@ -3644,7 +3631,7 @@ static const INT16 bigtrak_speaker_levels[8] = { 0, 0x7fff/3, 0x7fff/3, 0x7fff/3
|
||||
static MACHINE_CONFIG_START( bigtrak, bigtrak_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 200000) // approximation - RC osc. R=83K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 200000) // approximation - RC osc. R=83K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(bigtrak_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(bigtrak_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(bigtrak_state, write_o))
|
||||
@ -3692,18 +3679,10 @@ public:
|
||||
|
||||
WRITE16_MEMBER(cnsector_state::write_r)
|
||||
{
|
||||
// R0-R5: select digit (right-to-left)
|
||||
for (int y = 0; y < 6; y++)
|
||||
{
|
||||
m_display_segmask[y] = 0xff;
|
||||
m_display_state[y] = (data >> y & 1) ? m_o : 0;
|
||||
}
|
||||
|
||||
// R6-R9: direction leds (-> lamp60-63)
|
||||
m_display_state[6] = data >> 6 & 0xf;
|
||||
|
||||
set_display_size(8, 7);
|
||||
display_update();
|
||||
// R0-R5: select digit
|
||||
// R6-R9: direction leds
|
||||
set_display_segmask(0x3f, 0xff);
|
||||
display_matrix(8, 10, m_o, data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(cnsector_state::write_o)
|
||||
@ -3887,7 +3866,7 @@ static const INT16 merlin_speaker_levels[8] = { 0, 0x7fff/3, 0x7fff/3, 0x7fff/3*
|
||||
static MACHINE_CONFIG_START( merlin, merlin_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // RC osc. R=33K, C=100pf -> ~350kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // approximation - RC osc. R=33K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(merlin_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(merlin_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(merlin_state, write_o))
|
||||
@ -3951,7 +3930,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( mmerlin, mmerlin_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 425000) // approximation - RC osc. R=30K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 425000) // approximation - RC osc. R=30K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(mmerlin_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mmerlin_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mmerlin_state, write_o))
|
||||
@ -3974,7 +3953,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Parker Brothers Stop Thief, by Bob Doyle
|
||||
* TMS0980NLL MP6101B (die labeled 0980B-01A)
|
||||
* 3-digit 7seg LED display, 1bit sound
|
||||
* 3-digit 7seg LED display, 6-level sound
|
||||
|
||||
Stop Thief is actually a board game, the electronic device emulated here
|
||||
(called Electronic Crime Scanner) is an accessory. To start a game, press
|
||||
@ -3999,18 +3978,14 @@ public:
|
||||
WRITE16_MEMBER(stopthief_state::write_r)
|
||||
{
|
||||
// R0-R2: select digit
|
||||
UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f;
|
||||
for (int y = 0; y < 3; y++)
|
||||
{
|
||||
m_display_segmask[y] = 0x7f;
|
||||
m_display_state[y] = (data >> y & 1) ? o : 0;
|
||||
}
|
||||
set_display_segmask(7, 0x7f);
|
||||
display_matrix(7, 3, BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f, data & 7);
|
||||
|
||||
set_display_size(7, 3);
|
||||
display_update();
|
||||
|
||||
// R3-R8: speaker on
|
||||
m_speaker->level_w((data & 0x1f8 && m_o & 8) ? 1 : 0);
|
||||
// R3-R8(tied together): speaker out
|
||||
int level = 0;
|
||||
for (int i = 0; m_o & 8 && i < 6; i++)
|
||||
level += (data >> (i+3) & 1);
|
||||
m_speaker->level_w(level);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(stopthief_state::write_o)
|
||||
@ -4018,7 +3993,7 @@ WRITE16_MEMBER(stopthief_state::write_o)
|
||||
// O0,O6: input mux
|
||||
m_inp_mux = (data & 1) | (data >> 5 & 2);
|
||||
|
||||
// O3: speaker out
|
||||
// O3: speaker on
|
||||
// O0-O2,O4-O7: led segments A-G
|
||||
m_o = data;
|
||||
}
|
||||
@ -4065,6 +4040,9 @@ static INPUT_PORTS_START( stopthief )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, (void *)false)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const INT16 stopthief_speaker_levels[7] = { 0, 0x7fff/6, 0x7fff/5, 0x7fff/4, 0x7fff/3, 0x7fff/2, 0x7fff };
|
||||
|
||||
static MACHINE_CONFIG_START( stopthief, stopthief_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -4080,6 +4058,7 @@ static MACHINE_CONFIG_START( stopthief, stopthief_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||
MCFG_SPEAKER_LEVELS(7, stopthief_speaker_levels)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -4091,7 +4070,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Parker Brothers Bank Shot (known as Cue Ball in the UK), by Garry Kitchen
|
||||
* TMS1400NLL MP7313-N2 (die labeled MP7313)
|
||||
* LED grid display, 1bit sound
|
||||
* LED grid display, 1-bit sound
|
||||
|
||||
Bank Shot is an electronic pool game. To select a game, repeatedly press
|
||||
the [SELECT] button, then press [CUE UP] to start. Refer to the official
|
||||
@ -4176,7 +4155,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( bankshot, bankshot_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 475000) // approximation - RC osc. R=24K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 475000) // approximation - RC osc. R=24K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(bankshot_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(bankshot_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(bankshot_state, write_o))
|
||||
@ -4198,7 +4177,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Parker Brothers Split Second
|
||||
* TMS1400NLL MP7314-N2 (die labeled MP7314)
|
||||
* LED grid display(default round LEDs, and rectangular shape ones), 1bit sound
|
||||
* LED grid display(default round LEDs, and rectangular shape ones), 1-bit sound
|
||||
|
||||
This is an electronic handheld reflex gaming device, it's straightforward
|
||||
to use. The included mini-games are:
|
||||
@ -4287,7 +4266,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( splitsec, splitsec_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 475000) // approximation - RC osc. R=24K, C=100pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 475000) // approximation - RC osc. R=24K, C=100pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(splitsec_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(splitsec_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(splitsec_state, write_o))
|
||||
@ -4425,7 +4404,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
Tandy Radio Shack Computerized Arcade (1981, 1982, 1995)
|
||||
* TMS1100 MCU, labeled CD7282SL
|
||||
* 12 lamps behind buttons, 1bit sound
|
||||
* 12 lamps behind buttons, 1-bit sound
|
||||
|
||||
This handheld contains 12 minigames. It looks and plays like "Fabulous Fred"
|
||||
by the Japanese company Mego Corp. in 1980, which in turn is a mix of Merlin
|
||||
@ -4561,7 +4540,7 @@ static const UINT16 tandy12_output_pla[0x20] =
|
||||
static MACHINE_CONFIG_START( tandy12, tandy12_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 400000) // RC osc. R=39K, C=47pf -> ~400kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 400000) // approximation - RC osc. R=39K, C=47pf
|
||||
MCFG_TMS1XXX_OUTPUT_PLA(tandy12_output_pla)
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(tandy12_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tandy12_state, write_r))
|
||||
@ -4586,7 +4565,7 @@ MACHINE_CONFIG_END
|
||||
* PCB label TOMY B.O.
|
||||
* TMS1040 MP2726 TOMY WIPE (die labeled MP2726A)
|
||||
* TMS1025N2LL I/O expander
|
||||
* 2-digit 7seg display, 46 other leds, 1bit sound
|
||||
* 2-digit 7seg display, 46 other leds, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- USA: Break Up
|
||||
@ -4787,7 +4766,7 @@ MACHINE_CONFIG_END
|
||||
Tomy Power House Pinball
|
||||
* PCB label TOMY P-B
|
||||
* TMS1100 MP1180 TOMY PINB (die labeled MP1180)
|
||||
* 3 7seg LEDs, and other LEDs behind bezel, 1bit sound
|
||||
* 3 7seg LEDs, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- USA: Power House Pinball
|
||||
@ -4889,7 +4868,7 @@ INPUT_CHANGED_MEMBER(phpball_state::flipper_button)
|
||||
static MACHINE_CONFIG_START( phpball, phpball_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 375000) // RC osc. R=47K, C=47pf -> ~375kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 375000) // approximation - RC osc. R=47K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(phpball_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(phpball_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(phpball_state, write_o))
|
||||
|
@ -188,7 +188,7 @@ void hh_ucom4_state::set_display_size(int maxx, int maxy)
|
||||
m_display_maxy = maxy;
|
||||
}
|
||||
|
||||
void hh_ucom4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
|
||||
void hh_ucom4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update)
|
||||
{
|
||||
set_display_size(maxx, maxy);
|
||||
|
||||
@ -197,10 +197,13 @@ void hh_ucom4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety
|
||||
for (int y = 0; y < maxy; y++)
|
||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||
|
||||
display_update();
|
||||
if (update)
|
||||
display_update();
|
||||
}
|
||||
|
||||
|
||||
// generic input handlers
|
||||
|
||||
UINT8 hh_ucom4_state::read_inputs(int columns)
|
||||
{
|
||||
UINT8 ret = 0;
|
||||
|
@ -62,7 +62,7 @@ void mbdtower_state::prepare_display()
|
||||
{
|
||||
// declare display matrix size and the 2 7segs
|
||||
set_display_size(7, 3);
|
||||
m_display_segmask[1] = m_display_segmask[2] = 0x7f;
|
||||
set_display_segmask(6, 0x7f);
|
||||
|
||||
// update current state
|
||||
if (~m_r & 0x10)
|
||||
@ -246,7 +246,7 @@ void mbdtower_state::machine_start()
|
||||
static MACHINE_CONFIG_START( mbdtower, mbdtower_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 425000) // approximation - RC osc. R=43K, C=56pf, but unknown RC curve
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 425000) // approximation - RC osc. R=43K, C=56pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(mbdtower_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mbdtower_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mbdtower_state, write_o))
|
||||
|
@ -35,19 +35,9 @@ public:
|
||||
ticalc1x_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
};
|
||||
|
||||
|
||||
void ticalc1x_state::machine_start()
|
||||
{
|
||||
hh_tms1k_state::machine_start();
|
||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask)); // !
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -85,21 +75,18 @@ public:
|
||||
void tisr16_state::prepare_display()
|
||||
{
|
||||
// update leds state
|
||||
for (int y = 0; y < 11; y++)
|
||||
m_display_state[y] = (m_r >> y & 1) ? m_o : 0;
|
||||
set_display_segmask(0xfff, 0xff);
|
||||
display_matrix(8, 12, m_o, m_r, false);
|
||||
|
||||
// exponent sign is from R10 O1, and R10 itself only uses segment G
|
||||
m_display_state[11] = m_display_state[10] << 5 & 0x40;
|
||||
m_display_state[10] &= 0x40;
|
||||
|
||||
set_display_size(8, 12);
|
||||
display_update();
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(tisr16_state::write_r)
|
||||
{
|
||||
// R0-R10: input mux
|
||||
// R0-R10: select digit (right-to-left)
|
||||
// R0-R10: input mux, select digit
|
||||
m_r = m_inp_mux = data;
|
||||
prepare_display();
|
||||
}
|
||||
@ -259,7 +246,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( tisr16, tisr16_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 300000) // RC osc. R=43K, C=68pf -> ~300kHz (note: tisr16ii MCU RC osc. is different: R=30K, C=100pf -> also ~300kHz)
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 300000) // approximation - RC osc. R=43K, C=68pf (note: tisr16ii MCU RC osc. is different: R=30K, C=100pf, same freq)
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(tisr16_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tisr16_state, write_o))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tisr16_state, write_r))
|
||||
@ -315,11 +302,10 @@ public:
|
||||
|
||||
WRITE16_MEMBER(ti1250_state::write_r)
|
||||
{
|
||||
// R8 only has segment G connected
|
||||
m_display_segmask[8] = 0x40;
|
||||
|
||||
// R0-R7(,R8): select digit (right-to-left)
|
||||
display_matrix_seg(8, 9, m_o, data, 0xff);
|
||||
// R0-R8: select digit
|
||||
set_display_segmask(0xff, 0xff);
|
||||
set_display_segmask(0x100, 0x40); // R8 only has segment G connected
|
||||
display_matrix(8, 9, m_o, data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ti1250_state::write_o)
|
||||
@ -398,7 +384,7 @@ INPUT_PORTS_END
|
||||
static MACHINE_CONFIG_START( ti1250, ti1250_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS0950, 200000) // RC osc. R=68K, C=68pf -> ~200kHz
|
||||
MCFG_CPU_ADD("maincpu", TMS0950, 200000) // approximation - RC osc. R=68K, C=68pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(ti1250_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ti1250_state, write_o))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ti1250_state, write_r))
|
||||
@ -451,9 +437,10 @@ public:
|
||||
|
||||
WRITE16_MEMBER(ti1000_state::write_r)
|
||||
{
|
||||
// R0-R7: select digit (right-to-left)
|
||||
// R0-R7: select digit
|
||||
UINT8 o = BITSWAP8(m_o,7,4,3,2,1,0,6,5);
|
||||
display_matrix_seg(8, 8, o, data, 0xff);
|
||||
set_display_segmask(0xff, 0xff);
|
||||
display_matrix(8, 8, o, data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ti1000_state::write_o)
|
||||
@ -555,10 +542,11 @@ WRITE16_MEMBER(wizatron_state::write_r)
|
||||
|
||||
// 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;
|
||||
set_display_segmask(8, 0x41);
|
||||
|
||||
// R0-R8: select digit (right-to-left)
|
||||
display_matrix_seg(7, 9, m_o, data, 0x7f);
|
||||
// R0-R8: select digit
|
||||
set_display_segmask(0x1ff^8, 0x7f);
|
||||
display_matrix(7, 9, m_o, data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(wizatron_state::write_o)
|
||||
@ -725,19 +713,16 @@ public:
|
||||
WRITE16_MEMBER(lilprof78_state::write_r)
|
||||
{
|
||||
// update leds state
|
||||
UINT8 o = BITSWAP8(m_o,7,4,3,2,1,0,6,5) & 0x7f;
|
||||
UINT8 seg = BITSWAP8(m_o,7,4,3,2,1,0,6,5) & 0x7f;
|
||||
UINT16 r = (data & 7) | (data << 1 & 0x1f0);
|
||||
|
||||
for (int y = 0; y < 9; y++)
|
||||
m_display_state[y] = (r >> y & 1) ? o : 0;
|
||||
|
||||
set_display_segmask(0x1ff, 0x7f);
|
||||
display_matrix(7, 9, seg, r, false);
|
||||
|
||||
// 3rd digit A/G(equals sign) is from O7
|
||||
m_display_state[3] = (r && m_o & 0x80) ? 0x41 : 0;
|
||||
m_display_state[3] = (r != 0 && m_o & 0x80) ? 0x41 : 0;
|
||||
|
||||
// 6th digit is a custom 7seg for math symbols (see wizatron_state write_r)
|
||||
m_display_state[6] = BITSWAP8(m_display_state[6],7,6,1,4,2,3,5,0);
|
||||
|
||||
set_display_size(7, 9);
|
||||
display_update();
|
||||
}
|
||||
|
||||
@ -836,7 +821,8 @@ public:
|
||||
void dataman_state::prepare_display()
|
||||
{
|
||||
// note the extra segment on R9
|
||||
display_matrix_seg(8, 9, m_o | (m_r >> 2 & 0x80), m_r & 0x1ff, 0x7f);
|
||||
set_display_segmask(0x1ff, 0x7f);
|
||||
display_matrix(8, 9, m_o | (m_r >> 2 & 0x80), m_r & 0x1ff);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dataman_state::write_r)
|
||||
@ -959,12 +945,10 @@ public:
|
||||
|
||||
WRITE16_MEMBER(ti30_state::write_r)
|
||||
{
|
||||
// 1st digit only has segments B,F,G,DP
|
||||
m_display_segmask[0] = 0xe2;
|
||||
|
||||
// R0-R8: select digit
|
||||
UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3);
|
||||
display_matrix_seg(8, 9, o, data, 0xff);
|
||||
set_display_segmask(0x1fe, 0xff);
|
||||
set_display_segmask(0x001, 0xe2); // 1st digit only has segments B,F,G,DP
|
||||
display_matrix(8, 9, m_o, data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ti30_state::write_o)
|
||||
@ -972,7 +956,7 @@ WRITE16_MEMBER(ti30_state::write_o)
|
||||
// O0-O2,O4-O7: input mux
|
||||
// O0-O7: digit segments
|
||||
m_inp_mux = (data & 7) | (data >> 1 & 0x78);
|
||||
m_o = data;
|
||||
m_o = BITSWAP8(data,7,5,2,1,4,0,6,3);
|
||||
}
|
||||
|
||||
READ8_MEMBER(ti30_state::read_k)
|
||||
@ -1384,6 +1368,6 @@ COMP( 1978, lilprof78, lilprof, 0, lilprof78, lilprof78, driver_device, 0, "Tex
|
||||
|
||||
COMP( 1977, dataman, 0, 0, dataman, dataman, driver_device, 0, "Texas Instruments", "DataMan", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
|
||||
COMP( 1976, ti30, 0, 0, ti30, ti30, driver_device, 0, "Texas Instruments", "TI-30", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1976, tibusan, 0, 0, ti30, tibusan, driver_device, 0, "Texas Instruments", "TI Business Analyst", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1977, tiprog, 0, 0, ti30, tiprog, driver_device, 0, "Texas Instruments", "TI Programmer", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1976, ti30, 0, 0, ti30, ti30, driver_device, 0, "Texas Instruments", "TI-30", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1976, tibusan, 0, 0, ti30, tibusan, driver_device, 0, "Texas Instruments", "TI Business Analyst", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1977, tiprog, 0, 0, ti30, tiprog, driver_device, 0, "Texas Instruments", "TI Programmer", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
|
@ -62,7 +62,7 @@ public:
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void set_display_segmask(UINT32 digits, UINT32 mask);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
@ -62,8 +62,7 @@ public:
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void set_display_segmask(UINT32 digits, UINT32 mask);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
|
||||
void display_matrix_seg(int maxx, int maxy, UINT32 setx, UINT32 sety, UINT16 segmask);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
@ -55,7 +55,7 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||
void display_update();
|
||||
void set_display_size(int maxx, int maxy);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
|
||||
void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update = true);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
@ -12,7 +12,7 @@
|
||||
<led7seg><color red="1.0" green="0.25" blue="0.20" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="lamp" defstate="0">
|
||||
<element name="led" defstate="0">
|
||||
<disk state="1"><color red="1.0" green="0.25" blue="0.20" /></disk>
|
||||
<disk state="0"><color red="0.2" green="0.0" blue="0.0" /></disk>
|
||||
</element>
|
||||
@ -56,7 +56,6 @@
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
@ -87,7 +86,6 @@
|
||||
<bezel element="text_depth"><bounds x="21" y="37" width="20" height="7" /></bezel>
|
||||
<bezel element="text_range"><bounds x="57" y="37" width="20" height="7" /></bezel>
|
||||
|
||||
|
||||
<bezel name="digit5" element="digit">
|
||||
<bounds x="5" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
@ -109,35 +107,26 @@
|
||||
<bounds x="77" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<!-- compass -->
|
||||
|
||||
<bezel element="static_gray"><bounds x="0" y="50" width="100" height="100" /></bezel>
|
||||
<bezel element="static_red"><bounds x="0" y="55" width="100" height="86" /></bezel>
|
||||
|
||||
<bezel name="lamp60" element="lamp">
|
||||
<bounds x="42" y="62" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="lamp61" element="lamp">
|
||||
<bounds x="42" y="126" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="lamp62" element="lamp">
|
||||
<bounds x="74" y="94" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="lamp63" element="lamp">
|
||||
<bounds x="10" y="94" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="6.a" element="led"><bounds x="42" y="62" width="8" height="8" /></bezel>
|
||||
<bezel name="7.a" element="led"><bounds x="42" y="126" width="8" height="8" /></bezel>
|
||||
<bezel name="8.a" element="led"><bounds x="74" y="94" width="8" height="8" /></bezel>
|
||||
<bezel name="9.a" element="led"><bounds x="10" y="94" width="8" height="8" /></bezel>
|
||||
|
||||
<bezel element="text_n"><bounds x="41" y="72" width="10" height="10" /></bezel>
|
||||
<bezel element="text_s"><bounds x="41" y="114" width="10" height="10" /></bezel>
|
||||
<bezel element="text_e"><bounds x="63" y="93" width="10" height="10" /></bezel>
|
||||
<bezel element="text_w"><bounds x="21" y="93" width="10" height="10" /></bezel>
|
||||
|
||||
|
||||
<!-- crop borders -->
|
||||
|
||||
<bezel element="static_black"><bounds x="92" y="0" width="10" height="160" /></bezel>
|
||||
<bezel element="static_black"><bounds x="0" y="146" width="100" height="10" /></bezel>
|
||||
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
@ -27,7 +27,6 @@
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
@ -62,28 +61,28 @@
|
||||
|
||||
<!-- math symbols custom digit -->
|
||||
|
||||
<bezel name="lamp87" element="lamp_dash"><bounds x="21.5" y="17.25" width="7" height="0.5" /></bezel>
|
||||
<bezel name="8.6" element="lamp_dash"><bounds x="21.5" y="17.25" width="7" height="0.5" /></bezel>
|
||||
|
||||
<bezel name="lamp82" element="lamp_slash"><bounds x="24" y="9.5" width="5" height="7.5" /></bezel>
|
||||
<bezel name="lamp82" element="lamp_slash"><bounds x="21" y="17" width="5" height="7.5" /></bezel>
|
||||
<bezel name="8.1" element="lamp_slash"><bounds x="24" y="9.5" width="5" height="7.5" /></bezel>
|
||||
<bezel name="8.1" element="lamp_slash"><bounds x="21" y="17" width="5" height="7.5" /></bezel>
|
||||
|
||||
<bezel name="lamp83" element="lamp_backslash"><bounds x="21" y="9.5" width="5" height="7.5" /></bezel>
|
||||
<bezel name="lamp83" element="lamp_backslash"><bounds x="24" y="17" width="5" height="7.5" /></bezel>
|
||||
<bezel name="8.2" element="lamp_backslash"><bounds x="21" y="9.5" width="5" height="7.5" /></bezel>
|
||||
<bezel name="8.2" element="lamp_backslash"><bounds x="24" y="17" width="5" height="7.5" /></bezel>
|
||||
|
||||
<bezel name="lamp81" element="lamp_dot"><bounds x="24.25" y="12.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="lamp81" element="lamp_dot"><bounds x="24.25" y="21.75" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="8.0" element="lamp_dot"><bounds x="24.25" y="12.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="8.0" element="lamp_dot"><bounds x="24.25" y="21.75" width="1.5" height="1.5" /></bezel>
|
||||
|
||||
<!-- equals sign custom digit -->
|
||||
|
||||
<bezel name="lamp91" element="lamp_dash"><bounds x="51.5" y="14.5" width="7" height="0.5" /></bezel>
|
||||
<bezel name="lamp94" element="lamp_dash"><bounds x="51.5" y="20.0" width="7" height="0.5" /></bezel>
|
||||
<bezel name="9.0" element="lamp_dash"><bounds x="51.5" y="14.5" width="7" height="0.5" /></bezel>
|
||||
<bezel name="9.3" element="lamp_dash"><bounds x="51.5" y="20.0" width="7" height="0.5" /></bezel>
|
||||
|
||||
<!-- other lamps -->
|
||||
|
||||
<bezel name="lamp101" element="lamp_dot"><bounds x="1" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="lamp102" element="lamp_dot"><bounds x="26" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="lamp104" element="lamp_dot"><bounds x="51" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="lamp107" element="lamp_dot"><bounds x="76" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="10.0" element="lamp_dot"><bounds x="1" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="10.1" element="lamp_dot"><bounds x="26" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="10.3" element="lamp_dot"><bounds x="51" y="1" width="4" height="4" /></bezel>
|
||||
<bezel name="10.6" element="lamp_dot"><bounds x="76" y="1" width="4" height="4" /></bezel>
|
||||
|
||||
|
||||
</view>
|
||||
|
Loading…
Reference in New Issue
Block a user