2009년 5월 4일 월요일

Mame CHD Convert (Update 방법)

최근의 Mame에는 CHD(Compressed Hunks Data)라는 대용량 파일이 존재합니다.
CHD는 HardDisk, CD-rom, Lager Disk 등의 데이터를 Mame용 포맷으로 사용하는 파일입니다.
그 중에 Lager Disk용 CHD는 보통 10기가가 넘어가는 대용량 파일입니다. 일반 사용자는 엄두도 못낼 용량이지요. 보통의 torrent라면 Lager Disk CHD는 다운로드가 굉장히 어렵습니다. 특히 국내에서는 생각보다 재미 없는 Laser Disk CHD를 수집하는 사람이 거의 없습니다. 아마도 chd를 소장하신 분들은 알고 계실 겁니다.

이전 버전의 v1,v2는 정확히는 알수 없으나 보통 Mame 0.127~0.130까지는 v3가 Mame 0.130u1부터 v4가 적용되어 있습니다. 정확히는 0.63부터 0.77까지 v1, 0.78부터 0.130까지는 v3가, 0.130u1부터는 v4가 사용됩니다. 이유는 모르지만 v2는 볼 수 없었습니다.(다만 v1,v3는 md5가 같기 때문에 버전을 바꾸지 않아도 에뮬레이터에서 인식됩니다.) 즉 0.130까지 사용되던 v3버전의 CHD가 0.130u1로 넘어오면서 Mame32 계열(Mame UI,Mame Plus 등)에서 CRC와 MD5가 맞지 않는다는 메세지를 뱉어 냅니다. 물론 0.127부터 새로 추가되거나 재덤프된 CHD도 있지만 0.130까지 잘 인식되던 CHD가 0.130u1에서 인식되지 않는 것은 버전이 틀리기 때문이라고 보면 됩니다. 새로 재덤프된 것은 변환 실패가 뜨며 변환성공하였다고 하더라도 체크섬이 맞지 않습니다.
실행에는 큰 문제가 없으나 아무래도 포맷을 변경시켜 주어야 원활한 플레이가 될 겁니다.

컨버전 하는 프로그램은 chdman.exe입니다. 공식 마메 에뮬레이터 안에 들어있습니다.
마메 공식 홈페이지인Mamedev 메인 페이지를 봐도 기본 사용법이 나와 있습니다.

chdman -update

위와 같이 명령 프롬프트로 하면 한개씩만 변환됩니다. 매우 번거로운 일이죠. 다음과 같이 배치 파일을 만들어서 사용하면 일괄변경 됩니다. convert.bat라는 배치파일을 만들어 봅시다.

배치파일로 chd 변환하기

@echo off
set old_dir=.\chds.old
set new_dir=.\chds.new
set chdman=.\chdman.exe
for /F %%a in ('dir /b %old_dir%^|find /v "_ReadMe_.txt"') DO (
if NOT exist "%new_dir%\%%a" (
mkdir "%new_dir%\%%a"
)
for /F %%b in ('dir /b "%old_dir%\%%a"') do (
echo Converting: %%b
"%chdman%" -update "%old_dir%\%%a\%%b" "%new_dir%\%%a\%%b"
)
)
copy /y "%old_dir%\_ReadMe_.t


위의 배치파일 실행시 구버전 CHD의 경로는 다음과 같습니다.
covert.bat-------------old.chds--------chd Folder--------chd File
chdman.exe      |
                        |
                        |-----new.chds

즉, old.chds라는 폴더를 만들어서 chd 파일의 폴더까지 넣으면 됩니다. 그럼 자동으로 변환된 chd 파일들이 각 폴더를 알아서 new.chds 폴더로 저장됩니다.
변환하는데 시간이 좀 걸립니다. 담배 한대로는 끝나지 않을 겁니다. v3버전이 70기가가 넘는데 대략 70기가 이상의 하드디스크 용량이 필요합니다. 거의 동일한 용량으로 변환되니 변환전의 chd파일의 용량만큼 필요하겠죠.

하지만 chdman은 이전버전으로의 다운그레이드가 안됩니다. 되는 것도 있을 수 있으나 대부분 안됩니다.
진정한 수집가라면 v3도 v4도 소장하고 있어야죠. 다운그레이드 하기 위해서는 xdelta3라는 프로그램과 컨버전이 기록된 파일이 필요한데 구하기 쉽지 않습니다. 구하지 못한 분들은 v3,v4 모두 소장해야 합니다. xdelta3와 컨버전 기록파일은 대략 600메가 정도 됩니다.

댓글 없음:

댓글 쓰기