trunk/src/mame/drivers/kenseim.c
| r30876 | r30877 | |
| 154 | 154 | m_from68k_st3(0), |
| 155 | 155 | m_from68k_st2(0) |
| 156 | 156 | |
| 157 | | { } |
| 157 | { |
| 158 | for (int i = 0; i < 6; i++) |
| 159 | { |
| 160 | mole_state_a[i] = 0x00; |
| 161 | mole_state_b[i] = 0x00; |
| 162 | } |
| 163 | } |
| 158 | 164 | |
| 165 | void mole_up(int side, int mole) |
| 166 | { |
| 167 | if (side == 0) |
| 168 | mole_state_a[mole] = 80; |
| 169 | else |
| 170 | mole_state_b[mole] = 80; |
| 171 | } |
| 172 | |
| 173 | void mole_down(int side, int mole) |
| 174 | { |
| 175 | if (side == 0) |
| 176 | mole_state_a[mole] = 0x00; |
| 177 | else |
| 178 | mole_state_b[mole] = 0x00; |
| 179 | } |
| 180 | |
| 181 | void update_moles() |
| 182 | { |
| 183 | for (int i = 0; i < 6; i++) |
| 184 | { |
| 185 | char temp[32]; |
| 186 | sprintf(temp, "molea_%d", i); |
| 187 | output_set_value(temp, mole_state_a[i]); |
| 188 | } |
| 189 | |
| 190 | for (int i = 0; i < 6; i++) |
| 191 | { |
| 192 | char temp[32]; |
| 193 | sprintf(temp, "moleb_%d", i); |
| 194 | output_set_value(temp, mole_state_b[i]); |
| 195 | } |
| 196 | } |
| 197 | |
| 198 | |
| 159 | 199 | /* kenseim */ |
| 160 | 200 | DECLARE_WRITE16_MEMBER(cps1_kensei_w); |
| 161 | 201 | DECLARE_DRIVER_INIT(kenseim); |
| r30876 | r30877 | |
| 212 | 252 | int m_led_latch; |
| 213 | 253 | int m_led_serial_data; |
| 214 | 254 | int m_led_clock; |
| 255 | |
| 256 | int mole_state_a[6]; |
| 257 | int mole_state_b[6]; |
| 258 | |
| 215 | 259 | }; |
| 216 | 260 | |
| 217 | 261 | |
| r30876 | r30877 | |
| 292 | 336 | |
| 293 | 337 | WRITE8_MEMBER(kenseim_state::i8255_porta_w) // maybe molesa output? (6-bits?) |
| 294 | 338 | { |
| 295 | | //logerror("%s i8255 write %02x to port A (mole output 1?)\n", machine().describe_context(), data); |
| 339 | if (data&0xc0) printf("%s i8255 write %02x to port A (mole output 1?)\n", machine().describe_context(), data); |
| 340 | |
| 341 | |
| 342 | for (int i = 0; i < 6; i++) |
| 343 | { |
| 344 | int bit = (data >> i) & 1; |
| 345 | |
| 346 | if (bit) |
| 347 | mole_down(0, i); |
| 348 | else |
| 349 | mole_up(0, i); |
| 350 | } |
| 351 | |
| 352 | update_moles(); |
| 353 | |
| 296 | 354 | } |
| 297 | 355 | |
| 298 | 356 | WRITE8_MEMBER(kenseim_state::i8255_portb_w) // maybe molesb output? (6-bits?) |
| 299 | 357 | { |
| 300 | | //logerror("%s i8255 write %02x to port B (mole output 2?)\n", machine().describe_context(), data); |
| 358 | if (data&0xc0) printf("%s i8255 write %02x to port B (mole output 2?)\n", machine().describe_context(), data); |
| 359 | |
| 360 | for (int i = 0; i < 6; i++) |
| 361 | { |
| 362 | int bit = (data >> i) & 1; |
| 363 | |
| 364 | if (bit) |
| 365 | mole_down(1, i); |
| 366 | else |
| 367 | mole_up(1, i); |
| 368 | } |
| 369 | |
| 370 | update_moles(); |
| 371 | |
| 301 | 372 | } |
| 302 | 373 | |
| 303 | 374 | WRITE8_MEMBER(kenseim_state::i8255_portf_w) |
| 304 | 375 | { |
| 305 | 376 | // typically written when the 'moles' output is, maybe the 2 strobes? |
| 306 | | //logerror("%s i8255 write %02x to port F (strobe?)\n", machine().describe_context(), data); |
| 377 | printf("%s i8255 write %02x to port F (strobe?)\n", machine().describe_context(), data); |
| 307 | 378 | } |
| 308 | 379 | |
| 309 | 380 | |
trunk/src/mame/layout/kenseim.lay
| r30876 | r30877 | |
| 24 | 24 | <element name="start2"><text string="Chun-Li"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 25 | 25 | <element name="start3"><text string="Start"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 26 | 26 | |
| 27 | <element name="mole_sim"> |
| 28 | <disk state ="0"><color red="0.20" green="0.20" blue="0.20" /></disk> |
| 29 | <disk state ="1"><color red="0.20" green="0.20" blue="0.21" /></disk> |
| 30 | <disk state ="2"><color red="0.20" green="0.20" blue="0.22" /></disk> |
| 31 | <disk state ="3"><color red="0.20" green="0.20" blue="0.23" /></disk> |
| 32 | <disk state ="4"><color red="0.20" green="0.20" blue="0.24" /></disk> |
| 33 | <disk state ="5"><color red="0.20" green="0.20" blue="0.25" /></disk> |
| 34 | <disk state ="6"><color red="0.20" green="0.20" blue="0.26" /></disk> |
| 35 | <disk state ="7"><color red="0.20" green="0.20" blue="0.27" /></disk> |
| 36 | <disk state ="8"><color red="0.20" green="0.20" blue="0.28" /></disk> |
| 37 | <disk state ="9"><color red="0.20" green="0.20" blue="0.29" /></disk> |
| 38 | <disk state ="10"><color red="0.20" green="0.20" blue="0.30" /></disk> |
| 39 | <disk state ="11"><color red="0.20" green="0.20" blue="0.31" /></disk> |
| 40 | <disk state ="12"><color red="0.20" green="0.20" blue="0.32" /></disk> |
| 41 | <disk state ="13"><color red="0.20" green="0.20" blue="0.33" /></disk> |
| 42 | <disk state ="14"><color red="0.20" green="0.20" blue="0.34" /></disk> |
| 43 | <disk state ="15"><color red="0.20" green="0.20" blue="0.35" /></disk> |
| 44 | <disk state ="16"><color red="0.20" green="0.20" blue="0.36" /></disk> |
| 45 | <disk state ="17"><color red="0.20" green="0.20" blue="0.37" /></disk> |
| 46 | <disk state ="18"><color red="0.20" green="0.20" blue="0.38" /></disk> |
| 47 | <disk state ="19"><color red="0.20" green="0.20" blue="0.39" /></disk> |
| 48 | <disk state ="20"><color red="0.20" green="0.20" blue="0.40" /></disk> |
| 49 | <disk state ="21"><color red="0.20" green="0.20" blue="0.41" /></disk> |
| 50 | <disk state ="22"><color red="0.20" green="0.20" blue="0.42" /></disk> |
| 51 | <disk state ="23"><color red="0.20" green="0.20" blue="0.43" /></disk> |
| 52 | <disk state ="24"><color red="0.20" green="0.20" blue="0.44" /></disk> |
| 53 | <disk state ="25"><color red="0.20" green="0.20" blue="0.45" /></disk> |
| 54 | <disk state ="26"><color red="0.20" green="0.20" blue="0.46" /></disk> |
| 55 | <disk state ="27"><color red="0.20" green="0.20" blue="0.47" /></disk> |
| 56 | <disk state ="28"><color red="0.20" green="0.20" blue="0.48" /></disk> |
| 57 | <disk state ="29"><color red="0.20" green="0.20" blue="0.49" /></disk> |
| 58 | <disk state ="30"><color red="0.20" green="0.20" blue="0.50" /></disk> |
| 59 | <disk state ="31"><color red="0.20" green="0.20" blue="0.51" /></disk> |
| 60 | <disk state ="32"><color red="0.20" green="0.20" blue="0.52" /></disk> |
| 61 | <disk state ="33"><color red="0.20" green="0.20" blue="0.53" /></disk> |
| 62 | <disk state ="34"><color red="0.20" green="0.20" blue="0.54" /></disk> |
| 63 | <disk state ="35"><color red="0.20" green="0.20" blue="0.55" /></disk> |
| 64 | <disk state ="36"><color red="0.20" green="0.20" blue="0.56" /></disk> |
| 65 | <disk state ="37"><color red="0.20" green="0.20" blue="0.57" /></disk> |
| 66 | <disk state ="38"><color red="0.20" green="0.20" blue="0.58" /></disk> |
| 67 | <disk state ="39"><color red="0.20" green="0.20" blue="0.59" /></disk> |
| 68 | <disk state ="40"><color red="0.20" green="0.20" blue="0.60" /></disk> |
| 69 | <disk state ="41"><color red="0.20" green="0.20" blue="0.61" /></disk> |
| 70 | <disk state ="42"><color red="0.20" green="0.20" blue="0.62" /></disk> |
| 71 | <disk state ="43"><color red="0.20" green="0.20" blue="0.63" /></disk> |
| 72 | <disk state ="44"><color red="0.20" green="0.20" blue="0.64" /></disk> |
| 73 | <disk state ="45"><color red="0.20" green="0.20" blue="0.65" /></disk> |
| 74 | <disk state ="46"><color red="0.20" green="0.20" blue="0.66" /></disk> |
| 75 | <disk state ="47"><color red="0.20" green="0.20" blue="0.67" /></disk> |
| 76 | <disk state ="48"><color red="0.20" green="0.20" blue="0.68" /></disk> |
| 77 | <disk state ="49"><color red="0.20" green="0.20" blue="0.69" /></disk> |
| 78 | <disk state ="50"><color red="0.20" green="0.20" blue="0.70" /></disk> |
| 79 | <disk state ="51"><color red="0.20" green="0.20" blue="0.71" /></disk> |
| 80 | <disk state ="52"><color red="0.20" green="0.20" blue="0.72" /></disk> |
| 81 | <disk state ="53"><color red="0.20" green="0.20" blue="0.73" /></disk> |
| 82 | <disk state ="54"><color red="0.20" green="0.20" blue="0.74" /></disk> |
| 83 | <disk state ="55"><color red="0.20" green="0.20" blue="0.75" /></disk> |
| 84 | <disk state ="56"><color red="0.20" green="0.20" blue="0.76" /></disk> |
| 85 | <disk state ="57"><color red="0.20" green="0.20" blue="0.77" /></disk> |
| 86 | <disk state ="58"><color red="0.20" green="0.20" blue="0.78" /></disk> |
| 87 | <disk state ="59"><color red="0.20" green="0.20" blue="0.79" /></disk> |
| 88 | <disk state ="60"><color red="0.20" green="0.20" blue="0.80" /></disk> |
| 89 | <disk state ="61"><color red="0.20" green="0.20" blue="0.81" /></disk> |
| 90 | <disk state ="62"><color red="0.20" green="0.20" blue="0.82" /></disk> |
| 91 | <disk state ="63"><color red="0.20" green="0.20" blue="0.83" /></disk> |
| 92 | <disk state ="64"><color red="0.20" green="0.20" blue="0.84" /></disk> |
| 93 | <disk state ="65"><color red="0.20" green="0.20" blue="0.85" /></disk> |
| 94 | <disk state ="66"><color red="0.20" green="0.20" blue="0.86" /></disk> |
| 95 | <disk state ="67"><color red="0.20" green="0.20" blue="0.87" /></disk> |
| 96 | <disk state ="68"><color red="0.20" green="0.20" blue="0.88" /></disk> |
| 97 | <disk state ="69"><color red="0.20" green="0.20" blue="0.89" /></disk> |
| 98 | <disk state ="70"><color red="0.20" green="0.20" blue="0.90" /></disk> |
| 99 | <disk state ="71"><color red="0.20" green="0.20" blue="0.91" /></disk> |
| 100 | <disk state ="72"><color red="0.20" green="0.20" blue="0.92" /></disk> |
| 101 | <disk state ="73"><color red="0.20" green="0.20" blue="0.93" /></disk> |
| 102 | <disk state ="74"><color red="0.20" green="0.20" blue="0.94" /></disk> |
| 103 | <disk state ="75"><color red="0.20" green="0.20" blue="0.95" /></disk> |
| 104 | <disk state ="76"><color red="0.20" green="0.20" blue="0.96" /></disk> |
| 105 | <disk state ="77"><color red="0.20" green="0.20" blue="0.97" /></disk> |
| 106 | <disk state ="78"><color red="0.20" green="0.20" blue="0.98" /></disk> |
| 107 | <disk state ="79"><color red="0.20" green="0.20" blue="0.99" /></disk> |
| 108 | <disk state ="80"><color red="0.20" green="0.20" blue="1.00" /></disk> |
| 109 | </element> |
| 110 | |
| 27 | 111 | |
| 28 | | |
| 29 | 112 | <view name="Cabinet Lamps and Screen"> |
| 30 | 113 | |
| 31 | 114 | <backdrop name="lamp1" element="powerled" state="0"> |
| r30876 | r30877 | |
| 111 | 194 | <bounds x="180" y="263" width="30" height="8"/> |
| 112 | 195 | </backdrop> |
| 113 | 196 | |
| 197 | |
| 198 | <backdrop name="molea_0" element="mole_sim" state="0"><bounds x="15.0" y="275" width="25" height="25"/></backdrop> |
| 199 | <backdrop name="molea_3" element="mole_sim" state="0"><bounds x="15.0" y="305" width="25" height="25"/></backdrop> |
| 200 | <backdrop name="molea_1" element="mole_sim" state="0"><bounds x="40.0" y="260" width="30" height="30"/></backdrop> <!-- big mole --> |
| 201 | <backdrop name="molea_4" element="mole_sim" state="0"><bounds x="42.5" y="300" width="25" height="25"/></backdrop> |
| 202 | <backdrop name="molea_2" element="mole_sim" state="0"><bounds x="70.0" y="275" width="25" height="25"/></backdrop> |
| 203 | <backdrop name="molea_5" element="mole_sim" state="0"><bounds x="70.0" y="305" width="25" height="25"/></backdrop> |
| 204 | |
| 205 | <backdrop name="moleb_0" element="mole_sim" state="0"><bounds x="225.0" y="275" width="25" height="25"/></backdrop> |
| 206 | <backdrop name="moleb_3" element="mole_sim" state="0"><bounds x="225.0" y="305" width="25" height="25"/></backdrop> |
| 207 | <backdrop name="moleb_1" element="mole_sim" state="0"><bounds x="250.0" y="260" width="30" height="30"/></backdrop> <!-- big mole --> |
| 208 | <backdrop name="moleb_4" element="mole_sim" state="0"><bounds x="252.5" y="300" width="25" height="25"/></backdrop> |
| 209 | <backdrop name="moleb_2" element="mole_sim" state="0"><bounds x="280.0" y="275" width="25" height="25"/></backdrop> |
| 210 | <backdrop name="moleb_5" element="mole_sim" state="0"><bounds x="280.0" y="305" width="25" height="25"/></backdrop> |
| 114 | 211 | |
| 212 | |
| 115 | 213 | <screen index="0"> |
| 116 | 214 | <bounds x="0" y="0" width="320" height="240" /> |
| 117 | 215 | </screen> |