src/mess/drivers/jaguar.c
| r2254 | r2255 | |
| 189 | 189 | UINT16 joybuts_result = 0xffff; |
| 190 | 190 | UINT32 result; |
| 191 | 191 | int i; |
| 192 | char port[9]; |
| 192 | 193 | |
| 193 | 194 | /* |
| 194 | 195 | * 16 12 8 4 0 |
| r2254 | r2255 | |
| 208 | 209 | { |
| 209 | 210 | if ((joystick_data & (0x10000 << i)) == 0) |
| 210 | 211 | { |
| 211 | | joystick_result &= readinputport(i); |
| 212 | | joybuts_result &= readinputport(i+8); |
| 212 | sprintf(port, "JOY%d", i); |
| 213 | joystick_result &= readinputportbytag(port); |
| 214 | |
| 215 | sprintf(port, "BUTTONS%d", i); |
| 216 | joybuts_result &= readinputportbytag(port); |
| 213 | 217 | } |
| 214 | 218 | } |
| 215 | 219 | |
| r2254 | r2255 | |
| 346 | 350 | *************************************/ |
| 347 | 351 | |
| 348 | 352 | static INPUT_PORTS_START( jaguar ) |
| 349 | | PORT_START /* [0] */ |
| 353 | PORT_START_TAG("JOY0") /* [0] */ |
| 350 | 354 | PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH ) PORT_PLAYER(1) |
| 351 | 355 | PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH ) PORT_PLAYER(1) |
| 352 | 356 | PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) PORT_CODE(JOYCODE_Y_DOWN_SWITCH ) PORT_PLAYER(1) |
| 353 | 357 | PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) PORT_CODE(JOYCODE_Y_UP_SWITCH ) PORT_PLAYER(1) |
| 354 | 358 | PORT_BIT ( 0xf0ff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 355 | | PORT_START /* [1] */ |
| 359 | PORT_START_TAG("JOY1") /* [1] */ |
| 356 | 360 | PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("*") PORT_CODE(KEYCODE_K) PORT_PLAYER(1) |
| 357 | 361 | PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_PLAYER(1) |
| 358 | 362 | PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_PLAYER(1) |
| 359 | 363 | PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_PLAYER(1) |
| 360 | 364 | PORT_BIT ( 0xf0ff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 361 | | PORT_START /* [2] */ |
| 365 | PORT_START_TAG("JOY2") /* [2] */ |
| 362 | 366 | PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_PLAYER(1) |
| 363 | 367 | PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_PLAYER(1) |
| 364 | 368 | PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_PLAYER(1) |
| 365 | 369 | PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_PLAYER(1) |
| 366 | 370 | PORT_BIT ( 0xf0ff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 367 | | PORT_START /* [3] */ |
| 371 | PORT_START_TAG("JOY3") /* [3] */ |
| 368 | 372 | PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_PLAYER(1) |
| 369 | 373 | PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_PLAYER(1) |
| 370 | 374 | PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_PLAYER(1) |
| 371 | 375 | PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("#") PORT_CODE(KEYCODE_L) PORT_PLAYER(1) |
| 372 | 376 | PORT_BIT ( 0xf0ff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 373 | | PORT_START /* [4] */ |
| 377 | PORT_START_TAG("JOY4") /* [4] */ |
| 374 | 378 | PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3") PORT_PLAYER(2) |
| 375 | 379 | PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6") PORT_PLAYER(2) |
| 376 | 380 | PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_PLAYER(2) |
| 377 | 381 | PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("#") PORT_PLAYER(2) |
| 378 | 382 | PORT_BIT ( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 379 | | PORT_START /* [5] */ |
| 383 | PORT_START_TAG("JOY5") /* [5] */ |
| 380 | 384 | PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2") PORT_PLAYER(2) |
| 381 | 385 | PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5") PORT_PLAYER(2) |
| 382 | 386 | PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8") PORT_PLAYER(2) |
| 383 | 387 | PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_PLAYER(2) |
| 384 | 388 | PORT_BIT ( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 385 | | PORT_START /* [6] */ |
| 389 | PORT_START_TAG("JOY6") /* [6] */ |
| 386 | 390 | PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("*") PORT_PLAYER(2) |
| 387 | 391 | PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7") PORT_PLAYER(2) |
| 388 | 392 | PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4") PORT_PLAYER(2) |
| 389 | 393 | PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1") PORT_PLAYER(2) |
| 390 | 394 | PORT_BIT ( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 391 | | PORT_START /* [7] */ |
| 395 | PORT_START_TAG("JOY7") /* [7] */ |
| 392 | 396 | PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_NAME("Right") PORT_CODE(KEYCODE_6_PAD) PORT_CODE(JOYCODE_X_RIGHT_SWITCH ) PORT_PLAYER(2) |
| 393 | 397 | PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_NAME("Left") PORT_CODE(KEYCODE_4_PAD) PORT_CODE(JOYCODE_X_LEFT_SWITCH ) PORT_PLAYER(2) |
| 394 | 398 | PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_NAME("Down") PORT_CODE(KEYCODE_2_PAD) PORT_CODE(JOYCODE_Y_DOWN_SWITCH ) PORT_PLAYER(2) |
| 395 | 399 | PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_NAME("Up") PORT_CODE(KEYCODE_8_PAD) PORT_CODE(JOYCODE_Y_UP_SWITCH ) PORT_PLAYER(2) |
| 396 | 400 | PORT_BIT ( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 397 | | PORT_START /* [8] */ |
| 401 | PORT_START_TAG("BUTTONS0") /* [8] */ |
| 398 | 402 | PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME(DEF_STR(Pause)) PORT_CODE(KEYCODE_P) PORT_CODE(JOYCODE_BUTTON5 ) PORT_PLAYER(1) |
| 399 | 403 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CODE(JOYCODE_BUTTON1 ) PORT_PLAYER(1) |
| 400 | 404 | PORT_BIT ( 0xfffc, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 401 | | PORT_START /* [9] */ |
| 405 | PORT_START_TAG("BUTTONS1") /* [9] */ |
| 402 | 406 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("B") PORT_CODE(KEYCODE_S) PORT_CODE(JOYCODE_BUTTON2 ) PORT_PLAYER(1) |
| 403 | 407 | PORT_BIT ( 0xfffd, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 404 | | PORT_START /* [10] */ |
| 408 | PORT_START_TAG("BUTTONS2") /* [10] */ |
| 405 | 409 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("C") PORT_CODE(KEYCODE_X) PORT_CODE(JOYCODE_BUTTON3 ) PORT_PLAYER(1) |
| 406 | 410 | PORT_BIT ( 0xfffd, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 407 | | PORT_START /* [11] */ |
| 411 | PORT_START_TAG("BUTTONS3") /* [11] */ |
| 408 | 412 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("Option") PORT_CODE(KEYCODE_O) PORT_CODE(JOYCODE_BUTTON4 ) PORT_PLAYER(1) |
| 409 | 413 | PORT_BIT ( 0xfffd, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 410 | | PORT_START /* [12] */ |
| 414 | PORT_START_TAG("BUTTONS4") /* [12] */ |
| 411 | 415 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("Option") PORT_CODE(KEYCODE_PLUS_PAD) PORT_CODE(JOYCODE_BUTTON4 ) PORT_PLAYER(2) |
| 412 | 416 | PORT_BIT ( 0xfffd, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 413 | | PORT_START /* [13] */ |
| 417 | PORT_START_TAG("BUTTONS5") /* [13] */ |
| 414 | 418 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("C") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CODE(JOYCODE_BUTTON3 ) PORT_PLAYER(2) |
| 415 | 419 | PORT_BIT ( 0xfffd, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 416 | | PORT_START /* [14] */ |
| 420 | PORT_START_TAG("BUTTONS6") /* [14] */ |
| 417 | 421 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("B") PORT_CODE(KEYCODE_ASTERISK) PORT_CODE(JOYCODE_BUTTON2 ) PORT_PLAYER(2) |
| 418 | 422 | PORT_BIT ( 0xfffd, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 419 | | PORT_START /* [15] */ |
| 423 | PORT_START_TAG("BUTTONS7") /* [15] */ |
| 420 | 424 | PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME(DEF_STR(Pause)) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CODE(JOYCODE_BUTTON5 ) PORT_PLAYER(2) |
| 421 | 425 | PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("A") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CODE(JOYCODE_BUTTON1 ) PORT_PLAYER(2) |
| 422 | 426 | PORT_BIT ( 0xfffc, IP_ACTIVE_LOW, IPT_UNUSED ) |
src/mess/drivers/nc.c
| r2254 | r2255 | |
| 400 | 400 | memory_set_bankptr(bank+1, addr); |
| 401 | 401 | |
| 402 | 402 | /* write enabled? */ |
| 403 | | if (readinputport(10) & 0x02) |
| 403 | if (readinputportbytag("EXTRA") & 0x02) |
| 404 | 404 | { |
| 405 | 405 | /* yes */ |
| 406 | 406 | memory_set_bankptr(bank+5, addr); |
| r2254 | r2255 | |
| 518 | 518 | int inputport_10_state; |
| 519 | 519 | int changed_bits; |
| 520 | 520 | |
| 521 | | inputport_10_state = readinputport(10); |
| 521 | inputport_10_state = readinputportbytag("EXTRA"); |
| 522 | 522 | |
| 523 | 523 | changed_bits = inputport_10_state^previous_inputport_10_state; |
| 524 | 524 | |
| r2254 | r2255 | |
| 571 | 571 | nc_memory_config[2] = 0; |
| 572 | 572 | nc_memory_config[3] = 0; |
| 573 | 573 | |
| 574 | | previous_inputport_10_state = readinputport(10); |
| 574 | previous_inputport_10_state = readinputportbytag("EXTRA"); |
| 575 | 575 | |
| 576 | 576 | /* setup reset state ints are masked */ |
| 577 | 577 | nc_irq_mask = 0; |
| r2254 | r2255 | |
| 682 | 682 | |
| 683 | 683 | static READ8_HANDLER(nc_key_data_in_r) |
| 684 | 684 | { |
| 685 | char port[6]; |
| 686 | |
| 685 | 687 | if (offset==9) |
| 686 | 688 | { |
| 687 | 689 | /* reading 0x0b9 will clear int and re-start scan procedure! */ |
| r2254 | r2255 | |
| 692 | 694 | |
| 693 | 695 | nc_update_interrupts(machine); |
| 694 | 696 | } |
| 695 | | return readinputport(offset); |
| 697 | sprintf(port, "LINE%d", offset); |
| 698 | return readinputportbytag(port); |
| 696 | 699 | } |
| 697 | 700 | |
| 698 | 701 | |
| r2254 | r2255 | |
| 1543 | 1546 | |
| 1544 | 1547 | static INPUT_PORTS_START(nc200) |
| 1545 | 1548 | /* 0 */ |
| 1546 | | PORT_START |
| 1549 | PORT_START_TAG("LINE0") |
| 1547 | 1550 | PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LEFT SHIFT") PORT_CODE(KEYCODE_LSHIFT) |
| 1548 | 1551 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RIGHT SHIFT") PORT_CODE(KEYCODE_RSHIFT) |
| 1549 | 1552 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("4 $") PORT_CODE(KEYCODE_4) |
| r2254 | r2255 | |
| 1553 | 1556 | PORT_BIT (0x040, 0x00, IPT_UNUSED) |
| 1554 | 1557 | PORT_BIT (0x080, 0x00, IPT_UNUSED) |
| 1555 | 1558 | /* 1 */ |
| 1556 | | PORT_START |
| 1559 | PORT_START_TAG("LINE1") |
| 1557 | 1560 | PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("YELLOW/FUNCTION") PORT_CODE(KEYCODE_RALT) |
| 1558 | 1561 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CONTROL") PORT_CODE(KEYCODE_LCONTROL) |
| 1559 | 1562 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CONTROL") PORT_CODE(KEYCODE_RCONTROL) |
| r2254 | r2255 | |
| 1564 | 1567 | PORT_BIT (0x040, 0x00, IPT_UNUSED) |
| 1565 | 1568 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("9 (") PORT_CODE(KEYCODE_9) |
| 1566 | 1569 | /* 2 */ |
| 1567 | | PORT_START |
| 1570 | PORT_START_TAG("LINE2") |
| 1568 | 1571 | PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ALT") PORT_CODE(KEYCODE_LALT) |
| 1569 | 1572 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("SYMBOL") PORT_CODE(KEYCODE_HOME) |
| 1570 | 1573 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("1 !") PORT_CODE(KEYCODE_1) |
| r2254 | r2255 | |
| 1574 | 1577 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("6 ^") PORT_CODE(KEYCODE_6) |
| 1575 | 1578 | PORT_BIT (0x080, 0x00, IPT_UNUSED) |
| 1576 | 1579 | /* 3 */ |
| 1577 | | PORT_START |
| 1580 | PORT_START_TAG("LINE3") |
| 1578 | 1581 | PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) |
| 1579 | 1582 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2 \"") PORT_CODE(KEYCODE_2) |
| 1580 | 1583 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) |
| r2254 | r2255 | |
| 1584 | 1587 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) |
| 1585 | 1588 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) |
| 1586 | 1589 | /* 4 */ |
| 1587 | | PORT_START |
| 1590 | PORT_START_TAG("LINE4") |
| 1588 | 1591 | PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("8 *") PORT_CODE(KEYCODE_8) |
| 1589 | 1592 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("7 &") PORT_CODE(KEYCODE_7) |
| 1590 | 1593 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) |
| r2254 | r2255 | |
| 1594 | 1597 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) |
| 1595 | 1598 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) |
| 1596 | 1599 | /* 5 */ |
| 1597 | | PORT_START |
| 1600 | PORT_START_TAG("LINE5") |
| 1598 | 1601 | PORT_BIT (0x001, 0x00, IPT_UNUSED) |
| 1599 | 1602 | PORT_BIT (0x002, 0x00, IPT_UNUSED) |
| 1600 | 1603 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) |
| r2254 | r2255 | |
| 1604 | 1607 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) |
| 1605 | 1608 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) |
| 1606 | 1609 | /* 6 */ |
| 1607 | | PORT_START |
| 1610 | PORT_START_TAG("LINE6") |
| 1608 | 1611 | PORT_BIT (0x001, 0x00, IPT_UNUSED) |
| 1609 | 1612 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("DOWN/BLUE") PORT_CODE(KEYCODE_DOWN) |
| 1610 | 1613 | PORT_BIT (0x004, 0x00, IPT_UNUSED) |
| r2254 | r2255 | |
| 1614 | 1617 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) |
| 1615 | 1618 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) |
| 1616 | 1619 | /* 7 */ |
| 1617 | | PORT_START |
| 1620 | PORT_START_TAG("LINE7") |
| 1618 | 1621 | PORT_BIT (0x001, 0x00, IPT_UNUSED) |
| 1619 | 1622 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("+ =") PORT_CODE(KEYCODE_EQUALS) |
| 1620 | 1623 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/ |") PORT_CODE(KEYCODE_BACKSLASH) |
| r2254 | r2255 | |
| 1624 | 1627 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) |
| 1625 | 1628 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) |
| 1626 | 1629 | /* 8 */ |
| 1627 | | PORT_START |
| 1630 | PORT_START_TAG("LINE8") |
| 1628 | 1631 | PORT_BIT (0x001, 0x00, IPT_UNUSED) |
| 1629 | 1632 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("- _") PORT_CODE(KEYCODE_MINUS) |
| 1630 | 1633 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("} ]") PORT_CODE(KEYCODE_CLOSEBRACE) |
| r2254 | r2255 | |
| 1634 | 1637 | PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) |
| 1635 | 1638 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(",") PORT_CODE(KEYCODE_COMMA) |
| 1636 | 1639 | /* 9 */ |
| 1637 | | PORT_START |
| 1640 | PORT_START_TAG("LINE9") |
| 1638 | 1641 | PORT_BIT (0x001, 0x00, IPT_UNUSED) |
| 1639 | 1642 | PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0 )") PORT_CODE(KEYCODE_0) |
| 1640 | 1643 | PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_BACKSPACE) |
| r2254 | r2255 | |
| 1645 | 1648 | PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(".") PORT_CODE(KEYCODE_STOP) |
| 1646 | 1649 | |
| 1647 | 1650 | /* not part of the nc200 keyboard */ |
| 1648 | | PORT_START |
| 1651 | PORT_START_TAG("EXTRA") |
| 1649 | 1652 | PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON BUTTON") PORT_CODE(KEYCODE_END) |
| 1650 | 1653 | /* pcmcia memory card setting */ |
| 1651 | 1654 | PORT_DIPNAME(0x002, 0x002, "PCMCIA Memory card write enable") |
src/mess/drivers/sord.c
| r2254 | r2255 | |
| 312 | 312 | sord_m5_ctc_interrupt, |
| 313 | 313 | 0, |
| 314 | 314 | 0, |
| 315 | | |
| 315 | |
| 316 | 316 | }; |
| 317 | 317 | |
| 318 | 318 | static READ8_HANDLER ( sord_keyboard_r ) |
| 319 | 319 | { |
| 320 | | return readinputport(offset); |
| 320 | char port[7]; |
| 321 | |
| 322 | if (offset == 16) |
| 323 | sprintf(port, "%s", "RESET"); |
| 324 | else |
| 325 | sprintf(port, "LINE%d", offset); |
| 326 | |
| 327 | return readinputportbytag(port); |
| 321 | 328 | } |
| 322 | 329 | |
| 323 | 330 | static ADDRESS_MAP_START( sord_m5_mem , ADDRESS_SPACE_PROGRAM, 8) |
| r2254 | r2255 | |
| 489 | 496 | |
| 490 | 497 | static INPUT_PORTS_START(sord_m5) |
| 491 | 498 | /* line 0 */ |
| 492 | | PORT_START |
| 499 | PORT_START_TAG("LINE0") |
| 493 | 500 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) |
| 494 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("FUNC") PORT_CODE(KEYCODE_LALT) |
| 495 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT) |
| 496 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_RSHIFT) |
| 501 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("FUNC") PORT_CODE(KEYCODE_LALT) |
| 502 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT) |
| 503 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_RSHIFT) |
| 497 | 504 | PORT_BIT (0x10, 0x00, IPT_UNUSED) |
| 498 | 505 | PORT_BIT (0x20, 0x00, IPT_UNUSED) |
| 499 | 506 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) |
| 500 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) |
| 507 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) |
| 501 | 508 | /* line 1 */ |
| 502 | | PORT_START |
| 509 | PORT_START_TAG("LINE1") |
| 503 | 510 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) |
| 504 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) |
| 505 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) |
| 506 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) |
| 507 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) |
| 508 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) |
| 509 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) |
| 510 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) |
| 511 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) |
| 512 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) |
| 513 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) |
| 514 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) |
| 515 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) |
| 516 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) |
| 517 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) |
| 511 | 518 | /* line 2 */ |
| 512 | | PORT_START |
| 519 | PORT_START_TAG("LINE2") |
| 513 | 520 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) |
| 514 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) |
| 515 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) |
| 516 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) |
| 517 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) |
| 518 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) |
| 519 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) |
| 520 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) |
| 521 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) |
| 522 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) |
| 523 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) |
| 524 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) |
| 525 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) |
| 526 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) |
| 527 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) |
| 521 | 528 | /* line 3 */ |
| 522 | | PORT_START |
| 529 | PORT_START_TAG("LINE3") |
| 523 | 530 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) |
| 524 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) |
| 525 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) |
| 526 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) |
| 527 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) |
| 528 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) |
| 529 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) |
| 530 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) |
| 531 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) |
| 532 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) |
| 533 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) |
| 534 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) |
| 535 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) |
| 536 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) |
| 537 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) |
| 531 | 538 | /* line 4 */ |
| 532 | | PORT_START |
| 539 | PORT_START_TAG("LINE4") |
| 533 | 540 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) |
| 534 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) |
| 535 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) |
| 536 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) |
| 537 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) |
| 538 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) |
| 539 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) |
| 540 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(",") PORT_CODE(KEYCODE_COMMA) |
| 541 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) |
| 542 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) |
| 543 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) |
| 544 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) |
| 545 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) |
| 546 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) |
| 547 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(",") PORT_CODE(KEYCODE_COMMA) |
| 541 | 548 | /* line 5 */ |
| 542 | | PORT_START |
| 549 | PORT_START_TAG("LINE5") |
| 543 | 550 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) |
| 544 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) |
| 545 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS) |
| 546 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("^") PORT_CODE(KEYCODE_EQUALS) |
| 547 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(".") PORT_CODE(KEYCODE_STOP) |
| 548 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/") PORT_CODE(KEYCODE_SLASH) |
| 549 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("_") PORT_CODE(KEYCODE_MINUS_PAD) |
| 550 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("\\") PORT_CODE(KEYCODE_BACKSLASH) |
| 551 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) |
| 552 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS) |
| 553 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("^") PORT_CODE(KEYCODE_EQUALS) |
| 554 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(".") PORT_CODE(KEYCODE_STOP) |
| 555 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/") PORT_CODE(KEYCODE_SLASH) |
| 556 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("_") PORT_CODE(KEYCODE_MINUS_PAD) |
| 557 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("\\") PORT_CODE(KEYCODE_BACKSLASH) |
| 551 | 558 | /* line 6 */ |
| 552 | | PORT_START |
| 559 | PORT_START_TAG("LINE6") |
| 553 | 560 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) |
| 554 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) |
| 555 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("@") PORT_CODE(KEYCODE_QUOTE) |
| 556 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("[") PORT_CODE(KEYCODE_OPENBRACE) |
| 557 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) |
| 558 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(";") PORT_CODE(KEYCODE_PLUS_PAD) |
| 559 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(":") PORT_CODE(KEYCODE_COLON) |
| 560 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("]") PORT_CODE(KEYCODE_CLOSEBRACE) |
| 561 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) |
| 562 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("@") PORT_CODE(KEYCODE_QUOTE) |
| 563 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("[") PORT_CODE(KEYCODE_OPENBRACE) |
| 564 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) |
| 565 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(";") PORT_CODE(KEYCODE_PLUS_PAD) |
| 566 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(":") PORT_CODE(KEYCODE_COLON) |
| 567 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("]") PORT_CODE(KEYCODE_CLOSEBRACE) |
| 561 | 568 | /* line 7 */ |
| 562 | | PORT_START |
| 569 | PORT_START_TAG("LINE7") |
| 563 | 570 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 RIGHT") PORT_CODE(JOYCODE_X_RIGHT_SWITCH) |
| 564 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 UP") PORT_CODE(JOYCODE_Y_UP_SWITCH) |
| 565 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 LEFT") PORT_CODE(JOYCODE_X_LEFT_SWITCH) |
| 566 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH) |
| 567 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 RIGHT") PORT_CODE(JOYCODE_X_RIGHT_SWITCH) |
| 568 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 UP") PORT_CODE(JOYCODE_Y_UP_SWITCH) |
| 569 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 LEFT") PORT_CODE(JOYCODE_X_LEFT_SWITCH) |
| 570 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH) |
| 571 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 UP") PORT_CODE(JOYCODE_Y_UP_SWITCH) |
| 572 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 LEFT") PORT_CODE(JOYCODE_X_LEFT_SWITCH) |
| 573 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 1 DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH) |
| 574 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 RIGHT") PORT_CODE(JOYCODE_X_RIGHT_SWITCH) |
| 575 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 UP") PORT_CODE(JOYCODE_Y_UP_SWITCH) |
| 576 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 LEFT") PORT_CODE(JOYCODE_X_LEFT_SWITCH) |
| 577 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("JOY 2 DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH) |
| 571 | 578 | /* line 8 */ |
| 572 | | PORT_START |
| 579 | PORT_START_TAG("LINE8") |
| 573 | 580 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 574 | 581 | /* line 9 */ |
| 575 | | PORT_START |
| 582 | PORT_START_TAG("LINE9") |
| 576 | 583 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 577 | 584 | /* line 10 */ |
| 578 | | PORT_START |
| 585 | PORT_START_TAG("LINE10") |
| 579 | 586 | PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_2_PAD) |
| 580 | | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_3_PAD) |
| 581 | | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_4_PAD) |
| 582 | | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_5_PAD) |
| 583 | | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_6_PAD) |
| 584 | | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_7_PAD) |
| 585 | | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_8_PAD) |
| 586 | | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_9_PAD) |
| 587 | | /* PORT_BIT (0x0ff, 0x000, IPT_UNUSED) */ |
| 587 | PORT_BIT (0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_3_PAD) |
| 588 | PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_4_PAD) |
| 589 | PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_5_PAD) |
| 590 | PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_6_PAD) |
| 591 | PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_7_PAD) |
| 592 | PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_8_PAD) |
| 593 | PORT_BIT (0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_9_PAD) |
| 594 | /* PORT_BIT (0x0ff, 0x000, IPT_UNUSED) */ |
| 588 | 595 | /* line 11 */ |
| 589 | | PORT_START |
| 596 | PORT_START_TAG("LINE11") |
| 590 | 597 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 591 | 598 | /* line 12 */ |
| 592 | | PORT_START |
| 599 | PORT_START_TAG("LINE12") |
| 593 | 600 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 594 | 601 | /* line 13 */ |
| 595 | | PORT_START |
| 602 | PORT_START_TAG("LINE13") |
| 596 | 603 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 597 | 604 | /* line 14 */ |
| 598 | | PORT_START |
| 605 | PORT_START_TAG("LINE14") |
| 599 | 606 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 600 | 607 | /* line 15 */ |
| 601 | | PORT_START |
| 608 | PORT_START_TAG("LINE15") |
| 602 | 609 | PORT_BIT (0x0ff, 0x000, IPT_UNUSED) |
| 603 | | PORT_START |
| 610 | PORT_START_TAG("RESET") |
| 604 | 611 | PORT_BIT (0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RESET") PORT_CODE(KEYCODE_ESC) |
| 605 | | |
| 606 | 612 | INPUT_PORTS_END |
| 607 | 613 | |
| 608 | 614 | |
src/mess/drivers/mk1.c
| r2254 | r2255 | |
| 24 | 24 | - 16 keys placed in a 4 x 4 matrix |
| 25 | 25 | - Power on switch |
| 26 | 26 | - L/S switch. This switch is directly tied to the RESET pin of the F8 CPU. |
| 27 | | This allows the user to reset the CPU without destroying he RAM contents. |
| 27 | This allows the user to reset the CPU without destroying the RAM contents. |
| 28 | 28 | - A 4 character 11 segment digit display using a 15 pin interface. Of the 15 |
| 29 | 29 | pins 3 pins are not connected, so three segments are never used and this |
| 30 | 30 | leaves a standard 7 segments display with a dot in the lower right. |
| r2254 | r2255 | |
| 55 | 55 | UINT8 data = mk1_f8[offset]; |
| 56 | 56 | |
| 57 | 57 | if ( offset == 0 ) { |
| 58 | | if ( data & 1 ) data |= readinputport(1); |
| 59 | | if ( data & 2 ) data |= readinputport(2); |
| 60 | | if ( data & 4 ) data |= readinputport(3); |
| 61 | | if ( data & 8 ) data |= readinputport(4); |
| 58 | if ( data & 1 ) data |= readinputportbytag("LINE1"); |
| 59 | if ( data & 2 ) data |= readinputportbytag("LINE2"); |
| 60 | if ( data & 4 ) data |= readinputportbytag("LINE3"); |
| 61 | if ( data & 8 ) data |= readinputportbytag("LINE4"); |
| 62 | 62 | if ( data & 0x10 ) { |
| 63 | | if ( readinputport(1) & 0x10 ) data |= 1; |
| 64 | | if ( readinputport(2) & 0x10 ) data |= 2; |
| 65 | | if ( readinputport(3) & 0x10 ) data |= 4; |
| 66 | | if ( readinputport(4) & 0x10 ) data |= 8; |
| 63 | if ( readinputportbytag("LINE1") & 0x10 ) data |= 1; |
| 64 | if ( readinputportbytag("LINE2") & 0x10 ) data |= 2; |
| 65 | if ( readinputportbytag("LINE3") & 0x10 ) data |= 4; |
| 66 | if ( readinputportbytag("LINE4") & 0x10 ) data |= 8; |
| 67 | 67 | } |
| 68 | 68 | if ( data & 0x20 ) { |
| 69 | | if ( readinputport(1) & 0x20 ) data |= 1; |
| 70 | | if ( readinputport(2) & 0x20 ) data |= 2; |
| 71 | | if ( readinputport(3) & 0x20 ) data |= 4; |
| 72 | | if ( readinputport(4) & 0x20 ) data |= 8; |
| 69 | if ( readinputportbytag("LINE1") & 0x20 ) data |= 1; |
| 70 | if ( readinputportbytag("LINE2") & 0x20 ) data |= 2; |
| 71 | if ( readinputportbytag("LINE3") & 0x20 ) data |= 4; |
| 72 | if ( readinputportbytag("LINE4") & 0x20 ) data |= 8; |
| 73 | 73 | } |
| 74 | 74 | if ( data & 0x40 ) { |
| 75 | | if ( readinputport(1) & 0x40 ) data |= 1; |
| 76 | | if ( readinputport(2) & 0x40 ) data |= 2; |
| 77 | | if ( readinputport(3) & 0x40 ) data |= 4; |
| 78 | | if ( readinputport(4) & 0x40 ) data |= 8; |
| 75 | if ( readinputportbytag("LINE1") & 0x40 ) data |= 1; |
| 76 | if ( readinputportbytag("LINE2") & 0x40 ) data |= 2; |
| 77 | if ( readinputportbytag("LINE3") & 0x40 ) data |= 4; |
| 78 | if ( readinputportbytag("LINE4") & 0x40 ) data |= 8; |
| 79 | 79 | } |
| 80 | 80 | if ( data & 0x80 ) { |
| 81 | | if ( readinputport(1) & 0x80 ) data |= 1; |
| 82 | | if ( readinputport(2) & 0x80 ) data |= 2; |
| 83 | | if ( readinputport(3) & 0x80 ) data |= 4; |
| 84 | | if ( readinputport(4) & 0x80 ) data |= 8; |
| 81 | if ( readinputportbytag("LINE1") & 0x80 ) data |= 1; |
| 82 | if ( readinputportbytag("LINE2") & 0x80 ) data |= 2; |
| 83 | if ( readinputportbytag("LINE3") & 0x80 ) data |= 4; |
| 84 | if ( readinputportbytag("LINE4") & 0x80 ) data |= 8; |
| 85 | 85 | } |
| 86 | 86 | } |
| 87 | 87 | return data; |
| r2254 | r2255 | |
| 109 | 109 | ADDRESS_MAP_END |
| 110 | 110 | |
| 111 | 111 | static INPUT_PORTS_START( mk1 ) |
| 112 | | PORT_START /* 0 */ |
| 112 | PORT_START_TAG("RESET") /* 0 */ |
| 113 | 113 | PORT_DIPNAME ( 0x01, 0x01, "Switch") |
| 114 | 114 | PORT_DIPSETTING( 0, "L" ) |
| 115 | 115 | PORT_DIPSETTING( 1, "S" ) |
| 116 | 116 | |
| 117 | | PORT_START /* 1 */ |
| 117 | PORT_START_TAG("LINE1") /* 1 */ |
| 118 | 118 | PORT_BIT ( 0x0f, 0x0, IPT_UNUSED ) |
| 119 | 119 | PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White A King") PORT_CODE(KEYCODE_A) |
| 120 | 120 | PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White B Queen") PORT_CODE(KEYCODE_B) |
| 121 | 121 | PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White C Bishop") PORT_CODE(KEYCODE_C) |
| 122 | 122 | PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White D PLAY") PORT_CODE(KEYCODE_D) |
| 123 | 123 | |
| 124 | | PORT_START /* 2 */ |
| 124 | PORT_START_TAG("LINE2") /* 2 */ |
| 125 | 125 | PORT_BIT ( 0x0f, 0x0, IPT_UNUSED ) |
| 126 | 126 | PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White E Knight") PORT_CODE(KEYCODE_E) |
| 127 | 127 | PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White F Castle") PORT_CODE(KEYCODE_F) |
| 128 | 128 | PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White G Pawn") PORT_CODE(KEYCODE_G) |
| 129 | 129 | PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White H md") PORT_CODE(KEYCODE_H) |
| 130 | 130 | |
| 131 | | PORT_START /* 3 */ |
| 131 | PORT_START_TAG("LINE3") /* 3 */ |
| 132 | 132 | PORT_BIT ( 0x0f, 0x0, IPT_UNUSED ) |
| 133 | 133 | PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 1 King") PORT_CODE(KEYCODE_1) |
| 134 | 134 | PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 2 Queen") PORT_CODE(KEYCODE_2) |
| 135 | 135 | PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 3 Bishop") PORT_CODE(KEYCODE_3) |
| 136 | 136 | PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 4 fp") PORT_CODE(KEYCODE_4) |
| 137 | 137 | |
| 138 | | PORT_START /* 4 */ |
| 138 | PORT_START_TAG("LINE4") /* 4 */ |
| 139 | 139 | PORT_BIT ( 0x0f, 0x0, IPT_UNUSED ) |
| 140 | 140 | PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 5 Knight") PORT_CODE(KEYCODE_5) |
| 141 | 141 | PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 6 Castle") PORT_CODE(KEYCODE_6) |
src/mess/drivers/mpf1.c
| r2254 | r2255 | |
| 168 | 168 | |
| 169 | 169 | static ADDRESS_MAP_START( mpf1_io_map, ADDRESS_SPACE_IO, 8 ) |
| 170 | 170 | /* Appendix B.D from the MPF-I user's manual: |
| 171 | | (contains possible typing/printing errors so I've cited it litteraly) |
| 171 | (contains possible typing/printing errors so I've cited it literally) |
| 172 | 172 | |
| 173 | 173 | * D. Input/Output port addressing |
| 174 | 174 | * |
| r2254 | r2255 | |
| 190 | 190 | Where the text states ".... , all select the s ...." it probably means |
| 191 | 191 | "... ., all select the same ....". |
| 192 | 192 | |
| 193 | | So to asure that this "incompleteness" of the hardware does also exist in |
| 193 | So to assure that this "incompleteness" of the hardware does also exist in |
| 194 | 194 | this simulator I've expanded the port assignments accordingly. I've also |
| 195 | | tested wether this is true for the actual hardware, and it is. |
| 195 | tested whether this is true for the actual hardware, and it is. |
| 196 | 196 | */ |
| 197 | 197 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 198 | 198 | |
| r2254 | r2255 | |
| 214 | 214 | PORT_BIT( bit, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 215 | 215 | |
| 216 | 216 | static INPUT_PORTS_START( mpf1 ) |
| 217 | | PORT_START // column 0 |
| 217 | PORT_START_TAG("LINE0") // column 0 |
| 218 | 218 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3 HL") PORT_CODE(KEYCODE_3) |
| 219 | 219 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7 HL'") PORT_CODE(KEYCODE_7) |
| 220 | 220 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B I*IF") PORT_CODE(KEYCODE_B) |
| r2254 | r2255 | |
| 224 | 224 | KEY_UNUSED( 0x40 ) |
| 225 | 225 | KEY_UNUSED( 0x80 ) |
| 226 | 226 | |
| 227 | | PORT_START // column 1 |
| 227 | PORT_START_TAG("LINE1") // column 1 |
| 228 | 228 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2 DE") PORT_CODE(KEYCODE_2) |
| 229 | 229 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6 DE'") PORT_CODE(KEYCODE_6) |
| 230 | 230 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A SP") PORT_CODE(KEYCODE_A) |
| r2254 | r2255 | |
| 234 | 234 | KEY_UNUSED( 0x40 ) |
| 235 | 235 | KEY_UNUSED( 0x80 ) |
| 236 | 236 | |
| 237 | | PORT_START // column 2 |
| 237 | PORT_START_TAG("LINE2") // column 2 |
| 238 | 238 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1 BC") PORT_CODE(KEYCODE_1) |
| 239 | 239 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5 BC'") PORT_CODE(KEYCODE_5) |
| 240 | 240 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9 IY") PORT_CODE(KEYCODE_9) |
| r2254 | r2255 | |
| 244 | 244 | KEY_UNUSED( 0x40 ) |
| 245 | 245 | KEY_UNUSED( 0x80 ) |
| 246 | 246 | |
| 247 | | PORT_START // column 3 |
| 247 | PORT_START_TAG("LINE3") // column 3 |
| 248 | 248 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0 AF") PORT_CODE(KEYCODE_0) |
| 249 | 249 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4 AF'") PORT_CODE(KEYCODE_4) |
| 250 | 250 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8 IX") PORT_CODE(KEYCODE_8) |
| r2254 | r2255 | |
| 254 | 254 | KEY_UNUSED( 0x40 ) |
| 255 | 255 | KEY_UNUSED( 0x80 ) |
| 256 | 256 | |
| 257 | | PORT_START // column 4 |
| 257 | PORT_START_TAG("LINE4") // column 4 |
| 258 | 258 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CBR") PORT_CODE(KEYCODE_N) |
| 259 | 259 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("PC") PORT_CODE(KEYCODE_M) |
| 260 | 260 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("REG") PORT_CODE(KEYCODE_COMMA) |
| r2254 | r2255 | |
| 264 | 264 | KEY_UNUSED( 0x40 ) |
| 265 | 265 | KEY_UNUSED( 0x80 ) |
| 266 | 266 | |
| 267 | | PORT_START // column 5 |
| 267 | PORT_START_TAG("LINE5") // column 5 |
| 268 | 268 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SBR") PORT_CODE(KEYCODE_H) |
| 269 | 269 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_J) |
| 270 | 270 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DATA") PORT_CODE(KEYCODE_K) |
| r2254 | r2255 | |
| 274 | 274 | KEY_UNUSED( 0x40 ) |
| 275 | 275 | KEY_UNUSED( 0x80 ) |
| 276 | 276 | |
| 277 | | PORT_START // column 6 |
| 277 | PORT_START_TAG("LINE6") // column 6 |
| 278 | 278 | KEY_UNUSED( 0x01 ) |
| 279 | 279 | KEY_UNUSED( 0x02 ) |
| 280 | 280 | KEY_UNUSED( 0x04 ) |
| r2254 | r2255 | |
| 284 | 284 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("USER KEY") PORT_CODE(KEYCODE_U) |
| 285 | 285 | KEY_UNUSED( 0x80 ) |
| 286 | 286 | |
| 287 | | PORT_START // interrupt keys |
| 287 | PORT_START_TAG("EXTRA") // interrupt keys |
| 288 | 288 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MONI") PORT_CODE(KEYCODE_M) // causes NMI ? |
| 289 | 289 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("INTR") PORT_CODE(KEYCODE_I) // causes INT |
| 290 | 290 | INPUT_PORTS_END |
| 291 | 291 | |
| 292 | 292 | static INPUT_PORTS_START( mpf1b ) |
| 293 | | PORT_START // column 0 |
| 293 | PORT_START_TAG("LINE0") // column 0 |
| 294 | 294 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3 /") PORT_CODE(KEYCODE_3) |
| 295 | 295 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7 >") PORT_CODE(KEYCODE_7) |
| 296 | 296 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B STOP") PORT_CODE(KEYCODE_B) |
| r2254 | r2255 | |
| 300 | 300 | KEY_UNUSED( 0x40 ) |
| 301 | 301 | KEY_UNUSED( 0x80 ) |
| 302 | 302 | |
| 303 | | PORT_START // column 1 |
| 303 | PORT_START_TAG("LINE1") // column 1 |
| 304 | 304 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2 *") PORT_CODE(KEYCODE_2) |
| 305 | 305 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6 <") PORT_CODE(KEYCODE_6) |
| 306 | 306 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A CALL") PORT_CODE(KEYCODE_A) |
| r2254 | r2255 | |
| 310 | 310 | KEY_UNUSED( 0x40 ) |
| 311 | 311 | KEY_UNUSED( 0x80 ) |
| 312 | 312 | |
| 313 | | PORT_START // column 2 |
| 313 | PORT_START_TAG("LINE2") // column 2 |
| 314 | 314 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1 -") PORT_CODE(KEYCODE_1) |
| 315 | 315 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5 =") PORT_CODE(KEYCODE_5) |
| 316 | 316 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9 P") PORT_CODE(KEYCODE_9) |
| r2254 | r2255 | |
| 320 | 320 | KEY_UNUSED( 0x40 ) |
| 321 | 321 | KEY_UNUSED( 0x80 ) |
| 322 | 322 | |
| 323 | | PORT_START // column 3 |
| 323 | PORT_START_TAG("LINE3") // column 3 |
| 324 | 324 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0 +") PORT_CODE(KEYCODE_0) |
| 325 | 325 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4 * *") PORT_CODE(KEYCODE_4) |
| 326 | 326 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8 M") PORT_CODE(KEYCODE_8) |
| r2254 | r2255 | |
| 330 | 330 | KEY_UNUSED( 0x40 ) |
| 331 | 331 | KEY_UNUSED( 0x80 ) |
| 332 | 332 | |
| 333 | | PORT_START // column 4 |
| 333 | PORT_START_TAG("LINE4") // column 4 |
| 334 | 334 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("IF/pgup") PORT_CODE(KEYCODE_PGUP) |
| 335 | 335 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TO/down") PORT_CODE(KEYCODE_T) PORT_CODE(KEYCODE_DOWN) |
| 336 | 336 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("THEN/pgdn") PORT_CODE(KEYCODE_PGDN) |
| r2254 | r2255 | |
| 340 | 340 | KEY_UNUSED( 0x40 ) |
| 341 | 341 | KEY_UNUSED( 0x80 ) |
| 342 | 342 | |
| 343 | | PORT_START // column 5 |
| 343 | PORT_START_TAG("LINE5") // column 5 |
| 344 | 344 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FOR/up") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_UP) |
| 345 | 345 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LIST") PORT_CODE(KEYCODE_L) |
| 346 | 346 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("NEW") PORT_CODE(KEYCODE_N) |
| r2254 | r2255 | |
| 350 | 350 | KEY_UNUSED( 0x40 ) |
| 351 | 351 | KEY_UNUSED( 0x80 ) |
| 352 | 352 | |
| 353 | | PORT_START // column 6 |
| 353 | PORT_START_TAG("LINE6") // column 6 |
| 354 | 354 | KEY_UNUSED( 0x01 ) |
| 355 | 355 | KEY_UNUSED( 0x02 ) |
| 356 | 356 | KEY_UNUSED( 0x04 ) |
| r2254 | r2255 | |
| 360 | 360 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) |
| 361 | 361 | KEY_UNUSED( 0x80 ) |
| 362 | 362 | |
| 363 | | PORT_START // interrupt keys |
| 363 | PORT_START_TAG("EXTRA") // interrupt keys |
| 364 | 364 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MONI") PORT_CODE(KEYCODE_M) // causes NMI ? |
| 365 | 365 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("INTR") PORT_CODE(KEYCODE_I) // causes INT |
| 366 | 366 | INPUT_PORTS_END |
| r2254 | r2255 | |
| 392 | 392 | |
| 393 | 393 | static READ8_HANDLER( mpf1_porta_r ) |
| 394 | 394 | { |
| 395 | char port[6]; |
| 396 | |
| 395 | 397 | UINT8 retval; |
| 396 | 398 | for(keycol = 0; keycol < 6; keycol++) |
| 397 | 399 | { |
| r2254 | r2255 | |
| 401 | 403 | verboselog( 0, "Key column for kbd read: %02x\n", keycol ); |
| 402 | 404 | if( keycol != 6 ) |
| 403 | 405 | { |
| 404 | | retval = readinputport(keycol); |
| 406 | sprintf(port, "LINE%d", keycol); |
| 407 | retval = readinputportbytag(port); |
| 405 | 408 | } |
| 406 | 409 | else |
| 407 | 410 | { |
| r2254 | r2255 | |
| 459 | 462 | if( data | ( activecpu_get_pc() != 0x63C ) ) |
| 460 | 463 | { |
| 461 | 464 | data = ( (data & 0x08) >> 3 ) | |
| 462 | | ( (data & 0x10) >> 3 ) | |
| 463 | | ( (data & 0x20) >> 3 ) | |
| 465 | ( (data & 0x10) >> 3 ) | |
| 466 | ( (data & 0x20) >> 3 ) | |
| 464 | 467 | ( (data & 0x80) >> 4 ) | |
| 465 | 468 | ( (data & 0x01) << 4 ) | |
| 466 | 469 | ( (data & 0x04) << 3 ) | |
src/mess/drivers/mephisto.c
| r2254 | r2255 | |
| 77 | 77 | static READ8_HANDLER(read_keys) |
| 78 | 78 | { |
| 79 | 79 | UINT8 data; |
| 80 | char port[7]; |
| 81 | |
| 80 | 82 | data=0xff; |
| 81 | | if (((led_status & 0x80)==0x00))data=readinputport(offset); else data=readinputport(offset+8); |
| 82 | | logerror("Keyboard Offset = %d Data = %d\n ",offset,data); |
| 83 | if (((led_status & 0x80)==0x00)) |
| 84 | sprintf(port, "KEY1_%d", offset); |
| 85 | else |
| 86 | sprintf(port, "KEY2_%d", offset); |
| 87 | |
| 88 | data=readinputportbytag(port); |
| 89 | |
| 90 | logerror("Keyboard Port = %s Data = %d\n ",port,data); |
| 83 | 91 | return data| 0x7f; |
| 84 | 92 | } |
| 85 | 93 | |
| r2254 | r2255 | |
| 99 | 107 | } |
| 100 | 108 | |
| 101 | 109 | static ADDRESS_MAP_START(rebel5_mem , ADDRESS_SPACE_PROGRAM, 8) |
| 102 | | AM_RANGE( 0x0000, 0x1fff) AM_RAM // AM_BASE(&mephisto_ram)// |
| 110 | AM_RANGE( 0x0000, 0x1fff) AM_RAM // AM_BASE(&mephisto_ram)// |
| 103 | 111 | AM_RANGE( 0x5000, 0x5000) AM_WRITE( write_lcd) |
| 104 | 112 | AM_RANGE( 0x3000, 0x3007) AM_READ( read_keys) // Rebel 5.0 |
| 105 | | AM_RANGE( 0x2000, 0x2007) AM_WRITE( write_led) // Status LEDs+ buzzer |
| 113 | AM_RANGE( 0x2000, 0x2007) AM_WRITE( write_led) // Status LEDs+ buzzer |
| 106 | 114 | AM_RANGE( 0x3000, 0x4000) AM_READ ( read_board) // Chessboard |
| 107 | 115 | AM_RANGE( 0x6000, 0x6000) AM_RAM |
| 108 | 116 | AM_RANGE( 0x7000, 0x7000) AM_RAM |
| r2254 | r2255 | |
| 126 | 134 | |
| 127 | 135 | |
| 128 | 136 | static INPUT_PORTS_START( mephisto ) |
| 129 | | // PORT_START_TAG("keyboard_1") |
| 130 | | PORT_START //Port $2c00 |
| 137 | PORT_START_TAG("KEY1_0") //Port $2c00 |
| 131 | 138 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_F1) |
| 132 | | PORT_START //Port $2c01 |
| 139 | PORT_START_TAG("KEY1_1") //Port $2c01 |
| 133 | 140 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("POS") PORT_CODE(KEYCODE_F2) |
| 134 | | PORT_START //Port $2c02 |
| 141 | PORT_START_TAG("KEY1_2") //Port $2c02 |
| 135 | 142 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MEM") PORT_CODE(KEYCODE_F3) |
| 136 | | PORT_START //Port $2c03 |
| 143 | PORT_START_TAG("KEY1_3") //Port $2c03 |
| 137 | 144 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("INFO") PORT_CODE(KEYCODE_F4) |
| 138 | | PORT_START //Port $2c04 |
| 145 | PORT_START_TAG("KEY1_4") //Port $2c04 |
| 139 | 146 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LEV") PORT_CODE(KEYCODE_F5) |
| 140 | | PORT_START //Port $2c05 |
| 147 | PORT_START_TAG("KEY1_5") //Port $2c05 |
| 141 | 148 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) |
| 142 | | PORT_START //Port $2c06 |
| 149 | PORT_START_TAG("KEY1_6") //Port $2c06 |
| 143 | 150 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) |
| 144 | | PORT_START //Port $2c07 |
| 151 | PORT_START_TAG("KEY1_7") //Port $2c07 |
| 145 | 152 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) |
| 146 | | // PORT_START_TAG("keyboard_2") |
| 147 | | PORT_START //Port $2c08 |
| 153 | |
| 154 | PORT_START_TAG("KEY2_0") //Port $2c08 |
| 148 | 155 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) |
| 149 | 156 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) |
| 150 | | PORT_START //Port $2c09 |
| 157 | PORT_START_TAG("KEY2_1") //Port $2c09 |
| 151 | 158 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) |
| 152 | 159 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) |
| 153 | | PORT_START //Port $2c0a |
| 160 | PORT_START_TAG("KEY2_2") //Port $2c0a |
| 154 | 161 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) |
| 155 | 162 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) |
| 156 | | PORT_START //Port $2c0b |
| 163 | PORT_START_TAG("KEY2_3") //Port $2c0b |
| 157 | 164 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) |
| 158 | 165 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) |
| 159 | | PORT_START //Port $2c0c |
| 166 | PORT_START_TAG("KEY2_4") //Port $2c0c |
| 160 | 167 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) |
| 161 | 168 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) |
| 162 | | PORT_START //Port $2c0d |
| 169 | PORT_START_TAG("KEY2_5") //Port $2c0d |
| 163 | 170 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) |
| 164 | 171 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) |
| 165 | | PORT_START //Port $2c0e |
| 172 | PORT_START_TAG("KEY2_6") //Port $2c0e |
| 166 | 173 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) |
| 167 | 174 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) |
| 168 | | PORT_START //Port $2c0f |
| 175 | PORT_START_TAG("KEY2_7") //Port $2c0f |
| 169 | 176 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) |
| 170 | 177 | PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) |
| 171 | 178 | INPUT_PORTS_END |