반응형
부트로더를 제작하다가 부팅시 나오는 화면을 제어할 수 있다는 걸 알았다.
이 때 화면 모드를 설정할 수 있고, 비디오 메모리라는 영역에 접근하여 화면 제어를 한다.
먼저 이 비디오 메모리에 대해 알아보기 위해 시스템의 하위 메모리 맵을 볼 필요가 있다.
내가 OS 제작을 하면서 사용할 부분은 텍스트 모드 비디오 메모리(당연히 컬러) 이다.
위 그림을 보면 컬러 텍스트 모드는 0xB800 에서 0xFFFF 크기 만큼의 영역을 사용한다.
화면 크기는 80*25 문자 (가로*세로)
근데 하나의 문자는 문자값과 속성값 각각 1바이트 씩 이기 때문에
실제 비디오 메모리의 크기는 80*25*2 = 4000 바이트이다.
문자값 1바이트는 뭐 당연히 문자를 나타내는 것이고
속성값 1바이트(8비트)는 상위 4비트는 전경색, 하위 4비트는 배경색으로 구분된다.
위에 FC는 전경색, BC는 배경색이다. 그리고 상/하위 비트에 각각 속성이 하나씩 있다.
여기도 값에 따라 색깔, 텍스트의 효과가 다르다. 정리해둘 필요가 있는듯 싶어 표로 정리해둔다.
반응형
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
운영체제(Operating System) 개요 (0) | 2021.04.17 |
---|---|
플로피 디스크 (Floppy Disk) (0) | 2021.04.17 |
세그먼테이션(Segmentation) 과 페이징(Paging) (0) | 2021.04.17 |
바이트 오더링 (Byte Ordering) (0) | 2021.04.17 |
함수 호출 규약 (Function Calling Convention) (0) | 2021.04.17 |