플로피 디스크와 하드 디스크 입출력에 관해...?

kkojiband의 이미지

플로피와 하드 디스크를 포트로 제어를 하려고 하는데요,

bochs 에서 os 를 띄워서 플로피에서 하나의 섹터를 읽어오는 명령을 하니 dma 를 인식을 못하네요...

bochs 는 dma 는 지원을 못해주나요? vmware 는 잘 됐었는데...

플로피를 dma 없이 바로 포트로 읽고 쓰는 방법과 하드디스크 포트로 읽고 쓰는 방법에 대해 자세히 나온 책 없나요?

바이오스콜을 이용하면 훨씬 간단하겠지만, 그건 영 찜찜해서요...^^;

아시는 분 계시면 도와주세요~

감사합니다~ 꾸벅~!

achrom의 이미지

책에는 없을 것 같고, 리눅스 등의 소스 코드를 참고하시는 것이 좋을 것 같네요.
대략의 개념은,

1. LBA관련 포트에 LBA값을, 섹터 수 관련 포트에 섹터 수를 쓴다.
3. Command 관련 포트에 읽기 또는 쓰기 커맨드를 쓴다.
4. Status 관련 포트와 인터럽트를 처리하면서 데이터를 읽거나 쓴다.

입니다.