2012-04-19 2 views
1

BIOS 데이터 영역에서 메모리 주소 461h (커서 시작) 및 460h (커서 끝)의 명확한 의미를 찾고있었습니다.BIOS 데이터 영역 : 커서 시작 (61h) 및 커서 끝 (60h)에 대한 값의 의미

그러나 커서의 "크기"라고 말하는 일부 참조를 발견했습니다. 다른 사람들은 스캔 라인을 언급한다고 말하면서 사용 된 값 또한 광범위하게 차이가 난다고합니다 (MCGA의 경우 63h 및 00h, 80x25 텍스트 모드의 경우 67h 및 00, 예를 들어 01h 및 00h). 그러나 여전히 충분하지는 않습니다. INT 또는 10h를 사용하는 대신 표준 그래픽 또는 텍스트 모드 (특히 커서를 사용하는 텍스트 모드)로 VGA 레지스터를 수동으로 프로그래밍하면 DOS 또는 BIOS 자체가 일관성을 유지할 수 있도록 해당 값을 조정해야합니다 구성.

Google 결과 (Ralf Brown, mcamafia.de, Wikipedia, TinyVGA, BIOS Central 등)의 처음 2 페이지를 보았지만 포함 된 정보로는 그 값이 무엇을하는지 정확하게 설명 할 수 없습니다. 또는 어느 구성으로 VGA 레지스터에 해당하는지, 그래서 나는 그 값을 맹목적으로 프로그래밍 할 것입니다.

그럼 올바른 정의는 무엇입니까?

답변

1

나의 이해 :

460h-461h는 "커서 모양", 크기 = 단어. 하위 바이트는 종료 스캔 라인 번호를 유지하고 주소 40 : 61h의 상위 바이트는 시작 스캔 라인을 유지합니다. 비디오 모드 3에서 문자 셀은 일반적으로 VGA에서 16 주사선 높습니다. 커서를 끄려면 종료 스캔 라인 번호를 시작 스캔 라인 번호 위에 설정하십시오.

샘플 커서 모양 :

two line cursor at bottom: 0607h 
lower half cursor:   0307h 
upper half or quarter cursor: 0003h 
full box cursor    0007h 
blank cursor     0100h