trunk/src/mess/drivers/ng_aes.c
| r29281 | r29282 | |
| 141 | 141 | DECLARE_READ16_MEMBER(aes_in1_r); |
| 142 | 142 | DECLARE_READ16_MEMBER(aes_in2_r); |
| 143 | 143 | |
| 144 | DECLARE_INPUT_CHANGED_MEMBER(aes_j1); |
| 145 | |
| 144 | 146 | DECLARE_MACHINE_START(neocd); |
| 145 | 147 | DECLARE_MACHINE_START(neogeo); |
| 146 | 148 | DECLARE_MACHINE_RESET(neogeo); |
| r29281 | r29282 | |
| 1313 | 1315 | INPUT_PORTS_END |
| 1314 | 1316 | |
| 1315 | 1317 | static INPUT_PORTS_START( aes ) |
| 1316 | | PORT_START("CTRLSEL") /* Select Controller Type */ |
| 1318 | PORT_START("CTRLSEL") /* Select Controller Type */ |
| 1317 | 1319 | PORT_CONFNAME( 0x0f, 0x01, "P1 Controller") |
| 1318 | | PORT_CONFSETTING( 0x00, "Unconnected" ) |
| 1319 | | PORT_CONFSETTING( 0x01, "NeoGeo Controller" ) |
| 1320 | | PORT_CONFSETTING( 0x02, "NeoGeo Mahjong Panel" ) |
| 1320 | PORT_CONFSETTING( 0x00, "Unconnected" ) |
| 1321 | PORT_CONFSETTING( 0x01, "NeoGeo Controller" ) |
| 1322 | PORT_CONFSETTING( 0x02, "NeoGeo Mahjong Panel" ) |
| 1321 | 1323 | PORT_CONFNAME( 0xf0, 0x10, "P2 Controller") |
| 1322 | | PORT_CONFSETTING( 0x00, "Unconnected" ) |
| 1323 | | PORT_CONFSETTING( 0x10, "NeoGeo Controller" ) |
| 1324 | | PORT_CONFSETTING( 0x20, "NeoGeo Mahjong Panel" ) |
| 1324 | PORT_CONFSETTING( 0x00, "Unconnected" ) |
| 1325 | PORT_CONFSETTING( 0x10, "NeoGeo Controller" ) |
| 1326 | PORT_CONFSETTING( 0x20, "NeoGeo Mahjong Panel" ) |
| 1325 | 1327 | |
| 1326 | 1328 | PORT_INCLUDE( controller ) |
| 1327 | 1329 | |
| r29281 | r29282 | |
| 1334 | 1336 | PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START ) PORT_PLAYER(2) |
| 1335 | 1337 | PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SELECT ) PORT_PLAYER(2) |
| 1336 | 1338 | PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state, get_memcard_status, NULL) |
| 1337 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* Hardware type (AES=0, MVS=1) Some games check this and show */ |
| 1338 | | /* a piracy warning screen if the hardware and BIOS don't match */ |
| 1339 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* Hardware type (AES=0, MVS=1) Some games check this and show a piracy warning screen if the hardware and BIOS don't match */ |
| 1339 | 1340 | |
| 1340 | 1341 | PORT_START("AUDIO") |
| 1341 | 1342 | PORT_BIT( 0x0007, IP_ACTIVE_HIGH, IPT_UNUSED ) /* AES has no coin slots, it's a console */ |
| 1342 | 1343 | PORT_BIT( 0x0018, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* what is this? Universe BIOS uses these bits to detect MVS or AES hardware */ |
| 1343 | 1344 | PORT_BIT( 0x00e0, IP_ACTIVE_HIGH, IPT_UNUSED ) /* AES has no upd4990a */ |
| 1344 | | PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_audio_result, NULL) |
| 1345 | PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state, get_audio_result, NULL) |
| 1346 | |
| 1347 | PORT_START("JP") // J1 and J2 are jumpers or solderpads depending on AES board revision, intended for use on the Development BIOS |
| 1348 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Short J1 (Debug Monitor)") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, ng_aes_state, aes_j1, 0) |
| 1349 | // PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) // what is J2 for? somehow related to system reset, disable watchdog? |
| 1345 | 1350 | INPUT_PORTS_END |
| 1346 | 1351 | |
| 1352 | INPUT_CHANGED_MEMBER(ng_aes_state::aes_j1) |
| 1353 | { |
| 1354 | // Shorting J1 causes a 68000 /BERR (Bus Error). On Dev Bios, this pops up the debug monitor |
| 1355 | if (newval) |
| 1356 | m_maincpu->set_input_line(M68K_LINE_BUSERROR, HOLD_LINE); |
| 1357 | } |
| 1347 | 1358 | |
| 1359 | |
| 1348 | 1360 | static INPUT_PORTS_START( neocd ) |
| 1349 | 1361 | PORT_INCLUDE( aes ) |
| 1350 | 1362 | |