안녕하십니까? 이 희락입니다.
이 곳은 서포트 페이지를 한글화 한 곳입니다. 이 사이트는 저의 한글 개인 사이트입니다.
이 사이트는 K씨가 한국어를 모르는 관계로 제가 번역하여 보여드리는 사이트입니다. 여기에서 표시되는 일본어를 모르시는 분은 구글 번역기를 통해 번역해 보시면 좋겠습니다.
구글 번역기 소개 †
구글 번역기는 제가 일본어 사이트를 볼 때 사용하는 번역 사이트입니다. 본래, HWS의 영어 번역을 위해 사용되었으나, 최근엔 일본어 사이트를 번역하는 데에 쓰이고 있습니다.
구글 번역기는 아래의 링크로 진입하실 수 있습니다: http://translate.google.com/translate_t?sl=ja&tl=ko#
이 홈페이지로 접속하시려면 아래의 텍스트 상자에 다음을 입력하신 후 Enter 키를 누르십시오.
http://hrb.osask.jp/wiki_utf/
원본 사이트로 이동하시려면 링크를 클릭하십시오. 자동으로 구글 번역기로 연결되므로 일본어를 몰라도 걱정하실 필요는 없습니다.
★주의사항
- 원본 사이트에는 한글로 댓글을 입력하지 말아주십시오. K씨는 한글을 모르기 때문에 곤란해 할 것입니다. 그리고 그 사이트를 사용하는 다른 분들도 굉장히 보기 불편할 것입니다. 되도록 댓글은 여기에 있는 코멘트를 사용해 주십시오.
- 만약, 저처럼 개인 사이트를 만드시려면 맨 아래의 코멘트에 자기 소개를 입력하신 후 NameLink에 체크하십시오. 이때 이름을 입력해야 하며, 이름은 영어로 하여 주시고, 띄어쓰기 부분을 반드시 '_'로 채워주십시오. 안 그러면 관리자인 K씨에 의해 페이지가 지워지는 불이익을 당하실 수 있습니다.
코멘트는 여기를♪ †
- ようこそ!(welcome!) -- K 2008-10-31 (金) 23:37:09
BIOS 없이 디스크를 액세스하는 너!
- 이 내용은 K씨가 2006.03.26에 작성된 내용을 Kor_Lee_Hee_Rak이 2008.11.01에 번역했습니다.
- 이 페이지는 Haribote OS를 발전시키기를 원하시는 분들에게 권장하는 사이트입니다. 프로그래밍 능력이 부족하다면 권장하지 않습니다!
FDC(플로피 디스크 컨트롤러) 제어의 기본
- 여기서 설명하는 것은 내장 FDD를 통제하는 방법으로, USB로 연결하는 FDD와 PC 카드로 연결하는 것은 아마 이 방법으로는 제어할 수 없습니다(일부 BIOS가 에뮬레이션하는 경우도 더러 있습니다). USB로 연결하는 FDD 및 PC 카드로 연결하는 FDD를 제어하려면 고유의 제어 방법이 있습니다.
- FDC는 명령을 받으면 명령에 따라서 FD를 제어합니다. 대부분의 명령은 명령을 보내자마자 실행을 완료하는 것이 아니라 꽤 시간이 걸립니다. 실행이 끝나면 알아서 가르쳐 주기 때문에 그 전까지는 한가로이 기다리거나 다른 처리를 합시다(IRQ-06로 실행합니다).
- 디스크를 읽고 쓸 때는, 우선 헤드를 목표 실린더에 이동시킵니다. 그 후 메모리의 어느 부분을 읽고 쓸 것인가를 DMAC(Direct Memory Access Control, 다이렉트 메모리 액세스 컨트롤러)라고 하는 장치로 지정한 후, FDC에 읽고 쓰기에 대한 명령을 보냅니다. DMAC의 특성상 0 x000000000부터 0x00ffffff의 범위의 메모리 밖에 액세스 할 수 없습니다. 이 범위를 벗어나는 메모리를 FD에 읽고 쓰려면, DMAC가 닿는 범위에 메모리를 미리 전송할 필요가 있습니다. DMA는 마스터 채널 2를 사용합니다.
- FDC에 명령을 보내는 방법
- 우선 io_in8(0x03f4) & 0x11 의 값이 0이 될 때까지 기다립니다(명령 08이 예외로 나오는 것을 방지할 때는 io_in8(0x03f4) & 0x10을 사용합니다).
- 순차적으로 이 명령을 실행하면서 FDC에 데이터를 보냅니다:
- 먼저 io_in8(0x03f4) & 0xc0이 0x80이 될 때까지 기다립니다.
- io_out8(0x03f5, 데이터)를 실행하여 데이터를 전송합니다.
- FDC에서 오는 정보를 받으려면
- 필요한 바이트 수만큼 아래를 반복합니다:
- 먼저 io_in8 (0x03f4) & 0xc0가 0xc0 될 때까지 기다립니다.
- io_in8 (0x03f5)의 값을 저장할 변수에 저장합니다.
- 일단 이것만 알면 좋을 것 같은 대표적인 FDC의 명령
- ':' 문자 이후의 데이터가 기록 데이터가 아니라 FDC에서 오는 정보(이것을 리자루토스테타스라고 합니다)입니다.
- 실린더 0으로 헤드 이동(헤드 두개 다 동작합니다)
(잠시 중단합니다.)