mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
hh_*: misc cleanups
This commit is contained in:
parent
c12e8830ca
commit
b58e5b4d55
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Marx Series 300 Electronic Bowling Game
|
Marx Series 300 Electronic Bowling Game
|
||||||
Main board:
|
Main board:
|
||||||
* TMS1100NLL MP3403 DBS 7836 SINGAPORE
|
* TMS1100NLL MP3403 DBS 7836 SINGAPORE (no decap)
|
||||||
* 4*SN75492 quad segment driver, 2*SN74259 8-line demultiplexer,
|
* 4*SN75492 quad segment driver, 2*SN74259 8-line demultiplexer,
|
||||||
2*CD4043 quad r/s input latch
|
2*CD4043 quad r/s input latch
|
||||||
* 5 7seg LEDs, 15 lamps(10 lamps projected to bowling pins reflection),
|
* 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 )
|
static MACHINE_CONFIG_START( elecbowl, elecbowl_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_OUTPUT_PLA(elecbowl_output_pla)
|
||||||
MCFG_TMS1XXX_READ_K_CB(READ8(elecbowl_state, read_k))
|
MCFG_TMS1XXX_READ_K_CB(READ8(elecbowl_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(elecbowl_state, write_r))
|
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_LOAD( "mp3403.u9", 0x0000, 0x0800, CRC(9eabaa7d) SHA1(b1f54587ed7f2bbf3a5d49075c807296384c2b06) )
|
||||||
|
|
||||||
ROM_REGION( 867, "maincpu:mpla", 0 )
|
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_REGION( 365, "maincpu:opla", 0 )
|
||||||
ROM_LOAD( "tms1100_elecbowl_output.pla", 0, 365, NO_DUMP )
|
ROM_LOAD( "tms1100_elecbowl_output.pla", 0, 365, NO_DUMP )
|
||||||
ROM_END
|
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);
|
set_display_size(maxx, maxy);
|
||||||
|
|
||||||
@ -700,6 +700,7 @@ void fidelz80base_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32
|
|||||||
for (int y = 0; y < maxy; y++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ public:
|
|||||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
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:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
@ -194,7 +194,7 @@ void hh_cop400_state::set_display_size(int maxx, int maxy)
|
|||||||
m_display_maxy = 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);
|
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++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// generic input handlers
|
||||||
|
|
||||||
UINT8 hh_cop400_state::read_inputs(int columns)
|
UINT8 hh_cop400_state::read_inputs(int columns)
|
||||||
{
|
{
|
||||||
// active low
|
// active low
|
||||||
@ -232,7 +235,7 @@ UINT8 hh_cop400_state::read_inputs(int columns)
|
|||||||
|
|
||||||
Castle Toy Einstein
|
Castle Toy Einstein
|
||||||
* COP421 MCU labeled ~/927 COP421-NEZ/N
|
* 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
|
Entex Space Invader
|
||||||
* COP444L MCU labeled /B138 COPL444-HRZ/N INV II (die labeled HRZ COP 444L/A)
|
* 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
|
The first version was on TMS1100 (see hh_tms1k.c), this is the reprogrammed
|
||||||
second release with a gray case instead of black.
|
second release with a gray case instead of black.
|
||||||
@ -393,7 +396,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Mattel Funtronics Jacks
|
Mattel Funtronics Jacks
|
||||||
* COP410L MCU bonded directly to PCB (die labeled COP410L/B NGS)
|
* 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
|
Mattel Funtronics Red Light Green Light
|
||||||
* COP410L MCU bonded directly to PCB (die labeled COP410L/B NHZ)
|
* COP410L MCU bonded directly to PCB (die labeled COP410L/B NHZ)
|
||||||
* 14 LEDs, 1bit sound
|
* 14 LEDs, 1-bit sound
|
||||||
|
|
||||||
known releases:
|
known releases:
|
||||||
- USA: Funtronics Red Light Green Light
|
- USA: Funtronics Red Light Green Light
|
||||||
@ -595,7 +598,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Milton Bradley Plus One
|
Milton Bradley Plus One
|
||||||
* COP410L MCU in 8-pin DIP, labeled ~/029 MM 57405 (die labeled COP410L/B NNE)
|
* 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
|
Milton Bradley (Electronic) Lightfight
|
||||||
* COP421L MCU labeled /B119 COP421L-HLA/N
|
* 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
|
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
|
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);
|
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
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:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
@ -267,7 +267,7 @@ void hh_hmcs40_state::set_display_size(int maxx, int maxy)
|
|||||||
m_display_maxy = 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);
|
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++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (U64(1) << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (U64(1) << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// generic input handlers
|
||||||
|
|
||||||
UINT16 hh_hmcs40_state::read_inputs(int columns)
|
UINT16 hh_hmcs40_state::read_inputs(int columns)
|
||||||
{
|
{
|
||||||
UINT16 ret = 0;
|
UINT16 ret = 0;
|
||||||
|
@ -54,7 +54,7 @@ public:
|
|||||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
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:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
@ -176,7 +176,7 @@ void hh_melps4_state::set_display_size(int maxx, int maxy)
|
|||||||
m_display_maxy = 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);
|
set_display_size(maxx, maxy);
|
||||||
|
|
||||||
@ -185,6 +185,7 @@ void hh_melps4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 set
|
|||||||
for (int y = 0; y < maxy; y++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ public:
|
|||||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
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:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
@ -186,7 +186,7 @@ void hh_pic16_state::set_display_size(int maxx, int maxy)
|
|||||||
m_display_maxy = 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);
|
set_display_size(maxx, maxy);
|
||||||
|
|
||||||
@ -195,6 +195,7 @@ void hh_pic16_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety
|
|||||||
for (int y = 0; y < maxy; y++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_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);
|
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++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_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)
|
UINT8 hh_tms1k_state::read_inputs(int columns)
|
||||||
{
|
{
|
||||||
@ -362,7 +356,7 @@ INPUT_CHANGED_MEMBER(hh_tms1k_state::power_button)
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
||||||
APF Mathemagician
|
APF Mathemagician
|
||||||
* TMS1100 MCU, labeled MP1030
|
* TMS1100 MCU, labeled MP1030 (no decap)
|
||||||
* 2 x DS8870N - Hex LED Digit Driver
|
* 2 x DS8870N - Hex LED Digit Driver
|
||||||
* 2 x DS8861N - MOS-to-LED 5-Segment Driver
|
* 2 x DS8861N - MOS-to-LED 5-Segment Driver
|
||||||
* 10-digit 7seg LED display(2 custom ones) + 4 LEDs, no sound
|
* 10-digit 7seg LED display(2 custom ones) + 4 LEDs, no sound
|
||||||
@ -399,21 +393,8 @@ public:
|
|||||||
|
|
||||||
void mathmagi_state::prepare_display()
|
void mathmagi_state::prepare_display()
|
||||||
{
|
{
|
||||||
// R0-R7: 7seg leds
|
set_display_segmask(0xff, 0x7f);
|
||||||
for (int y = 0; y < 8; y++)
|
display_matrix(7, 11, m_o, m_r);
|
||||||
{
|
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(mathmagi_state::write_r)
|
WRITE16_MEMBER(mathmagi_state::write_r)
|
||||||
@ -421,16 +402,18 @@ WRITE16_MEMBER(mathmagi_state::write_r)
|
|||||||
// R3,R5-R7,R9,R10: input mux
|
// R3,R5-R7,R9,R10: input mux
|
||||||
m_inp_mux = (data >> 3 & 1) | (data >> 4 & 0xe) | (data >> 5 & 0x30);
|
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;
|
m_r = data;
|
||||||
prepare_display();
|
prepare_display();
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(mathmagi_state::write_o)
|
WRITE16_MEMBER(mathmagi_state::write_o)
|
||||||
{
|
{
|
||||||
// O1-O7: digit segments A-G
|
// O1-O7: led/digit segment data
|
||||||
// O0: N/C
|
// O0: N/C
|
||||||
data = (data << 1 & 0xfe) | (data >> 7 & 1); // because opla is unknown
|
|
||||||
m_o = data;
|
m_o = data;
|
||||||
prepare_display();
|
prepare_display();
|
||||||
}
|
}
|
||||||
@ -532,7 +515,7 @@ static const UINT16 mathmagi_output_pla[0x20] =
|
|||||||
static MACHINE_CONFIG_START( mathmagi, mathmagi_state )
|
static MACHINE_CONFIG_START( mathmagi, mathmagi_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_OUTPUT_PLA(mathmagi_output_pla)
|
||||||
MCFG_TMS1XXX_READ_K_CB(READ8(mathmagi_state, read_k))
|
MCFG_TMS1XXX_READ_K_CB(READ8(mathmagi_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mathmagi_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mathmagi_state, write_r))
|
||||||
@ -552,7 +535,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Coleco Amaze-A-Tron, by Ralph Baer
|
Coleco Amaze-A-Tron, by Ralph Baer
|
||||||
* TMS1100 MCU, labeled MP3405(die label too)
|
* 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
|
* 5x5 pressure-sensitive playing board
|
||||||
|
|
||||||
This is an electronic board game with a selection of 8 maze games,
|
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 )
|
static MACHINE_CONFIG_START( amaztron, amaztron_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(amaztron_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(amaztron_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(amaztron_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(amaztron_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(amaztron_state, write_o))
|
||||||
@ -693,7 +676,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Coleco Zodiac - The Astrology Computer
|
Coleco Zodiac - The Astrology Computer
|
||||||
* TMS1100 MP3435 (no decap)
|
* 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
|
As the name suggests, this is an astrologic calculator. Refer to the
|
||||||
(very extensive) manual on how to use it.
|
(very extensive) manual on how to use it.
|
||||||
@ -854,7 +837,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Coleco Electronic Quarterback
|
Coleco Electronic Quarterback
|
||||||
* TMS1100NLL MP3415 (die labeled MP3415)
|
* TMS1100NLL MP3415 (die labeled MP3415)
|
||||||
* 9-digit LED grid, 1bit sound
|
* 9-digit LED grid, 1-bit sound
|
||||||
|
|
||||||
known releases:
|
known releases:
|
||||||
- USA(1): Electronic Quarterback
|
- USA(1): Electronic Quarterback
|
||||||
@ -965,7 +948,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Coleco Head to Head Football
|
Coleco Head to Head Football
|
||||||
* TMS1100NLLE (rev. E!) MP3460 (die labeled MP3460)
|
* 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:
|
known releases:
|
||||||
- USA(1): Head to Head Football
|
- USA(1): Head to Head Football
|
||||||
@ -1057,7 +1040,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( h2hfootb, h2hfootb_state )
|
static MACHINE_CONFIG_START( h2hfootb, h2hfootb_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(h2hfootb_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(h2hfootb_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(h2hfootb_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(h2hfootb_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(h2hfootb_state, write_o))
|
||||||
@ -1080,7 +1063,7 @@ MACHINE_CONFIG_END
|
|||||||
Coleco Head to Head Baseball
|
Coleco Head to Head Baseball
|
||||||
* PCB labels Coleco rev C 73891/2
|
* PCB labels Coleco rev C 73891/2
|
||||||
* TMS1170NLN MP1525-N2 (die labeled MP1525)
|
* 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:
|
known releases:
|
||||||
- USA: Head to Head Baseball
|
- USA: Head to Head Baseball
|
||||||
@ -1219,7 +1202,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Coleco Total Control 4
|
Coleco Total Control 4
|
||||||
* TMS1400NLL MP7334-N2 (die labeled MP7334)
|
* 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.
|
This is a head to head electronic tabletop LED-display sports console.
|
||||||
One cartridge(Football) was included with the console, the other three were
|
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 )
|
static MACHINE_CONFIG_START( tc4, tc4_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(tc4_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tc4_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tc4_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tc4_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tc4_state, write_o))
|
||||||
@ -1375,7 +1358,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Entex (Electronic) Baseball (1)
|
Entex (Electronic) Baseball (1)
|
||||||
* TMS1000NLP MP0914 (die labeled MP0914A)
|
* 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
|
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'
|
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 )
|
static MACHINE_CONFIG_START( ebball, ebball_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(ebball_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebball_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebball_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebball_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebball_state, write_o))
|
||||||
@ -1511,7 +1494,7 @@ MACHINE_CONFIG_END
|
|||||||
Entex (Electronic) Baseball 2
|
Entex (Electronic) Baseball 2
|
||||||
* PCBs are labeled: ZENY
|
* PCBs are labeled: ZENY
|
||||||
* TMS1000 MCU, MP0923 (die labeled MP0923)
|
* 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.
|
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 )
|
static MACHINE_CONFIG_START( ebball2, ebball2_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(ebball2_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebball2_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebball2_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebball2_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebball2_state, write_o))
|
||||||
@ -1637,7 +1620,7 @@ MACHINE_CONFIG_END
|
|||||||
* PCBs are labeled: ZENY
|
* PCBs are labeled: ZENY
|
||||||
* TMS1100NLL 6007 MP1204 (rev. E!) (die labeled MP1204)
|
* TMS1100NLL 6007 MP1204 (rev. E!) (die labeled MP1204)
|
||||||
* 2*SN75492N LED display driver
|
* 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
|
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.
|
varied. Like the others, the pitcher controls are on a separate joypad.
|
||||||
@ -1816,7 +1799,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Entex Space Invader
|
Entex Space Invader
|
||||||
* TMS1100 MP1211 (die labeled MP1211)
|
* 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
|
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
|
TMS1100, the second more widespread release runs on a COP400. There are
|
||||||
@ -1930,7 +1913,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Entex Color Football 4
|
Entex Color Football 4
|
||||||
* TMS1670 6009 MP7551 (die also labeled MP7551)
|
* 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 )
|
static MACHINE_CONFIG_START( efootb4, efootb4_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(efootb4_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(efootb4_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(efootb4_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(efootb4_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(efootb4_state, write_o))
|
||||||
@ -2047,7 +2030,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Entex (Electronic) Basketball 2
|
Entex (Electronic) Basketball 2
|
||||||
* TMS1100 6010 MP1218 (die also labeled MP1218)
|
* 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:
|
lamp translation table: led zz from game PCB = MAME lampyx:
|
||||||
|
|
||||||
@ -2148,7 +2131,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( ebaskb2, ebaskb2_state )
|
static MACHINE_CONFIG_START( ebaskb2, ebaskb2_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(ebaskb2_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebaskb2_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ebaskb2_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebaskb2_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ebaskb2_state, write_o))
|
||||||
@ -2170,7 +2153,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Entex Raise The Devil
|
Entex Raise The Devil
|
||||||
* TMS1100 MP1221 (die labeled MP1221)
|
* 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:
|
lamp translation table: led zz from game PCB = MAME lampyx:
|
||||||
|
|
||||||
@ -2344,8 +2327,8 @@ protected:
|
|||||||
|
|
||||||
void gpoker_state::prepare_display()
|
void gpoker_state::prepare_display()
|
||||||
{
|
{
|
||||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask));
|
set_display_segmask(0x7ff, 0x7f);
|
||||||
display_matrix_seg(12, 11, m_o | (m_r >> 3 & 0xf00), m_r & 0x7ff, 0x7f);
|
display_matrix(12, 11, m_o | (m_r >> 3 & 0xf00), m_r & 0x7ff);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(gpoker_state::write_r)
|
WRITE16_MEMBER(gpoker_state::write_r)
|
||||||
@ -2435,7 +2418,7 @@ void gpoker_state::machine_reset()
|
|||||||
static MACHINE_CONFIG_START( gpoker, gpoker_state )
|
static MACHINE_CONFIG_START( gpoker, gpoker_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(gpoker_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(gpoker_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(gpoker_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(gpoker_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(gpoker_state, write_o))
|
||||||
@ -2548,7 +2531,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( gjackpot, gjackpot_state )
|
static MACHINE_CONFIG_START( gjackpot, gjackpot_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(gpoker_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(gjackpot_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(gjackpot_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(gpoker_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(gpoker_state, write_o))
|
||||||
@ -2570,7 +2553,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Ideal Electronic Detective
|
Ideal Electronic Detective
|
||||||
* TMS0980NLL MP6100A (die labeled 0980B-00)
|
* 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
|
hardware (and concept) is very similar to Parker Brothers Stop Thief
|
||||||
|
|
||||||
@ -2597,12 +2580,12 @@ public:
|
|||||||
|
|
||||||
WRITE16_MEMBER(elecdet_state::write_r)
|
WRITE16_MEMBER(elecdet_state::write_r)
|
||||||
{
|
{
|
||||||
// R7,R8: speaker on
|
// R7,R8: speaker out
|
||||||
m_speaker->level_w((data & 0x180 && m_o & 0x80) ? 1 : 0);
|
m_speaker->level_w((m_o & 0x80) ? (data >> 7 & 3) : 0);
|
||||||
|
|
||||||
// R0-R6: select digit
|
// R0-R6: select digit
|
||||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask));
|
set_display_segmask(0x7f, 0x7f);
|
||||||
display_matrix_seg(7, 7, BITSWAP8(m_o,7,5,2,1,4,0,6,3), data, 0x7f);
|
display_matrix(7, 7, BITSWAP8(m_o,7,5,2,1,4,0,6,3), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(elecdet_state::write_o)
|
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);
|
m_inp_mux = (data & 3) | (data >> 2 & 4) | (data >> 3 & 8);
|
||||||
|
|
||||||
// O0-O6: digit segments A-G
|
// O0-O6: digit segments A-G
|
||||||
// O7: speaker out -> write_r
|
// O7: speaker on -> write_r
|
||||||
m_o = data;
|
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)
|
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
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
|
static const INT16 elecdet_speaker_levels[4] = { 0, 0x3fff, 0x3fff, 0x7fff };
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( elecdet, elecdet_state )
|
static MACHINE_CONFIG_START( elecdet, elecdet_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
@ -2686,6 +2672,7 @@ static MACHINE_CONFIG_START( elecdet, elecdet_state )
|
|||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||||
|
MCFG_SPEAKER_LEVELS(4, elecdet_speaker_levels)
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
@ -2697,7 +2684,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Kenner Star Wars - Electronic Battle Command
|
Kenner Star Wars - Electronic Battle Command
|
||||||
* TMS1100 MCU, labeled MP3438A
|
* 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,
|
This is a small tabletop space-dogfighting game. To start the game,
|
||||||
press BASIC/INTER/ADV and enter P#(number of players), then
|
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 )
|
static MACHINE_CONFIG_START( starwbc, starwbc_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(starwbc_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(starwbc_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(starwbc_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(starwbc_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(starwbc_state, write_o))
|
||||||
@ -2847,8 +2834,8 @@ public:
|
|||||||
|
|
||||||
void astro_state::prepare_display()
|
void astro_state::prepare_display()
|
||||||
{
|
{
|
||||||
memset(m_display_segmask, ~0, sizeof(m_display_segmask));
|
set_display_segmask(0x3ff, 0xff);
|
||||||
display_matrix_seg(8, 10, m_o, m_r, 0xff);
|
display_matrix(8, 10, m_o, m_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(astro_state::write_r)
|
WRITE16_MEMBER(astro_state::write_r)
|
||||||
@ -2928,7 +2915,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( astro, astro_state )
|
static MACHINE_CONFIG_START( astro, astro_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(astro_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(astro_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(astro_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(astro_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(astro_state, write_o))
|
||||||
@ -2947,7 +2934,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Mattel Dungeons & Dragons - Computer Labyrinth Game
|
Mattel Dungeons & Dragons - Computer Labyrinth Game
|
||||||
* TMS1100 M34012-N2LL (die labeled M34012)
|
* 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.
|
This is an electronic board game. It requires markers and wall pieces to play.
|
||||||
Refer to the official manual for more information.
|
Refer to the official manual for more information.
|
||||||
@ -3116,7 +3103,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( mdndclab, mdndclab_state )
|
static MACHINE_CONFIG_START( mdndclab, mdndclab_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(mdndclab_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mdndclab_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mdndclab_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mdndclab_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mdndclab_state, write_o))
|
||||||
@ -3241,7 +3228,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Revision A hardware:
|
Revision A hardware:
|
||||||
* TMS1000 (die labeled MP3226)
|
* 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
|
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
|
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 )
|
static MACHINE_CONFIG_START( simon, simon_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(simon_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(simon_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(simon_state, write_r))
|
||||||
|
|
||||||
@ -3342,7 +3329,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Milton Bradley Super Simon
|
Milton Bradley Super Simon
|
||||||
* TMS1100 MP3476NLL (die labeled MP3476)
|
* 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
|
The semi-squel to Simon, not as popular. It includes more game variations
|
||||||
and a 2-player head-to-head mode.
|
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 )
|
static MACHINE_CONFIG_START( bigtrak, bigtrak_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(bigtrak_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(bigtrak_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(bigtrak_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(bigtrak_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(bigtrak_state, write_o))
|
||||||
@ -3692,18 +3679,10 @@ public:
|
|||||||
|
|
||||||
WRITE16_MEMBER(cnsector_state::write_r)
|
WRITE16_MEMBER(cnsector_state::write_r)
|
||||||
{
|
{
|
||||||
// R0-R5: select digit (right-to-left)
|
// R0-R5: select digit
|
||||||
for (int y = 0; y < 6; y++)
|
// R6-R9: direction leds
|
||||||
{
|
set_display_segmask(0x3f, 0xff);
|
||||||
m_display_segmask[y] = 0xff;
|
display_matrix(8, 10, m_o, data);
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(cnsector_state::write_o)
|
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 )
|
static MACHINE_CONFIG_START( merlin, merlin_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(merlin_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(merlin_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(merlin_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(merlin_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(merlin_state, write_o))
|
||||||
@ -3951,7 +3930,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( mmerlin, mmerlin_state )
|
static MACHINE_CONFIG_START( mmerlin, mmerlin_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(mmerlin_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mmerlin_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mmerlin_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mmerlin_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mmerlin_state, write_o))
|
||||||
@ -3974,7 +3953,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Parker Brothers Stop Thief, by Bob Doyle
|
Parker Brothers Stop Thief, by Bob Doyle
|
||||||
* TMS0980NLL MP6101B (die labeled 0980B-01A)
|
* 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
|
Stop Thief is actually a board game, the electronic device emulated here
|
||||||
(called Electronic Crime Scanner) is an accessory. To start a game, press
|
(called Electronic Crime Scanner) is an accessory. To start a game, press
|
||||||
@ -3999,18 +3978,14 @@ public:
|
|||||||
WRITE16_MEMBER(stopthief_state::write_r)
|
WRITE16_MEMBER(stopthief_state::write_r)
|
||||||
{
|
{
|
||||||
// R0-R2: select digit
|
// R0-R2: select digit
|
||||||
UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f;
|
set_display_segmask(7, 0x7f);
|
||||||
for (int y = 0; y < 3; y++)
|
display_matrix(7, 3, BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f, data & 7);
|
||||||
{
|
|
||||||
m_display_segmask[y] = 0x7f;
|
|
||||||
m_display_state[y] = (data >> y & 1) ? o : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
set_display_size(7, 3);
|
// R3-R8(tied together): speaker out
|
||||||
display_update();
|
int level = 0;
|
||||||
|
for (int i = 0; m_o & 8 && i < 6; i++)
|
||||||
// R3-R8: speaker on
|
level += (data >> (i+3) & 1);
|
||||||
m_speaker->level_w((data & 0x1f8 && m_o & 8) ? 1 : 0);
|
m_speaker->level_w(level);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(stopthief_state::write_o)
|
WRITE16_MEMBER(stopthief_state::write_o)
|
||||||
@ -4018,7 +3993,7 @@ WRITE16_MEMBER(stopthief_state::write_o)
|
|||||||
// O0,O6: input mux
|
// O0,O6: input mux
|
||||||
m_inp_mux = (data & 1) | (data >> 5 & 2);
|
m_inp_mux = (data & 1) | (data >> 5 & 2);
|
||||||
|
|
||||||
// O3: speaker out
|
// O3: speaker on
|
||||||
// O0-O2,O4-O7: led segments A-G
|
// O0-O2,O4-O7: led segments A-G
|
||||||
m_o = data;
|
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)
|
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
|
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 )
|
static MACHINE_CONFIG_START( stopthief, stopthief_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
@ -4080,6 +4058,7 @@ static MACHINE_CONFIG_START( stopthief, stopthief_state )
|
|||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||||
|
MCFG_SPEAKER_LEVELS(7, stopthief_speaker_levels)
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
@ -4091,7 +4070,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Parker Brothers Bank Shot (known as Cue Ball in the UK), by Garry Kitchen
|
Parker Brothers Bank Shot (known as Cue Ball in the UK), by Garry Kitchen
|
||||||
* TMS1400NLL MP7313-N2 (die labeled MP7313)
|
* 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
|
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
|
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 )
|
static MACHINE_CONFIG_START( bankshot, bankshot_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(bankshot_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(bankshot_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(bankshot_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(bankshot_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(bankshot_state, write_o))
|
||||||
@ -4198,7 +4177,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
Parker Brothers Split Second
|
Parker Brothers Split Second
|
||||||
* TMS1400NLL MP7314-N2 (die labeled MP7314)
|
* 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
|
This is an electronic handheld reflex gaming device, it's straightforward
|
||||||
to use. The included mini-games are:
|
to use. The included mini-games are:
|
||||||
@ -4287,7 +4266,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( splitsec, splitsec_state )
|
static MACHINE_CONFIG_START( splitsec, splitsec_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(splitsec_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(splitsec_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(splitsec_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(splitsec_state, write_o))
|
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)
|
Tandy Radio Shack Computerized Arcade (1981, 1982, 1995)
|
||||||
* TMS1100 MCU, labeled CD7282SL
|
* 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"
|
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
|
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 )
|
static MACHINE_CONFIG_START( tandy12, tandy12_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_OUTPUT_PLA(tandy12_output_pla)
|
||||||
MCFG_TMS1XXX_READ_K_CB(READ8(tandy12_state, read_k))
|
MCFG_TMS1XXX_READ_K_CB(READ8(tandy12_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tandy12_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tandy12_state, write_r))
|
||||||
@ -4586,7 +4565,7 @@ MACHINE_CONFIG_END
|
|||||||
* PCB label TOMY B.O.
|
* PCB label TOMY B.O.
|
||||||
* TMS1040 MP2726 TOMY WIPE (die labeled MP2726A)
|
* TMS1040 MP2726 TOMY WIPE (die labeled MP2726A)
|
||||||
* TMS1025N2LL I/O expander
|
* 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:
|
known releases:
|
||||||
- USA: Break Up
|
- USA: Break Up
|
||||||
@ -4787,7 +4766,7 @@ MACHINE_CONFIG_END
|
|||||||
Tomy Power House Pinball
|
Tomy Power House Pinball
|
||||||
* PCB label TOMY P-B
|
* PCB label TOMY P-B
|
||||||
* TMS1100 MP1180 TOMY PINB (die labeled MP1180)
|
* 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:
|
known releases:
|
||||||
- USA: Power House Pinball
|
- USA: Power House Pinball
|
||||||
@ -4889,7 +4868,7 @@ INPUT_CHANGED_MEMBER(phpball_state::flipper_button)
|
|||||||
static MACHINE_CONFIG_START( phpball, phpball_state )
|
static MACHINE_CONFIG_START( phpball, phpball_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(phpball_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(phpball_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(phpball_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(phpball_state, write_o))
|
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;
|
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);
|
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++)
|
for (int y = 0; y < maxy; y++)
|
||||||
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
|
||||||
|
|
||||||
|
if (update)
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// generic input handlers
|
||||||
|
|
||||||
UINT8 hh_ucom4_state::read_inputs(int columns)
|
UINT8 hh_ucom4_state::read_inputs(int columns)
|
||||||
{
|
{
|
||||||
UINT8 ret = 0;
|
UINT8 ret = 0;
|
||||||
|
@ -62,7 +62,7 @@ void mbdtower_state::prepare_display()
|
|||||||
{
|
{
|
||||||
// declare display matrix size and the 2 7segs
|
// declare display matrix size and the 2 7segs
|
||||||
set_display_size(7, 3);
|
set_display_size(7, 3);
|
||||||
m_display_segmask[1] = m_display_segmask[2] = 0x7f;
|
set_display_segmask(6, 0x7f);
|
||||||
|
|
||||||
// update current state
|
// update current state
|
||||||
if (~m_r & 0x10)
|
if (~m_r & 0x10)
|
||||||
@ -246,7 +246,7 @@ void mbdtower_state::machine_start()
|
|||||||
static MACHINE_CONFIG_START( mbdtower, mbdtower_state )
|
static MACHINE_CONFIG_START( mbdtower, mbdtower_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(mbdtower_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mbdtower_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mbdtower_state, write_r))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mbdtower_state, write_o))
|
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)
|
ticalc1x_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: hh_tms1k_state(mconfig, type, 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()
|
void tisr16_state::prepare_display()
|
||||||
{
|
{
|
||||||
// update leds state
|
// update leds state
|
||||||
for (int y = 0; y < 11; y++)
|
set_display_segmask(0xfff, 0xff);
|
||||||
m_display_state[y] = (m_r >> y & 1) ? m_o : 0;
|
display_matrix(8, 12, m_o, m_r, false);
|
||||||
|
|
||||||
// exponent sign is from R10 O1, and R10 itself only uses segment G
|
// 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[11] = m_display_state[10] << 5 & 0x40;
|
||||||
m_display_state[10] &= 0x40;
|
m_display_state[10] &= 0x40;
|
||||||
|
|
||||||
set_display_size(8, 12);
|
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(tisr16_state::write_r)
|
WRITE16_MEMBER(tisr16_state::write_r)
|
||||||
{
|
{
|
||||||
// R0-R10: input mux
|
// R0-R10: input mux, select digit
|
||||||
// R0-R10: select digit (right-to-left)
|
|
||||||
m_r = m_inp_mux = data;
|
m_r = m_inp_mux = data;
|
||||||
prepare_display();
|
prepare_display();
|
||||||
}
|
}
|
||||||
@ -259,7 +246,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( tisr16, tisr16_state )
|
static MACHINE_CONFIG_START( tisr16, tisr16_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(tisr16_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tisr16_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tisr16_state, write_o))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tisr16_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tisr16_state, write_r))
|
||||||
@ -315,11 +302,10 @@ public:
|
|||||||
|
|
||||||
WRITE16_MEMBER(ti1250_state::write_r)
|
WRITE16_MEMBER(ti1250_state::write_r)
|
||||||
{
|
{
|
||||||
// R8 only has segment G connected
|
// R0-R8: select digit
|
||||||
m_display_segmask[8] = 0x40;
|
set_display_segmask(0xff, 0xff);
|
||||||
|
set_display_segmask(0x100, 0x40); // R8 only has segment G connected
|
||||||
// R0-R7(,R8): select digit (right-to-left)
|
display_matrix(8, 9, m_o, data);
|
||||||
display_matrix_seg(8, 9, m_o, data, 0xff);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(ti1250_state::write_o)
|
WRITE16_MEMBER(ti1250_state::write_o)
|
||||||
@ -398,7 +384,7 @@ INPUT_PORTS_END
|
|||||||
static MACHINE_CONFIG_START( ti1250, ti1250_state )
|
static MACHINE_CONFIG_START( ti1250, ti1250_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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_READ_K_CB(READ8(ti1250_state, read_k))
|
||||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ti1250_state, write_o))
|
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ti1250_state, write_o))
|
||||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ti1250_state, write_r))
|
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ti1250_state, write_r))
|
||||||
@ -451,9 +437,10 @@ public:
|
|||||||
|
|
||||||
WRITE16_MEMBER(ti1000_state::write_r)
|
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);
|
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)
|
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
|
// 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
|
// (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)
|
// R0-R8: select digit
|
||||||
display_matrix_seg(7, 9, m_o, data, 0x7f);
|
set_display_segmask(0x1ff^8, 0x7f);
|
||||||
|
display_matrix(7, 9, m_o, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(wizatron_state::write_o)
|
WRITE16_MEMBER(wizatron_state::write_o)
|
||||||
@ -725,19 +713,16 @@ public:
|
|||||||
WRITE16_MEMBER(lilprof78_state::write_r)
|
WRITE16_MEMBER(lilprof78_state::write_r)
|
||||||
{
|
{
|
||||||
// update leds state
|
// 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);
|
UINT16 r = (data & 7) | (data << 1 & 0x1f0);
|
||||||
|
set_display_segmask(0x1ff, 0x7f);
|
||||||
for (int y = 0; y < 9; y++)
|
display_matrix(7, 9, seg, r, false);
|
||||||
m_display_state[y] = (r >> y & 1) ? o : 0;
|
|
||||||
|
|
||||||
// 3rd digit A/G(equals sign) is from O7
|
// 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)
|
// 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);
|
m_display_state[6] = BITSWAP8(m_display_state[6],7,6,1,4,2,3,5,0);
|
||||||
|
|
||||||
set_display_size(7, 9);
|
|
||||||
display_update();
|
display_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -836,7 +821,8 @@ public:
|
|||||||
void dataman_state::prepare_display()
|
void dataman_state::prepare_display()
|
||||||
{
|
{
|
||||||
// note the extra segment on R9
|
// 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)
|
WRITE16_MEMBER(dataman_state::write_r)
|
||||||
@ -959,12 +945,10 @@ public:
|
|||||||
|
|
||||||
WRITE16_MEMBER(ti30_state::write_r)
|
WRITE16_MEMBER(ti30_state::write_r)
|
||||||
{
|
{
|
||||||
// 1st digit only has segments B,F,G,DP
|
|
||||||
m_display_segmask[0] = 0xe2;
|
|
||||||
|
|
||||||
// R0-R8: select digit
|
// R0-R8: select digit
|
||||||
UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3);
|
set_display_segmask(0x1fe, 0xff);
|
||||||
display_matrix_seg(8, 9, o, data, 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)
|
WRITE16_MEMBER(ti30_state::write_o)
|
||||||
@ -972,7 +956,7 @@ WRITE16_MEMBER(ti30_state::write_o)
|
|||||||
// O0-O2,O4-O7: input mux
|
// O0-O2,O4-O7: input mux
|
||||||
// O0-O7: digit segments
|
// O0-O7: digit segments
|
||||||
m_inp_mux = (data & 7) | (data >> 1 & 0x78);
|
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)
|
READ8_MEMBER(ti30_state::read_k)
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
void set_display_size(int maxx, int maxy);
|
||||||
void set_display_segmask(UINT32 digits, UINT32 mask);
|
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:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
|
@ -62,8 +62,7 @@ public:
|
|||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
void set_display_size(int maxx, int maxy);
|
||||||
void set_display_segmask(UINT32 digits, UINT32 mask);
|
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);
|
||||||
void display_matrix_seg(int maxx, int maxy, UINT32 setx, UINT32 sety, UINT16 segmask);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
|
@ -55,7 +55,7 @@ public:
|
|||||||
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
|
||||||
void display_update();
|
void display_update();
|
||||||
void set_display_size(int maxx, int maxy);
|
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:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<led7seg><color red="1.0" green="0.25" blue="0.20" /></led7seg>
|
<led7seg><color red="1.0" green="0.25" blue="0.20" /></led7seg>
|
||||||
</element>
|
</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="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>
|
<disk state="0"><color red="0.2" green="0.0" blue="0.0" /></disk>
|
||||||
</element>
|
</element>
|
||||||
@ -56,7 +56,6 @@
|
|||||||
</element>
|
</element>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- build screen -->
|
<!-- build screen -->
|
||||||
|
|
||||||
<view name="Internal Layout">
|
<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_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 element="text_range"><bounds x="57" y="37" width="20" height="7" /></bezel>
|
||||||
|
|
||||||
|
|
||||||
<bezel name="digit5" element="digit">
|
<bezel name="digit5" element="digit">
|
||||||
<bounds x="5" y="17" width="10" height="15" />
|
<bounds x="5" y="17" width="10" height="15" />
|
||||||
</bezel>
|
</bezel>
|
||||||
@ -109,35 +107,26 @@
|
|||||||
<bounds x="77" y="17" width="10" height="15" />
|
<bounds x="77" y="17" width="10" height="15" />
|
||||||
</bezel>
|
</bezel>
|
||||||
|
|
||||||
|
|
||||||
<!-- compass -->
|
<!-- compass -->
|
||||||
|
|
||||||
<bezel element="static_gray"><bounds x="0" y="50" width="100" height="100" /></bezel>
|
<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 element="static_red"><bounds x="0" y="55" width="100" height="86" /></bezel>
|
||||||
|
|
||||||
<bezel name="lamp60" element="lamp">
|
<bezel name="6.a" element="led"><bounds x="42" y="62" width="8" height="8" /></bezel>
|
||||||
<bounds x="42" y="62" width="8" height="8" />
|
<bezel name="7.a" element="led"><bounds x="42" y="126" width="8" height="8" /></bezel>
|
||||||
</bezel>
|
<bezel name="8.a" element="led"><bounds x="74" y="94" width="8" height="8" /></bezel>
|
||||||
<bezel name="lamp61" element="lamp">
|
<bezel name="9.a" element="led"><bounds x="10" y="94" width="8" height="8" /></bezel>
|
||||||
<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 element="text_n"><bounds x="41" y="72" width="10" height="10" /></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_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_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>
|
<bezel element="text_w"><bounds x="21" y="93" width="10" height="10" /></bezel>
|
||||||
|
|
||||||
|
|
||||||
<!-- crop borders -->
|
<!-- crop borders -->
|
||||||
|
|
||||||
<bezel element="static_black"><bounds x="92" y="0" width="10" height="160" /></bezel>
|
<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>
|
<bezel element="static_black"><bounds x="0" y="146" width="100" height="10" /></bezel>
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</mamelayout>
|
</mamelayout>
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
</element>
|
</element>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- build screen -->
|
<!-- build screen -->
|
||||||
|
|
||||||
<view name="Internal Layout">
|
<view name="Internal Layout">
|
||||||
@ -62,28 +61,28 @@
|
|||||||
|
|
||||||
<!-- math symbols custom digit -->
|
<!-- 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="8.1" 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="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="8.2" 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="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="8.0" 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="21.75" width="1.5" height="1.5" /></bezel>
|
||||||
|
|
||||||
<!-- equals sign custom digit -->
|
<!-- 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="9.0" 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.3" element="lamp_dash"><bounds x="51.5" y="20.0" width="7" height="0.5" /></bezel>
|
||||||
|
|
||||||
<!-- other lamps -->
|
<!-- other lamps -->
|
||||||
|
|
||||||
<bezel name="lamp101" element="lamp_dot"><bounds x="1" 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="lamp102" element="lamp_dot"><bounds x="26" 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="lamp104" element="lamp_dot"><bounds x="51" 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="lamp107" element="lamp_dot"><bounds x="76" 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>
|
</view>
|
||||||
|
Loading…
Reference in New Issue
Block a user