src/emu/machine/z8536.c
| r12936 | r12937 | |
| 319 | 319 | |
| 320 | 320 | if (((m_register[PORT_A_MODE_SPECIFICATION] & PMS_PMS_MASK) >> 1) == PMS_OR_PEV) |
| 321 | 321 | { |
| 322 | | if (m_match[PORT_A] & 0x80) vector |= 7; |
| 323 | | else if (m_match[PORT_A] & 0x40) vector |= 6; |
| 324 | | else if (m_match[PORT_A] & 0x20) vector |= 5; |
| 325 | | else if (m_match[PORT_A] & 0x10) vector |= 4; |
| 326 | | else if (m_match[PORT_A] & 0x08) vector |= 3; |
| 327 | | else if (m_match[PORT_A] & 0x04) vector |= 2; |
| 328 | | else if (m_match[PORT_A] & 0x02) vector |= 1; |
| 329 | | else if (m_match[PORT_A] & 0x01) vector |= 0; |
| 322 | if (m_match[PORT_A] & 0x80) vector |= 7 << 1; |
| 323 | else if (m_match[PORT_A] & 0x40) vector |= 6 << 1; |
| 324 | else if (m_match[PORT_A] & 0x20) vector |= 5 << 1; |
| 325 | else if (m_match[PORT_A] & 0x10) vector |= 4 << 1; |
| 326 | else if (m_match[PORT_A] & 0x08) vector |= 3 << 1; |
| 327 | else if (m_match[PORT_A] & 0x04) vector |= 2 << 1; |
| 328 | else if (m_match[PORT_A] & 0x02) vector |= 1 << 1; |
| 329 | else if (m_match[PORT_A] & 0x01) vector |= 0 << 1; |
| 330 | 330 | } |
| 331 | 331 | else |
| 332 | 332 | { |
| r12936 | r12937 | |
| 353 | 353 | |
| 354 | 354 | if (((m_register[PORT_B_MODE_SPECIFICATION] & PMS_PMS_MASK) >> 1) == PMS_OR_PEV) |
| 355 | 355 | { |
| 356 | | if (m_match[PORT_B] & 0x80) vector |= 7; |
| 357 | | else if (m_match[PORT_B] & 0x40) vector |= 6; |
| 358 | | else if (m_match[PORT_B] & 0x20) vector |= 5; |
| 359 | | else if (m_match[PORT_B] & 0x10) vector |= 4; |
| 360 | | else if (m_match[PORT_B] & 0x08) vector |= 3; |
| 361 | | else if (m_match[PORT_B] & 0x04) vector |= 2; |
| 362 | | else if (m_match[PORT_B] & 0x02) vector |= 1; |
| 363 | | else if (m_match[PORT_B] & 0x01) vector |= 0; |
| 356 | if (m_match[PORT_B] & 0x80) vector |= 7 << 1; |
| 357 | else if (m_match[PORT_B] & 0x40) vector |= 6 << 1; |
| 358 | else if (m_match[PORT_B] & 0x20) vector |= 5 << 1; |
| 359 | else if (m_match[PORT_B] & 0x10) vector |= 4 << 1; |
| 360 | else if (m_match[PORT_B] & 0x08) vector |= 3 << 1; |
| 361 | else if (m_match[PORT_B] & 0x04) vector |= 2 << 1; |
| 362 | else if (m_match[PORT_B] & 0x02) vector |= 1 << 1; |
| 363 | else if (m_match[PORT_B] & 0x01) vector |= 0 << 1; |
| 364 | 364 | } |
| 365 | 365 | else |
| 366 | 366 | { |
src/mess/drivers/abc1600.c
| r12936 | r12937 | |
| 12 | 12 | |
| 13 | 13 | - keyboard |
| 14 | 14 | - "Bad command" on first enter after boot |
| 15 | - expose Z80DART interrupt acknowledge function |
| 15 | 16 | - floppy |
| 16 | 17 | - internal floppy is really drive 2, but wd17xx.c doesn't like having NULL drives |
| 18 | - mf: timeout several times while loading abcenix |
| 17 | 19 | - BUS0I/0X/1/2 |
| 18 | 20 | - short/long reset (RSTBUT) |
| 19 | 21 | - SCC interrupt |
| r12936 | r12937 | |
| 1086 | 1088 | case 6: // SYSSCC |
| 1087 | 1089 | m_sysscc = state; |
| 1088 | 1090 | update_drdy1(); |
| 1091 | m_cio->pb5_w(!m_sysscc); |
| 1089 | 1092 | break; |
| 1090 | 1093 | |
| 1091 | 1094 | case 7: // SYSFS |
| 1092 | 1095 | m_sysfs = state; |
| 1093 | 1096 | update_drdy0(); |
| 1097 | m_cio->pb6_w(!m_sysfs); |
| 1094 | 1098 | break; |
| 1095 | 1099 | } |
| 1096 | 1100 | } |
| r12936 | r12937 | |
| 1311 | 1315 | |
| 1312 | 1316 | UINT8 data = 0; |
| 1313 | 1317 | |
| 1318 | data |= !m_sysscc << 5; |
| 1319 | data |= !m_sysfs << 6; |
| 1320 | |
| 1314 | 1321 | // floppy interrupt |
| 1315 | 1322 | data |= wd17xx_intrq_r(m_fdc) << 7; |
| 1316 | 1323 | |
| r12936 | r12937 | |
| 1474 | 1481 | case M68K_IRQ_2: |
| 1475 | 1482 | data = state->m_cio->intack_r(); |
| 1476 | 1483 | break; |
| 1484 | |
| 1485 | case M68K_IRQ_5: |
| 1486 | //data = state->m_dart->z80daisy_irq_ack(); |
| 1487 | break; |
| 1477 | 1488 | } |
| 1478 | 1489 | |
| 1479 | 1490 | return data; |