Adolf의 엉망진창 블로그

중립성 따윈 없는 여행/18禁/자동차/IT 제멋대로 1인 언론(?)

Electrosphere(컴퓨터)

86Box로 DOS 레트로 PC를 만들자(2) - 가상 PC를 조립하는 법

dolf 2026. 2. 27. 18:55

지난 포스팅에서 86Box라는 IBM PC 에뮬레이터의 개념에 대해 소개한 바 있습니다. DOS나 윈도우 9x같은 구형 운영체제를 돌리기에 VMWare나 VirtualBox같은 하이퍼바이저는 과거에도 무언가 아쉬운 점이 있었으며 최신 버전에서는 아예 사용이 어려울 정도의 호환성 문제가 나타나기도 하고 있습니다. DOSBox같은 철저히 게임을 위해 나온 에뮬레이터도 있지만 이것은 쉬운 사용과 성능을 위해 호환성을 어느 정도 접어둔 약점이 있습니다. 

 

그에 비해 86Box와 그 모태가 되는 PCem은 과거의 PC 부품 그 자체를 재현하는 것을 목표로 하고 있으며, 특히 86Box는 최신 버전에서 성능을 위해 약간의 호환성을 희생하는 방향으로 간 PCem과 달리 여전히 최대한의 호환성을 목표로 하고 있습니다. 부품을 하나씩 조립하는 것 처럼 내 입맛에 맞는 PC를 소프트웨어적으로 만들 수 있는 86Box, 이번에는 그 부품을 직접 조립하는 방법을 설명합니다. 예. 86Box의 환경 설정을 소개합니다. 

 

아. 86Box라는게 뭔지 모르신다구요? 그러면 일단 먼저 강좌 1편부터 보고 오셔야죠.^^

 

 

86Box로 DOS 레트로 PC를 만들자(1) - 86Box, 너는 누구냐?

자, 설 연휴도 끝났는데 다들 설 연휴의 후유증은 없으셨는지요? 어차피 오늘만 지나면 다시 주말이 오니 힘내시길 바라며, 오늘의 주제는 좀 레트로한 이야기입니다. 바로 PC에서 DOS를 실행해 DO

adolfkim.tistory.com

자, 이 CPU PC에 박아 넣을 준비 되었습니까?


 

 

 

■ 레트로 PC를 조립(?)하자 - 86Box 설정

 

 

86Box 버전 5부터는 VirtualBox와 비슷하게 생긴 관리자를 제공하고 있어 VMWare나 VirtualBox를 써보신 분이면 나름 쉽게 적응할 수 있습니다. 그리고 다행히도 한글을 지원합니다. 참 보기에도 심플하게 생겼는데, 환경설정을 이 관리자에서 별도로 할 것도 없습니다.

 

 

이제 본격적으로 PC를 조립(?)하는 단계에 들어갑니다. 왼쪽 위의 '새로운 기계'를 누르면 가상 머신을 새로 만들 수 있습니다. '새로운 구성'과 '기존 구성 사용'의 두 가지가 있는데, 기존 구성 사용은 말 그대로 기존에 조합해 놓은 설정을 백업해둔 설정을 불러오는 것입니다. 이건 텍스트 파일을 붙여 넣어도 되고 파일을 업로드해도 됩니다. 여기서는 그냥 완전히 백지 상태이기에 '새로운 구성'을 누릅니다.

 

 

그러면 '시스템 이름'과 '표시 이름'이라는 두 가지 항목이 나타납니다. 시스템 이름은 그냥 해당 설정이 저장되는 폴더/파일명 정도의 개념이고, 실제로 관리자에서 보이는 이름이 '표시 이름'입니다. 시스템 이름은 그냥 알아만 볼 수 있다면 대충 지어도 되고, 표시 이름을 제대로 구분되게 정하시면 됩니다. 시스템 이름은 나중에 못 바꾸지만 표시 이름은 얼마든지 바꿀 수 있습니다. 표시 이름을 안 정하면 시스템 이름이 표시 이름이 됩니다.

 

 

마지막으로 이름 지정이 제대로 되었는지만 확인하고 '완료'를 누르면 되는데...

 

 

머리가 아픈 본격적인 PC 조립은 지금부터 시작입니다. 이러한 각각의 부품 지정을 전부 수동으로 해야 하기 때문입니다. 물론 처음부터 겁먹을 필요는 없고, PC 조립 경험이 있다면 어려운 일이 절대 아닙니다. 각각의 내용과 기초적인 설정 내용을 적으면 이렇습니다.

 

 

- 기종: 이 항목은 PC의 핵심인 CPU, 메인보드, 메모리를 정합니다. PC라고는 하지만 하드웨어가 아니니 파워나 케이스는 없답니다.^^ 먼저 '머신 종류'는 일종의 CPU의 소켓 개념이라 이해하시면 됩니다. 사실 우리가 흔히 말하는 IBM PC XT라고 해도 제조사가 다르고 CPU 종류나 메인보드가 다 다르기 때문입니다. 최초의 IBM PC에 들어가는 인텔 8086 및 호환 CPU부터, 소켓 370 규격의 셀러론까지 지정이 가능합니다.

 

 

'기종'은 메인보드 및 PC 모델을 말하는데, 유명한 PC는 PC 자체의 모델명으로 기재되고, 조립 PC용 메인보드를 고를 수도 있습니다. 이에 따라서 POST 화면과 BIOS 설정 화면이 완전히 달라지고, 미묘하게 부품 호환성도 달라집니다. 즉 '골라먹는 재미'는 있지만 대신 이 시점에서는 뭐가 뭔지 알 수 없기에 결과적으로 하나씩 짜맞추면서 자신에게 가장 좋을법한걸 골라야 합니다. 의외로 국산 PC들도 있습니다.

 

 

'CPU 종류'는 해당 PC(메인보드)에서 지원하는 CPU입니다. 예를 들어 486이라고 해도 SX가 있고 DX가 있고 DX2가 있으며, 다시 이것도 인텔이 만든 것도 있는 반면 AMD나 Cyrix가 만든 것들도 있습니다. 사실 486까지는 거기서 거기이긴 한데 펜티엄급부터는 AMD와 Cyrix, IDT CPU의 특성과 성능 차이가 꽤 나는 편입니다. 저 당시 PC를 써본 분이라면 당연히 무슨 이야기인지 바로 이해하실 것입니다.

 

 

'빈도'는 그냥 해당 CPU의 작동 속도입니다. 수동으로 속도를 지정하는게 아니라 원래 있던 모델 클럭을 고르는거라 그냥 적절히 고르시면 됩니다. 'FPU' 항목은 CPU에 따라서 설정 여부가 달라지는데, 486까지는 CPU 내부에 부동소수점 연산 유닛(FPU)가 없는 경우가 있었고 외부에 별도의 FPU를 달아야 했기에 이 경우를 대비한 옵션입니다. 즉 펜티엄부터는 그냥 내장으로 설정 자체가 안 됩니다.

 

 

나머지는 그렇게 복잡하지 않습니다.'메모리'는 말 그대로 해당 PC의 메모리 용량인데, 마구잡이로 용량을 늘리는 것은 권장하지 않습니다. 특히 해당 PC나 운영체제에서 인식하지 못할 정도의 메모리는 안정성을 저해하는 만큼 정말 그 운영체제와 PC에 맞는 것만 설정해야 합니다. 여기서는 펜티엄 100MHz PC를 상정하여 그에 맞춰 16MB 메모리를 골랐습니다.

 

나머지를 주마간산식으로 설명하면 '대기 상태'는 486 한정 옵션이며, 'PIT 모드'는 386 이하는 저속, 486 이상은 고속이 기본입니다. '동적 재컴파일'은 성능 향상을 위한 사항인데, 펜티엄급 이상은 활성화 고정, 486에서는 옵션, 386 이하는 아예 사용 불가입니다. 486 한정으로 호환성 문제가 있을 때 체크를 꺼볼 수 있는 정도입니다. '소프트플로트 FPU'는 수학 연산 관련 소프트웨어 오류 시 성능을 낮추더라도 정확성을 높이는 옵션이 되겠습니다. '시간 동기화'는 가상 PC의 시간을 현재 PC 시간에 맞출지 여부이며, 사용하지 않으면 해당 PC로 부팅 후 BIOS에서 각각 지정해줘야 합니다. 'CPU 프레임 크기'는 기본값이 '더 작은 프레임'인데, 호스트 PC 성능이 좋다면 이것을 고르고 이게 아니라면 '더 큰 프레임'을 고르면 에뮬레이터 성능 저하가 좀 둘어듭니다. 이 값들은 특별한 이유가 없다면 기본값을 권장합니다.

 

 

- 디스플레이: 이제 그래픽카드를 꽂을 차례입니다. 그래픽카드는 IBM MDA부터 Voodoo 3 3500까지 고를 수 있는데, 이것도 마구잡이로 잘못 넣어 사고를 치지 않도록 CPU와 메인보드에 따라서 고를 수 있는 폭이 정해집니다. 나머지는 정말 취향의 문제죠. DOS만 실행하는 경우 3D 성능은 거의 중요하지 않으니 그게 그거라 생각할 수 있지만, 저 당시부터 그래픽카드에 따라서 가끔 호환성 문제가 터지곤 했기에(특히 ATi) 취향 문제라고는 해도 이 역시 문제가 생기면 나중에 바꿔볼 필요는 있습니다.

 

 

위에 적은 바와 같이 그래픽카드는 메인보드에서 쓸 수 있는 범주 내에서 자유롭게 고를 수 있는데, 특정 유명 그래픽카드 모델이 적힌 경우도 있지만 그냥 그래픽 칩 이름만 적힌 것도 있습니다. 전자는 정말 그 그래픽카드로 인식되고, 후자는 그냥 그 칩을 쓴 듣보잡(?) 그래픽카드라 생각하시면 됩니다. 그래픽카드는 두 장까지 꽂을 수 있는데, 이게 SLI 개념이 아니라 일종의 듀얼 디스플레이용입니다. DOS만 돌린다면 굳이 두 번째 그래픽카드는 지정하지 않아도 됩니다.

 

 

그래픽카드에 따라서는 옵션 설정이 따로 가능한 경우가 있는데, 대체로는 그래픽 메모리 용량 설정이지만, 가끔 저런 Voodoo 3 시리즈처럼 뭔가 좀 메뉴가 다른 경우가 있습니다. 이 경우 잘 모르면 그냥 기본값으로 두는 것을 권장합니다. 참고로 '화면 필터'는 RAMDAC에 따른 색감 차이를 구현하는 옵션이며, 렌더 스레드는 호스트 PC의 총 코어 수의 절반 수준(SLI 시 다시 절반)으로 설정이 권장값입니다. 

 

 

그런데 저 시절에는 그래픽카드 말고도 Voodoo나 Voodoo 2를 따로 꽂을 수 있었죠. 그런데 아무리 봐도 리스트에는 없는데, 86Box는 아예 Voodoo 1/2 옵션이 따로 있습니다. 선택 가능한 것은 Voodoo, Quantum3D Opsidian SB50, Voodoo 2입니다. 참고로 Opsidian SB50이란 물건은 Voodoo 칩 두 개를 아예 기판 한 장에 박은, 일종의 내부적으로 SLI를 구성한 물건입니다. 이걸 SLI로 두 장 박으면 Voodoo 네 장 SLI가 되는 셈입니다. 

 

참고로 저것들 말고 IBM 8514/A, XGA, PS/55 디스플레이 어댑터 그래픽스라는 세 가지 옵션이 있는데 이것들은 각각의 그래픽 가속기 옵션을 말합니다. 스프레드시트의 도형 처리나 CAD 도면 처리가 빨라지는데, 문제는 이게 OS/2와 윈도우 2.1~95까지만 지원이라서 DOS에서는 아무짝에 쓸모도 없고, 윈도우 98에서도 무용지물입니다. IBM 8514/A 말고는 활성화가 안 되는건 나머지 두 카드가 IBM MCA 버스 전용이라서 저 버스가 있는 PC(IBM PS/2나 PS/55 등)에서만 쓸 수 있기 때문입니다.

 

 

- 입력 장치: 정말 쉽게 쓰면 키보드, 마우스, 조이스틱 설정입니다. 여기에 가상 머신의 단축 키 설정도 여기에서 합니다. 86Box는 모든 가상 머신에서 동일한 글로벌 설정을 하는게 아니라 머신별로 단축 키 설정을 전부 다르게 할 수 있습니다. 이는 작업에 따라서 특정 단축 키가 할당된 경우가 있을 수 있어 글로벌 설정 시 일부는 문제가 될 가능성도 있기 때문입니다.

 

 

XT 전용 키보드인 8086/8088이 아닌 80286 이상 환경에서는 키보드 옵션이 네 가지가 제공됩니다. AT 키보드는 80286 최초의 키보드이며 현재의 키보드와는 일부 레이아웃이 다릅니다. 펑션키도 F10까지만 있죠. AX 키보드는 그 AT 키보드 레이아웃이 지금과 비슷하게 바뀐 것, PS/2 키보드는 우리가 아는 그 PS/2 방식 101키 키보드입니다. PS/55 키보드는 IBM PS/55 시스템에 번들로 들어가던 일명 '5576 키보드'입니다. 정말 XT나 AT로 설정하는게 아니라면 PS/2 키보드로 설정하시는 것이 가장 무난합니다.

 

 

마우스 역시 메인보드에 맞춰서 설정할 수 있는 것이 달라지는데, 이건 시리얼과 PS/2 구분 이외에도 세부 모델 차이가 있습니다. 시리얼 마우스는 메인보드 BIOS에서 시리얼 포트를 활성화시켜야 정상 작동합니다. 또한 마우스에 따라서 버튼이나 휠 작동도 좀 다르기에 이 부분이 어떻게 작동할지는 저기 나온 마우스 이름으로 검색해서 레이아웃을 보셔야 합니다. 이건 취향 문제에 가깝긴 합니다만. 보통 3버튼 마우스는 휠이 가운데 버튼으로 작동하며 이건 아실 분은 다 아실 것입니다. 참고로 조이스틱이나 패드도 지원하는데, 이건 실제 PC에 달려 있는 패드나 스로틀/스틱이 있다면 DirectX를 통해 연동이 됩니다. 

 

 

- 사운드카드: 말 그대로 사운드카드입니다. 이게 없어도 흔히 말하는 Beep음은 나옵니다만 게임을 하려면 사운드카드는 필수죠. 농담이 아니라 삼국지 2를 사운드카드 없이 할 때와 있을 때 할 때는 완전히 달라집니다. Beep음으로 어떻게든 소리는 구현해주지만 눈물나게 구립니다.T_T

 

 

사운드카드는 Ad Lib부터 시작하여 Pro Audio Spectrum, Aztech Sound Galaxy, Gravis UltraSound 등 당대를 넘나드는 명기가 가득합니다. 물론 Sound Blaster는 1.0부터 PCI128까지 있습니다. Live!같은 PCI 시절부터는 사운드카드가 사실상 사양 산업이 되다보니 이 쪽은 지원이 좀 약합니다만. 

 

 

사운드카드에 따라서는 이런 옵션 설정도 되는데, 사실 모르면 기본값으로 두는 것이 좋습니다. 또한 사운드카드가 PnP 모델이면 주소 설정은 소프트웨어로도 가능하기에 굳이 이런 옵션이 안 나옵니다. AWE 시리즈면 사운드폰트 용량 설정도 있습니다. 사운드카드 특성을 잘 모를 경우 그냥 모델만 고르고 옵션은 손을 안 대는 것이 안전합니다. 참고로 저 사진의 SB16의 경우 'OPL 사용'은 꼭 체크를 하셔야 합니다. 안 그러면 DOS/V 계통 게임들은 소리가 안 나는 사태가 벌어집니다.^^

 

 

사운드카드는 총 4장을 꽂을 수 있지만 보통 이렇게 하시는 분은 잘 없으니 한 장만 꽂아도 문제는 없고, MIDI 장치도 옵션으로 설정이 가능합니다. 당대의 명기인 Roland MT-32도 선택이 되는데, 다만 이건 설정이 꽤나 복잡하기에 SoundFont 에뮬에이션인 FluidSynth를 선택하는게 그냥 편합니다. 다만 SoundFont는 따로 준비해야 하고, 설정에서 해당 파일 지정을 해줘야 소리가 나오니 주의하셔야 합니다.

 

끝으로 MIDI 재현 정확도를 선택하는 것은 정확도 중심의 Nuked 라이브러리가 기본이라 특별한 이유가 없다면 손대지 않아도 됩니다. 'MPU-401 단독 사용'은 사운드카드와 따로 선택한 MIDI 장치가 물리적으로 호환이 안 되더라도 소리가 나게 만드는 옵션이며, FLOAT32 옵션은 오디오 출력에 문제가 있을 때 한정으로 성능 저하를 감수하고 꺼보는 것입니다.

 

 

- 네트워크: LAN 카드와 모뎀도 집어 넣을 수 있습니다. 그렇지만 사실 DOS만 쓸 때는 굳이 안 집어 넣어도 됩니다. 모뎀 옵션도 있기는 한데 이걸로 지금 PC통신할 분도 없고, 윈도우 98 설치를 한다 쳐도(XP 설치도 되지만 실사용에 충분한 성능은 안 나옵니다.) 여기에서 웹 서핑도 거의 무리인 상태이기에 기껏해야 네트워크 대전 정도에나 써먹을 수 있습니다. 그래서 이 기능은 그냥 '이것도 되는구나' 정도로 이해하시는게 낫습니다.

 

 

사운드카드와 마찬가지로 총 4장의 모뎀 또는 이더넷 어댑터를 지정할 수 있습니다. 전통의 3COM EtherLink부터 애증의 게표 RTL8139까지 선택이 가능합니다. 인터넷이 가능한 PC(즉 윈도우 98쯤 설치)용이면 그냥 가장 데이터도 많고 설정할 것도 없는 게표 RTL8139가 편한 선택입니다. PnP라서 IRQ 설정도 불필요하고 MAC 주소만 가상으로 지정해 넣으면 그만입니다.

 

 

참고로 모드는 Null 드라이버와 슬리프(SLiRP)을 고를 수 있는데, Null 드라이버는 LAN 카드만 꽂고 선을 연결하지 않은 상태를 구현하며, 슬리프는 VMWare의 NAT 모드처럼 호스트 PC가 공유기인 것 처럼 하여 네트워크를 제공합니다.

 

사실 여기에서는 두 가지 옵션만 나오지만 실제로는 PCap, VDE, TAP이라는 옵션도 있습니다. 하지만 보통은 이 세 가지는 안 보이는데, 하이퍼바이저의 브릿지 모드격인 PCap은 별도의 설정 소프트웨어를 호스트 PC에 따로 설치해줘야만 작동하며, 가상 네트워크인 VDE와 TAP은 리눅스에서만 활성화가 됩니다. 그러다보니 저 두 가지만 나와도 이상한게 절대 아니라는 점을 말씀드립니다.

 

 

- 포트: 보통은 손을 꼭 댈 필요는 없는 부분입니다. 시리얼/패럴렐 포트에 대한 부분인데, 보통은 PC에서 시리얼 포트 2개, 패럴렐 포트 1개를 제공하기에 이게 기본값입니다. USB는 구현하지 않았기에 이 메뉴에서 보드를 뭘로 고르건 USB는 안 나옵니다.T_T

 

 

포트는 각각 최대 4개까지 설정할 수 있는데, 패럴렐 포트는 프린터나 소프트웨어 락이 있는 것 처럼 에뮬레이션이 가능합니다. 실제 프린터를 소프트웨어로 구현할 수는 없다보니 종이로 출력이 되지는 못하지만, 일단 프린터를 설정한 뒤 가상 머신에서 프린터를 잡아서 출력을 하면 텍스트 프린터는 텍스트 파일로, 도트 프린터나 포스트스크립트 프린터는 이미지 파일을 86Box의 해당 머신 설정 폴더에 저장합니다. 

 

 

고급 기능으로 시리얼 포트 한정으로 실제 PC의 시리얼 포트의 장치를 연동하는 '패스스루'가 가능합니다. 다만 지정한 가상 마우스가 시리얼 마우스인 경우 패스스루 설정이 안 된다는 개발자 언급이 있기에 어차피 안 쓰는 기능이지만 참고만 해두시면 될 듯 합니다.

 

 

- 장치 컨트롤러: 앞의 포트와 달리 이 부분은 꽤 중요하며 나름 복잡합니다. 과거를 잠시 떠올려 보셔야 하는데, 펜티엄 시절부터는 웬만한 입출력 포트는 메인보드에 내장되었으나 과거에는 I/O 카드라고 하여 메인보드에는 달랑 키보드 단자 하나만 있고 나머지 포트, 즉 시리얼이나 패럴렐 포트부터 하드디스크 컨트롤러까지 전부 카드 형태로 꽂아야 했습니다. 이 I/O 카드에 대한 부분이 장치 컨트롤러입니다. 그나마 시리얼/패럴렐 포트의 I/O 카드는 따로 꽂지 않고 앞의 포트 부분에서 설정한 것으로 대신하기에 여기서는 FDD, 하드디스크(ATA), CD-ROM, SCSI 컨트롤러에 대해서만 설정합니다.

 

