CHD 파일이란 무엇이며 어떻게 사용할 수 있습니까?

레트로 게임을 좋아한다면 CHD 확장자를 가진 파일을 보았을 것입니다. 이러한 파일은 일반적으로 아케이드 장면에서 가장 오래된 게임을 보존하고 분류하는 데 사용되는 작은 보석들을 포함하고 있습니다. CHD 파일은 일반적으로 MAME이라는 오픈 소스 아케이드 머신 에뮬레이터와 함께 작동하지만, 그것이 유일한 사용법은 아닙니다!
목차
- CHD 파일이란?
- CHD 파일 내용 확인하기
- CHD 변환하기
CHD 파일이란?
Compact Hunks of Data로 알려진 이 파일들은 MAME이라는 에뮬레이터가 복제하는 오래된 아케이드 기계에서 사용되는 자산의 전체 스펙트럼을 포함하고 있습니다. 구체적으로 MAME에서 이러한 파일들은 아케이드 기계에서 찾을 수 있는 하드 디스크의 내용에 대한 완전한 복제본입니다. 그래서 이 파일들이 매우 큰 이유입니다.
최근 들어 CHD 파일은 ISO 파일이나 BIN/CUE 조합의 틈새 대안으로 자리 잡아 CD-ROM에서 일반적으로 실행되던 대형 게임을 에뮬레이션하는 데 사용되고 있습니다. 이는 RetroArch의 일부 PlayStation Libretro 코어와 같은 에뮬레이터와, 나아가 Raspberry Pi 시리즈의 마이크로 컴퓨터를 위한 모든 인기 있는 에뮬레이션 지향 배포판을 포함합니다.

CHD가 MAME ROM인 경우, MAME ROM 디렉토리 내의 폴더에 저장해야 하며, 실제 아케이드 기계의 펌웨어를 포함하는 ZIP 아카이브와 동일한 이름을 가져야 합니다. 리눅스에서 MAME의 ROM 디렉토리는 일반적으로 ~/.mame/roms입니다. 윈도우에서는 MAME을 압축 해제한 디렉토리 내에 있는 roms 폴더입니다.

만약 원래 PlayStation이나 기타 광학 디스크를 사용하는 콘솔의 게임 백업이라면, 에뮬레이터의 ROM 하위 디렉토리에 직접 저장해야 합니다.
콘솔 에뮬레이터의 경우, CHD 파일은 일반적으로 전체 게임을 포함하므로, 에뮬레이터에서 “열 수“ 있어 즉시 플레이를 시작할 수 있습니다. 하지만 MAME에서는 게임의 자산만 포함되어 있으며, MAME은 주로 아케이드 기계를 에뮬레이트합니다.
게임 콘솔과는 달리, 80년대 중반 이후의 아케이드 기계는 일반적으로 하나의 게임만 실행할 수 있도록 설계된 특정 하드웨어 프로파일을 가졌습니다. 거의 모든 경우, 게임의 실행 코드는 ROM 칩에 저장되고, 모든 시각 자산은 CD나 더 일반적으로 하드 디스크 드라이브에 저장되었습니다.

이 모델 때문에 MAME은 CHD 파일을 단독으로 열 수 없습니다. 기억하세요, CHD는 그들이 설치된 아케이드 기계의 하드 디스크 부분입니다. MAME은 먼저 실행 코드를 포함하는 ROM 파일을 열어야 합니다(거의 항상 ZIP 파일입니다). 그러면 ROM 파일과 같은 이름을 가진 폴더를 찾아 CHD를 거기서 찾습니다. 그러므로 ROMs 폴더 내의 디렉토리 구조는 다음과 같아야 합니다:
- game - game.chd
- game.zip
CHD 파일만 있는 경우, 사용 중인 MAME 버전과 호환되는 게임을 위한 올바른 펌웨어를 찾아야 합니다.
CHD 파일 내용 확인하기
CHD 파일을 작업할 수 있는 최고의 (그리고 아는 바로는 유일한) 도구는 그 출처인 MAME 자체에서 제공됩니다. 이 도구의 이름은 chdman입니다. MAME 설정에 따라 이미 설치되어 있거나, 추가 설치할 수 있습니다:
Ubuntu/Debian/Mint에서:
sudo apt install mame-toolsFedora/RHEL 기반 배포판에서:
sudo dnf install mame-toolsArch Linux에서:
sudo pacman -S mame-toolsWindows에서는 미리 설치되어 있어야 합니다. 이는 MAME 루트 디렉토리 내에서 chdman.exe라는 이름으로 불립니다.

