IPS 파일 포맷
에뮬레이터의 롬파일을 패치할때 쓰는 IPS 파일에 대한 포맷을 살펴보자.
HEADER
PATCH로 시작한다.
RECORD
normal
- Address(3 Byte): 변경하여야 할 데이터의 시작 주소
- Length(2 Byte): 변경하여야 할 데이터의 길이
- Data: Address에 Length만큼 변경할 데이터
RLE(Run Length Encoding)
RLE는 1바이트 변경을 여러 번 반복하기 위해 사용한다.
- Address(3 Byte): 변경하여야 할 데이터의 시작 주소
- 0000(2 Byte): RLE포맷임을 알린다.
- Length(2 Byte): 몇 번을 반복하여 수정할 것인가?
- Data(1 Byte): Address에 Length만큼 변경할 데이터
End of file
EOF를 쓴다.