Retro Game & PC/Emulator

고전 도스게임용 도스 시스템 에뮬레이션 - QEMU

smores 2014. 9. 20. 03:41

일반적으로 도스게임을 위해서는 도스박스를 많이 사용한다. 특히 다음 SVN 버전의 경우 다양한 D3D pixel shader를 지원하며 여러가지 편의성을 높여 놓았기에 윈도우즈에서의 도스 게임 환경으로는 최상이라 할 만 하다. 심지어 미디 사운드로 지원한다.

 

개인적으로 딱 한가지 아쉬운 점이라면 윈도우즈 사이즈를 자유롭게 조절하지 못한다는 점. 본인은 이상하리만치 사각 도트가 너무 튀는 것을 싫어하기 때문인지도...

 

어짜피 VGA 해상도 이상의 게임으로 가면 사실 게임의 그래픽 디자인 자체가 이미 도트가 별로 튀지 않게끔 잘 만들어져 있다. 따라서 이보다 낮은 해상도 (CGA, MCGA, EGA 등)의 게임이나 아니면 VGA 게임이라도 화면 사이즈를 적당히 작거나 크게 바꾸고 싶은 경우라면 도스박스 이외의 도스머신 에뮬레이터를 고려해야 한다. 다행히도 이러한 용도에 맞는 에뮬레이터가 두가지 있으니 하나는 QEMU (최근 버전은 잘 모르겠음. 본인이 주로 사용하는 것은 0.11) 와 MESS at486 바이오스.

 

정말로 NTSC의 번짐이 있는 CRT 같은 화질을 원하면 MESS 0.149 at486 바이오스로 도스머신을 만들면 딱이다. 압축하드 이미지 포맷만을 지원하기에 일일히 하드 이미지 만들고, 게임을 넣고 하는 번거로움이 조금 따르지만 화질 면에서는 그야말로 최고. Sound Blaster 세팅을 아직은 잘 못하고 있어서 그렇기는 하지만, 어짜피 위에 언급한 수준의 해상도의 도스 게임들은 정말로 아주 오래된, 애들립 카드 수준이면 사운드를 충분히 커버 가능한 게임들인지라 MESS 에서 소리가 잘 난다. (예를 들면 Princess Maker 2, Eyes of the Beholder 등등...) 당연히 스피커 사운드 기반의 게임(예를 들어 Bard's Tale 1)들은 소리가 잘 난다. MESS의 장점(?)은 그래픽 옵션을 -aspect auto -nonkeepaspect -w -resolution 적당한 값  으로 실행하면 임의의 사이즈/가로세로비율로 조절하다가 윈도우 최대화 버튼 한번 누르면 오리지널 해상도에 맞는 윈도우 사이즈로 돌아가 주는 기능이 있다. 

 

MESS 만큼의 화질은 필요 없고 그냥 빨리 실행해 보고 싶다 싶을 경우는 QEMU가 괜찮은 것 같다. 역시 애들립 카드까지는 문제 없다. (Sound Blaster나 미디를 궂이 사용하려면 Dosbox로 가시라~) QEMU 역시 부팅용 하드 이미지를 한번 만들어 주는 것이 번거롭기는 하지만, 일단 하나만 준비해 두면 윈도우의 폴더 자체를 두번째 이하의 하드로 매핑 가능하기에 (도스박스에서 mount 하는 것 만큼 쉽다) 사용이 무척 편하다. (만일을 위해서 본인은 FAT32로 포맷해 놓은 USB Flash Drive 안의 폴더만을 이 용도로 사용한다.) 윈도우 사이즈의 변화 범위는 MESS보다 더 넓다 (아주 작은 윈도우도 가능하다. MESS는 어느 이하는 사이즈 줄임이 안되는 듯...) 몇가지 단점을 꼽자면

 

1) 첫 시작은 오리지널 해상도에 딱 맞추어 실행된 후 윈도우 사이즈를 바꾸면 오리지널 사이즈로 쉽게 맞추기 쉽지 않다. QEMU의 경우 shader 같은 기능은 없고 단순한 bilinear filter 정도가 윈도우 사이즈가 오리지널이 아닐때 적용되는 듯 하다. 따라서 오리지널 해상도에서는 도트 튐이 보인다. 본인의 경우 일부러 윈도우 사이즈를 조금 바꾸어 부드럽게 해 주는 것을 선호한다. 하지만 스크린샷 등을 일관성 있는 사이즈로 얻으려면 기본 사이즈로 가는 기능이 있으면 싶은 아쉬움이 있다.

 

2) 스피커 사운드가 일부 게임(Bard's Tale 1)에서 이상하게 나온다. 도저히 못들어줄 정도로... 이유는 모르겠음.

 

3) 애드립까지는 되지만 역시 SB16도 잘 안됨 (나중에 알게 되면 정정하겠음)

 

흥미로운 점은 MESS 의 chdman.exe 로 압축포맷의 하드 이미지를 만들고 이를 사용하다가 chdman으로 다시 raw 포맷으로 변환한 파일을 QEMU에서 읽고 쓸 수 있다.

 

 

 

 

