2013-11-26 5 views
1

비디오 매핑 된 메모리 (주소 0B800에서 시작)를 사용하려고하는 간단한 응용 프로그램을 작성했습니다. 대부분의 경우 해당 메모리에 직접 쓸 수 있으며 화면에 문자가 즉시 나타납니다. 그러나 커서 아래에 직접 쓰려고하면 필자가 쓰려고 시도한 것이 붙지 않습니다. 이 문제를 해결할 방법이 있습니까? 어떻게하면 커서 아래에 직접 쓸 수 있습니까? 비디오 매핑 된 메모리를 사용하여 x86 어셈블리의 커서 아래에 쓰기

현재 메모리에 기록 같은 것을 사용 :

mov word ptr ES:[DI], BX 

을 BX는 속성과 내가 쓰고 싶은 문자를이 곳.

+2

DOS 에뮬레이터와의 전투 중 0이 아닌 확률. 최신 하드웨어에서는 진정한 하드웨어 커서를 사용할 수 없습니다. 그것은 이기기 힘든 전투입니다. 다른 전투를 시도하십시오. –

+0

그래,이 점을 지적 해 주셔서 고마워, 나는 단지 dosbox가 문제 일 수도 있다는 것을 깨닫기 위해이 물건에 대한 충분한 경험이 없었다. – Twiltie

+0

커서를 오프 스크린 위치로 이동하면 도움이 될까요? –

답변

1

dosbox가 지원하는 인터럽트와 int 33h가 목록에 있는지 찾아 보았습니다. ax = 2으로 int 33h를 호출하면 마우스가 숨겨지고 그 다음에 mov word ptr ES:[DI], BX이 제대로 작동하고 마침내 ax = 1으로 다시 int 33h를 호출하여 다시 한 번 마우스를 볼 수있게합니다.