trunk/src/mess/drivers/elecbowl.c
| r245479 | r245480 | |
| 11 | 11 | 2*CD4043 quad r/s input latch |
| 12 | 12 | * 5 7seg LEDs, 15 lamps(10 lamps projected to bowling pins reflection), |
| 13 | 13 | 1bit-sound with crude volume control |
| 14 | | * edge connector to sensor board, inputs, ...? |
| 14 | * edge connector to sensors(switches trigger when ball rolls over) |
| 15 | and other inputs |
| 15 | 16 | |
| 16 | 17 | lamp translation table: SN74259.u5(mux 1) goes to MESS output lamp5x, |
| 17 | 18 | SN74259.u6(mux 2) goes to MESS output lamp6x. u1-u3 are SN75492 ICs, |
| r245479 | r245480 | |
| 62 | 63 | } |
| 63 | 64 | |
| 64 | 65 | // lamp muxes |
| 65 | | UINT8 d = m_r >> 1 & 1; |
| 66 | | m_display_state[5] = (m_r & 1) ? (d << (m_o & 7)) : 0; |
| 67 | | m_display_state[6] = (m_r >> 2 & 1) ? (d << (m_o & 7)) : 0; |
| 66 | UINT8 mask = 1 << (m_o & 7); |
| 67 | UINT8 d = (m_r & 2) ? mask : 0; |
| 68 | if (~m_r & 1) |
| 69 | m_display_state[5] = (m_display_state[5] & ~mask) | d; |
| 70 | if (~m_r & 4) |
| 71 | m_display_state[6] = (m_display_state[6] & ~mask) | d; |
| 68 | 72 | |
| 69 | | // digit 4 is from u6 Q7 |
| 73 | // digit 4 is from mux2 Q7 |
| 70 | 74 | m_display_segmask[4] = 6; |
| 71 | 75 | m_display_state[4] = (m_display_state[6] & 0x80) ? 6 : 0; |
| 72 | 76 | |
| r245479 | r245480 | |
| 92 | 96 | m_speaker->level_w(data >> 9 & 1); |
| 93 | 97 | |
| 94 | 98 | // R4-R7: select digit |
| 95 | | // R0,R2: lamp muxes enable |
| 99 | // R0,R2: lamp mux1,2 _enable |
| 96 | 100 | // R1: lamp muxes state |
| 97 | 101 | m_r = data; |
| 98 | 102 | prepare_display(); |
| r245479 | r245480 | |
| 100 | 104 | |
| 101 | 105 | WRITE16_MEMBER(elecbowl_state::write_o) |
| 102 | 106 | { |
| 103 | | // O0-O2: lamp mux |
| 107 | //if (data & 0x80) printf("%X ",data&0x7f); |
| 108 | |
| 109 | // O0-O2: lamp muxes select |
| 104 | 110 | // O0-O6: digit segments A-G |
| 105 | 111 | // O7: N/C |
| 106 | | //if (data & 0x80) printf("%X ",data&0x7f); |
| 107 | | |
| 108 | 112 | m_o = data & 0x7f; |
| 109 | 113 | prepare_display(); |
| 110 | 114 | } |
| r245479 | r245480 | |
| 132 | 136 | PORT_START("IN.1") // R6 |
| 133 | 137 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) |
| 134 | 138 | PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) |
| 135 | | PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) |
| 136 | | PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) // reset/newgame? |
| 139 | PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) // reset/test? |
| 140 | PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) // reset/test? |
| 137 | 141 | |
| 138 | 142 | PORT_START("IN.2") // R7 |
| 139 | 143 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) |
| r245479 | r245480 | |
| 145 | 149 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) |
| 146 | 150 | PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) |
| 147 | 151 | PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) |
| 148 | | PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_V) |
| 152 | PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_V) // 2 players sw? |
| 149 | 153 | INPUT_PORTS_END |
| 150 | 154 | |
| 151 | 155 | |
| r245479 | r245480 | |
| 171 | 175 | lA+lB+lG+lF+lC+lD, // 9 |
| 172 | 176 | |
| 173 | 177 | 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, |
| 174 | | 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, |
| 178 | 0,1,2,3,4,5,6,7, // lamp muxes select |
| 175 | 179 | 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f |
| 176 | 180 | }; |
| 177 | 181 | |
trunk/src/mess/drivers/tispeak.c
| r245479 | r245480 | |
| 50 | 50 | - notes: only 1 VSM, meaning much smaller internal vocabulary |
| 51 | 51 | |
| 52 | 52 | Speak & Spell (Japan), 1980 |
| 53 | | - MCU: TMC0271* (assume same as US 1978 version) |
| 53 | - MCU: TMC0271* (assume same as US 1978 or 1979 version) |
| 54 | 54 | - TMS51xx(1/2): 16KB CD2321 |
| 55 | 55 | - TMS51xx(2/2): 16KB CD2322 |
| 56 | 56 | - notes: no local name for the product, words are in English but very low difficulty |
| r245479 | r245480 | |
| 161 | 161 | - Sea Sights: TMS51xx: 16KB CD2396 (rev.A) |
| 162 | 162 | - Who's Who at the Zoo: TMS51xx: 16KB CD2397 |
| 163 | 163 | - A Dog on a Log: TMS51xx: 16KB CD3534 (rev.A) |
| 164 | | - The Seal That Could Fly: TMS51xx: 16KB CD3535* |
| 164 | - The Seal That Could Fly: TMS51xx: 16KB CD3535 |
| 165 | 165 | - A Ghost in the House: TMS51xx: 16KB CD3536* |
| 166 | 166 | - On the Track: TMS51xx: 16KB CD3538 |
| 167 | 167 | - The Third Circle: TMS51xx: 16KB CD3539* |
| 168 | | - The Millionth Knight: TMS51xx: 16KB CD3540* |
| 168 | - The Millionth Knight: TMS51xx: 16KB CD3540 |
| 169 | 169 | |
| 170 | 170 | |
| 171 | 171 | Touch & Tell: |
| r245479 | r245480 | |
| 743 | 743 | |
| 744 | 744 | ROM_START( snspell ) |
| 745 | 745 | ROM_REGION( 0x1000, "maincpu", 0 ) |
| 746 | | ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent 4189779, may have errors |
| 746 | ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent 4189779, verified by 2 sources |
| 747 | 747 | |
| 748 | 748 | ROM_REGION( 1246, "maincpu:ipla", 0 ) |
| 749 | 749 | ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) |