IT 그리고 정보보안/Knowledge base

화면 모드와 비디오 메모리

plummmm 2021. 4. 17. 11:23
반응형

부트로더를 제작하다가 부팅시 나오는 화면을 제어할 수 있다는 걸 알았다.

이 때 화면 모드를 설정할 수 있고, 비디오 메모리라는 영역에 접근하여 화면 제어를 한다.

 

먼저 이 비디오 메모리에 대해 알아보기 위해 시스템의 하위 메모리 맵을 볼 필요가 있다.

 

 

내가 OS 제작을 하면서 사용할 부분은 텍스트 모드 비디오 메모리(당연히 컬러) 이다.

위 그림을 보면 컬러 텍스트 모드는 0xB800 에서 0xFFFF 크기 만큼의 영역을 사용한다.

화면 크기는 80*25 문자 (가로*세로)

근데 하나의 문자는 문자값과 속성값 각각 1바이트 씩 이기 때문에

실제 비디오 메모리의 크기는 80*25*2 = 4000 바이트이다.

 

문자값 1바이트는 뭐 당연히 문자를 나타내는 것이고

속성값 1바이트(8비트)는 상위 4비트는 전경색, 하위 4비트는 배경색으로 구분된다.

 

위에 FC는 전경색, BC는 배경색이다. 그리고 상/하위 비트에 각각 속성이 하나씩 있다.

여기도 값에 따라 색깔, 텍스트의 효과가 다르다. 정리해둘 필요가 있는듯 싶어 표로 정리해둔다.

 

 

반응형