PCem

덤프버전 :



1. 개요
2. 특징
3. 지원 상황
4. 고전게임을 위한 설치 TIP
5. 기타


1. 개요[편집]


2007년부터 영국의 개발자 Sarah Walker가 중심이 되어 개발했던 오픈 소스 IBM PC 호환기종 에뮬레이터. Microsoft Windows리눅스용으로 출시했다. 에뮬레이터의 이름인 'PCem'은 한눈에 알 수 있듯이 'PC Emulator'를 줄여 만든 이름.


2. 특징[편집]


기본적으로 IBM PC Model 5150(8088)부터 인텔 펜티엄II 시리즈까지를 포괄하는 IBM PC 및 그 호환 기종을 에뮬레이션한다. DOSBox 같은 에뮬레이터처럼 추상적인 'IBM PC 호환 규격의 아키텍처'를 에뮬레이션하는 것이 아니라 과거 실존했던 특정 PC 모델의 하드웨어 구성을 그대로 에뮬레이션하며 이를 위해 해당 기종의 바이오스 롬 파일을 필요로 한다. 꽤 다양한 기기의 설정을 지원하고 있어서 IBM의 오리지널 PC는 5150부터 IBM PS/2 Model 70까지 거의 다 에뮬레이션 해주며 호환기들도 다양하게 에뮬레이션한다. Tandy나 컴팩, Dell 같은 해외 PC 호환기들은 물론이고 삼성전자의 SPC-4200(제품명 알라딘 286), 현대전자의 슈퍼-286, 금성사의 GDC-212M(제품명 마이티 286), 삼보컴퓨터의 트라이젬 286 같은 국산 기종들도 에뮬레이션해주고 있다는 점이 흥미롭다. 실제로 개발에 기여하고 있는 한국 유저들도 있다.[1]

에뮬레이션 정확도가 높은 것으로 평판이 높으며 여타 가상 머신들과는 달리 PC의 바이오스 롬 파일까지 사용하는 에뮬레이터이기 때문에 가상구현에 따른 게임 내 인공지능 오작동 같은 오류가 거의 없다고 한다. 실기 재현 수준이 높은 덕에 MS-DOS는 물론이고 윈도우 95, 윈도우 98, 심지어 OS/2도 설치할 수 있으며 매우 버벅거리긴 하지만 윈도우 XP(!)도 설치에 성공한 사례가 있다. # 다만 에뮬레이션하는 하드웨어가 너무 느려 XP는 설치부터 토나올 정도로 느리다고. 어떻게든 실제로 사용할 수준으로 쓸만한 건 윈도우 NT 4.0이나 윈도우 2000 정도가 한계이다. NT 커널 운영 체제들도 돌아가긴 하지만 실제로 사용할 목적이라면 VMware가 훨씬 낫다. 반대로 MS-DOS용 게임을 하겠다면 간단하게 호스트 PC의 디렉토리를 마운트해서 쓰는 DOSBox에 비해 하드 디스크 이미지 세팅이 매우 귀찮으므로 대부분의 경우에는 DOSBox가 편리하고 좋다. 그렇다고 한다면 PCem이 다른 에뮬레이터에 비해서 강점을 보일 수 있는 영역은 아무래도 게임 목적의 윈도우 9x 구동. 물론 과거 기종을 보다 정확하게 에뮬레이션하고 싶은 목적이 있다면 MS-DOS 게임에서도 몇 가지 귀찮은 점이 있더라도 DOSBox에 비해 장점이 많기는 하다.