일단 이 항목을 보기 전에 한 가지 체크를 하셔야 하는데, 바로 '기종' 항목에서 어떠한 PC/메인보드를 골랐나 하는 것입니다. 즉 메인보드에 이러한 기능들이 내장된 것이 기본으로 있는지 여부를 보셔야 합니다. 내장된 것이 하나도 없는 메인보드라면 그냥 이 옵션들을 하나씩 취향에 맞게 꽂아줘야 합니다.

 

 

'플로피 디스크 컨트롤러'는 FDD용 포트를 말합니다. 다만 여기서 혼란이 있을법한 용어는 '내부 장치'라는 것입니다. 이게 메인보드에 해당 기능이 있을 때 선택하라는 의미가 절대 아닙니다. 메인보드에 이 기능이 아예 칩셋 차원에서 지원하는 경우 '없음'으로 선택하시고 메인보드 BIOS에서 사용 여부를 지정해야 합니다. 저 내부장치라는 것은 메인보드 안에 별도의 컨트롤러 칩이 '온보드'로 박힌 경우를 의미하며 이건 아래의 하드디스크 컨트롤러도 마찬가지입니다. 개발자 曰, XT에서 3.5인치 2HD 디스켓 지원시킬 것이 아니면 이거 고를 필요가 없다 합니다.

 

 

'CD-ROM 컨트롤러'는 선택지가 두 개 뿐입니다. 어차피 같은 것이지만 Sound Blaster 내장이냐 아니냐의 차이 뿐입니다. 이게 '내부 장치'라는 옵션이 없는 이유는 과거로 돌아가야 하는데, 과거의 CD-ROM은 지금처럼 저장장치가 아닌 사운드카드와 비슷한 멀티미디어 장치 취급을 받았습니다. CD를 데이터 저장용으로 쓰겠다는 것은 CD-ROM(Yellow Book), 그리고 CD-R(Orange Book)이 나온 이후였답니다. 하여간 IDE 포트도 다 별도 카드로 들어가던 486 시대에는 사운드카드와 CD-ROM을 번들로 묶어 파는 경우가 많았고 사운드카드에 CD-ROM 컨트롤러가 들어간 경우가 꽤 있었습니다. 이 때의 유산이라 보시면 됩니다. 역시 펜티엄 시절 하드웨어라면 메인보드의 EIDE 포트 쓰면 되니 그냥 안 고르시면 되고, 486이나 그 이전 세대에서나 필요한거라 보시면 됩니다.

 

 

하드디스크 컨트롤러는 말 그대로 하드디스크(IDE/EIDE) 연결 포트입니다. 현 시점에서 SATA는 아예 취급하지 않고 굳이 거기까지 아직 에뮬레이션을 고려할 정도도 아닙니다. 칩셋 차원에서 EIDE를 지원하는 펜티엄 이상급이면 '없음'을 선택하시면 되며, 486 이하이거나 하드디스크 여러 개를 넣을 목적이라서 추가 컨트롤러 카드를 꽂는다 하시는 것이라면 옵션을 골라야 합니다. 다만 실제 해당 카드의 제원을 모르면 나중에 하드디스크 추가 시 조금 골치가 아플 수 있기에 당대의 부품을 아시는 경우가 아니라면 좀 검색을 하여 하드디스크 호환성을 미리 확인해 보셔야 합니다. 컨트롤러 카드는 최대 4장까지 꽂을 수 있습니다. 참고로 이 메뉴의 '내부 장치' 역시 메인보드에 추가 EIDE 컨트롤러가 온보드로 들어간 메인보드를 골랐을 때 그 칩을 따로 쓰려 할 때만 선택하시는 것이라서 제한적으로 선택하셔야 합니다.

 

 

SCSI 컨트롤러는 굳이 설명이 필요 없는 SCSI 카드입니다. 다만 슬프게도 우리나라에서 많이 썼던 Adaptec이나 Initio 컨트롤러는 없습니다. 그 이유는 설계가 공개되어 있지 않기 때문인데, 디스플레이 항목에서 깜빡하고 적지 않았는데 엔비디아 그래픽카드가 전멸인 이유도 엔비디아는 철저히 관련 설계 정보를 비공개로 일관하는데다 리버스 엔지니어링에 대해서도 민감하게 대응하기 때문입니다. 즉 이러한 목록에 없는 하드웨어는 그 설계(BIOS 등)가 공개되지 않았거나 리버스 엔지니어링에 대한 위험도가 높다는 의미라 보시면 됩니다.

 

 

- 하드 디스크: 말 그대로 하드디스크 추가/관리 메뉴입니다. 우리가 꼬꼬마 시절, 즉 공중전화 낙전 수입으로 최신이라고 들여온 교육용 XT PC에 5.25" 디스켓 넣고 돌리던 시절을 되돌리는게 아니라면 하드디스크는 필수입니다. 무엇보다 FDD만 갖고는 실사용이 무리인데, 기본값에서는 느리기도 느리지만 용량이 너무 적습니다.T_T 다만 처음에는 아무런 하드디스크 설정이 없기에 저렇게 나오는데, 그냥 '새로 만들기'를 고르면 됩니다. 

 

 

여기에서 봐야 하는 핵심은 '실린더/헤드/섹터/형식'을 제외한 나머지입니다. 이 네 가지는 어차피 용량을 지정하면 자동으로 잡아주는 것이고 괜히 수동으로 손대봐야 좋을 것이 없습니다. '파일명'은 말 그대로 하드디스크의 이미지 파일명을 의미하니 파일을 저장할 곳과 이름을 따로 지정해주시면 됩니다. 용량은 MB(정확히는 MiB) 단위로 지정하고, 그에 맞춰 나머지 네 개는 자동으로 잡아주니 괜히 손을 안 대시는 것이 안전합니다.

 

 

