패치 - 일반¶
한글패치(번역 패치)를 원본 롬 파일에 적용하는 탭입니다. 일반적인 IPS/BPS/UPS/PPF/APS/Xdelta 패치 외에, 드림캐스트 GD-ROM 전용 폴더형 패치(DCP)도 이 탭에서 처리합니다.
이 탭은 패치 자체에는 키파일이 필요 없습니다. prod.keys, aes_keys.txt 같은 키파일은 기본적으로 Switch/3DS 관련 탭에서만 요구되며, 원본 파일 + 패치 파일만 있으면 패치 자체는 바로 진행됩니다.
단, 예외가 하나 있습니다. 원본이 3DS 계열(CCI/CIA)이고 "패치 후 자동 압축"을 켠 경우, 패치가 끝난 뒤 ZCCI로 자동 압축하는 단계에서 3DS 키파일이 필요합니다. - 원본이 CIA면 무조건 키파일이 필요합니다(CIA는 항상 티켓으로 암호화되어 있어 복호화 없이는 내용을 못 읽습니다). - 원본이 CCI면, 이미 복호화된(디크립트된) 롬이 아닌 이상 대부분 암호화되어 있어 마찬가지로 키파일이 필요합니다. - 키파일이 설정 탭에 미리 등록되어 있지 않으면, 패치 자체는 성공해도 이어지는 자동 압축 단계에서 오류가 나며 실패합니다. - 이 문제를 피하려면 설정 탭에서 3DS 키파일을 먼저 등록해두거나, 3DS 원본에 한해서는 "패치 후 자동 압축"을 끄고 패치만 진행한 뒤 필요하면 나중에 3DS - 포맷 변환 탭에서 따로 압축하면 됩니다.
화면 구성¶
- 원본 — 패치를 적용할 게임 파일. 클릭하면 확장자 제한 없이 모든 파일을 선택할 수 있습니다.
- 패치 — IPS / BPS / UPS / PPF / APS / Xdelta / DCP 형식의 패치 파일. 클릭 시 해당 확장자만 필터링되어 표시됩니다.
- 패치 후 자동 압축 — 체크하면 패치가 끝난 뒤 원본 포맷에 맞춰 CHD / RVZ / ZCCI / ZIP로 자동 압축합니다. (아래 옵션 설명 참고)
- 패치 진행 바
- 초기화 — 1, 2번 항목을 비웁니다. 이때 "패치 후 자동 압축" 체크도 함께 해제됩니다. 옵션을 계속 켜둔 채로 다음 게임을 이어서 작업하고 싶다면, 초기화 후 옵션을 다시 체크해야 합니다.
- 해시 계산 — 이 자리에서 해시값을 바로 계산해주는 게 아니라, 1번에 선택된 원본 파일을 들고 해시 유틸리티 탭으로 이동시켜주는 버튼입니다. 원본을 아직 선택하지 않았다면 비활성화되어 있습니다. 이동한 탭에서 기본값은 MD5이며, 다른 알고리즘이나 대/소문자 표시 방식도 바꿀 수 있습니다.
- 패치 시작
- 취소 — 진행 중인 패치를 중단합니다. 그 시점까지 만들어지고 있던 결과 파일과, BIN/CUE·GDI 등에서 함께 복사되던 부속 파일까지 전부 자동으로 삭제되어 output 폴더에 찌꺼기가 남지 않습니다.
- 로그
지원 패치 포맷¶
| 포맷 | 확장자 | 판별 방식 |
|---|---|---|
| IPS | .ips | 파일 내용이 PATCH로 시작 |
| IPS32 | .ips | 파일 내용이 IPS32로 시작 |
| BPS | .bps | 파일 내용이 BPS1로 시작 |
| UPS | .ups | 파일 내용이 UPS1로 시작 |
| PPF | .ppf | 파일 내용이 PPF로 시작 |
| APS | .aps | 파일 내용이 APS1로 시작 |
| Xdelta | .xdelta | 파일 내용이 VCDIFF 매직 바이트(D6 C3 C4)로 시작 |
| DCP | .dcp | 폴더 구조 기반 (아래 DCP 패치 참고) |
포인트: 확장자가 아니라 파일 내용(헤더)으로 포맷을 판별합니다. 확장자를 실수로 바꾸거나 지워도 정상 동작하며, 반대로 확장자만 IPS로 바꿔놓은 가짜 파일은 내부 시그니처가 안 맞으면 "지원되지 않거나 유효하지 않은 패치 포맷" 오류가 뜹니다.
세부 동작¶
클릭으로 선택하기¶
- 1번(원본) 영역 클릭: 확장자 제한 없이 모든 파일 선택 가능
- 2번(패치) 영역 클릭: IPS / BPS / UPS / PPF / APS / Xdelta / DCP 확장자만 선택 가능하도록 필터링됨
드래그 앤 드롭 규칙 (실제 동작 기준)¶
1번, 2번 어느 영역에 드롭하든 규칙은 동일합니다.
- 드롭한 파일들을 확장자로 훑어서,
.ips.bps.ups.ppf.aps.xdelta.dcp중 하나면 패치 파일 후보, 아니면 원본 파일 후보로 분류합니다. - 패치 파일 후보가 있으면 그중 첫 번째 파일이 패치 파일 칸에 들어갑니다.
- 원본 파일 후보가 있으면 그중 첫 번째 파일이 원본 칸에 들어갑니다.
- 즉 원본 파일 + 패치 파일을 한 번에 여러 개 선택해서 드래그해도, 확장자만 보고 각 칸에 하나씩 자동으로 나눠 들어갑니다. 나머지는 무시됩니다.
- 폴더째로 드래그하는 것은 지원하지 않습니다(DCP 패치도
.dcp파일을 드롭해야 하며, 내부 폴더 구조는 그 안에 압축되어 있습니다).
원본 파일 자동 처리 (가장 손이 많이 가는 부분을 대신 해줍니다)¶
원본으로 압축 파일이나 CHD/RVZ를 선택해도 직접 풀 필요 없이 바로 패치를 진행할 수 있습니다.
- 원본이 ZIP / 7Z / RAR인 경우: 자동으로 열어서 내부에서 패치 대상을 찾습니다.
- 내부에 CUE가 1개만 있으면, CUE를 먼저 풀고 CUE가 가리키는 BIN 트랙들도 함께 찾아서 자동으로 풀어줍니다. (멀티트랙 CD 이미지도 원본으로 바로 사용 가능)
- 내부에 CUE가 여러 개면 어떤 게임인지 선택하는 창이 뜹니다.
- CUE가 없으면, 알려진 롬 확장자(nsp/xci/3ds/cia/iso/bin/nes/sfc/gba/n64/gb 등 대부분의 콘솔 포맷 포함)를 우선 후보로 찾습니다.
- 그래도 후보가 없으면 txt/nfo/jpg/png 같은 부속 파일을 제외한, 64KB 이상인 파일들을 후보로 봅니다.
- 후보가 여전히 없으면 부속 파일 제외 전체를 후보로 봅니다.
- 후보가 2개 이상이면 선택 창이 뜨고, 1개면 자동으로 그 파일을 풀어서 진행합니다.
- 주의: 비밀번호가 걸린 압축 파일은 원본으로 사용할 수 없습니다(패치 파일 쪽 DCP 처리와 달리, 원본 압축 해제 단계는 비밀번호를 입력받지 않습니다).
- 주의(GDI/CCD): 이 자동 추출 로직은 CUE에만 있습니다. 압축 파일 안에 GDI나 CCD 게임이 트랙 파일들과 함께 들어있어도, CUE처럼 관련 트랙까지 알아서 같이 찾아 풀어주지 않습니다. 후보 선택 창에서 뭘 고르든 그 파일 하나만 풀리기 때문에, 패치 자체는 되어도 이후 트랙/GDI 부속 파일을 못 찾아 실패하기 쉽습니다. GDI/CCD 원본은 미리 통째로 압축을 풀어서 로컬 폴더에 트랙 파일들과 함께 놓아둔 뒤 그 폴더에서 원본을 선택하는 걸 권장합니다.
- 원본이 CHD인 경우: 패치 적용 전에 자동으로 압축을 해제합니다. chdman이 원래 포맷(BIN/CUE, GDI, ISO)의 트랙 파일들을 전부 함께 풀어주기 때문에, 위 GDI/CCD 주의사항과 달리 CHD는 부속 파일까지 문제없이 자동 처리됩니다.
- 원본이 RVZ인 경우: 패치 적용 전에 자동으로 압축을 해제합니다. 이때 풀리는 파일 확장자는 원본 디스크 종류에 따라 GCM(게임큐브) 또는 WBFS(Wii) 입니다. (ISO 확장자가 아닙니다.)
- 원본이 BIN(CUE)인 멀티트랙 이미지인 경우: 패치는 지정한 트랙(주로 데이터 트랙) 하나에만 적용되지만, 나머지 오디오 트랙 파일들과 CUE 파일도 output 폴더로 함께 복사되면서 새 파일명을 참조하도록 자동으로 다시 작성됩니다. 즉 패치 후에도 CUE가 깨지지 않고 바로 마운트 가능한 상태로 나옵니다. (단, 이 동작은 원본이 로컬 디스크에 있거나 CHD에서 자동 변환된 경우에 해당하며, 압축 파일 안의 CUE는 위에서 설명한 것처럼 이미 자동으로 트랙까지 함께 추출됩니다.)
- 원본이 GDI / CCD인 멀티트랙 이미지인 경우: BIN(CUE)와 동일하게 패치 후 트랙 파일과 GDI/CCD 파일이 자동으로 복사·재작성되지만, 이건 원본이 로컬 디스크에 이미 트랙들과 함께 놓여있거나 CHD에서 자동 변환된 경우에만 해당합니다. 압축 파일 안에서 바로 꺼낸 GDI/CCD는 위 주의사항대로 부속 파일이 누락되어 실패할 수 있습니다.
패치 실행과 출력¶
- 결과 파일은 원본 파일이 있던 폴더 바로 아래의
output폴더에 생성됩니다. (원본이 압축 파일 안에 있었다면, 압축 파일이 있는 위치 기준입니다.) - 같은 이름의 파일이 이미 있으면 덮어쓰지 않고, 파일명 끝에
_를 붙여가며 자동으로 새 이름을 만듭니다. (예:게임.nsp→게임_.nsp) - 패치가 끝나면 output 폴더가 자동으로 열립니다.
- 패치 도중 실패하거나 취소하면, 그때까지 만들어진 결과 파일과 부속 파일(복사된 트랙, CUE/GDI/CCD 등)이 전부 자동 삭제됩니다.
옵션 설명¶
패치 후 자동 압축¶
패치가 끝난 뒤 원본 포맷을 인식해서 아래 표에 따라 자동으로 압축까지 진행합니다.
| 원본 포맷 | 압축 결과 |
|---|---|
| BIN(CUE) / GDI / IMG / ISO / CCD | CHD |
| GCM / Wii / WBFS | RVZ |
| 3DS / CCI / CIA | ZCCI |
| 그 외 전체 | ZIP |
- CHD/RVZ 변환 시 압축 레벨은 설정 탭의 chdman/Dolphin 압축 설정을 그대로 따릅니다.
- 3DS/CCI/CIA는 azahar 압축 레벨 설정을 따릅니다.
- 이 옵션을 꺼두면 패치만 딱 끝낸 원본 확장자 그대로의 파일을 얻습니다.
- 위에서 언급했듯 초기화 버튼을 누르면 이 옵션도 함께 꺼집니다.
DCP 패치 (드림캐스트 전용, 숨은 기능)¶
DCP는 흔한 바이너리 diff 패치가 아니라, 드림캐스트 GD-ROM 전용 폴더형 패치 포맷입니다. 다른 포맷과 달리 아래 조건이 있습니다.
- 원본은 반드시 GDI여야 합니다. GDI가 아니어도 CHD로 되어 있으면(변환 결과가 GDI인 경우) 자동으로 GDI로 풀어서 적용해줍니다. 그 외 포맷(BIN 단일, ISO 등)에는 적용할 수 없고, 시도하면 "DCP 패치는 드림캐스트 GDI 원본(또는 GDI로 변환되는 CHD)에만 적용할 수 있습니다" 오류가 납니다.
- 내부적으로 GD-ROM의 ISO9660 파일 시스템을 열어서, 패치 안에 들어있는 폴더 구조를 기준으로 파일 단위로 두 가지 방식 중 하나로 처리합니다.
- 덮어쓰기 대상 파일: 확장자가 패치 확장자(.xdelta/.ips/.ups/.bps/.ppf/.aps)가 아닌 파일은, 이름이 같은 원본 파일을 통째로 교체합니다.
- 바이너리 패치 대상 파일: 확장자가
파일명.xdelta,파일명.ips처럼 원본 파일명 뒤에 패치 확장자가 붙은 형태면, 원본에서 같은 이름(확장자 무관)의 파일을 찾아 해당 패치를 적용합니다. - 대상 파일을 찾지 못하면 그 항목은 건너뛰고 로그에 경고만 남깁니다. 하나도 매칭되는 게 없으면 실패로 처리됩니다.
- 패치가 끝나면 GD-ROM 이미지를 다시 빌드합니다. "패치 후 자동 압축"을 켰다면 CHD로, 껐다면 GDI+트랙 파일 세트 폴더로 output에 저장됩니다.
- 원본이 임시로 압축 해제된 경우(원본이 ZIP/CHD 등이었던 경우)와, 원래부터 GDI 파일 그 자체였던 경우 내부적으로 처리 경로가 다르지만 최종 결과물은 동일합니다.
추천 사용 방법¶
- 원본 파일과 패치 파일을 함께 탐색기에서 선택한 뒤, 1번 또는 2번 영역 아무 곳에나 드래그 앤 드롭합니다. 확장자만으로 자동 분류되므로 어느 칸에 놓든 상관없습니다. (원본이 zip / rar / 7z / chd / rvz 압축 파일이어도 자동으로 처리됩니다.)
- 필요하면 "패치 후 자동 압축" 옵션을 체크합니다.
- 패치 시작을 누릅니다.
- 완료되면 자동으로 열리는 output 폴더에서 결과물을 확인합니다.