비슷한 가상 머신인 VMware, VirtualBox가 PCem과 다른 점은 성능 손실을 최대한 줄이면서 PC 환경을 가상화하는데 중점을 두고 있는 하이퍼바이저인 이들과 다르게 특정한 머신을 그대로 흉내내는 에뮬레이터이며, 그런 면에서는 DOSBox와도 비슷한 측면이 있지만 DOSBox보다는 Bochs에 가까운 에뮬레이터이다. 가상화가 아니라 과거의 CPU를 100% 소프트웨어로 에뮬레이션하며 이 때문에 속도는 VMWare 같은 하이퍼바이저보다 느리고 자원도 많이 먹는다. 당연히 VT-D나 AMD-V 같은 가상화 기술도 사용하지 않는다. x86 아키텍처의 최대 장점이 오랜 세월동안 누적된 레거시에 대한 호환성이라는 점을 생각하면 최신 x86-64 CPU로 인텔 8086이나 인텔 80286 같은 구닥다리 x86 CPU를 소프트웨어로 에뮬레이션하는 조금 이상한 모습이지만 오랜 세월 흐름에 따른 변화에 따라 x86 아키텍처의 레거시 호환성도 완벽하다고는 할 수 없는 상황이 되었고 주변 기기의 호환성 역시 마찬가지기 때문에[2] 이러한 에뮬레이션은 비효율적이지만 필요하다.


3. 지원 상황[편집]


인텔의 x86 말고도 AMDCyrix의 x86 호환 CPU 에뮬레이션도 지원하며 x87 FPU 에뮬레이션도 지원한다. 인텔은 8086/8088 4.77MHz부터 펜티엄 II 450MHz까지, AMD는 Am386SX 16MHz부터 K6-III+ 500MHz까지, 사이릭스는 Cx486SLC 20MHz부터 Cyrix III 500MHz까지 지원한다. [3] 주변기기 역시 다양하게 에뮬레이션하는데, 다양한 종류의 그래픽 카드, 사운드 카드를 지원하며 조이스틱이나 네트워크 카드 에뮬레이션도 지원한다.

그래픽 카드는 MDA부터 VGA까지의 IBM 순정 그래픽 카드[4]를 비롯하여 일세를 풍미한 S3 Trio 시리즈, ATI VGA Wonder, Tseng ET4000등 다양한 서드파티 SVGA를 에뮬레이션하며 3dfx Voodoo, Voodoo 2, Voodoo Banshee, Voodoo 3 에뮬레이션을 지원하여 윈도우 95/98 시절의 3D 게임도 원활하게 구동이 가능하다. OpenGL이나 DirectX도 일단 지원은 되는데 v16까지는 OpenGL/DirectX 지원을 받기 위해 설정할 수 있는 카드가 S3 Virge/DX나 다이아몬드 스텔스 3D(이것도 칩셋은 S3 Virge다.) 정도 뿐이었다. 문제는 S3 Virge가 당대에도 2D 성능만 호평받고 3D 가속 성능은 '3D 감속기' 소리를 들을 정도로 악평이었던 카드였다. # 그 덕에 DirectX 지원은 쓸게 못되었고[5] 당시 게임 환경도 글라이드 중심이었으므로 윈도우용 3D 게임은 S3 Virge/DX + Voodoo 2 조합으로 돌리는 것이 추천되었다. v17부터는 부두 밴시부두 3를 지원하기 시작하였으므로 이것으로 DirectX와 글라이드 가속을 모두 만족스러운 성능으로 즐길 수 있게 되었다. 그밖에 허큘리스 그래픽 카드는 물론이고 허큘리스 인 컬러, Wyse 700[6], MDSI Genius Display[7]같이 그다지 알려지지 않은 서드파티 비디오 카드들도 지원하고 가산 한글마당같은 하드웨어 기반 한글 카드도 지원한다.[9]

사운드는 PC 스피커는 물론이고 AdLib부터 사운드 블라스터 1.0~AWE32를 지원하여 게임에서의 사운드 지원은 어지간하면 무리가 없고 Gravis UltraSound[10]나 CMS/게임 블라스터[11], 이노베이션 SSI-2001[12]처럼 좀 알려지지 않은 카드들도 에뮬레이션한다. 병렬 포트에 장착하는 일종의 간이 DAC인 Covox Speech Thing이나 디즈니 사운드 소스도 지원하며 윈도우 95/98 머신에 많이 달렸던 엔소닉 PCI, 사운드 블라스터 PCI 128까지 에뮬레이션 되므로 어지간한 클래식 PC 구성은 거의 다 설정할 수 있다고 봐도 좋을 정도.


