동방환상마작 포스팅 이후로 오랜 시간이 흐른 뒤의 포스팅입니다. 그 동안 병역특례의 기간도 끝을 보게 되었고, 한 달 여 정도 문서와 구글속에서 파묻혀 살았습니다. 사실 게임도 아주 약간 했다는 것을 숨길 수는 없겠습니다. 전체적으로 구상도가 정리되지 않는 문서를 보고 있으려니 아주 막막하더라구요^^. 그리하여 한 달 정도 여러가지 문서를 보고 다른 할 일도 처리하면서 시간을 보냈습니다. 아래의 것이 그 결과물 입니다(?)
처음에 보이는 깨지는 문자를 C 로 쓴 커널Entry 에서 보이도록 만들었는데 작동합니다. ㅜㅜ 사실 여태까지 한 번도 롱모드 쪽으로는 전환해본적이 없는데 일단은 성공을 했습니다. 그런데 아마.. 이제부터 시작일 것 같군요^^; IDT를 비롯해서 Memory Management 쪽도 만들어야 하고.. 할 일이 많을것 같습니다. 맨 처음에는 BIOS 인터럽트를 이용하여 부트로더에서 커널로더를 올렸고, 커널로더에서는 x64의 롱모드로 진입 후, CHS모드를 이용하여 데이터를 직접 1MB 영역에 올렸습니다. 그런 다음에 바로 점프를 한셈이구요.
rep 를 붙여서 명령어를 돌리는데, 왜 계속 리부팅 되지 되지 하다가.. rcx 가 아니라 ecx 로 데이터를 준 것을 발견하고 삽질 중에 고쳐서 겨우 진입 했습니다. 이게 바로 삽질의 매력(?) 인가요 ㅜㅜ 일단 어쨌든.. 앞으로 할 것이 많이 남은 듯 하군요^^;
"Small Talk" 분류의 다른 글
| [64비트 멀티코어 OS 원리와 구조] 책을 받았습니다. (1) | 2011/07/11 |
| HD2 새로운 기기를 영입했습니다. (1) | 2011/03/31 |
| 최근 프로젝트로 진행하고 있던.. (2) | 2011/01/17 |
| 음 요새 아주 열코딩중입니다. (6) | 2010/07/29 |
| 오랫만에 글을 올리면서.. (1) | 2010/06/23 |


댓글을 달아 주세요