티스토리 뷰
도스박스는 도스 게임을 윈도우나 다른 운영체제에서 즐기기 위한 도스 에뮬레이터로서 거의 모든 도스 게임을 실행할 수 있습니다.
실제 PC와 비교해보면 일단 기본 메모리 확보가 필요 없고 하드웨어 설정을 값 수정만으로 바꿉니다. 각각의 게임을 위해 CPU 속도를 변경할 수 있습니다. 이상한 키 배치를 가진 게임도 있는데 키보드와 조이스틱의 버튼을 도스박스 차원에서 변경할 수 있습니다. 멀티플레이를 위해 널 모뎀, IPX 등을 지원합니다. 이것들은 가까운 네트워크상의 연결이지만 도스박스는 인터넷상으로 에뮬레이트해주기 때문에 지구 반대편 사용자와도 도스 게임의 멀티플레이를 할 수 있습니다. 도스에서는 어려웠던 여러 형식의 캡쳐를 지원하고 저해상도의 튀는 픽셀을 세련된 화면으로 바꿀 수도 있습니다.
또한 도스박스가 현대적인 운영체제에서 돌아가면서 자동으로 얻는 장점이 있습니다. 재부팅이 없고 도스에서의 답답한 작업을 주 운영체제에서 하니까요. 고전 PC와 비교해도 도스박스의 장점이 많습니다. 주목적으로 봐도 하나의 고전 PC에서보다 도스박스에서 돌릴 수 있는 게임이 더 많을 겁니다.
1. 하드를 만들고 게임 실행하기 2. CD 이미지 파일로 CD롬 드라이브 만들기 3. 특정 디렉토리를 CD롬 드라이브로 만들기 4. 도스박스가 지원하지 않는 이미지 파일 사용하기 5. 실제 CD 사용하기 6. 도스박스 설정 파일(.conf) 7. 도스박스가 실행되면 자동으로 명령 실행 8. 도스박스의 CPU 속도 9. 프레임 스킵 10. 전체 화면 11. 왜곡된 비율을 수정하기 12. 단축키 |
1. 하드를 만들고 게임 실행하기
도스박스를 실행하면 도스박스가 관리를 위해 만든 Z 드라이브밖에 없는 상태입니다. 실제 파일을 사용할 수 있는 하드 디스크를 만들고 게임에 따라 CD롬 드라이브도 만들어야 합니다. |
mount 명령어 |
mount <도스박스에서 사용할 드라이브 명> <실제 디렉토리> |
mount 명령어는 특정 디렉토리를 도스박스 안에서 드라이브처럼 사용하게 합니다. 그림에서는 C:\ 디렉토리(C 드라이브의 최상위 디렉토리)를 도스박스의 C 하드로 만들었습니다. 도스박스의 C 드라이브는 실제의 C 드라이브와 같아졌습니다. 지금은 꼭 필요하지 않지만 실제 디렉토리가 "C:\Dos Game"처럼 공백이 포함되어 있다면 반드시 큰따옴표로 묶어야 합니다. |
<고인돌(Prehistorik)>
고인돌을 도스박스에서 실행해 보겠습니다. 압축을 C:\Game\Prehisto 디렉토리에 풀어 넣었습니다. 도스박스에서 위와 같이 mount를 한 상태이므로 도스박스에서의 경로도 같습니다. |
Z 드라이브에서 C 드라이브로 이동하기 위해 드라이브 명과 콜론(:)을 입력합니다. 도스박스는 C:\>와 같이 현재 위치한 드라이브와 디렉토리가 표시됩니다. |
cd 명령어로 고인돌 디렉토리로 이동합니다. 하위 디렉토리로 이동할 때는 cd <하위 디렉토리명>을 칩니다. 그림에서는 두 번에 걸쳐 하나씩 이동했는데 cd game\prehisto처럼 한 번에 이동할 수도 있습니다.
|
고인돌의 실행 파일명을 알면 바로 실행해도 되지만 dir 명령어로 목록을 확인했습니다. 도스에서 실행할 수 있는 파일의 확장자는 com, exe, bat이고 확장자는 입력하지 않아도 됩니다. 이에 해당하는 prehisto(.com)를 실행합니다.
|
고인돌은 단순히 하나의 실행 파일만 있는데 셋업을 해야 하는 게임은 셋업 파일(이름은 대부분 setup.exe)을 실행해서 하드웨어 값을 맞춘 후 게임을 실행해야 합니다. 셋업에서는 주로 사운드 카드 값을 맞추는데 일반적으로 Sound Blaster 16(목록에 없으면 Sound Blaster Pro, 또 없으면 Sound Blaster)을 고르고 세부 설정에서 Address는 220, IRQ는 7, DMA는 1을 고릅니다. |
고인돌이 실행됐습니다. |
2. CD 이미지 파일로 CD롬 드라이브 만들기
다음으로 CD 게임을 알아보겠습니다. |
리틀 빅 어드벤처는 CD 게임인데 CD가 어떤 형태로 존재하는가에 따라서 도스박스에서 CD롬 드라이브를 만드는 방법도 달라집니다. |
이 파일은 CD의 내용을 그대로 본떠서 만든 CD 이미지 파일입니다. 이런 이미지 형태로 드라이브로 만들려면 imgmount 명령어를 이용합니다. 이미지는 많은 형식이 있는데 이 중 도스박스에서 지원하는 것은 cue/bin 쌍과 iso입니다. 다른 형식은 도스박스에서 직접 지원하지는 않지만 한 단계를 더 거치면 되며 아래에서 설명합니다. |
imgmount 명령어 |
imgmount <도스박스에서 사용할 드라이브 명> <CD 이미지 파일> -t iso |
도스박스 실행 후 하드(C)를 만들었습니다. 그리고 imgmount 명령어에 이미지 파일을 지정해서 D 드라이브를 만들었습니다. iso 이미지는 파일이 하나지만 cue/bin은 둘인데 이렇게 cue 파일을 지정합니다. -t iso는 이미지 파일이 CD 이미지라는 의미이고, 따라서 도스박스는 D를 CD롬 드라이브로 만듭니다. |
CD 게임은 인스톨 과정을 거쳐야 하므로 D 드라이브로 이동해서 파일 목록을 봤습니다. 이 목록은 이미지 파일의 내부 모습입니다. 두 실행 파일이 있는데 도스 게임의 인스톨 파일명은 보통 install.exe입니다. 이 파일을 실행합니다. |
인스톨을 하면서 사운드 등의 셋업 과정도 거칩니다. |
인스톨을 끝마치면 이렇게 설치된 곳으로 이동되면서 게임의 실행 파일명을 알려주기도 합니다. 이런 배려가 없다면 스스로 설치된 디렉토리로 이동해서 dir로 확인해야 합니다. |
리틀 빅 어드벤처 2를 실행했습니다. |
3. 특정 디렉토리를 CD롬 드라이브로 만들기
심아일의 압축 파일을 연 모습입니다. CD를 이미지 파일로 만들지 않고 내용을 압축해서 배포한 것을 받으면 이렇게 파일이 풀어져 있습니다. |
압축을 풀었습니다. 원본 CD의 내용이 SimIsle 디렉토리에 있으므로 이 디렉토리를 도스박스의 CD롬 드라이브로 만들어야 합니다. 하드를 만들 때처럼 특정 디렉토리를 드라이브로 만드는 mount 명령어를 이용합니다. |
mount 명령어 - CD롬 드라이브 |
mount <도스박스에서 사용할 드라이브 명> <실제 디렉토리> -t cdrom |
mount 명령어에 -t cdrom 파라미터를 붙이면 하드가 아닌 CD롬 드라이브로 만듭니다. 실제의 C:\Game\SimIsle 디렉토리를 도스박스의 D 드라이브로 만들었으므로 C:\Game\SimIsle이 D:\(D 드라이브의 최상위 디렉토리)가 됩니다. |
D:\로 이동해서 목록을 보면 C:\Game\SimIsle 디렉토리의 내용이 나옵니다. |
D 드라이브에서 인스톨하고 실행한 모습입니다. |
4. 도스박스가 지원하지 않는 이미지 파일 사용하기
<크리쳐 쇼크(Creature Shock)>
이 파일은 CD 이미지이지만 mds/mdf 형식이라서 cue/bin과 iso를 읽을 수 있는 imgmount로는 사용하지 못하므로 추가 과정을 거쳐야 합니다. |
먼저 이미지를 변환하는 방법입니다. UltraISO같은 이미지 유틸리티는 이미지 내부를 읽고 수정하거나 이미지 자체를 다른 형식으로 변환할 수 있습니다. 마치 WinRAR 등의 압축 프로그램이 압축 파일을 다루는 것과 비슷합니다. 그림에서는 크리쳐 쇼크 이미지를 cue/bin 형식으로 변환하고 있습니다. UltraISO는 수많은 이미지 형식을 지원해서 도스 게임의 이미지가 읽히지 않는 경우는 거의 없을 겁니다. UltraISO는 유료입니다. |
또 다른 방법으로 가상 CD/DVD 드라이브에 이미지 파일을 삽입한 후에 도스박스에서 사용하는 방법입니다. 데몬(DAEMON Tools Lite, http://www.daemon-tools.cc)을 설치하면 시스템에 가상의 드라이브가 추가됩니다. 그림은 탐색기에 나온 이동식 드라이브 목록인데 A와 F는 실제 드라이브이고 E는 데몬을 설치한 후 생긴 가상의 드라이브입니다. 데몬은 이미지 파일을 읽어서 실제 CD를 넣은 것처럼 인식하게 해줍니다. |
데몬에서 이미지 파일을 선택하면 가상 드라이브에 이미지 파일이 삽입되는데, 마치 실제 CD를 삽입한 것과 같습니다. |
삽입 후 가상 드라이브를 열어보면 이미지 안의 내용이 보입니다. 도스박스에서는 이미지 파일과의 직접적인 연관 없이 이 드라이브를 사용하면 됩니다. 데몬은 많이 쓰이는 이미지 형식을 대부분 지원합니다. |
데몬에서 지원하는 이미지 형식 | |
b5t b6t bwt ccd cdi cue iso mds nrg pdi isz |
BlindWrite images BlindWrite images BlindRead images CloneCD images DiscJuggler images Cue sheets Standard ISO images Media Descriptor Files Nero images Instant CD/DVD images Compressed ISO images |
도스박스에서 mount 명령어로 E:\(E는 가상 드라이브) 디렉토리를 D 드라이브로 만들면서 -t cdrom을 붙여서 CD롬 드라이브 형태로 지정했습니다. dir 내용도 역시 잘 나타납니다. |
게임을 인스톨하고 실행했습니다. |
5. 실제 CD 사용하기
PC에 실제 CD를 삽입할 때도 위와 다르지 않습니다. CD/DVD롬 드라이브가 F일 때 mount d "f:\" -t cdrom이라고 입력하면 도스박스 내에 D 드라이브가 CD롬 드라이브 형태로 만들어집니다. |
6. 도스박스 설정 파일(.conf)
도스박스는 옵션 화면이 따로 없고 직접 설정 파일을 수정합니다. |
도스박스의 설정 파일을 열려면 0.73 버전에서는 Edit Configuration을 클릭합니다. |
0.72 이하는 DOSBox.conf를 클릭합니다. |
텍스트로 되어 있는 설정 파일이 메모장으로 열렸습니다. 이곳에서 설정 변경 후 파일을 저장하고 도스박스를 실행하면 바뀐 값이 반영됩니다. 이곳의 설정 중 일부를 아래에서 설명합니다. |
7. 도스박스가 실행되면 자동으로 명령 실행
설정 파일의 맨 아래에는 [autoexec] 섹션이 있습니다. 도스박스는 실행 직후 이곳의 명령을 자동으로 실행하므로 항상 반복하는 작업을 적어 둡니다. 하드를 만드는 기본적인 일이나 요즘에 하는 게임을 실행하는 명령을 넣어 둘 수 있습니다. 이곳에서 이용할 수 있는 명령은 도스와 도스박스 명령어(cd, mount 등), 도스박스 설정(cycles 등), 실행 파일명(.com, .exe, .bat) 등입니다. 그림에서는 C 드라이브를 만들고 고인돌 드라이브와 디렉토리로 이동해서 파일을 실행하는 작업을 넣었습니다. |
8. 도스박스의 CPU 속도
도스박스는 CPU를 에뮬레이트합니다. CPU 속도는 타이틀 바의 Cpu Cycles에 표시되고 원하는 대로 조절할 수 있습니다. 속도를 조절하려면 Ctrl+F12로 500씩 증가시키고 Ctrl+F11로 20%씩 감소시킵니다. Cpu Cycles는 헤르츠(Hz) 단위가 아닙니다. |
설정 파일 내의 CPU 부분입니다. cycles는 위에서 봤던 Cpu Cycles로, 도스박스를 실행했을 때의 초기값을 지정합니다. 숫자값, auto, max를 줄 수 있습니다. 5000과 같이 숫자값을 주면 해당 속도로 동작합니다. max는 실제 PC에서 도스박스가 낼 수 있는 최대 속도로 동작하는데 사양이 높은 게임에 좋은 값입니다. 기본값 auto는 실행되는 프로그램에 따라 도스박스가 스스로 속도를 맞추는데, 도스박스 기본 화면이나 사양이 낮은 게임에서는 3000으로 맞추며 사양이 높은 게임에서는 max로 맞춥니다. auto는 속도를 맞추는 근거가 단순하기 때문에 모든 게임에서 올바르게 동작하기를 기대할 수는 없습니다. cycleup과 cycledown은 각각 Ctrl+F12와 Ctrl+F11 키에 대응하며 도스박스 실행 중 키를 누르면 이곳에 적힌 값만큼 Cpu Cycles가 변합니다. 100 이상이면 절대적인 값으로 인식하고 100 미만이면 백분율로 인식합니다. 게임의 속도가 느리다면 CPU 속도를 게임의 요구 사양 이상으로 맞춥니다. 어떤 게임은 CPU 속도가 빠르면 CPU 속도에 맞춰 같이 빨라지거나 사운드가 나오지 않거나 다운되는 등 문제가 있으므로 이때는 게임에 알맞은 값을 찾아야 합니다. |
9. 프레임 스킵
Cpu Cycles를 높은 숫자값이나 max로 줘도 게임에서 충분한 속도가 나오지 않는다면 프레임을 건너뛰게 할 수 있습니다. 이 기능은 요즘 게임의 프레임 스킵과 동일한 현상을 보입니다. 도스박스 실행 중에 Ctrl+F7/F8로 조정합니다. Frameskip 값은 건너뛸 프레임 수로써, 1이면 한 번 건너뛰고 한 번 그리므로 프레임률은 절반이 됩니다. 도스박스의 최대 프레임률은 초당 70이므로 Frameskip에 따른 최대 프레임률은 다음과 같습니다. |
Frameskip | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
최대 프레임률 | 70 | 35 | 23.3 | 17.5 | 14 | 11.6 | 10 | 8.7 | 7.7 | 7 | 6.3 |
대부분의 도스 게임은 Frameskip 2에 해당하는 23 프레임에서도 끊김의 정도가 별로 느껴지지 않습니다. |
10. 전체 화면
도스박스를 전체 화면으로 전환하려면 Alt+Enter를 누릅니다. |
도스박스 실행 시 전체 화면으로 시작하려면 설정 파일의 [sdl] 섹션에서 fullscreen을 true로 변경합니다. output은 도스박스가 화면을 그리는 데 사용하는 방법입니다. 기본값 surface는 전체 화면에서 색 깨짐, 다운 현상 등의 불안정한 모습을 보이기 때문에 다른 값, 예를 들어 ddraw나 opengl로 바꿉니다. |
11. 왜곡된 비율을 수정하기
예전에는 모니터의 비율이 모두 4:3이었고 도스 게임은 이 비율대로 최종 표현됩니다. 하지만 게임이 사용하는 가로, 세로의 픽셀 수는 꼭 4:3 비율만은 아니었습니다. 픽셀 수에 관계없이 게임 화면을 모니터 전체에 늘여서 맞추기 때문에 게이머는 항상 4:3으로 봐 온 것입니다. |
수많은 도스 게임이 이 게임처럼 320x200 픽셀을 가진 스크린을 사용하는데 요즘 쓰는 표현으로 나타내면 16:10입니다. 세 그림 중 위쪽이 실제 도스 시스템에서 나타나는 모습인데 16:10의 픽셀 비율을 4:3에 맞춰서 출력합니다. 윈도우 환경에서는 픽셀 수가 곧 비율이라서 도스박스에서 게임을 실행하면 왼쪽 그림처럼 정확한 320x200의 비율로 나타납니다. 세로로 눌린 이 화면은 제작할 때 기대한 화면이 아닙니다. 도스박스는 비율을 4:3으로 교정하는 설정이 있는데, 사용 후에는 오른쪽 그림처럼 320x200이 4:3인 320x240으로 수정됐습니다.
|
비율을 교정하려면 설정 파일에서 [render] 섹션의 aspect를 true로 변경합니다.
|
12. 단축키
Alt+ENTER | 도스박스를 전체 화면으로 전환하거나 돌아옵니다. | |
Alt+PAUSE | 일시 중지하거나 다시 진행합니다. | |
Ctrl+F1 | 키보드나 조이스틱 버튼 설정을 변경하는 매퍼를 보여줍니다. 이 기능을 이용해서 실제 키와 도스박스 내에 전달되는 키를 다르게 할 수 있습니다. | |
Ctrl+F4 | 삽입된 이미지 파일을 변경하고 새로고침합니다.
그리고 imgmount로 이미지 파일을 둘 이상 지정했을 때 다음 이미지로 교체하는 일도 합니다.
| |
Ctrl+F5 | 도스박스의 화면을 png 이미지 파일로 캡쳐합니다. | |
Ctrl+F6 | 도스박스에서 나오는 소리를 wav 사운드 파일로 녹음합니다. | |
Ctrl+Alt+F8 | 도스박스에서 나오는 미디 소리를 mid 파일로 녹음합니다. | |
Ctrl+Alt+F5 | 도스박스의 화면을 avi 동영상 형식으로 캡쳐합니다. | |
Ctrl+Alt+F7 |
OPL 데이터를 DRO 포멧으로 저장합니다. | |
Ctrl+F11/F12 |
도스박스의 CPU 속도를 조정합니다. | |
Ctrl+F7/F8 |
프레임을 건너뜁니다.
| |
Alt+F12 |
누르는 동안 속도가 빨라집니다. | |
Ctrl+F9 |
도스박스를 즉시 종료합니다. | |
Ctrl+F10 |
마우스 커서를 가두거나 놔줍니다.
|
'ETC > Public' 카테고리의 다른 글
유행어 정리 (0) | 2016.05.01 |
---|---|
전치사별 숙어 (0) | 2013.07.21 |
adosbox에서 cpu cycle 빠르게 하는 법 (0) | 2013.01.28 |
포가튼사가를 돌리기 위한 노력 (0) | 2013.01.28 |
스마트폰에서 고전게임 즐기기 (0) | 2013.01.28 |
코만도스1 패스워드 + 속도 패치 (4) | 2012.09.01 |
1 to 50 노하우 (10) | 2011.08.22 |
프로그래머의 아내가 알아두어야 할 97가지 (2) | 2011.05.19 |
- Total
- Today
- Yesterday
- Quiz
- java
- driver
- algorithm
- gcc
- C++
- jni
- jni강좌
- kering
- AWS
- Troubleshooting
- database
- winapi
- 프로그래밍
- MFC
- C
- source
- NDK
- linux
- Python
- 드라이버
- android
- 안드로이드
- db
- API
- it
- Visual C++
- 리눅스
- 음악
- Cloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |