trunk/src/emu/machine/idectrl.c
| r23666 | r23667 | |
| 921 | 921 | ide_device_interface *dev = slot[cur_drive]->dev(); |
| 922 | 922 | |
| 923 | 923 | if (dev == NULL) |
| 924 | | return 0xff; |
| 924 | { |
| 925 | if (slot[cur_drive^1]->dev() == NULL) |
| 926 | return 0xff; |
| 927 | return 0; |
| 928 | } |
| 925 | 929 | |
| 926 | 930 | UINT16 result = dev->buffer[dev->buffer_offset++]; |
| 927 | 931 | result |= dev->buffer[dev->buffer_offset++] << 8; |
| r23666 | r23667 | |
| 944 | 948 | // if (offset != IDE_BANK0_DATA && offset != IDE_BANK0_STATUS_COMMAND) |
| 945 | 949 | LOG(("%s:IDE cs0 read at %X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask)); |
| 946 | 950 | |
| 947 | | if (dev != NULL) |
| 951 | if (dev == NULL) |
| 948 | 952 | { |
| 949 | | if (dev->is_ready()) { |
| 950 | | status |= IDE_STATUS_DRIVE_READY; |
| 951 | | } else { |
| 952 | | status &= ~IDE_STATUS_DRIVE_READY; |
| 953 | | } |
| 953 | if (slot[cur_drive^1]->dev() == NULL) |
| 954 | return 0xff; |
| 955 | return 0; |
| 954 | 956 | } |
| 955 | | else |
| 956 | | { |
| 957 | | return 0xff; |
| 957 | |
| 958 | if (dev->is_ready()) { |
| 959 | status |= IDE_STATUS_DRIVE_READY; |
| 960 | } else { |
| 961 | status &= ~IDE_STATUS_DRIVE_READY; |
| 958 | 962 | } |
| 959 | 963 | |
| 960 | 964 | switch (offset) |
| r23666 | r23667 | |
| 1049 | 1053 | UINT16 result = 0; |
| 1050 | 1054 | ide_device_interface *dev = slot[cur_drive]->dev(); |
| 1051 | 1055 | |
| 1052 | | if (dev != NULL) |
| 1056 | if (dev == NULL) |
| 1053 | 1057 | { |
| 1054 | | if (dev->is_ready()) { |
| 1055 | | status |= IDE_STATUS_DRIVE_READY; |
| 1056 | | } else { |
| 1057 | | status &= ~IDE_STATUS_DRIVE_READY; |
| 1058 | | } |
| 1058 | if (slot[cur_drive^1]->dev() == NULL) |
| 1059 | return 0xff; |
| 1060 | return 0; |
| 1059 | 1061 | } |
| 1060 | | else |
| 1061 | | { |
| 1062 | | return 0xff; |
| 1062 | |
| 1063 | if (dev->is_ready()) { |
| 1064 | status |= IDE_STATUS_DRIVE_READY; |
| 1065 | } else { |
| 1066 | status &= ~IDE_STATUS_DRIVE_READY; |
| 1063 | 1067 | } |
| 1064 | 1068 | |
| 1065 | 1069 | /* logit */ |