CHD 이미지를 확인하고 그 구조에 대한 정보를 보기 위해서는 다음을 사용합니다:
chdman info -i IMAGE_FILENAME.chdWindows를 사용 중이라면, MAME 루트 폴더에서 우클릭하여 Open in Terminal을 클릭한 후 다음을 입력합니다:
.\chdman.exe info -i IMAGE_FILENAME.chd
CHD 변환하기
같은 도구를 사용하여 CHD 파일의 내용을 추출하고 새 파일을 만들 수 있습니다.
CHD를 하드 디스크 드라이브 백업용 IMG와 같은 더 접근 가능한 형식이나 CD 백업용 BIN & CUE 조합으로 변환하는 것은, 그런 파일을 CHD 형식을 지원하지 않는 다른 에뮬레이터에서 사용할 경우에만 의미가 있습니다. 하드 디스크 이미지 파일의 경우, 다음을 사용합니다:
chdman extracthd -i IMAGE_FILE.CHD -o OUTPUT_FILE.IMG혹은 Windows에서:
.\chdman extracthd -i IMAGE_FILE.CHD -o OUTPUT_FILE.IMGCD 백업의 경우, 위 명령어에서 extracthd를 extractcd로 바꾸면 됩니다.
PCSX ReARMed, Demul, RetroArch 또는 Raspberry Pi용 에뮬레이터 배포판과 같은 에뮬레이터를 사용하고 있다면, 이론적으로는 에뮬레이터의 ROM 경로에 파일을 배치하면 인식하고 사용할 수 있습니다.
ROMs 폴더는 여러 개의 게임 백업이 포함되어 있다면 혼란스럽게 보일 수 있습니다:
- 원래 CD 형식이었던 게임
- 현재 BIN & CUE 조합으로 저장된 게임
- 여러 오디오 트랙을 포함하는 게임
CUE & BIN 조합으로 각 트랙이 별도의 BIN 파일로 저장되기 때문에 하나의 게임이 수십 개의 파일로 분할될 수 있습니다.
CHD 파일 형식은 이러한 ROM을 저장하는 더 현대적인 방법으로 만들어졌으며, 모든 면에서 우수합니다. 모든 것이 하나의 파일에 포함될 수 있으며, 콘텐츠에 따라 손실 없는 압축이 세심하게 적용되어 최적의 결과를 가져옵니다. 예를 들어, 일반적인 데이터는 zlib 알고리즘으로 압축될 수 있지만, 개별 오디오 트랙은 Flac으로 압축됩니다. 이는 손실 없는 압축 방법을 사용하기 때문에 데이터 손실 없이 뛰어난 압축 비율을 제공합니다.
CUE와 여러 BIN 파일로 나뉜 게임을 단일 CHD 파일로 변환하려면 다음을 사용합니다:
chdman createcd -i "FILENAME.cue" -o "OUTPUT_FILENAME.chd"혹은 Windows에서:
.\chdman.exe createcd -i "FILENAME.cue" -o "OUTPUT_FILENAME.chd"변환 시 압축 매개변수를 조정할 수 있지만, 최적의 선택은 자동으로 선택됩니다. 변환 중에 chdman은 다른 정보와 함께 각 경우에 사용되는 다양한 압축 유형을 보여줍니다.

변환이 완료되면, 처음에 그 게임을 불러오기 위해 사용했던 동일한 에뮬레이터에서 새 CHD 파일을 로드해 보세요. 작동하면 원본 파일을 삭제하고 다음 게임으로 넘어갑니다.

파일을 확인할 때 새로 생성된 CHD 파일이 변환한 BIN, IMG 또는 ISO 파일보다 상당히 작다는 것을 알 수 있습니다. 이러한 많은 ROM은 설계된 게임 시스템의 아티팩트를 포함하고 있으며, 특정 데이터의 일부가 여전히 디스크의 특정 위치를 차지해야 하는 것처럼 작동합니다. 에뮬레이터를 사용하고 있기 때문에, 압축은 콘텐츠의 전체 품질에 영향을 주지 않고 많은 불필요한 데이터를 제거할 수 있습니다.
레트로 게임을 많이 보관하고 있다면, 가장 큰 게임들을 CHD 형식으로 변환할 때는 그 형식을 지원하는 에뮬레이터에 대해 여러 기가바이트의 공간을 절약할 수 있습니다. 이 공간은 더 많은 레트로 게임을 저장하는 데 사용할 수 있습니다! 레트로 게임을 즐기는 데 관심이 있다면, 이전 상태로 되감는 방법을 배우세요.
모든 이미지와 스크린샷은 Miguel Leiva-Gomez의 것입니다.