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메가 정도 됩니다.

무료 웹하드 업체

MediaFire 업로드 제한 : 파일당 100메가
용량 : 무제한
다운로드 : 무제한
파일 보존 기간 : 평생
Div Share 업로드 제한 : 파일당 200메가
용량 : 5기가
다운로드 : 한달에 10기가
파일 보존 기간 : 평생
다중 파일 업로드 : 별도의 액티브X나 프로그램 설치 없이 제공
확장자 제한 : 실행파일(exe) 제한 → 압축하여 업로드 가능
이미지 갤러리, 동영상 공유 및 미리보기 제공
box.net 업로드 제한 : 파일당 10메가
용량 : 1기가
다운로드 : 무제한
파일 보존 기간 : 평생
Windows Live Sky Drive 업로드 제한 : 파일당 50메가
용량 : 25기가
파일 보존 기간 : 평생
공유 : 그룹별,공용별 공유 가능
생각보다 속도가 느리다.
A Drive 업로드 제한 2기가
용량 : 5기가
파일 보존 기간 : 명시되어 있지 않음
공유 : 무료회원은 개인 용도만 가능
속도가 느려서 백업용으로는 부적합

사이트에 가입하는 방법
Sign Up, New Account, Add Account, Creat Account 등을 눌러서 영어로 이름,이메일,암호(이메일 암호 아님)만 입력하면 됩니다.
외국 사이트에서는 불필요하게 개인정보를 요구하지 않으며 이름과 이메일 주소만 기입하면 됩니다.
그래도 혹시 불법스팸 용도로 사용될지 모르니 이메일 주소는 자주 쓰지 않는 것을 기입하거나 이러한 용도로 쓰기 위해 하나 더 만드는게 좋습니다.
사이트마다 본인 확인을 위해 이메일 확인을 해야 이용 가능합니다. 이때 해당 사이트에서 보내온 이메일을 열어서 안에 있는 Activation 링크를 클릭하면 계정이 활성화됩니다.

컴퓨터를 사용하다가 갑자기 하드 디스크가 뻑나면 중요한 문서나 오랜시간 작업해 놓은 데이터등이 날아가 버립니다. 이렇듯 웹하드를 이용하는 유저는 아마도 중요한 파일의 백업을 목적으로 하는 분이 대부분일 겁니다.
즉, 웹하드 이용중 가장 필요한 점은 파일 손실이 없어야 한다는 겁니다. 그렇다면 파일의 백업 기간이 가장 중요합니다.
그래서 무료 웹하드 업체 중 파일 보존 기간이 평생인 곳만 선정하였습니다. Microsoft사에서 제공하는 Windows Live Sky Drive를 포함해서 모두 외국 사이트 입니다. 또 파일을 받을때 1분내지 2분정도를 기다려야 하는 사이트 등도 제외시켰습니다.
그 외에도 무료 웹하드를 제공하는 곳은 많으나 2달, 심지어는 2주 후에 업로드한 파일이 자동삭제 되는 경우가 대부분이라 제외하였습니다.
업로드 해놓은 파일이 일정기간 지나서 자동으로 삭제된다면 웹하드를 이용할 이유가 없습니다. 그렇다고 꼬박꼬박 돈을 내고 쓰자니 한달에 일이만원 나가는게 생각보다 큰 부담이 됩니다.
특히 국내 업체 중 개인 웹하드에 자료 올리는건 무료인데 다운로드 받을때 패킷당 요금을 내야 하는 곳도 있더군요.

다음과 같이 웹하드에 업로드하여 백업하면 부담이 덜해집니다.

1. 업로드할 파일들의 전체 용량을 파악한다.
전체 용량이 얼마 안되는 곳도 있어서 전체 용량이 큰 파일을 백업시 파일이 분산되어 관리가 힘들어진다.

2. 단일 파일의 용량을 파악한다.
파일마다 업로드 가능한 용량이 제한되어 있으므로 분할 압축등을 이용하여 업로드한다.

3. 중요 파일은 여러군데에 올린다.
한군데에만 업로드 해놓으면 어느 업체가 느닷없이 망하는 순간 업로드한 파일을 잃게 된다.

4. 업로드한 파일이 공유되어 있지 않은지 확인한다.
개인용 파일이 유출되는 일은 없어야 한다. 또한 상용자료의 경우 무단 공유시 계정이 삭제되어 계정 내의 모든 자료를 잃을 수 있다.
상용자료라도 개인웹하드에만 넣어놓으면 제재 당하는 일은 없을 것이다. 제재시 개인자료 불법열람, 무단유출과 프라이버시 침해로 해당 업체를 고소하면 된다.
그래도 혹시 모르니 개인정보가 담긴 파일은 업로드하지 말고 USB나 CD 에 담아 보관한다.

