elecbowl update

This commit is contained in:
hap 2015-04-05 23:00:27 +02:00
parent d8f3b67eae
commit 35d11f0a92
2 changed files with 21 additions and 17 deletions

View File

@ -11,7 +11,8 @@
2*CD4043 quad r/s input latch
* 5 7seg LEDs, 15 lamps(10 lamps projected to bowling pins reflection),
1bit-sound with crude volume control
* edge connector to sensor board, inputs, ...?
* edge connector to sensors(switches trigger when ball rolls over)
and other inputs
lamp translation table: SN74259.u5(mux 1) goes to MESS output lamp5x,
SN74259.u6(mux 2) goes to MESS output lamp6x. u1-u3 are SN75492 ICs,
@ -62,11 +63,14 @@ void elecbowl_state::prepare_display()
}
// lamp muxes
UINT8 d = m_r >> 1 & 1;
m_display_state[5] = (m_r & 1) ? (d << (m_o & 7)) : 0;
m_display_state[6] = (m_r >> 2 & 1) ? (d << (m_o & 7)) : 0;
UINT8 mask = 1 << (m_o & 7);
UINT8 d = (m_r & 2) ? mask : 0;
if (~m_r & 1)
m_display_state[5] = (m_display_state[5] & ~mask) | d;
if (~m_r & 4)
m_display_state[6] = (m_display_state[6] & ~mask) | d;
// digit 4 is from u6 Q7
// digit 4 is from mux2 Q7
m_display_segmask[4] = 6;
m_display_state[4] = (m_display_state[6] & 0x80) ? 6 : 0;
@ -92,7 +96,7 @@ WRITE16_MEMBER(elecbowl_state::write_r)
m_speaker->level_w(data >> 9 & 1);
// R4-R7: select digit
// R0,R2: lamp muxes enable
// R0,R2: lamp mux1,2 _enable
// R1: lamp muxes state
m_r = data;
prepare_display();
@ -100,11 +104,11 @@ WRITE16_MEMBER(elecbowl_state::write_r)
WRITE16_MEMBER(elecbowl_state::write_o)
{
// O0-O2: lamp mux
//if (data & 0x80) printf("%X ",data&0x7f);
// O0-O2: lamp muxes select
// O0-O6: digit segments A-G
// O7: N/C
//if (data & 0x80) printf("%X ",data&0x7f);
m_o = data & 0x7f;
prepare_display();
}
@ -132,8 +136,8 @@ static INPUT_PORTS_START( elecbowl )
PORT_START("IN.1") // R6
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) // reset/newgame?
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) // reset/test?
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) // reset/test?
PORT_START("IN.2") // R7
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A)
@ -145,7 +149,7 @@ static INPUT_PORTS_START( elecbowl )
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_X)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_C)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_V)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_V) // 2 players sw?
INPUT_PORTS_END
@ -171,7 +175,7 @@ static const UINT16 elecbowl_output_pla[0x20] =
lA+lB+lG+lF+lC+lD, // 9
0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0,1,2,3,4,5,6,7, // lamp muxes select
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};

View File

@ -50,7 +50,7 @@ above expectations. TI continued to manufacture many products for this line.
- notes: only 1 VSM, meaning much smaller internal vocabulary
Speak & Spell (Japan), 1980
- MCU: TMC0271* (assume same as US 1978 version)
- MCU: TMC0271* (assume same as US 1978 or 1979 version)
- TMS51xx(1/2): 16KB CD2321
- TMS51xx(2/2): 16KB CD2322
- notes: no local name for the product, words are in English but very low difficulty
@ -161,11 +161,11 @@ Speak & Read modules:
- Sea Sights: TMS51xx: 16KB CD2396 (rev.A)
- Who's Who at the Zoo: TMS51xx: 16KB CD2397
- A Dog on a Log: TMS51xx: 16KB CD3534 (rev.A)
- The Seal That Could Fly: TMS51xx: 16KB CD3535*
- The Seal That Could Fly: TMS51xx: 16KB CD3535
- A Ghost in the House: TMS51xx: 16KB CD3536*
- On the Track: TMS51xx: 16KB CD3538
- The Third Circle: TMS51xx: 16KB CD3539*
- The Millionth Knight: TMS51xx: 16KB CD3540*
- The Millionth Knight: TMS51xx: 16KB CD3540
Touch & Tell:
@ -743,7 +743,7 @@ MACHINE_CONFIG_END
ROM_START( snspell )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent 4189779, may have errors
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent 4189779, verified by 2 sources
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )