카테고리

전체 (1262)
PC 게임 (1230)
오락실 게임 (13)
기타 (19)

최근에 달린 댓글


* 이 글은 도스박스를 사용하기 위해 꼭 필요한 내용은 아닙니다.
 

초기의 도스는 1MB의 메모리만 사용하도록 만들어졌습니다. 물리적인 차이는 없지만 도스는 메모리를 쓰임에 따라 나눠서 1MB(1024KB)에서 하위 640KB를 '기본 메모리’라고 하며 상위 384KB를 '상위 메모리 영역’이라고 합니다. 하드웨어 장치에 필요한 요소는 상위 메모리 영역에 두고, 실행하는 프로그램은 기본 메모리를 사용합니다.

 

나중에 더 많은 메모리가 필요해지면서 하드웨어와 도스가 변화했는데 호환성을 이유로 기본 메모리와 상위 메모리 영역을 그대로 유지한 채 1MB를 초과하는 부분에는 다른 방식으로 접근합니다. 어떤 방식으로 접근하는가에 따라 XMS 또는 EMS라고 부릅니다.


도스는 기본적으로 기본 메모리만을 자유롭게 사용하는 구조이기 때문에 도스 프로그램은 일단 기본 메모리에 로드되고 메모리를 많이 사용하는 프로그램은 1MB를 초과하는 영역을 추가로 사용합니다. 따라서 도스 게임은 메모리의 총 용량과 기본 메모리의 남은 용량을 따로 요구합니다. 기본 메모리의 총 용량은 640KB로 정해져 있으므로 여기에서 컴퓨터 사용을 위한 각종 드라이버와 램 상주 프로그램을 실행한 후에 게임이 원하는 용량만큼이 남아 있어야 합니다. 도스 게임은 박스와 매뉴얼에 '램 8MB 이상, 기본 메모리 540KB 이상'처럼 적혀 있는데 이는 기본 메모리를 540KB 사용하고 7MB를 추가로 사용한다는 의미입니다. 도스에서 항상 골치 아픈 문제는 더 많은 기본 메모리 확보였습니다.

 

도스 6.22에서 mem 명령어로 현재 메모리 상태를 출력했습니다. 도스는 나중에도 여러 버전이 나왔지만 변질되지 않은 본래의 계열에서는 6.22가 마지막 버전입니다. 밑줄 친 부분을 보면 기본 메모리(Conventional)는 총 638KB 중 617KB가 남아 있습니다. 기본 메모리의 총 용량이 640KB가 아닌 638KB로 나오는데 표에 나오는 각 부분이 약간씩의 차이가 있고 도스박스에서도 마찬가지입니다. 그림의 도스 상태는 거의 띄워 놓은 것이 없어서 617KB의 기본 메모리가 남았지만 원활한 도스 사용을 위해 여러가지를 로드하다 보면 확보하기 어려운 용량입니다.

 

도스박스도 mem 명령어를 지원하는데 에뮬레이션 되는 메모리 상태를 볼 수 있습니다. 기본 메모리는 633KB가 남아 있습니다. 실제 도스에서는 CD롬 드라이브, 마우스 같은 기본적인 장치부터 각종 램 상주 프로그램 등을 띄우면서 기본 메모리를 사용하게 됩니다. 도스박스가 실행된 화면은 간단해 보이지만 내부적으로 이미 많은 것을 지원하고 있으면서도 633KB를 확보하고 있는데 이는 도스에서는 상상도 할 수 없는 크기입니다. 도스에서 그렇게 괴롭히던 기본 메모리 확보의 어려움은 없어졌습니다.


하지만 그때는 너무나 다양한 이유로 문제가 생겼는데 오히려 기본 메모리가 많아서 문제 되는 게임이 있습니다. 여기에 관련된 내용은 <기본 메모리의 남은 용량을 줄이는 loadfix 명령어>에 있습니다.

 

Posted by Passing