5. 외국 서버이므로 속도는 기대하지 않는 것이 좋다.
용량이 큰 파일이나 시스템 백업등의 용도로는 적합하지 않다. 급히 시스템 백업등이 필요하다면 국내 업체를 이용한다. 어짜피 시스템 백업은 하루 이틀 사이에 이루어 지므로 그 이후에 업로드파일이 자동삭제되어도 상관없다.

Rom File Codes(Tag)

Standard Codes
Code Mean Etc
[!] Verified Good Dump
[a] Alternate Alternate version of a rom, to fix bugs or to eliminate compatibility with Game Genie or Action Replay codes.
[b] Bad Dump These usually happen with a bad electrical connection or an incompatibility between the game and the copier. More rarely, an FTP upload may have been corrupted.
[c] Cracked Cracked, that is, fixed to run better on a copier or emulator
[f] Other Fix
[h] Hack Hack, such as a release group's intro, cheating, compatibility with multiple regions, graphic changes, or even a total conversion of the game engine.
[o] Overdump Overdump that contains repeated data that should be discarded.
[p] Pirate
[t] Trained
[T] Translation [T-] Old translation
[T+] New translation
(Unl) Unlicensed
[x] Bad Checksum
ZZZ_ Unclassified
(M#) Multilanguage # of Languages
(###) Checksum value Usually CRC32
(???k) ROM Size
(PD) Publick Domain Internet release authorized for free redistribution.

Platform-specific codes
Game Machine Code Mean Etc
Colecovision (Adam) ADAM version
Game Boy [S] Super GameBoy enhanced or exclusive
[C] Color GameBoy enhanced
[BF] Bung fix rom has been modified to run on Bung's 1.0 flash carts
Game Boy Advance [hI??] Intro hacks
Mega Drive/Genesis [c] Cart's checksum is known to be faulty
[x] Bad Checksum
[R-] Countries
Neo-Geo Pocket Color [M] Mono only
Nintendo Entertainment System/Famicom (PRG #) Version Same as [a] but more likely to use the publisher's official version numbering
(PC10) PlayChoice 10 PlayChoice 10 was an arcade unit which played exact copies of NES games in an arcade cabinet. The machines had a choice of 10 games to choose from and ran for about 3 minutes on 25 cents.
(VS) VS Unisystem VS Unisystem, an NES-based arcade game platform. To prevent piracy, each game used a different permutation of the NES palette, unscrambled by the video chip at run time.
[hFFE] Patched for use with Front Far East copiers
[hM##] Mapper hack These games have been patched to run on NES boards of type #, following the iNES numbering standard.
Super Nintendo Entertainment System/Super Famicom (BS) Broadcast Satellaview Broadcast Satellaview was a satellite receiver for the Super Famicom in Japan. Roms were transmitted along with a TV show which was connected to the game in some way. These games were only playable during the show, and thus stop after an hour, and many were timed so that only certain time periods were playable.
(ST) Sufami Turbo The Sufami Turbo device allowed two Game Boy sized carts to be plugged into the SNES. Certain carts combined into new games much like the Sonic & Knuckles lock-on technology by Sega.
(NP) Nintendo Power Nintendo Power magazine has been known to release games only available to its subscribers. Most of these roms are Japanese, as this practice occured mainly in Japan.
(NSS) Nintendo Super System These were arcade versions of games.

Standard Country Codes
Code Region
(A) Australia
(C) China
(E) Europe
(F) France
(FC) French Canadian
(FN) Finland
(G) Germany
(GR) Greece
(HK) Hong Kong
(I) Italy
(J) Japan
(K) Korea
(NL) Netherlands
(S) Spain
(SW) Sweden
(U) USA and English Canadian
(UK) United Kingdom
(W) World
(Unk) Unknown country
(PAL) Europe and other regions using PAL TV system.

Mega Drive/Genesis Country Codes
Code Region
(1) Japan and Korea
(4) USA and Brazil NTSC
(5) NTSC Only
(8) PAL Only
(B) non-USA
(W) World


롬 뒤에 붙는 태그 설명입니다.
오래전에 네이버에서 아무리 찾아도 없어서 외국 포럼에 직접 질문을 하니 리플이 달린 것을 보기 쉽게 표로 정리 해놨습니다.
국내에서는 롬을 플레이 하려고 수집하는 유저가 대부분이라 아무래도 정보가 부족한 듯 합니다. 영어 약자라서 그런지 개인적으로는 한글로 보는 것 보다 영어가 더 편하더군요.
태그를 쓰면 롬 파일 이름을 최소화하면서 많은 정보를 담을 수 있습니다.