4. 고전게임을 위한 설치 TIP[편집]


2022년 4월 기준 최신 버전인 v17을 기준으로 서술한다.

  • 에뮬레이션하고자 하는 목표 시스템의 성능이 높을 수록 호스트 PC의 요구 사양도 비례해서 올라간다. 다른 것보다도 에뮬레이션하는 CPU의 사이클을 정확하게 재현하다보니 에뮬레이션하는 CPU의 클럭이 높으면 높을 수록 필요한 호스트 CPU의 요구 성능이 똑같이 높아지기 때문.[15] 호스트 PC의 CPU 성능이 부족하면 에뮬레이션을 실시간으로 따라가지 못해서 화면과 소리의 버벅임 같은 성능 저하가 발생한다. 그렇다고 너무 구형의 CPU를 에뮬레이션하면 해당 아키텍처에 의한 성능 한계 때문에 느려질 수도 있기 때문에 설정을 바꾸어가며 본인 PC에 맞는 최적 설정을 찾을 필요가 있다.
    • 원활하게 돌아가는 윈도우 9x 머신을 염두에 둔다면 생각보다 에뮬레이션에 필요한 PC 사양이 좀 높다. 대충 좀 오래된 PC, 예를 들면 린필드나 샌디브릿지 정도의 구형 아키텍처에서 무난하게 윈도우 95/98 게임 지원을 바란다면 펜티엄 1 클래스 정도가 적당하다. 사양이 좀 되면 펜티엄 MMX 150~166MHz 정도도 무난하게 구동 가능하다. 반대로 좀 많이 저사양인 CPU(코어2 듀오 등)라면 486급으로 설정하는 게 좋다고 한다. 대강 이 정도를 기준 삼아 에뮬레이션하는 CPU의 클럭 설정을 올리거나 낮춰잡으면서 에뮬레이션 속도를 100%로 유지할 수 있는 클럭을 찾으면 된다.
    • 펜티엄 II 클래스의 에뮬레이션은 상당한 고사양을 요구한다. 현재 v17에서 지원하는 최고 사양인 펜티엄 II 450MHz, K6-III+ 500MHz 쯤 되면 라이젠7 5800X나 i7 11700K 정도의 고사양 CPU에서도 프레임이 후두둑 떨어지는 모습을 볼 수 있다. 게임에 따라서 차이가 있겠으나 차후 에뮬레이션 성능이 개선되거나 CPU의 IPC가 크게 향상되지 않는 이상 2021년 현재 현실적인 마지노선은 대략 펜티엄 II 233~266MHz 정도인듯. 펜티엄 II+Voodoo2@I7-10700K 펜티엄 II+Voodoo3@라이젠7 3700x[13]
    • 참고로 PCem의 CPU 에뮬레이션은 대부분 단일 스레드를 사용한다.[14] 따라서 싱글코어 성능(클럭, IPC)이 높은 CPU가 고사양 에뮬레이션에 유리하다. 오버클럭이나 PBO 같이 호스트 PC의 싱글코어 성능을 향상시키는 수단도 효과가 있다.
  • 네트워크는 PCAP를 사용하려면 패킷 캡처 드라이버가 필요하며 없을 경우 인터넷에 연결할 수 없다.
  • 리눅스에서 구동할 때 롬파일을 찾을 수 없다며 실행이 안되면 롬의 이름을 대문자 파일과 소문자 파일로 2개 유지하면 읽어들인다.
  • 3dfx Vodoo는 1, 2를 지원하며 Voodoo 2의 경우 SLI로 구성하여 최대 16MB까지 확장할 수 있다. v17부터는 Voodoo Banshee와 Voodoo 3 2000/3000을 추가로 지원한다. 이쪽은 Voodoo Graphics 설정이 아닌 Device에서 찾아야 한다. Voodoo 1, 2와 달리 3D 가속 애드온이 아닌 VGA+3D 가속의 일체형 제품이었기 때문.
  • 사운드 에뮬레이션은 윈도우에서 CD-DA 재생을 염두에 두고 있다면 Sound Blaster PCI 128이 무난하다. 반대로 MS-DOS 게임 플레이를 염두에 두고 있다면 PCI 128은 피하고 Sound Blaster 16 정도를 선택하는 것이 좋다. 당대에도 엔소닉칩을 쓴 PCI 64/128은 MS-DOS에서의 사운드 에뮬레이션이 처참하기로 유명했었다.
  • v16까지의 Direct3D 에뮬레이션은 PCem이 지원하는 카드인 S3 Virge/DX의 성능이 처참하여 3D 게이밍은 그냥 Voodoo 2를 붙여서 Glide 에뮬레이션을 사용하는 것이 일반적이었으나 v17부터는 Voodoo Banshee와 Voodoo3를 지원하게 되어 Direct3D와 Glide 양쪽 모두를 충분한 성능을 얻을 수 있다. 게이밍 용도라면 이것으로 거의 커버가 가능하다. v17의 Voodoo 3 에뮬레이션
  • 메모리 설정은 95에서 32MB, 98에서 128MB 정도면 대부분의 경우 충분하다. 윈도우 9x의 특성상 지나치게 높은 메모리 할당도 오류의 원인이 될 수 있다. 하드디스크 설정 역시 당대에 사용했던 수준인 6.4~8.4GB 수준으로 설정하는 것이 무난하다. 참고로 윈도우 95의 FAT16에서 할당 가능한 최대 파티션 크기는 2GB. 윈도우 98에서 FAT32를 쓴다면 32GB까지 사용 가능하다. 컴퓨터 성능에 따라 최대 메모리 설정이 다르니 주의.
  • PCem에서 지원하는 장치들의 윈도우 95/98 드라이버는 VOGONS Vintage Driver Library에서 찾으면 편리하다.
  • Roland MT-32를 설정할 수 있는데 도스박스와 마찬가지로 사용하려면 다소 복잡한 절차를 거쳐야 한다. 영상 튜토리얼(영문) 저작권 문제로 MT-32기기의 롬파일은 따로 구해야 한다.

5. 기타[편집]


프로그램이 위치한 경로에 한글이 있으면 안 된다. 각종 오류 메시지를 뿜으며 종료된다. 일본산 야겜 좀 해본 사람이라면 많이 겪어본 케이스일 것이다.

  • 구동을 위해 에뮬레이션하고자 하는 기종의 바이오스 롬 파일이 필요하나 저작권 문제로 인해 공식 사이트에서는 배포시 저작권 문제가 없는 제네릭 XT 클론 바이오스만을 제공한다.[16][17] 다른 기종을 구동하기 위해서는 해당 기종의 바이오스 파일을 구해야 하고 일부 주변기기(주로 비디오 카드) 역시 바이오스 파일이 필요한데 이들은 저작권 문제 때문에 공식 사이트에서는 배포하지 않는다. 제작자도 버전업 때마다 자기가 입수한 부품 무엇무엇의 바이오스들이 추가되었다는 업데이트 알림만 남기기 때문에, 관련 포럼에서도 제작자에게 제보한 바이오스 덤퍼들과 수소문해서 파일들을 모으거나, PCem의 포크 버전 포럼들을 헤메고 다니는 식으로 설정을 구성한다. 이들 역시 원래 기계의 바이오스 파일을 이용해 동작하기 때문.
  • 설정에 따라 간혹 예상하지 못했던 버그가 발생하기도 한다. 이를테면 AMI 386DX clone 메인보드 바이오스에서 S3 Trio64 4M VGA 바이오스를 사용해서 윈도우 3.1을 설정한 경우 DOS 프롬프트를 실행하면 화면 모드를 텍스트 모드로 전환하지 못해서 하드 리셋해야 하는 경우가 발생한다거나, 동일 HW에서 VGA만 ET4000W32P로 바꾼 다음 DOS와 윈도우 3.1을 세팅한 다음 DOS용 MS 마우스 드라이버 9.0.1을 설정한 다음 윈도우를 실행시키면 윈도우가 부팅되다가 갑자기 마우스 커서가 사라진다던가 하는 것. 이래저래 많이 검증된 무난한 세팅으로 가는게 안전할 듯 하다.
  • 2021년 6월 14일, PCem의 사이트 및 포럼이 전부 사라지고 '이제 질렸다. 그만한다' 라는 메시지만 뜨는 일이 일어나 대혼란이 일어났다. 외부 고전 컴퓨팅 포럼에서 메인 개발자인 Sarah Walker가 암시하기로는 게시판의 분쟁 및 작업의 피로 때문인 듯 하다. 사람들은 개발을 중단할 만한 심적 부담에는 동의했지만, 프로그램을 다운받을 수 있는 사이트와 지금까지의 모든 정보와 토론이 담긴 포럼 전체가 한꺼번에 닫힌 것 때문에 의견이 나뉘어 갑론을박을 벌였다. 약간의 시일이 지난 뒤, 개발자는 은퇴를 번복하지는 않았지만 포럼을 살려내 달라는 사람들의 요청에는 동의하며 사이트/포럼과 깃허브 리포지토리를 이어받을 사람을 찾는 것으로 입장을 바꾸었다.
    • 2021년 12월 19일자로 Michael Manley가 프로젝트 관리자를 이어받았음이 공식 홈페이지에 공지되었다. 약 6개월만의 프로젝트 재개이다. 이와 함께 닫혀 있던 홈페이지의 포럼도 다시 열리게 되었다. 그러나 메인 개발자가 공석이 되자 확실히 개발은 잠정 중단상태로 돌입한 상태이며, 지속적인 버전 발표는 아래에 있는 86Box쪽이 더 전면에 나서게 되었다. 2023년 기준으로는 새로운 관리자로 바뀐 후 발표될 새 버전에서는 큰 폭의 변화가 있을것이라는 소식이 들려오고 있다.
  • PCem의 포크 프로젝트로 86Box가 있다. #깃허브 리포지토리 기능면에서는 대동소이하나 UI면에서는 PCem보다는 VirtualBoxVMware 같은 기존 가상화 소프트웨어들을 많이 참고한 느낌이다. 2021년 12월에 업데이트된 3.0 버전에서는 PCem 17버전에서 추가된 기능들을 많이 피드백하였다.
    • PCem과 달리 에뮬레이션 설정을 여러개 저장할 수 없다. PCem처럼 여러개의 에뮬레이션 설정을 만들어두고 사용하려면 공식 프론트엔드인 86box manager를 사용하면 된다. 최근에는 WinBox for 86box라는 새로운 매니저 프로그램이 등장하였다. 보다 VirtuaBox나 VMware 같은 느낌으로 사용할 수 있다.
    • PCem과는 호환되는 부분이 많으므로 PCem에서 사용하던 하드디스크 이미지를 그대로 86box에서 사용할 수 있다. 단, 최대한 PCem에서 사용할 때와 똑같이 86box의 하드웨어 설정을 해주어야 드라이버를 새로 설치하는 귀찮은 일을 당하지 않는다.
    • 86Box 개발자의 블로그에 따르면 PCem은 v15부터 성능 향상을 위해 에뮬레이션 정확도를 다소 희생한 신형 리컴파일러로 변경된 반면, 86Box는 성능보다 실제 기기의 더 정확한 에뮬레이션을 목표로 하고 있기 때문에 종전의 구형 리컴파일러를 기반으로 개발하고 있다고 한다. https://ci.86box.net/job/86Box/에서 PCem의 신형 리컴파일러를 사용한 86Box를 다운받을 수 있지만 안정 빌드는 아니니 주의.
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-01 15:48:13에 나무위키 PCem 문서에서 가져왔습니다.

