메가 드라이브 CPU에서 ROM에 접근할 수 있는 공간은 처음 4메가바이트까지이므로, 이를 초과하는 영역은 메모리 매퍼를 통해 뱅크 전환해서 접근이 필요한데, 이때 메모리 매퍼의 a130f1 영역, 비트 7-2에 해당하는 구간은 비어 있으므로 여기에 직렬(I2C 등) EEPROM 등의 비휘발성 메모리 및/또는 RTC칩을 물리거나 아니면 아예 ROM 전체를 암호화하고 복호화기를 통해 접근하게 하는 방법이 있다.
전자는 부팅 등에 사용할 특정 데이터를 집어넣어서 이 값이 일치하지 않으면 게임이 동작하지 않게 하는 방식 또는 칩이 없으면 게임 정보 저장(현재 시간, 리더보드 등)이 불가능하게 하는 방식이 있고, 칩을 인식하지 못했을 시 아예 게임이 시작되지 않도록 프로그램을 짜는 방식도 가능하다.
후자는 일부 아케이드 게임에서 쓰이는 방법으로, ROM 전체를 복호화하지 않는 한 복호화기 없이는 게임이 실행되지 않게 하는 방식.
메모리 매퍼가 없을 땐 a130f0-a130ff 영역은 사용자 지정 영역이 되므로(단, 하위 8비트만 사용 가능), 여기에 추가적인 불법 복제 방지 하드웨어나 특정 연산을 가속시켜주는 가속기를 물려, 이들이 없으면 게임이 실행되지 않거나 오동작하는 식으로 프로그램을 짜는 방법이 있다.

또한 이들 방법이 적용된 ROM은 에뮬레이터에서 돌리려면 이 방법들을 에뮬레이터에서 지원해야 돌아가서 에뮬레이터에서의 실행을 어렵게 하는 부가효과도 있다.

'기타' 카테고리의 다른 글

무제  (0) 2025.11.14
Zealer Board의 사양에 대해  (0) 2025.11.01
메가 드라이브의 그래픽 포맷  (0) 2025.09.03
세가 X보드와 Y보드의 곱셈기  (1) 2025.08.31
슈팅 게임 개발자에게 유용할 법한 자료  (0) 2025.06.30
by SHOOTING_STAR 2025. 9. 14. 08:33