오픈 소스 DOS 에뮬레이터.
1. 개요
말 그대로 DOS(특히 MS-DOS) 프로그램들을 최신 운영 체제에서 실행할 수 있게 해 주는 에뮬레이터다. 지원 대상은 대표적인 운영 체제 3종 Windows, macOS, 리눅스이다. 심지어, 업데이트는 안되고 있지만 Solaris, BeOS 버전도 있다. 따라서 현존 대부분의 운영 체제를 지원한다고 볼 수 있다. 라이선스는 GPL. 공식 최신 버전은 2019년 6월에 출시된 0.74-3이나 사실상 2010년의 0.74와 실질적인 차이가 미미하다. 단, 공식(안정화) 버전의 출시는 느려도 소스 코드의 업데이트는 현재까지 지속적으로 이루어지고 있으며, 이 때문에 최신의 변경 사항을 누리기 위하여 저장소(SVN) 에 있는 소스 코드를 직접 EXE로 빌드하여 만드는 SVN 버전들이 다양하게 있다. 이 과정에서 각자 나름의 추가 기능들을 덧붙인 변종 버전들이 있으며, 이 때문에 공식 버전보다 아래 있는 DOSBox-X나 SVN 버전과 같은 변종 버전들의 공개가 더 활발하게 이루어지는 상황이다.공식 홈페이지는 원래 유명 개발 플랫폼 사이트인 SourceForge에 있다가 2012년 10월 21일 여기로 이전되었다. 그러나 다운로드는 소스포지에서 한다. 한국에 처음 DOSBox가 알려진 건 0.58 이후부터다. PCjr이 아직 50% 공정인 것을 생각하면 PC-DOS 구현은 무리. SHELL과 ISO도 아직은 완벽 호환이 안 된다.
2. 존재 이유
MS-DOS 기반 프로그램들(특히 주로 게임)들을 실행시키기 위한 적절한 주변장치 환경을 (가상으로) 구성해 준다.Windows Me까진 MS-DOS 7.0이나 8.0 호환 계층이 있는 운영 체제이지만 Windows 2000/ XP부터는 본격적으로 NT 기반 커널로 완전히 밑바탕까지 바꾸게 되어 기존 MS-DOS용 응용 프로그램과의 호환성이 현저히 떨어진다.[1] 사실 이미 Windows 95부터 MS-DOS 응용 프로그램의 호환성이 서서히 떨어지기 시작해서 구동할 경우 문제점이 많았는데, Windows 2000/XP가 보급되기 시작하면서 문제가 더 심각해졌다. 또한 하드웨어 간 데이터 전송 프로토콜까지 옛날과 천지 차이로 달라졌기 때문에 MS-DOS나 Windows 9X 계열 운영 체제를 설치하더라도 그 시절 응용 프로그램들이 제대로 돌아가지 않게 되었다.(특히 PCI 사운드 카드) 2020년부터 출시되는 거의 모든 컴퓨터들의 메인보드 펌웨어에 BIOS와 호환되는 CSM(Compatibility Support Module, 호환성 지원 모듈) 기능이 제거될 예정임에 따라 MS-DOS 등의 옛날 운영 체제를 사용할 수 없어진다.
그런데 이 프로그램은 현재의 우월한 하드웨어 성능을 이용하여 옛날 하드웨어와 도스 프롬프트를 가상으로 만들어냈다. 그래픽 카드( CGA/ EGA/초기 VGA/ 허큘리스/ S3 Graphics)부터 사운드 카드( 애드립/사운드 블라스터/ MIDI(MPU-401, MT-32))는 물론, PC 스피커로 나오는 비프음, 모뎀까지 구현하며, 덕분에 당시 모뎀으로 넷플레이를 할 수 있는 게임도 가상 IP까지 만들어서 게임할 수 있다.
단순히 DOS를 실행하는 것만이라 하면 의외로 현대의 대부분의 컴퓨터 역시 가능하다. 최신 CPU를 탑재한 컴퓨터래도 DOS로 부팅하는 데에는 문제가 없으며, 바이오스가 UEFI로 완전히 대체되고 BIOS 호환 모드가 삭제되기 전까지는 계속 그럴 것이다(인텔에서 UEFI를 발표한 것은 2000년까지 거슬러 올라갈 정도로 옛날이지만, 현실적으로 메인보드 제조사들은 BIOS와의 호환성을 계속 탑재하면서 신제품을 발표한다).
진짜로 어려운 것은 'MS-DOS 호환 주변기기'들을 제대로 구성하는 것이다. 특히 DOS에서 제대로 동작하는 사운드 블라스터 호환 사운드 카드들은 PCI-Express도, PCI 단자도 아닌 ISA 슬롯에 꽂아야 동작하는 것이 대부분이며 윈도우 95~98 이후 시절 제품만 되더라도 DOS용 드라이버 지원이 눈에 띄게 드물다. 현실적으로 다양한 모델과 크기가 등장하는 조선컴인 펜티엄 2, 3 시절만 되더라도 MS-DOS에서 제대로 된 소리를 내는 사운드 카드는 거의 찾기 힘들어진다. 지금은 당연시되는 메인보드 내장 사운드 칩셋 중에 DOS용 호환 기능이 있는 제품은 정말로 VIA의 한두 개, 특정 칩셋에 지나지 않으며 그 밖의 모든 사운드는 도스에서 인식할 수 없다.
그래서 실제 장비에서 DOS 게임을 돌리려는 사람들은 아예 486이나 Cyrix, AMD의 586~686 브랜드를 마지노선으로 잡고 하드웨어를 구성하며, 이 시기의 부품들은 파워 서플라이부터 모든 연결 단자까지 현대의 컴퓨터와 호환되는 것이 거의 없다시피 할 정도로 엄청나게 옛날 물건들이라 입맛대로 골라잡을 수량도 선택지도 없는 희소한 것들이다. 이 시기의 컴퓨터들은 일부 고가의 랩탑이나 희귀품들을 제외하면 거의 무조건 풀사이즈의 데스크탑이며, HTPC 수준이나 그 이하로 작은 시스템은 애초에 당시 반도체기술의 한계 탓에 없다고 봐도 무방하다.
이 때문에, 현실이라면 고가인 데다 커다란 외장기기를 연결해야 하는 GUS MIDI 장비, ISA 그래픽 카드 및 사운드 카드 장비들을 작은 용량만으로 깔끔하게 에뮬레이션해서 재현해주는 DOSBox는 매우 간편한 선택이며, 나악 실제 DOS 머신을 보유한 사람들조차 예비수단으로 환경을 구성해 둘 정도로 간편하다는 장점이 있다. 게다가 PCem 같은 완전 에뮬레이션을 하는 프로그램과 비교할 때에도 바이오스를 직접 구해야 한다거나 시스템 구성과 디스크 초기화, 운영 체제 설치 등의 작업이 필요가 없이 프로그램 실행만으로 가장 빨리 실행된다는 장점이 있다.
이러한 주변장비를 모두 갖춘 포터블 기기의 크기를 바라면 CPU와 사운드 칩셋을 포함하여 아예 기판을 자작하지 않는 한, 물건(하드웨어)는 그냥 없고 소프트웨어로 구성되는 DOSBox뿐이다.
이러한 장점 때문에, 심지어 DOSBox-X의 경우, 현대 컴퓨터를 직접 DOS 부팅했을 때 아무런 사운드 장치가 인식되지 않는 경우를 위해 'DOS 위에서 386 확장기(과거 DOS/4GW와 같은)를 실행하고 그 위에서 현대 메인보드 내장사운드 드라이버를 인식시킨 다음, 그 드라이버를 이용해 DOSBox를 실행해서 사운드 지원시키는', 한마디로 DOS(깡통) 위에서 실행시키는 DOSBOX(풀주변 장비) 에디션까지도 개발되어 있다.
또한 안정성 면에서도 매우 유리하다. 현대의 저장장치들의 높은 신뢰성에 익숙해졌다면 잊기 쉽지만, DOS 시절에는 실제로 컴퓨터 부품들의 퀄리티가 지금보다 훨씬 들쭉날쭉했고, 고가품과 싸구려의 신뢰성 차이가 극심했다. 플로피 디스크를 사서 포맷을 하면 당연한 듯이 '배드 섹터의 갯수와 위치'가 정보로 출력되었고, 이것이 어느 정도냐를 마치 킹크랩 게살 수율 따지듯이 뽑기를 하던 시절이 있었다. 더 위로 올라가면 IBM 같은 고가 브랜드들이 공장에서 HDD를 생산한 다음 양품인지 점검한 결과는 '이 제품의 배드 섹터 위치/목록 정보'를 상단에 펜으로 적어서 검수 스티커로 붙여서 출고하기도 했다. 데이터의 소실이나 읽기/쓰기 실패로 인하는 시간낭비를 걱정하지 않고 신뢰성 있게 구동할 수 있는 DOSBOX의 운용 효율성은 의외로 실제 컴퓨터와 상당히 차이가 난다.
또한 데이터에 국한하지 않더라도, 이미 실제 DOS 구동 컴퓨터의 연한들이 이미 상당히 되었음도 고려해야 한다. 어지간한 컴퓨터들의 경우 기판의 콘덴서들에 문제가 생기는 경우가 많다. 특히나 당시에는 요즘처럼 솔리드 콘덴서가 나오기 전이라 대부분 전해 콘덴서로 메인보드가 만들어져 있어 수명에 한계가 있다. CMOS 배터리 누액으로 인한 기판의 부식 역시 흔한 모습이다. 이 밖에도 필연적으로 시간이 흐르면서 실기들의 수명이 다하는 경우가 꾸준히 증가하고 있는데, 이러한 복불복 요소가 없는 것 역시 에뮬레이션의 장점이라 할 수 있다.
3. 기능
기본적으로 도스 시절 게임을 플레이할 수 있는 환경을 제공해준다. 물론 게임이 아닌 도스 응용 프로그램도 실행시킬 수 있지만 특별한 경우가 아닌 한 거의 게임 구동용으로 쓰이고 있다. 기본 설정이 잘 되어 있기 때문에 기본 메모리를 많이 차지하는 게임이라든지 EMS이 필요한 게임도 잘 에뮬레이션 하여 실행에 거의 문제가 없다.CD 드라이브도 지원하고, 별도의 명령어로 추가해주거나 GUI 메뉴로 실제 드라이브는 물론이고 이미지 파일로도 마운트할 수 있다. 단, CD 오디오 기능을 사용하려면 설정을 더 추가해야 한다.[2]
또한 Windows 9x까지 설치할 수 있다.[3] Windows 1.0과 2.0은 도스 버전을 3.31로 낮춰야[4] 실행할 수 있으며, Windows 98 SE도 이제는 게임 실행용으로 사용할 수 있는 수준에 도달했다. Windows 95는 DOSBox를 자바스크립트를 통해 웹에서도 돌릴 수 있을 정도이다. # Windows Me도 비공식적으로 부팅에 성공하였다. 다만, 설치 중 오류가 발생하여 가상 머신에 Windows Me를 설치하고 데이터를 추출해 DOSBox 이미지에 올려주는 식으로 부팅하여 꽤 번거롭다. 애당초 FAT32 시스템 지원의 한계성이 보이는 대표적인 사례라고 볼 수 있다.
DOSBox+Windows 95+ 디아블로 구동 영상.
스타크래프트도 제법 원활하게 돌아가지만 버벅거리는 현상이 좀 많고 DirectDraw와 DirectSound 가속을 꺼야 제대로 돌아간다.
참고로 실제 IPX로 연결되어 있지 않는 컴퓨터에서도 IP 주소를 이용하여 IPX 네트워크를 에뮬레이션 해주기도 한다. 터널링도 해주기 때문에 인터넷 상에 있는 사람과도 플레이할 수 있다.
방법은
-
서버측과 클라이언트측의 DOSBox 폴더에 있는 dosbox.conf 파일을 메모장으로 열어서 맨 아래의
[
IPX]
부분의 ipx=false를 ipx=true로 변경 - 서버측 PC에서는 DOSBox 내부에서 ipxnet startserver 명령을 입력하고(IPX Tunneling Server started 메시지를 확인)
- 클라이언트측 PC에서는 DOSBox 내부에서 ipxnet connect(서버측 PC의 IP 주소) 명령을 입력한 뒤에(IPX Tunneling Client connected to server(IP 주소) 메시지를 확인)
- 양쪽 PC에서 IPX 네트워크 기능이 있는 게임을 켠 다음에 IPX 네트워크에 들어가면 된다.
이 때 서버측 PC는 실제로 게임을 플레이하지 않는 제 3자가 DOSBox를 켜 놓기만 해도 된다.
또한 IPX 네트워크 플레이를 지원하지 않는 일부 게임을 위해 모뎀이나 널 모뎀을 에뮬레이션한다. doxbox.conf에서 설정을 해주고 모뎀의 경우는 전화번호 대신 IP 주소를 입력하여 접속하고,[5] 널 모뎀은 dosbox.conf를 설정할 때 한쪽에는 nullmodem을, 다른 쪽에는 nullmodem server:상대쪽의 IP 주소를 입력하여 연결할 수 있다(서버 쪽에서 먼저 접속하여야 한다).
공식 홈페이지
DOSBox에서 직렬 포트 널 모뎀을 이용한 멀티플레이 게임을 구동한 영상. 실기만큼 잘 구동되진 않는단 평이다.
Mdir과 같은 도스쉘을 설치해두면 편리하다. mdir 합체 버전
4. 전개
4.1. 상업용
상업용으로도 그 높은 완성도가 인정되어 Steam이나 GOG.com 같은 옛날 게임을 온라인으로 판매하는 업체에서 사용하고 있을 정도다.[6] 예를 들어 X-COM을 내려받으면 DOSBox+게임 조합으로 미리 세팅된 파일을 설치하게 되는, 문자 그대로의 합법 에뮬 구조. DRM이 걸려 있지 않아서 게임 폴더 통째로 다른 DOSBox나 리얼 DOS 머신(?)에 복사해서 돌리면 아주 잘 돌아간다.다만 GOG에서 제공하는 게임의 경우는 자신이 사용할 목적이라고 하면 여러 대의 PC에 설치해도 무관하도록 라이선스가 되어 있으니 걱정하지 말자.
DOSBox 공식 홈페이지에서도 도스 게임들을 GOG에서 구입하라고 링크해놨다.
4.2. 스마트폰
iOS용으로도 이식해 iDOS라는 이름으로 앱스토어에 승인, 판매되었으나 하루도 채 지나지 않아 앱스토어에서 내려진 흑역사가 있다. 당시 올라온 앱을 구매한 사람들은 아무 문제 없이 기동할 수 있다. 포팅된 dosbox 버전은 0.74. 아이패드 버전의 경우에는 만족스러운 해상도로, 유명한 고전 게임들은 거의 문제없이 구동해낸다.한번 내려졌다가 기본 게임을 추가한 무료 버전으로 다시 올라왔다. 이쪽도 얼마 안가 내려갔는데, 이 땐 버그 잡으려고 개발자가 내렸다는 말이 있다. iPhone Explorer같은 프로그램을 사용하면 도스 게임을 집어 넣어서 즐길 수 있다.
2013년 2월 7일 기준, 유료버전으로 다시 돌아왔다, 하지만 ios 8.3 업데이트에 따라, 서드파티 앱으로 idos의 샌드박스에 접근할 수 없게 되었다, 즉, 게임을 넣을 수가 없게 되었다.
2017년 2월 현재 아이폰용 앱스토어에 있는 DOSBox는 iDOS 2가 유일한데, 구입해서 쓰려하면 아직까지 게임을 넣을 수 없다. 하지만 구입 후, 영수증 스샷을 제작자에게 이메일을 해서 베타키를 요청하면 Test Flight 앱에서 베타버전의 iDOS 2를 받아 쓸 수 있다. 파일 이동도 itunes를 이용해 자유롭게 쓸 수 있으나 한달, 두달마다 expire돼서 사용을 못하게 된다. 그 때마다 제작자가 다시 베타 등록을 해서 갱신하기 전까진 파일 이동을 할 수 없다. 이미 아이폰에 넣어 놓은 것들은 계속 할 수 있지만. 보통 expire되고 3-4일이면 다시 베타 등록을 해준다. 참고로 이 iDOS 2는 속도는 나쁘지 않게 돌아가지만 기능이 상당히 빈약하다. 버튼 커스터마이즈도 상당히 제약이 많고 마우스 쓰는 게임이면 그냥 안 하는게 낫다. MIDI 지원도 개발중이라 말만하고 있는 중이라 MIDI 음원을 들을 수도 없다. 진짜 대안이 이거 밖에 없으니 쓰는 셈이다.
2020년 9월 20일 4년만에 iDOS2 패치가 진행되었다. iOS 14와 iPadOS 14에서 다시 사용할 수 있다. 여전히 DOSBox 0.74 버전이지만 최신 운영 체제에서 도스를 다시 사용할 수 있게 된 것에 기뻐하자.
맥북이 있다면 Xcode 깔고 소스를 GitHub에서 받아다 컴파일해서 넣으면 된다. 프로젝트는 dospad를 선택하고, bundle identifier는 적당히 바꿔주고, target platform은 6.0으로 세팅하면 문제 없다. 이렇게 설치하면 아이튠즈에서 직접 파일을 넣을 수 있다. 유통기한도 1년 정도이니, test flight을 받는 것보다 덜 번거롭다. 다만 코드가 32비트인 것으로 보여 ios10 이후에 32비트 앱의 실행을 중단하면 어찌될지 모른다.
안드로이드 버전도 개발 중이다. 현재 최신 버전은 2011년 5월에 릴리즈된 0.25로, 이전 버전들에 비해 어느 정도의 속도 향상이 있고, 가상 키패드를 지원해 쿼티 키보드가 없어도 제한적이나마 사용할 수 있게 되었다. 안드로이드 2.2(프로요) 이상의 운영 체제가 필요하다. 그 밖에 DOSBox 소스를 이용해서 AnDOSBox와 DOSBox Turbo라는 포팅판도 나왔는데, 이 두 버전은 속도는 빠르긴 하지만 유료이며 무료버전은 aFreebox다.
2017년 2월 현재 안드로이드용 DOSBox는 Magic DOSBox가 가장 좋은 평을 받고 있다. 다른 이식과 비교가 안 될 정도의 커스터마이징을 지원하며, 기능과 성능 또한 최고다. 다른 DOSBox 이식 프로그램들이 이미 업데이트 안 한지 몇 달, 심하면 몇 년 이상 되가지만 Magic DOSBox는 꾸준히 업데이트를 해주고 있다는 것도 큰 장점이다. MIDI의 경우 롤랜드 MT-32의 ROM을 지원하며 사운드폰트도 지원하는 덕분에 찾아넣고 설정만 잘 해주면 MIDI 사운드도 잘 나온다. 일단 무료 시험판이 있으니 써보면 그 성능을 알 것이다. 다만 UI 그래픽이 다소 많이 투박하며, 지원하는 기능의 범위에 비해 사용 편의성이 불편한 편이다. 또한 글라이드 가속을 지원하지 않는다.[7]
RetroArch의 Core중 DOSBox Pure에서도 놀랍게도 3dfx 에뮬레이션을 지원한다. 성능도 그럭저럭 괜찮은편이나 엑시노스에선 AP의 한계로 성능이 떨어진다(…)[8]
5. 단점
5.1. Windows 7/10에서의 인풋 랙
Windows XP에서는 이런 문제가 없지만 Windows 7/10에서는 출력 방식에 따라 인풋 랙이 생길 수 있다. 이는 DOSBox가 사용하는 기본 출력 방식이 Windows 7/10에서는 운영 체제 상에서 한번 더 에뮬레이션 하기 때문인데 인풋 랙 발생은 사용하는 시스템에 따라 천차만별이다. 만약 인풋 랙이 심하다면 Surface, Ddraw 말고 OpenGL이나 Overlay같은 다른 출력 방식으로 전환해 보자.게임마다 최적화가 달라서 가상 CPU 속도, 게임 프레임 조절 등을 통해 실행 속도를 올리는 방법도 있는데, 일단 박스 창 상단을 보면 파랑, 빨강, 초록색의 사각형이 각각 CPU, 프레임, 게임 상태를 나타내고 있다.
일단 Ctrl+F12로 기본적인 CPU 실행 속도를 올릴 수 있는데 이것만 조절해도 속도 문제를 상당 부분 줄일 수 있다. 너무 높아서 역효과가 난다면 Ctrl+F11로 감소 가능.(도스박스 초기 화면에서 intro를 타이핑하면 기본적인 조작법을 볼 수 있다.)
프레임은 Ctrl+F8, Ctrl+F7로 증가 또는 감소해서 상태를 조절하면 된다. Ctrl+F9는 프로그램 종료니 실수로 누르지 않도록 주의할 것.
5.2. 아직까지 부족한 호환성
일부 게임의 경우 여전히 호환성 문제로 제대로 실행이 안되고 있다. 예를 들어 극히 일부 게임(특히 VESA 그래픽을 쓴다거나 하는 당시의 고해상도 게임 및 해당 게임의 고해상도 모드)은 실행이 안 되는 문제가 있는데, 공식 홈페이지에 올라와 있는 게임 호환표를 참조하여 비극(?)을 막자.DOSBox를 이용해 Windows 95 게임들도 돌리는 경우가 많지만 해당 운영 체제 기준 고사양에 속하는 게임들은(후기) 성능면이나 기기호환성의 문제로 돌아가지 않을 가능성이 높다.[9] 이 시기부터는 보통 가상화 소프트웨어나 PCem같은 타 에뮬레이터를 이용하는 경우가 많다.
Windows 95 OSR2부터 한글 MS-DOS 창을 뛰우면 멈추거나[10] 화면이 깨지는 문제[11]가 있다. 이럴때는 Sysedit나 MSConfig에서 System.ini의 MSHBIOS관련 구문을 주석처리하거나 꺼줘야하고 SYSTEM 폴터에 있는 (숫자)d.bat의 MSHBIOS 부분 앞에 rem을 추가해 비활성해줘야한다.
5.3. DOS 구조로 인한 멀티코어 프로세서 지원 한계
DOSBox는 시스템에 코어가 아무리 많이 장착되어 있더라도 에뮬레이션되는 CPU는 시스템 1개 코어의 성능만을 사용할 수 있다. 특히 빅리틀 구조를 채용한 12세대 이후 인텔 프로세서는 어느 코어로 실행되는지도 따져야 한다.가장 큰 원인은 기반이 되는 MS-DOS가 자원 독점형 단일 유저, 단일 작업 운영 체제이기 때문이다. 근본적으로 DOS는 다중 유저, 다중 작업을 지원하지 않으며, 단일 작업을 강제로 여러 개의 시스템 코어로 쪼개 처리하는 것은 오히려 성능을 저하시키기 때문이다. 그나마 그래픽 렌더링 부분은 병렬 처리할 수 있어 별도의 스레드로 분리하여 멀티 코어를 활용하기는 하지만, 기본적으로 DOS의 프로그램은 컴퓨터의 장치들을 실시간으로 직접 제어하기 때문에 다른 장치들을 병렬 처리하는 것 역시 불가능하다. 모바일 기기들은 저클럭으로 이루어진 멀티코어 구성으로 전력 감소를 꾀하는데, 전용기기의 각 칩셋을 재현하는 에뮬레이터들은 기판의 IC들을 분담하여 활용하기 때문에 성능에 문제가 없는 편이지만 DOSBox는 CPU의 성능을 단일 코어에 의존하기 때문에 성능이 어중간한 모바일 기기에서는 상대적으로 구동이 힘들다.[12]
6. 파생 버전
오픈 소스이니만큼 포크 버전이나 성능, 기능을 개량하거나 자신들의 소프트웨어 일부에 DOSBox를 이용하는 변종 파생 버전이 여럿 있다.-
DOSBox SVN Daum Ver.
홈페이지
국산 파생 버전으로 파생 버전 중 국내에서는 가장 유명한 버전이다. 심지어 외국에도 제법 알려져 있는 모양. 한국 DOSBox 카페의 카페지기가 개발한 파생 버전이다. DOSBox는 2012년에 0.74 버전을 내놓은 후 계속해서 정식버전을 업데이트하지 않았는데[13] 개발이 중단된 것은 아니어서 SourceForge에 SVN[14]은 지속적으로 올라오고 있었기 때문에 DOSBox 카페지기가 최신 SVN 소스를 가져와 빌드하면서 외부 소스를 추가적으로 덧붙여서 원본 DOSBox에 없는 추가적인 기능과 GUI[15]를 포함하게 한 버전이 이 SVN Daum Ver.이다. 부두 에뮬레이션을 지원해서 3D 게임을 구동할 수 있으며, 그래픽 출력과 글라이드 에뮬레이션 부분을 OpenGL로 설정하면 안정적으로 쓸 수 있다. 그리고 Voodoo는 최대 8 MB의 비디오 메모리를 지원한다.
랜 카드 에뮬레이션을 지원해서 이런 저런 걸 설치해주기만 하면 인터넷도 돌릴 수 있다. 물론 DOSBox가 에뮬레이션하는 시스템의 한계와 현재의 웹 환경 때문에 원활하게 돌리는 것은 힘들다. 특히 한글 Internet Explorer 4.0 이상의 버전과의 상성이 매우 안 좋아 그림이 죄다 깨져 나온다. 근데 영문판은 그냥 나오고 자바스크립트를 꺼야 어느 정도 할 수 있다. 설치 때도 에러 하나 이상은 보게 된다. 오페라처럼 저사양에 최적화된 다른 웹 브라우저를 사용하는 것이 낫다. 물론 (이메일 클라이언트를 사용하는) 이메일이나 IRC 채팅, 또는 밴티지 마스터 같은 90년대 2D 인터넷 게임을 하려 하면 큰 무리없이 이용할 수 있다. 또한 컴퓨터가 Wi-Fi을 사용하면 네트워크 에뮬레이션은 안 작동된다. 'winpcap'이라는 패킷 캡처 프로그램을 이용해서 네트워크에 접속하는 방식인데, 이 winpcap 자체가 Wi-Fi 패킷 캡처를 지원하지 않는다. 정확하게는 지원하긴 하는데 별도의 USB 동글을 연결해줘야 한다. 근데 이게 좀 매우 비싼 지라... 802.11n 규격 지원 동글은 100만 원이 넘어갔다. 정 안되면 가상 직렬 포트 드라이버를 깔고 가상 머신에 리눅스를 깔고 ppp 서버를 깔아서 서로 연결해서 전화 접속 형태로 인터넷에 연결하는 매~우 복잡한 방법과 와이어샤크를 이용하는 방법이 있다.
GUI 덕에 별도의 프론트엔드 없이도 편리하게 쓸 수 있고 추가된 기능이 게임하기에도 좋긴 하지만 아무래도 정식 릴리즈가 아닌 SVN을 기반으로 빌드했기 때문에 Daum 버전이 자체적으로 가진 문제도 많다. 그렇기 때문에, 혹시나 프로그램 실행에 문제가 있으면, 순정 버전으로 실행하면 문제가 사라지는 경우도 있으니 참고. 그리고 2015년 1월에 SVN r3894 빌드를 마지막으로 업데이트를 중단한 상태이다.
윈도우 환경을 중점으로 개발하고 있었으며, 이 때문에 처음부터 Win/Linux/Mac은 물론 DOS용(!) 타겟까지 함께 만들어지고 있는 DOSBox-X에 비해 의존하고 있는 라이브러리가 복잡해 이식성이 떨어진단 평이다. 이 때문에 아마 앞으로도 Windows 이외의 환경에서 실행하는 Port 개발은 어려울 것으로 보인다.
-
DOSBox ECE
홈페이지
역시 DOSBox의 SVN을 베이스로 하고 있는 파생 버전. DOSBox SVN Daum Ver.과 비슷한 목표를 지니고 있고 똑같이 SVN을 빌드해서 기능을 추가하여 공개하는 버전이다. 제공하는 추가 기능도 3dfx Voodoo 지원, MT-32 지원 등으로 대체로 SVN Daum Ver.과 비슷하다. 그러나 GUI는 제공하지 않기 때문에 편하게 쓰려면 오리지널 버전 처럼 프론트엔드를 물려야 하는 것이 결점. 현재도 업데이트가 진행되고 있으므로 비교적 최신 SVN 빌드가 적용되어있다.
-
DOSBox-X
홈페이지
DOSBox의 포크 버전이다. 포크 버전이니만큼 위의 두 버전과 달리 DOSBox의 최신 SVN 빌드를 가져다 기능을 추가하는 것이 아니라 별도의 버전넘버를 지니고 개발되고 있다. 목표는 오리지널 버전보다 좀 더 정확한 에뮬레이션을 제공하여 실제 DOS 머신처럼 사용할 수 있게, 장기적으로는 Windows 9x의 원활한 동작까지를 바라보고 있으며 추가로 내장 GUI를 제공하므로 DOSBox SVN Daum Ver.처럼 편리하게 사용할 수 있다. 원래는 깃허브에 소스를 공개했으나 바이너리는 공개하지 않았으므로 직접 소스를 받아서 컴파일해서 쓰던지, 컴파일된 바이너리를 공개하는 사이트에서 따로 구해다 쓰는 수밖에 없었으나 2020년 3월 릴리즈된 0.83 버전부터는 Windows, macOS,[16] 리눅스, MS-DOS(!) 바이너리를 제공하고 있다. 개발이 계속적으로 진행되고 있는만큼 제공하는 기능도 상당히 다양하여 SVN Daum Ver.처럼 글라이드 에뮬레이션이나 MT-32 에뮬레이션을 지원하는 것은 물론, PC-9801 에뮬레이션까지 제공한다. 참고로 도스게임런처는 과거에는 DOSBox SVN을 많이 사용하였으나, 최근에는 DOSBox-X를 주로 이용하여 게임을 구동하고 있다[17]. SLiRP를 이용해 Wi-Fi에서도 네트워킹이 가능하지만 일부 빌드는 지원하지 않는다고 한다. [18] 한국어 번역이 되있긴 하지만 용어등이 너무 오래된 표현을 사용한다. 불편한 사용자는 dosbox-x 의 message.txt 라는 설정파일에 languge=ko_KR.lng 에서 ko_KR.lng를 비워주면 미국식 영어로 바뀐다. 공식문서 설명
-
기타 파생 버전
DOSBox를 이용하고 있는, 혹은 DOSBox를 편리하게 이용하게 해주는 프로그램으로 이지 DOSBox와 도스게임런처가 있다. 이지 DOSBox는 실행파일의 마우스 우클릭 등으로 편하게 DOSBox를 이용할 수 있고, 도스게임런처는 런처 형식으로 이용할 수 있게 해준다. 다만 이지 DOSBox는 개발자의 흑역사로 인해 묻혔다.
-
DOSBox Pure
DOSBox Pure는 단순성과 사용 편의성을 목표로 RetroArch/Libretro용으로 개발된 DOSBox 빌드로 RetroArch 코어다 보니 Android도 지원한다. 다만 공식 Github에서 내려받아야만 3dfx 에뮬레이션을 사용할수 있긴 하지만 하드웨어 렌더링 지원이라는 장점도 있다. FD와 CD이미지를 마운트하면 HDD이미지를 쉽게 생성할수 있지만 2GB부터는 FAT32기에 Windows 95 RTM을 설치할 때 주의해야한다. 특이하게도 초당 사이클 수를 AUTO나 MAX로 설정하면 사이클수 조정이 최대 CPU 사용량 제한으로 바뀐다.[19] 초당 사이클 중에서 AMD Athlon 1.0 GHz도 지원하나 어지간한 성능으로도 버벅댄다.
[1]
특히 Windows XP Professional의 경우는 그룹 정책에서 16비트 응용 프로그램의 실행을 제한할 수도 있다.
[2]
Windows 3.1에서는 CD를 넣고 마운트만 해도 오디오 플레이어에서 재생할 수 있다.(DOSBox
daum SVN 기준)
[3]
이게 무슨 뻘짓이냐고 하겠지만, 실제로 Windows 9x들이 아니면 잘 실행하지 못하는 프로그램들이 있다. 물론 보통 프로그램이라면 굳이 구 버전을 쓸 필요가 없지만, 당시의 게임이라면 이런 형태나 멀티 부팅, 버추얼 PC 등이 아니면 돌릴 수가 없다. 특히 8 이후의 Windows는 성능 향상과 맞바꾼 하위 호환성이 크게 떨어져서 이런 식으로 돌리는 방법만이 정상 실행을 보장한다.
[4]
ver set 3 31
[5]
이 입력이 안되는 게임이 몇 가지 있는데, 이 때는(만약 IP 주소가 127.0.0.1이라면) 127000000001와 같이 입력해주면 된다.
[6]
손노리에서 발매했던
패키지의 로망도 포함된 게임중 도스 게임들에는 DOSBox가 함께 포함되어 있다.
[7]
위 문단에서 언급된 DOSBox Turbo(aFreebox)는 지원한다.
[8]
사이클 수를 줄여버리면 나아지긴 한다.
[9]
에뮬레이션 오류로 실행이 불가능한경우가 많다. 특히 사운드 블래스터 에뮬레이션이 잘못돼서 게임 도중에 튕긴다. DirectSound를 비활성하면 부실하긴하지만 플레이가 가능한데 역시 중간에 튕긴다.
[10]
Dynamic 코어의 경우
[11]
Normal 코어의 경우
[12]
IBochs PC Emulator에서 제공했던 'GUI Thread' 기능도 본질적으로 동일하다.
PCem과
Bochs는 대상 운영 체제가 DOS라는 전제가 없으므로 멀티코어 CPU 에뮬레이션도 설정할 수 있지만, DOS를 에뮬레이트하면 역시 CPU 전체 코어를 시스템의 1개 코어가 담당해야 한다. 즉, 8코어 시스템으로 2코어 머신을 에뮬레이트하면 원본 시스템의 1코어가 가상 CPU 2코어를 혼자 담당하게 된다는 뜻.
[13]
실제로 마이너 업그레이드 버전인 0.74-2 버전이 공개된 것은 6년이나 지난 2018년이었다. 8년이 지난 2020년 현재도 0.74-3 버전이 최신 버전이며 0.75 버전은 개발을 진행하고 있으나 버그가 아직 다 잡히지 않아 공개하고 있지 못하다는 DOSBox 팀의 코멘트가 있었다.
[14]
SVN은 원래 SubVersioN의 약어로 자유소프트웨어 진영에서 사용하는 버전 관리 시스템이다. SVN r0000 하고 붙는 서브 버전 넘버도 자동으로 붙여준다.
[15]
아래에 서술하는 DOSBox-X의 GUI 소스를 수혈했다고 한다.
[16]
인텔 맥은 물론 ARM 맥도 네이티브로 지원한다.
[17]
도스게임런처는 '실행기' 라는 개념을 이용하여 각 프로그램마다 최적의 DOSBox 혹은 에뮬레이터 버전을 할당할 수 있다.
[18]
주의 할 점은 디스크 마운트할 때 img파일만 가능하다. 가끔 UltraISO로 생성하면 ima 파일이 나오는데 그대로 마운트 시도하면 마운트가 되지 않고 cannot create drive from file 오류가 뜬다. 방법은 img로 생성하거나 파일 확장자를 ima대신에 img로 바꿔도 된다.
[19]
고성능 데스크톱 CPU라면 100%도 상관없긴하나 기기별로 차이가 큰 모바일 CPU나 저성능 데스크톱 CPU의 경우 실행되다가 뻗어버릴수 있다.