서두가 길었는데 일단 이번 글에서는 QEMU를 이용한 486 PC DOS 머신을 만들어서 돌리는 것을 소개한다.

 

 

다음은 본인이 사용하고 있는 QEMU 0.11 버전과 사용 편의를 위한 몇몇 배치파일을 함께 모아놓은 압축파일이다.

 

qemu011.zip
다운로드

 

다음은 C: 하드로 사용하는 도스 6.22 부팅 하드 이미지이다. 도스와 몇가지 유틸리티 및 게임 조금(EOB, AlleyCat)이 함께 들어있다. 워낙 들어있는 것이 적어서 압축하면 5MB 정도밖에 안된다.

 

HDD112MB.zip
다운로드

 

 

직접 처음부터 만들어서 사용하고 싶은 분들의 경우 하드 이미지를 만드는 요령은 우선 MESS 에 들어있는 chdman 으로 chd 압축포맷의 공 하드를 하나 만든다. qemu-img 로도 raw 포맷의 이미지를 만들 수 있지만 실제 하드 cylinder head sector 숫자로 결정되는 하드의 포맷과 다른 듯 하다. MESS 것을 사용하는 이유는 여기서 만든 하드 이미지를 나중에 역으로 MESS용 chd 포맷으로 변환하여 MESS 에서도 사용하려 하기 때문이다. MESS 에서 사용하기 위한 하드는 실제 하드에서 처럼 cylinder, head, sector 숫자를 정확히 맞춘 이미지여야 한다. (Dosbox SVN의 경우도 이것과 비슷한 방식으로 하드 이미지를 만든다. 그 이미지와의 호환성은 나중에 테스트해 보기로 한다) 적당한 파라메터 값을 알기 위해서는 486 컴퓨터 바이오스 셋업에 들어가면 기본 하드 포맷 46가지 정도를 볼 수 있고 이중에서 하나 골라 쓰면 된다. 편의상 9번의 112MB 짜리를 만들어서 쓰기로 했다. (도스 게임은 이정도 용량이면 꽤 많이 넣을 수 있다.)

 

 

 

MESS 디렉토리에 가서 커맨드윈도우상에서 다음의 명령으로 빈 하드 이미지를 하나 만든다.

 

chdman createhd -o HDD112MB.chd -chs 900,15,17

 

그러면 112MB 짜리 압축된 빈 하드 이미지가 생성된다. (내용물이 없어서 113KB 정도의 작은 것이 나온다.

QEMU에서 읽을 수 있도록 비압축(raw) 포맷으로 바꾸는데 다음 명령을 사용한다.

 

chdman extractraw -i HDD112MB.chd -o HDD112MB.img

 

시간이 꽤 걸린다. 다 끝나고 나면 112MB 짜리 HDD112MB.img 이 생성된다.

 

이 파일을 qemu 에서 c: 로 마운트하고 도스 부팅 디스크를 a: 로 마운트해서 a: 로 부팅하고 fdisk, format c: /s 순으로 시스템이 들어간 하드로 만들어 주면 된다.

 

qemu를 실행하는 옵션은 대략 다음과 같다.

 

 

qemu -L bios -M isapc -cpu 486 -m 8 -soundhw pcspk,adlib -vga std -sdl -boot c -hda 112MB2.img -hdb fat::rw:F:\folder  

 

-L bios 파일들이 들어있는 폴더 지정

-M emulated machine, isapc or pc (pci bus)

-cpu 486 or pentium or ...

-m 8 : 8MB main memory

-soundhw pcspk,adlib : 본 목적의 도스 머신에서는 adlib으로 충분

-sdl : use sdl for graphics

-boot c : boot from c:

-hda 112MB2.img : mount raw hdd image on C:

-hdb fat::rw:F:\folder : mount folder in USB drive (FAT32 formatted) as D: with read/write availability

 

이렇게 하여 부팅된 하드 안에 다른 게임을 넣어도 되고, 아니면 직접 D: 드라이브에 해당하는 폴더에 윈도우즈에서 미리 게임들을 넣어 두었다가 그냥 그곳에서 실행해도 된다.

 

QEMU 를 사용한 도스머신의 경우 화면 사이즈가 조절됨을 말한바 있다. 다음은 몇몇 증빙 스크린 샷. (일부러 CGA, VGA 모드 모두 다 같은 사이즈의 조그만 윈도우로 만들어서 돌렸다) 해상도가 낮은 게임일지라도 이렇게 작은 윈도우로 축소하면 그림이 그런데로 매끄럽게 보인다.

 

 

 

 

 

 

 

'Retro Game & PC > Emulator' 카테고리의 다른 글

batch file for MESS 0.149  (0) 2014.11.07
old pc emulators  (0) 2014.09.23
MESS Apple][ 에뮬레이션 이미지 비교 - Spy's Demis  (0) 2014.09.19
MESS apple2e - 옵션 설정 및 화면 조정  (0) 2014.09.19
doskey /history  (0) 2014.09.17