'버스'는 조금 어려운 부분입니다. 정확히는 용어의 이해가 필요한데 대충 이런 의미입니다.

 

- MFM/RLL: 자기 디스크의 데이터 저장 방식의 여명기에 나온 것으로서 최초의 하드디스크에 쓰던 MFM(Modified frequency modulation) 방식 하드디스크를 말합니다. 흔히 말하는 '사과박스 하드디스크'를 생각하시면 됩니다.

- XTA:MFM보다는 나중이지만 그래도 XT 시절에 나온 하드디스크 인터페이스입니다. 뒤에 나올 IDE에 대체되었는데, 대표적인 하드디스크인 시게이트 ST-506에서 이름을 따서 이 규격을 ST-506이라 부릅니다.

- ESDI: Enhanced Small Disk Interface의 약자인데, XTA의 성능이 영 낮아서 이를 개량하기 위해 맥스터에서 만든 자체 규격입니다. 일종의 틈새 시장에서는 나름 먹혔지만 아래 나올 IDE에 밀려서 사라졌습니다.

- IDE: Integrated Drive Electronics, 즉 우리가 지금 '패럴렐 ATA'라 부르는 그 친구입니다. WD에서 최초로 만든 이래 성능과 편의성 등 모든 면에서 나머지 규격을 대체했습니다. 1990년대 이후에 나온 PC를 에뮬레이션한다면 복잡하게 생각할 것 없이 이걸 고르시면 되기에 XT/AT 가상 머신을 만드는 것이 아니라면 이걸 선택하시는 것이 좋습니다.

- ATAPI: 원래는 IDE에 SCSI 명령어를 전달 가능한 규격이지만, 하드디스크에서는 이걸 쓰지 않아서 사실상 광학드라이브, CF, ZIP 드라이브같은 것을 쓰는 용도입니다. DOS 부팅용으로 이런걸 쓸 이유가 없기에 굳이 선택할 필요는 보통은 없습니다.

- SCSI: 예. 그 SCSI입니다. 몇 핀인지는 설정할 필요도 없습니다. 당연한 사항이지만 장치 컨트롤러에서 별도의 SCSI 컨트롤러 추가가 필요합니다.

 

PC를 XT나 AT로 설정하는 것이 아닌 이상에는 보통은 IDE를 선택하는 것이 가장 편합니다. 다만 실제로는 386이나 486이라도 위의 장치 컨트롤러 항목의 하드 디스크 컨트롤러 항목에서 어떠한 카드를 고르는가에 따라서 이 부분이 달라지기에 꼭 컨트롤러 카드가 원래 지원하던 인터페이스가 무엇인지 체크하셔야 합니다. 펜티엄 이상이면 그냥 IDE 말고는 생각할 필요도 없는데, SCSI처럼 운영체제 설치 시 드라이버를 따로 챙길 필요가 없어 설정이 편합니다.

 

 

'채널'은 하드디스크의 순서를 결정합니다. 과거에 IDE 하드디스크 쓰던 시절을 떠올려 보시면 Primary Master, Secondary Slave같은 말을 기억하실 것인데, 이 순서를 말합니다. 0:0이면 Primary Master, 1:1이면 Secondary Slave라 보시면 됩니다. 이게 XFM/XTA/ESDI까지는 달랑 두 개가 전부고 IDE는 8개, SCSI는 128개까지 설정이 됩니다. IDE도 8개까지 되는 이유는 컨트롤러 카드를 따로 꽂은 것을 상정하기 때문입니다. 

 

 

'모델'은 당시 유명했던 하드디스크로 인식되도록 합니다. ATA-4, 즉 UDMA/66 시절 하드디스크까지 있습니다. 물론 이것은 용량과는 별개의 문제라서 용량은 자유롭게 지정한 대로 인식합니다. 하지만 그 성능조차 그대로 에뮬레이션을 해버리기에 당연히 성능은 확 떨어지는데, SSD에 86Box를 설치해봐야 하드디스크 모델을 지정하면 정말 바닥을 기는 성능이 나옵니다. 그 시절이 그립다면 나쁘지 않은데, 저장장치는 빨라야 한다면 가장 위의 'RAM디스크'를 고르면 됩니다. 실제 RAM디스크는 아니지만 실제 해당 이미지가 저장된 저장장치 전체 성능은 나오며, 가상의 하드디스크 모델명으로 인식됩니다.

 

 

'이미지 포맷'은 해당 하드디스크의 가상 이미지 포맷을 말합니다. RAW/HDI/HDX와 VHD 3종이 있는데, RAW는 말 그대로 RAW 규격이며, HDI/HDX는 NEC PC98에서 쓰던 규격입니다. PC98 에뮬레이터 써보신 분이면 익숙한 파일명일 것입니다. 하지만 이들은 권장하지 않으며 권장은 VirtualBox나 Hyper-V에서도 쓰는 VHD입니다. 

 

이것도 고정 사이즈, 동적 사이즈, 디퍼런싱 VHD로 나뉘는데 고정 사이즈와 동적 사이즈는 다른 하이퍼바이저를 쓰신 분이라면 다들 아실 것입니다. 고정 사이즈는 정말 저 하드디스크 용량 그대로 이미지를 만들고, 동적 사이즈는 현재 저장된 용량을 기준으로 용량을 만듭니다. 디퍼런싱 VHD는 조금 개념이 어려운데, 쉽게 말하면 '복원용 하드디스크'입니다. PC방에서 쓰던 PC처럼 재부팅 시 자료를 초기화하고 복구하는 데 쓰는 하드디스크이며, 그래서 디퍼런싱 VHD는 단독으로 설정이 불가하며 동일한 일반 VHD를 먼저 지정해야 합니다. 보통은 용량 부담이 적은 동적 사이즈 VHD를 권장합니다.

 