[1] 네이버MS-DOS 박물관 카페에서 활동하고 있다.[2] 예를 들면 오늘날의 PC에는 여러가지 이유로 윈도우 95윈도우 98을 설치할 수 없다.[3] 2020년 12월 발표된 PCem v17 기준.[4] v17 현재 PGC, 8514/A, XGA와 XGA2는 지원하지 않는다.[5] S3D라고 해서 S3 Graphics 전용 3D API를 지원했는데 이게 지원되는 게임은 OpenGL이나 DirectX로 돌릴 때보다 좀 나아진다. 문제는 지원 게임이 몇 개 안되고 지원돼 봤자 글라이드로 돌아가는 Voodoo에는 상대가 안된다...[6] 1987년에 CGA마개조해서 단색이지만 1280×800(!) 해상도를 지원했던 시스템 및 해당 시스템에 포함된 그래픽 카드.[7] Micro Display Systems, Inc.에서 개발한 DTP(DeskTop Publishing)용 디스플레이 장치. A4용지와 같은 비율(1:1.414)의 720×990 해상도의 단색 디스플레이를 사용했다. 즉, 오늘날 LCD 모니터를 피벗으로 세워놓은 것처럼 세로로 긴 형태의 디스플레이.[8] 삼성 알라딘 시리즈, 현대 솔로몬 시리즈에 사용된 한글 VGA 카드[9] 한글카드 지원은 버전 14에서 ATI 한글 VGA[8], 버전 15에서 삼보 한글 VGA, 버전 16에서 삼성 알라딘 내장 한글 VGA, 버전 17에서 가산 한글마당-16이 추가되었다. 아직까지 하드웨어 기반 한글 지원은 KS C 1987 버전의 완성형만 지원한다.[10] 매우 이른 시기였던 1992년부터 샘플 기반 사운드를 지원했던 선구적인 사운드 카드. 사운드 블라스터의 OPL2/OPL3를 압도하는 품질의 사운드를 선보였지만 시장에서는 사운드 블라스터 및 그 호환 사운드 카드들에게 패배했다.[11] 사운드 블라스터 이전에 Creative가 제작했던 사운드 카드. PSG 사운드 칩셋인 필립스 SA-1099칩을 채용했다.[12] 코모도어 64에 들어갔던 SID칩을 PC용 카드에 달아놓은 제품. AdLib과 비슷한 시기에 나왔던 관계로 AdLib에 완벽하게 밀려버렸다. 앞의 두 사운드 카드에 비해 많이 알려지지 않았다.[13] 나름 최신+고사양이라고 할 수 있는 라이젠7 3700x에서 펜티엄 II 350MHz로 3DMARK 99 데모를 구동했을때 특정 구간에서 구동 속도가 85%까지 떨어지며 약간의 버벅임이 발생하는 것을 확인할 수 있다. 233MHz로 클럭을 낮췄을 때는 속도저하가 없는 것은 아니지만 훨씬 매끄럽게 돌아간다.[14] 에뮬레이터 전체가 단일 스레드인 것은 아니고 3dfx Voodoo 렌더 스레드는 별도의 스레드로 돌아간다. 설정에서 최대 4스레드까지 할당 가능하다.[15] 이건 똑같이 소프트웨어로 CPU를 에뮬레이션하는 Bochs도 같다.[16] 사실 실기의 바이오스를 필요로 하는 다른 에뮬레이터들도 비슷한 경우가 많다. 예를 들면 비슷한 목적(특정 규격을 만족하는 추상적인 기기의 에뮬레이션이 아닌 과거 존재했던 구체적인 실제 기종들을 에뮬레이션)을 지닌 에뮬레이터인 openMSX도 비슷한 이유로 저작권 문제가 없는 제네릭 클론 바이오스인 C-BIOS만을 배포하고 실기에서 추출한 바이오스는 알아서 구하던지 실기에서 직접 추출하여 사용하도록 하고 있다.[17] Bochs나 QEMU는 자체 BIOS를 이용하며 원한다면 별도로 추출된 바이오스를 불러오는게 가능하다.