trunk/src/mess/drivers/ng_aes.c
r18019 | r18020 | |
91 | 91 | DECLARE_MACHINE_START(neocd); |
92 | 92 | DECLARE_MACHINE_START(neogeo); |
93 | 93 | DECLARE_MACHINE_RESET(neogeo); |
| 94 | DECLARE_CUSTOM_INPUT_MEMBER(get_memcard_status); |
94 | 95 | |
95 | 96 | }; |
96 | 97 | |
r18019 | r18020 | |
430 | 431 | |
431 | 432 | #define MEMCARD_SIZE 0x0800 |
432 | 433 | |
433 | | static CUSTOM_INPUT( get_memcard_status ) |
| 434 | CUSTOM_INPUT_MEMBER(ng_aes_state::get_memcard_status) |
434 | 435 | { |
435 | 436 | /* D0 and D1 are memcard presence indicators, D2 indicates memcard |
436 | 437 | write protect status (we are always write enabled) */ |
437 | | if(strcmp((char*)field.machine().system().name,"aes") != 0) |
| 438 | if(strcmp((char*)machine().system().name,"aes") != 0) |
438 | 439 | return 0x00; // On the Neo Geo CD, the memory card is internal and therefore always present. |
439 | 440 | else |
440 | | return (memcard_present(field.machine()) == -1) ? 0x07 : 0x00; |
| 441 | return (memcard_present(machine()) == -1) ? 0x07 : 0x00; |
441 | 442 | } |
442 | 443 | |
443 | 444 | READ16_MEMBER(ng_aes_state::memcard_r) |
r18019 | r18020 | |
1428 | 1429 | PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME("1P Select") PORT_CODE(KEYCODE_5) PORT_PLAYER(1) \ |
1429 | 1430 | PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 ) \ |
1430 | 1431 | PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME("2P Select") PORT_CODE(KEYCODE_6) PORT_PLAYER(2) \ |
1431 | | PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_memcard_status, NULL) \ |
| 1432 | PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ng_aes_state, get_memcard_status, NULL) \ |
1432 | 1433 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Matrimelee expects this bit to be active high when on an AES */ |
1433 | 1434 | |
1434 | 1435 | #define STANDARD_IN3 \ |