Example #1
0
        public void reset(RESET_TYPE mode)
        {
            reg.control = 0; // clear SRST
            intrq       = false;

            command_ok();
            reset_signature(mode);
        }
Example #2
0
 public void reset_signature(RESET_TYPE mode = RESET_TYPE.RESET_SOFT)
 {
     reg.count    = reg.sec = 1;
     reg.err      = HD_ERROR.ERR_AMNF;   // = 1
     reg.cyl      = atapi ? (ushort)0xEB14 : (ushort)0;
     reg.devhead &= (atapi && mode == RESET_TYPE.RESET_SOFT) ? (byte)0x10 : (byte)0;
     reg.status   = (mode == RESET_TYPE.RESET_SOFT || !atapi) ?
                    (HD_STATUS.STATUS_DRDY | HD_STATUS.STATUS_DSC) : HD_STATUS.STATUS_NONE;
 }
Example #3
0
 public void reset_signature(RESET_TYPE mode = RESET_TYPE.RESET_SOFT)
 {
     reg.count = reg.sec = 1;
     reg.err = HD_ERROR.ERR_AMNF;	// = 1
     reg.cyl = atapi ? (ushort)0xEB14 : (ushort)0;
     reg.devhead &= (atapi && mode == RESET_TYPE.RESET_SOFT) ? (byte)0x10 : (byte)0;
     reg.status = (mode == RESET_TYPE.RESET_SOFT || !atapi) ?
         (HD_STATUS.STATUS_DRDY | HD_STATUS.STATUS_DSC) : HD_STATUS.STATUS_NONE;
 }
Example #4
0
        public void reset(RESET_TYPE mode)
        {
            reg.control = 0; // clear SRST
            intrq = false;

            command_ok();
            reset_signature(mode);
        }