bool SoftSectoredDisk::defaultHoleStatus(unsigned long pos) { debugss(ssFloppyDisk, ALL, "pos = %ld ", pos); // check for index hole if (pos < 128) /// \todo ??? does this need to change based on the density { debugss_nts(ssFloppyDisk, ALL, "index hole\n"); return true; } debugss_nts(ssFloppyDisk, ALL, "no hole\n"); return false; }
bool HardSectoredDisk::defaultHoleStatus(unsigned long pos) { debugss(ssFloppyDisk, ALL, "pos = %lu ", pos); // check for a sector hole if ((pos % 320) < 64) { debugss_nts(ssFloppyDisk, ALL, "sector hole\n"); return true; } // check for index hole if ((pos > 3040) && (pos < 3104)) { debugss_nts(ssFloppyDisk, ALL, "index hole\n"); return true; } debugss_nts(ssFloppyDisk, ALL, "no hole\n"); return false; }
BYTE MMS77320::in(BYTE addr) { BYTE offset = getPortOffset(addr); BYTE val = 0; debugss(ssMMS77320, ALL, "MMS77320::in(%d)\n", addr); if (offset == DataPort_Offset_c) { val = dataInReg_m; debugss(ssMMS77320, INFO, "MMS77320::in(DataPort) %02x\n", val); if (curDrive_m != NULL) { ctrlBus_m |= GenericSASIDrive::ctl_Ack_i_c; curDrive_m->ack(dataInReg_m, dataOutReg_m, ctrlBus_m); } // TODO: side-effects? } else if (offset == StatusPort_Offset_c) { val = getStatus(ctrlBus_m); debugss(ssMMS77320, INFO, "MMS77320::in(StatusPort) %02x %s %s %s %s %s\n", val, (val & sts_Msg_c) ? "MSG" : " ", (val & sts_Req_c) ? "REQ" : " ", (val & sts_Cmd_c) ? "CMD" : " ", (val & sts_POut_c) ? "OUT" : " ", (val & sts_Busy_c) ? "BSY" : " " ); lowerIntrq(); // TODO; other side-effects? } else { debugss(ssMMS77320, ERROR, "MMS77320::in(Unknown - 0x%02x)\n", addr); } debugss_nts(ssMMS77320, INFO, " - %d(0x%x)\n", val, val); return (val); }