span class=postbodyInterrupt $0x1e 에 해당하는 벡터위치에 DPT의 위치주소가 담겨있습니다.
우리는 이 값을 통해서 플로피의 정보를 얻어볼수 있습니다. Interrupt 0x1e 는 0x1e * 4 = 0x0078 에
해당하는 주소이며 이 주소에 DPT가 담겨져 있는 메모리를 가르키는 주소값이 존재하게 됩니다. 여기서 Interrupt
0x1e는 Disk Initialization Parameter Table Vector 라고 부릅니다. 그리고 DPT는
Disk parameter table이라고 합니다.
br /
br /
참고로 아래의 내용중에 시간의 단위는 Milli second입니다.
br /
br /
디스크로부터 읽는 것은 Interrupt $0x13 을 사용하는 방법이 있고 PIO 방식도 있으니 그 부분은 가장 많이 알려져 있는 랄프브라운의 인터럽트 리스트를 참고하시면 될겁니다.
br /
br /
/spantable align=center border=0 cellpadding=3 cellspacing=1 width=90%tbodytr tdspan class=genmedb코드:/b/span/td /tr tr td class=code
br /
Offsetnbsp; 내용nbsp;
br /
0x00nbsp; Bit 0~3까지 4bit는 Head의 지연시간을 가집니다.nbsp;
br /
nbsp; nbsp; nbsp; Bit 4~7까지 4bit는 Head가 자유로워지는에 걸리는 시간입니다.nbsp;
br /
0x01nbsp; Bit 0은 DMA의 사용가능 여부입니다.nbsp;
br /
nbsp; nbsp; nbsp; Bit 1~7까지 7Bit는 Head의 접근시간에 대하여 2를 나누어 1을 뺀 값의 시간을 뜻합니다.nbsp;
br /
0x02nbsp; Motor의 전원이 완전히 꺼지기까지의 Clock tick수를 의미합니다.nbsp;
br /
0x03nbsp; FM 또는 MFM모드에 대하여 각각 내용이 다른데 그냥 섹터당 바이트수를 128로 나눈값으로 생각하시면 무난할듯.nbsp;
br /
0x04nbsp; Track당 Sector수 (본래 의미는 Track에서 마지막 섹터번호입니다.)nbsp;
br /
0x05nbsp; Sector당 byte수 (본래 의미는 Sector간격입니다.)nbsp;
br /
0x06nbsp; Format을 결정하는 값 (0x80이면 섹터당 128byte이고 그 외의 값은 필자도 정확히 모르며 정확하지 않아도 잘 되네요.)nbsp;
br /
0x07nbsp; Format간격 (포맷시에 하나의 그룹을 단위로 포맷을 하게 되는데 이때 이 그룹간격)nbsp;
br /
0x08nbsp; 위와 비슷한데 Data형식 지정자라고 해야 할까? (필자는 이것에 대해서도 잘 모르겠습니다.)nbsp;
br /
0x09nbsp; Head가 접근후에 준비까지의 시간nbsp;
br /
0x0anbsp; Motor가 기동되어 준비될때까지의 시간nbsp;
br /
0x0bnbsp; Motor가 중지될때까지의 시간 (디스켓 빼려면 이것이 정지될때까지는 빼지 말라고 할수 있겠죠?)
/td/tr/tbody/table
받은 트랙백이 없고,
댓글이 없습니다.

글
댓글을 달아 주세요
댓글 RSS 주소 : http://blog.minzkn.com/rss/comment/65댓글 ATOM 주소 : http://blog.minzkn.com/atom/comment/65