마지막으로 블록 크기는 '대형 블록'을 기본으로 권장합니다. 파일이 많을 경우 용량 낭비는 생기지만 성능이 좋아지기 때문입니다. 물론 20MB짜리 하드디스크라면 이야기는 다르겠습니다만.^^

 

 

- 플로피/CD-ROM: 이 항목만 갖고도 무엇을 설정하는 곳인지는 다 아실 것입니다. FDD와 광학드라이브(MO 제외)를 설정하는 메뉴입니다. 여기는 설정 자체는 복잡하지는 않지만 살짝 참고할 내용은 있습니다. 일단 FDD는 최대 4대까지, ODD는 최대 8대까지 설정할 수 있습니다. 보통은 FDD는 1~2개, ODD도 1~2개 정도 세팅하는게 일반적입니다.

 

 

플로피 드라이브 항목에서 각각의 메뉴를 고른 뒤 '형식'을 선택해 어떠한 FDD를 넣을지 정하는데,  XT 시절만 되어도 5.25인치 2HD(1.2MB) 드라이브는 쓰였던 시절이라 360KB나 720KB짜리는 보통 세팅할 필요는 없습니다. 조금 전 위의 컨트롤러 항목에서 XT 한정으로 1.44MB 2HD FDD 넣을게 아니면 컨트롤러 추가도 불필요하다고 적었듯이 AT 이상이면 그냥 필요에 따라서 5.25인치 1.2MB와 3.5인치 1.44MB 드라이브를 각각 세팅해주면 됩니다. 펜티엄 시절부터는 5.25인치는 슬슬 퇴출 기미였기에 이 경우는 그냥 3.5인치만 하나 남겨도 됩니다.

 

 

여기에 '오디오'라는 항목이 있는데 이 항목은 그 당시의 FDD 드라이브의 작동음을 에뮬레이션합니다. 즉 이걸 세팅해주면 정말 그 FDD가 작동하는 소리까지 나옵니다. 세팅을 안 하면 그냥 소리는 안 나는 것이죠. 일종의 취향이지만 뭐 취미의 레트로인데 과감히 소리를 들어가며 마음에 드는 것을 골라주면 됩니다. 

 

그 옆에 '고속 동작'과 'BPB 확인'이라는 것이 보이는데 사실 이 부분으 나름 중요합니다. BPB 확인은 기본값이며 고속 동작은 아닌데, 고속 동작은 하드디스크의 RAM디스크와 같이 FDD 이미지를 물리적인 규격을 그냥 무시하고 최대 속도로 읽어들입니다. 즉 FDD가 아니라 무슨 하드디스크나 SSD 속도로 돌아가는 셈입니다. 다만 운치따윈 없으며 오디오 세팅을 해도 무시되기에 취미의 영역에서는 딱히 좋은 선택은 아니죠. 대신 FDD를 많이 쓰는데 시간을 줄이고자 한다면 나쁘지 않은 옵션입니다. BPB 확인은 DOS/윈도우 운영체제에서는 반드시 기본값으로 체크해야 합니다. 반대로 유닉스/리눅스 설치 시에는 이걸 꺼야 합니다.

 

참고로 이 FDD에 읽어들일 수 있는 디스켓 이미지는 다른 하이퍼바이저에서도 쓰는 *.IMA, *.IMG같은 RAW 이미지를 권장합니다. 일본 PC98용 FDI 등도 읽을 수 있고 의외로 지원하는 포맷은 많지만 제한이 걸린 경우도 있어서 저렇게 흔한 RAW 이미지가 호환에는 가장 좋습니다.

 

 

CD-ROM도 세팅 방식은 FDD와 비슷하지만 모델을 고르기 전에 인터페이스를 골라야 합니다. ATAPI, SCSI, Panasonic/MKE의 세 가지가 있는데 각각 IDE, SCSI, 사운드카드 연결 전용 모델입니다. 보통은 ATAPI를 고르는 것이 호환성면에서 편하고 선택 가능한 옵션도 많습니다. 

 

 

채널은 말 그대로 CD-ROM 및 하드디스크의 순서입니다. 이미 하드디스크가 세팅된 경우 해당 채널은 회색으로 표시되어 쓸 수 없게 됩니다. 만약 순서를 바꾸고자 한다면 일단 설정 전체를 저장한 다음 바꿔줘야 하기에 참고하셔야 합니다. 

 

 

 

속도는 CD-ROM 기준 배속으로 표시하며 다들 잊으셨을거라 생각하여 적으면 1배속은 150KB/s입니다. 당시 CD-ROM이 우리나라에서는 최고 52배속, 일본같은 좀 특수한 동네는 72배속까지 나와서 옵션은 72배속까지 선택할 수 있습니다. CD-ROM 형식은 당시 출시된 유명한 광학드라이브 모델 및 속도를 그대로 지정할 수 있고, 86Box 전용 가상 드라이브를 지정할 수도 있습니다.

 

