2001

16비트, 32비트 64비트 프로그램실행시 런타임에러....

sungtg 2008. 3. 7. 12:07
 

얼마전에 컴퓨터를 친구와 조립을 했습니다.
그런데 그 컴퓨터가 도스용 프로그램을 완벽하게 지원하지 못하네요.

한 예로 도스 창에서나 도스로 부팅을 시킨 다음
도스용 M.exe 을 실행 시키면 Runtime error 200 at 26E5:0091 이라고
나오는 데, 무엇을 어떻게 해주어야 할지 잘 모르겠네요...

그리고 도스용 게임을 실행시키면 컴퓨터의 화면이 이상하게 나오거나
다운이 되는 경우가있는데 그것은 또 왜그런지요...
이 질문에 대해서 답변을 기다리고 있겠습니다.

참고로 제 컴퓨터의 운영체제는 윈도우98을 사용하고 있었고
예전의 컴퓨터에서 그 운영체제로는 도스 사용이 잘 되었습니다


16비트와 32비트의 차이에서 나오는 런타임에러입니다.
윈도우 98과 현재 사용하고 있는 XP는 32비트입니다.

M.EXE는 과거 도스시절에 만들었던 도스용 파일관리 유틸리티입니다.
이것을 도스 창이나 FAT32용 디스크에서 도스로 부팅한 경우에는
사용을 할 수 있을 겁니다.
그러나 윈도우에서 클릭을 해서 사용할 때는 에러가 나오게 됩니다.

프로그램을 제작할 때 엔진이라는 것이 있는데
32비트용 엔진이 아니라서 오류가 납니다.

이 경우 런타임에러는
윈도우의 커널에 주소를 할당해서 프로그램을 실행시키는 과정에서
16비트와 32비트에서 사용하는 주소방식이 틀리기 때문에
에러가 나는 것입니다.

참고로 도스용 프로그램들은 하드가 FAT32 파티션방식을 기본적으로 하고
있습니다. 그러므로 NTFS라면 아예 실행도 안됩니다.

V3NEO인 경우는 ntfs에서도 가능한데
이것을 가능하게하는 엔진이 있기 때문입니다.
CWSDPMI.EXE 이 파일 때문에 가능한 것입니다.
일종의 v3neo를 ntfs방식의 디스크에서 돌릴 수 있게 만든 애뮬레이터
역할을 하는 것입니다.

사용자 삽입 이미지