trunk/src/mess/drivers/ti74.c
| r32264 | r32265 | |
| 87 | 87 | : driver_device(mconfig, type, tag), |
| 88 | 88 | m_maincpu(*this, "maincpu"), |
| 89 | 89 | m_cart(*this, "cartslot"), |
| 90 | m_key_matrix(*this, "IN"), |
| 90 | 91 | m_battery_inp(*this, "BATTERY") |
| 91 | 92 | { } |
| 92 | 93 | |
| 93 | 94 | required_device<tms70c46_device> m_maincpu; |
| 94 | 95 | required_device<generic_slot_device> m_cart; |
| 96 | required_ioport_array<8> m_key_matrix; |
| 95 | 97 | required_ioport m_battery_inp; |
| 96 | 98 | |
| 97 | | ioport_port *m_key_matrix[8]; |
| 98 | | |
| 99 | 99 | UINT8 m_key_select; |
| 100 | 100 | UINT8 m_power; |
| 101 | 101 | |
| r32264 | r32265 | |
| 298 | 298 | // 8x8 keyboard matrix, RESET and ON buttons are not on it. Unused entries are not connected, but some have a purpose for factory testing. |
| 299 | 299 | // For convenience, number keys are mapped to number row too. |
| 300 | 300 | // PORT_NAME lists functions under [SHIFT] and [MODE] or [STAT] as secondaries. |
| 301 | | PORT_START("IN0") |
| 301 | PORT_START("IN.0") |
| 302 | 302 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') PORT_NAME("m M Frac") |
| 303 | 303 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_NAME("k K Frq") |
| 304 | 304 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') PORT_NAME("i I SQR(x)") |
| r32264 | r32265 | |
| 308 | 308 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_NAME("j J nCr") |
| 309 | 309 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') PORT_NAME("n N Intg") |
| 310 | 310 | |
| 311 | | PORT_START("IN1") |
| 311 | PORT_START("IN.1") |
| 312 | 312 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('%') |
| 313 | 313 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_NAME("l L (x,y)") |
| 314 | 314 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') PORT_NAME("o O 1/x") |
| r32264 | r32265 | |
| 318 | 318 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_NAME("h H nPr") |
| 319 | 319 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') PORT_NAME("b B EXC") |
| 320 | 320 | |
| 321 | | PORT_START("IN2") |
| 321 | PORT_START("IN.2") |
| 322 | 322 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') PORT_CHAR('\'') PORT_NAME("SPACE ' DELTA%") |
| 323 | 323 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':') PORT_NAME("; : SIGMA+") |
| 324 | 324 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') PORT_NAME("p P y^x") |
| r32264 | r32265 | |
| 328 | 328 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_NAME("g G n!") |
| 329 | 329 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') PORT_NAME("v V SUM") |
| 330 | 330 | |
| 331 | | PORT_START("IN3") |
| 331 | PORT_START("IN.3") |
| 332 | 332 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(13) PORT_CHAR('=') PORT_NAME("ENTER =") |
| 333 | 333 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 334 | 334 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_NAME("CLR UCL CE/C") |
| r32264 | r32265 | |
| 338 | 338 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_NAME("f F P->R") |
| 339 | 339 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') PORT_NAME("c C RCL") |
| 340 | 340 | |
| 341 | | PORT_START("IN4") |
| 341 | PORT_START("IN.4") |
| 342 | 342 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('~') PORT_CHAR('?') PORT_NAME("+/- ? CSR") |
| 343 | 343 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') PORT_NAME("1 ! r") |
| 344 | 344 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') PORT_NAME("4 $ SIGMA(x)") |
| r32264 | r32265 | |
| 348 | 348 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_NAME("d D DRG->") |
| 349 | 349 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_NAME("x X STO") |
| 350 | 350 | |
| 351 | | PORT_START("IN5") |
| 351 | PORT_START("IN.5") |
| 352 | 352 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('<') PORT_NAME("0 < x'") |
| 353 | 353 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"') PORT_NAME("2 \" a") |
| 354 | 354 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('&') PORT_NAME("5 & SIGMA(y)") |
| r32264 | r32265 | |
| 358 | 358 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_NAME("s S DRG") |
| 359 | 359 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_NAME("z Z PRINT") |
| 360 | 360 | |
| 361 | | PORT_START("IN6") |
| 361 | PORT_START("IN.6") |
| 362 | 362 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR('.') PORT_CHAR('>') PORT_NAME(". > y'") // 2 on the keyboard, same scancode |
| 363 | 363 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3_PAD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') PORT_NAME("3 # b") |
| 364 | 364 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6_PAD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^') PORT_NAME("6 ^ n") |
| r32264 | r32265 | |
| 368 | 368 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_NAME("a A DMS->DD") |
| 369 | 369 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 370 | 370 | |
| 371 | | PORT_START("IN7") |
| 371 | PORT_START("IN.7") |
| 372 | 372 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("+ sy") |
| 373 | 373 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_NAME("- sx") |
| 374 | 374 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("* _y") |
| r32264 | r32265 | |
| 388 | 388 | // 8x8 keyboard matrix, RESET and ON buttons are not on it. |
| 389 | 389 | // For convenience, number keys are mapped to number row too. |
| 390 | 390 | // PORT_NAME lists functions under [ALPHA] and [2nd] as secondaries. |
| 391 | | PORT_START("IN0") |
| 391 | PORT_START("IN.0") |
| 392 | 392 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("OFF") |
| 393 | 393 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("BREAK Q") |
| 394 | 394 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_NAME("SIN A") |
| r32264 | r32265 | |
| 398 | 398 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_NAME("/ \\ DFN") |
| 399 | 399 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR('=') PORT_NAME("= ~ TRACE") |
| 400 | 400 | |
| 401 | | PORT_START("IN1") |
| 401 | PORT_START("IN.1") |
| 402 | 402 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_NAME("EE { ENG") |
| 403 | 403 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_NAME("HALT W") |
| 404 | 404 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_NAME("COS S") |
| r32264 | r32265 | |
| 408 | 408 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("+ & RTN") |
| 409 | 409 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_NAME("2 : GTL") |
| 410 | 410 | |
| 411 | | PORT_START("IN2") |
| 411 | PORT_START("IN.2") |
| 412 | 412 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1) PORT_NAME("F1") |
| 413 | 413 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_NAME("SIGMA+ E") |
| 414 | 414 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_NAME("TAN D") |
| r32264 | r32265 | |
| 418 | 418 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_NAME("- _ 13d") |
| 419 | 419 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_NAME("5 % CMS") |
| 420 | 420 | |
| 421 | | PORT_START("IN3") |
| 421 | PORT_START("IN.3") |
| 422 | 422 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2) PORT_NAME("F2") |
| 423 | 423 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME("x~t R AH") |
| 424 | 424 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_NAME("LN F") |
| r32264 | r32265 | |
| 428 | 428 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("* ^ PI") |
| 429 | 429 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_NAME("8 < nCr") |
| 430 | 430 | |
| 431 | | PORT_START("IN4") |
| 431 | PORT_START("IN.4") |
| 432 | 432 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F3) PORT_NAME("F3") |
| 433 | 433 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_NAME("HYP T BH") |
| 434 | 434 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("LOG G") |
| r32264 | r32265 | |
| 438 | 438 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR('.') PORT_NAME(". ? ADV") |
| 439 | 439 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("+/- ! PRINT") |
| 440 | 440 | |
| 441 | | PORT_START("IN5") |
| 441 | PORT_START("IN.5") |
| 442 | 442 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F4) PORT_NAME("F4") |
| 443 | 443 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_NAME("INCR Y CH") |
| 444 | 444 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_NAME("x^2 H") |
| r32264 | r32265 | |
| 448 | 448 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_NAME("INV P") |
| 449 | 449 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7_PAD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_NAME("7 } nPr") |
| 450 | 450 | |
| 451 | | PORT_START("IN6") |
| 451 | PORT_START("IN.6") |
| 452 | 452 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F5) PORT_NAME("F5") |
| 453 | 453 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_NAME("EXC U DH") |
| 454 | 454 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_NAME("SQR(x) J") |
| r32264 | r32265 | |
| 458 | 458 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_NAME("2nd") |
| 459 | 459 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_4) PORT_CHAR('4' )PORT_NAME("4 IND") |
| 460 | 460 | |
| 461 | | PORT_START("IN7") |
| 461 | PORT_START("IN.7") |
| 462 | 462 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('(') PORT_NAME("( [ FIX") |
| 463 | 463 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_NAME("STO I EH") |
| 464 | 464 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_NAME("1/x K") |
| r32264 | r32265 | |
| 492 | 492 | |
| 493 | 493 | void ti74_state::machine_start() |
| 494 | 494 | { |
| 495 | | static const char *const tags[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" }; |
| 496 | | for (int i = 0; i < 8; i++) |
| 497 | | m_key_matrix[i] = ioport(tags[i]); |
| 498 | | |
| 499 | 495 | if (m_cart->cart_mounted()) |
| 500 | 496 | m_maincpu->space(AS_PROGRAM).install_read_handler(0x4000, 0xbfff, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart)); |
| 501 | 497 | |
trunk/src/mame/drivers/namcos22.c
| r32264 | r32265 | |
| 2796 | 2796 | |
| 2797 | 2797 | READ8_MEMBER(namcos22_state::namcos22s_mcu_adc_r) |
| 2798 | 2798 | { |
| 2799 | | static const char *const portnames[] = { "ADC0", "ADC1", "ADC2", "ADC3" }; |
| 2800 | | if (offset & 1) |
| 2801 | | return (ioport(portnames[offset >> 1 & 3])->read_safe(0) << 2) >> 8 & 0xff; |
| 2802 | | else |
| 2803 | | return (ioport(portnames[offset >> 1 & 3])->read_safe(0) << 2) & 0xff; |
| 2799 | UINT16 adc = m_adc_inp[offset >> 1 & 7]->read_safe(0) << 2; |
| 2800 | return (offset & 1) ? adc >> 8 : adc; |
| 2804 | 2801 | } |
| 2805 | 2802 | |
| 2806 | 2803 | static ADDRESS_MAP_START( mcu_program, AS_PROGRAM, 16, namcos22_state ) |
| r32264 | r32265 | |
| 2819 | 2816 | AM_RANGE(M37710_PORT5, M37710_PORT5) AM_READWRITE(mcu_port5_r, mcu_port5_w) |
| 2820 | 2817 | AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READWRITE(mcu_port6_r, mcu_port6_w) |
| 2821 | 2818 | AM_RANGE(M37710_PORT7, M37710_PORT7) AM_READWRITE(mcu_port7_r, mcu_port7_w) |
| 2822 | | AM_RANGE(M37710_ADC0_L, M37710_ADC3_H) AM_READ(namcos22s_mcu_adc_r) |
| 2823 | | AM_RANGE(M37710_ADC4_L, M37710_ADC7_H) AM_READNOP |
| 2819 | AM_RANGE(M37710_ADC0_L, M37710_ADC7_H) AM_READ(namcos22s_mcu_adc_r) |
| 2824 | 2820 | ADDRESS_MAP_END |
| 2825 | 2821 | |
| 2826 | 2822 | /*********************************************************************************************/ |
| r32264 | r32265 | |
| 3352 | 3348 | PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state,alpine_motor_read, (void *)1) // steps are locked |
| 3353 | 3349 | PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3354 | 3350 | |
| 3355 | | PORT_START("ADC0") |
| 3351 | PORT_START("ADC.0") |
| 3356 | 3352 | PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steps Swing") |
| 3357 | 3353 | |
| 3358 | | PORT_START("ADC1") |
| 3354 | PORT_START("ADC.1") |
| 3359 | 3355 | PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steps Edge") |
| 3360 | 3356 | INPUT_PORTS_END |
| 3361 | 3357 | |
| r32264 | r32265 | |
| 3384 | 3380 | PORT_START("MCUP5B") |
| 3385 | 3381 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3386 | 3382 | |
| 3387 | | PORT_START("ADC0") |
| 3383 | PORT_START("ADC.0") |
| 3388 | 3384 | PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) |
| 3389 | 3385 | |
| 3390 | | PORT_START("ADC1") |
| 3386 | PORT_START("ADC.1") |
| 3391 | 3387 | PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) |
| 3392 | 3388 | |
| 3393 | | PORT_START("ADC2") |
| 3389 | PORT_START("ADC.2") |
| 3394 | 3390 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) |
| 3395 | 3391 | INPUT_PORTS_END |
| 3396 | 3392 | |
| r32264 | r32265 | |
| 3421 | 3417 | PORT_START("MCUP5B") |
| 3422 | 3418 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3423 | 3419 | |
| 3424 | | PORT_START("ADC0") |
| 3420 | PORT_START("ADC.0") |
| 3425 | 3421 | PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel") |
| 3426 | 3422 | |
| 3427 | | PORT_START("ADC1") |
| 3423 | PORT_START("ADC.1") |
| 3428 | 3424 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal") |
| 3429 | 3425 | |
| 3430 | | PORT_START("ADC2") |
| 3426 | PORT_START("ADC.2") |
| 3431 | 3427 | PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal") |
| 3432 | 3428 | INPUT_PORTS_END |
| 3433 | 3429 | |
| r32264 | r32265 | |
| 3456 | 3452 | PORT_START("MCUP5B") |
| 3457 | 3453 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3458 | 3454 | |
| 3459 | | PORT_START("ADC0") |
| 3455 | PORT_START("ADC.0") |
| 3460 | 3456 | PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(3) PORT_NAME("Steering Wheel") |
| 3461 | 3457 | |
| 3462 | | PORT_START("ADC1") |
| 3458 | PORT_START("ADC.1") |
| 3463 | 3459 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal") |
| 3464 | 3460 | |
| 3465 | | PORT_START("ADC2") |
| 3461 | PORT_START("ADC.2") |
| 3466 | 3462 | PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal") |
| 3467 | 3463 | INPUT_PORTS_END |
| 3468 | 3464 | |
| r32264 | r32265 | |
| 3493 | 3489 | PORT_START("MCUP5B") |
| 3494 | 3490 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3495 | 3491 | |
| 3496 | | PORT_START("ADC0") |
| 3492 | PORT_START("ADC.0") |
| 3497 | 3493 | PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel") |
| 3498 | 3494 | |
| 3499 | | PORT_START("ADC2") |
| 3495 | PORT_START("ADC.2") |
| 3500 | 3496 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal") |
| 3501 | 3497 | |
| 3502 | | PORT_START("ADC3") |
| 3498 | PORT_START("ADC.3") |
| 3503 | 3499 | PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal") |
| 3504 | 3500 | INPUT_PORTS_END |
| 3505 | 3501 | |
| r32264 | r32265 | |
| 3530 | 3526 | PORT_START("MCUP5B") |
| 3531 | 3527 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3532 | 3528 | |
| 3533 | | PORT_START("ADC0") |
| 3529 | PORT_START("ADC.0") |
| 3534 | 3530 | PORT_BIT( 0xff, 0x7f, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE |
| 3535 | 3531 | |
| 3536 | | PORT_START("ADC1") |
| 3532 | PORT_START("ADC.1") |
| 3537 | 3533 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0x80) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE |
| 3538 | 3534 | |
| 3539 | | PORT_START("ADC2") |
| 3535 | PORT_START("ADC.2") |
| 3540 | 3536 | PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE |
| 3541 | 3537 | INPUT_PORTS_END |
| 3542 | 3538 | |
| r32264 | r32265 | |
| 3610 | 3606 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START ) |
| 3611 | 3607 | PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 3612 | 3608 | |
| 3613 | | PORT_START("ADC0") |
| 3609 | PORT_START("ADC.0") |
| 3614 | 3610 | PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_MINMAX(0x00, 0xfe) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE |
| 3615 | 3611 | |
| 3616 | | PORT_START("ADC1") |
| 3612 | PORT_START("ADC.1") |
| 3617 | 3613 | PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_MINMAX(0x00, 0xfe) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) |
| 3618 | 3614 | |
| 3619 | 3615 | PORT_START("PEDAL") |
| r32264 | r32265 | |
| 3779 | 3775 | |
| 3780 | 3776 | MCFG_PALETTE_ADD("palette", 0x8000) |
| 3781 | 3777 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", namcos22) |
| 3782 | | MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22) |
| 3783 | 3778 | |
| 3784 | 3779 | /* sound hardware */ |
| 3785 | 3780 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| r32264 | r32265 | |
| 3829 | 3824 | |
| 3830 | 3825 | MCFG_PALETTE_ADD("palette", 0x8000) |
| 3831 | 3826 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", super) |
| 3832 | | MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22s) |
| 3833 | 3827 | |
| 3834 | 3828 | /* sound hardware */ |
| 3835 | 3829 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
trunk/src/mame/drivers/taitojc.c
| r32264 | r32265 | |
| 738 | 738 | |
| 739 | 739 | READ8_MEMBER(taitojc_state::hc11_analog_r) |
| 740 | 740 | { |
| 741 | | static const char *const portnames[] = { "ANALOG1", "ANALOG2", "ANALOG3", "ANALOG4", |
| 742 | | "ANALOG5", "ANALOG6", "ANALOG7", "ANALOG8" }; |
| 743 | | |
| 744 | | return ioport(portnames[offset])->read_safe(0); |
| 741 | return m_analog_inp[offset]->read_safe(0); |
| 745 | 742 | } |
| 746 | 743 | |
| 747 | 744 | |
| r32264 | r32265 | |
| 1000 | 997 | PORT_BIT( 0x77, 0x00, IPT_POSITIONAL_V ) PORT_POSITIONS(6) PORT_REMAP_TABLE(dendego_mascon_table) PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CENTERDELTA(0) PORT_NAME("Throttle Lever") |
| 1001 | 998 | PORT_BIT( 0x88, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1002 | 999 | |
| 1003 | | PORT_START("ANALOG1") // Brake Lever at right, rotate handle right (anti clockwise) to increase pressure, 11 positions but not at constant intervals like the throttle lever |
| 1000 | PORT_START("AN.0") // Brake Lever at right, rotate handle right (anti clockwise) to increase pressure, 11 positions but not at constant intervals like the throttle lever |
| 1004 | 1001 | PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xef) PORT_SENSITIVITY(35) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_NAME("Brake Lever") |
| 1005 | 1002 | INPUT_PORTS_END |
| 1006 | 1003 | |
| r32264 | r32265 | |
| 1010 | 1007 | PORT_MODIFY("UNUSED") |
| 1011 | 1008 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("View Switch") |
| 1012 | 1009 | |
| 1013 | | PORT_START("ANALOG1") // Lever X |
| 1010 | PORT_START("AN.0") // Lever X |
| 1014 | 1011 | PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) PORT_REVERSE |
| 1015 | 1012 | |
| 1016 | | PORT_START("ANALOG2") // Lever Y |
| 1013 | PORT_START("AN.1") // Lever Y |
| 1017 | 1014 | PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) |
| 1018 | 1015 | |
| 1019 | | PORT_START("ANALOG3") // Throttle |
| 1016 | PORT_START("AN.2") // Throttle |
| 1020 | 1017 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) PORT_REVERSE |
| 1021 | 1018 | INPUT_PORTS_END |
| 1022 | 1019 | |
| r32264 | r32265 | |
| 1033 | 1030 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up") |
| 1034 | 1031 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Shift Down") |
| 1035 | 1032 | |
| 1036 | | PORT_START("ANALOG1") // Steering |
| 1033 | PORT_START("AN.0") // Steering |
| 1037 | 1034 | PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel") |
| 1038 | 1035 | |
| 1039 | | PORT_START("ANALOG2") // Acceleration |
| 1036 | PORT_START("AN.1") // Acceleration |
| 1040 | 1037 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_NAME("Gas Pedal") |
| 1041 | 1038 | |
| 1042 | | PORT_START("ANALOG3") // Brake |
| 1039 | PORT_START("AN.2") // Brake |
| 1043 | 1040 | PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_NAME("Brake Pedal") |
| 1044 | 1041 | INPUT_PORTS_END |
| 1045 | 1042 | |
| r32264 | r32265 | |
| 1057 | 1054 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up") |
| 1058 | 1055 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Shift Down") |
| 1059 | 1056 | |
| 1060 | | PORT_START("ANALOG1") // Steering |
| 1057 | PORT_START("AN.0") // Steering |
| 1061 | 1058 | PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(10) PORT_REVERSE PORT_NAME("Steering Wheel") |
| 1062 | 1059 | |
| 1063 | | PORT_START("ANALOG2") // Acceleration |
| 1060 | PORT_START("AN.1") // Acceleration |
| 1064 | 1061 | PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_REVERSE PORT_NAME("Gas Pedal") |
| 1065 | 1062 | |
| 1066 | | PORT_START("ANALOG3") // Brake |
| 1063 | PORT_START("AN.2") // Brake |
| 1067 | 1064 | PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_REVERSE PORT_NAME("Brake Pedal") |
| 1068 | 1065 | INPUT_PORTS_END |
| 1069 | 1066 | |