CD-ROM은 호스트 PC에 달린 물리적인 광학드라이브 또는 가상 드라이브(Daemon Tools 등)를 지정할 수도 있고 이미지 파일을 불러올 수도 있습니다. 이미지 파일은 가장 흔한 *.ISO, 그리고 Alchol용 *.MDF/MDS, 음악 CD용 *.BIN/CUE를 지원하고 있습니다. Nero용 *.NRG는 미지원입니다.

 

 

- 기타 이동식 저장장치: 이 부분은 웬만한 분은 만져볼 이유가 없었던 장치들입니다. 예. MO와 ZIP 드라이브의 영역입니다. 

 

 

기본적인 설정 방식은 CD-ROM과 같습니다. 버스(ATAPI/SCSI)를 고르고 채널 지정을 한 뒤 에뮬레이션할 드라이브를 지정해주면 됩니다. 실제 모델을 지정하여 그대로 쓸 수도 있고, 86Box의 가상 드라이브를 골라도 됩니다. 파일 포맷은 FDD와 같은 RAW 포맷(*.IMG/IMA)지만 MO/ZIP용 파일이어야 하기에 주의가 필요합니다. 사실 이들 장치는 로망이기는 하지만 웬만하면 쓸 필요가 없기도 합니다.

 

 

- 기타 주변기기: 위에 적은 것들 말고 정말 특수한 확장카드들의 향연이 되겠습니다. TV 수신카드 뭐 이런건 아니고 과거 XT나 AT 시절에 쓰던 확장카드가 대부분입니다만.

 

 

'ISA RTC 카드'는 지금 PC 사용자들은 '이게 왜 필요함'이라 할 물건입니다. RTC(Real Time Clock), 즉 컴퓨터 내의 시계 기능을 구현하는 확장카드인데, RTC가 없는 경우 운영체제 부팅 시마다 현재 시간을 입력해줘야 핬습니다. 지금은 당연히 메인보드에 이 RTC가 기본으로 들어가기에 BIOS 백업 배터리만 멀쩡하면 시간 초기화가 되는 일이 없습니다. 보통 XT 아니면 고를 일이 없는 카드이며, 저기 옵션에 있는 것들은 사실 순수한 RTC보다는 아래의 메모리 확장카드나 시리얼 카드 등의 역할도 함께 한 멀티 카드가 많습니다.

 

 

'ISA 메모리 확장 카드'는 역시 XT나 AT에서만 필요한 물건입니다. 과거 저 시절 PC를 만져 보신 분들은 아시겠지만 64KB나 128KB 정도의 메모리를 메인보드에 납땜하고 더 메모리를 늘리려면 확장카드 형식으로 메모리 카드를 꽂아야 했습니다. 지금 성병 논란으로 코너에 몰린 빌형이 절대 부인하는 '메모리는 640KB면 충분하다'는 마리 앙트와네트식 발언도 이러한 하드웨어 한계 때문에 나왔죠. 저 시절 이후로는 당연히 메모리 용량이 1MB를 넘어버리니 저런 메모리카드 형식으로는 나오지 않습니다.

 

 

'ISA ROM 카드'는 사실상 개발자를 위한 것입니다. 자신이 직접 제작한 커스텀 ROM 파일을 가상 머신에 넣어 부팅시킬 수 있는 것인데, 유일한 예외가 'Vision Systems LBA Enhancer'입니다. 이 카드를 달고 BIOS에서 하드디스크의 정보를 특정 값으로 세팅하면 504MB 정도의 하드디스크만 인식하는 XT같은 PC에서도 8GB 가까운 하드디스크 인식이 가능합니다. 일종의 편법이지만 XT나 AT에서 고용량 하드디스크를 세팅하고자 한다면 이걸 꽂아줘야 합니다.

 

그 이외에 네 가지 선택 옵션이 더 있는데, 86Box로 무언가 실제 기기 제어를 하고자 하는 개발자용 옵션인 86Box 유닛 테스터는 제외하고, 나머지 세 가지만 설명하면 이렇습니다.

 

ISABugger 장치는 소프트웨어 개발자를 위한 디버깅 보드입니다. 이 옵션을 켜면 가상 머신 창 아래에 입출력 레지스터 정보가 표시됩니다. POST 카드는 요즘 사용자들도 알고 있는 2자리 16진수 POST 코드 표시 기능이며 역시 이 옵션을 켜면 가상 머신 창 아래에 POST 코드가 표시됩니다. 대신 BIOS마다 의미가 다르다는 것은 함정이죠. Novell NetWare 2.x 키 카드는 저 노벨 넷웨어 사용자용 정품 인증 하드웨어 키입니다. 

 

 

이렇게 기본적인 설정을 한 번 적어 보았지만, 86Box의 또 다른 장점은 이러한 설명이 홈페이지에 매우 잘 되어 있다는 것입니다. 정말 하드웨어에 대해 아무것도 모르고 운영체제조차 있는 거 쓸줄만 안다고 하는 초보자가 아니라면 홈페이지의 설명서는 정말 유용합니다. 여기에서 적지 않은 상당한 기술적인 주의 사항 등이 이 도움말 문서에 적혀 있기에 뭔가 찝찝하면 꼭 홈페이지에서 문서를 보는걸 권해 드립니다. 영문이라는 점만 제외하면 정말 이거 하나만 보셔도 될 정도입니다.

 

자, 다음 3부... 이제 이렇게 조립한 가상 머신을 실행하고 그 가상 머신의 세부 설정을 한 번 들여다 봅니다. 마지막 4부에서 정말로 DOS와 윈도우 3.1을 깔고 게임도 실행해 볼 것입니다.