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 \ |