Пример #1
0
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;

}
Пример #2
0
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;
}
Пример #3
0
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);
}