지난번엔 카세트테입 이미지로 된 게임을 로드해봤었지요?
이번엔 일반 롬팩 게임 내에서 카세트테입에 데이터를 세이브/로드하는 것을 구현해봤습니다.
GameRunner 모드 용 BIOS에 카세트 루틴으로 구현되었구요.
게임 내에서 카세트에 저장하게 되면, MMC/SD Drive의 SRAM을 이용하여 데이터를 저장합니다.
CTRL + ESC 눌러서 게임을 강제종료하게 되면, 디스크에 파일 형태로 저장됩니다.
게임에서 세이브 데이터를 크게 필요로하진 않으니까, 테입 용량은 16KB 정도로 제한했습니다.
뭐, 이정도면 충분하겠죠? ㅋ
생성된 CAS 파일은 나중에 ROM 파일을 로딩할 때, 자동으로 함께 로딩됩니다.
예) CASTLE.ROM, CASTLE.CAS 두개 파일이 존재하는 경우,
MMCSD CASTLE.ROM /G 명령으로 실행하면, CASTLE.CAS 파일도 함께 로딩됨.
아래 사진처럼 되겠습니다.
음... 근데 지난번 소개드린, 카세트 게임 로딩 방법과의 차이가 이해되시나요?
이해하셨으리라 믿고 넘어갑니다요. ㅎ.ㅎ
카세트 테입을 쓰다보면 테입을 되감아야하는 경우가 생깁니다.
게임 중에서는 CTRL + BS 를 누르면, 테입 되감기가 됩니다.
물론 게임을 종료하고 다시 실행하면, 테입이 맨처음 위치로 시작하겠구요.
실제로 잘 동작하는지 봐야겠죠?
메탈기어와 캐슬로 테스트 해봤습니다.
메탈기어의 경우는 세이브/로드 시 이름을 입력하도록 되어있습니다.
로드할 때 보니, 해당 이름의 데이터가 나올 때 까지 자동으로 SKIP 하더라구요. ㅎ.ㅎb
테입을 맨 앞으로 되감더라도 별로 불편하지 않았습니다. 카세트 에뮬이 워낙 빠르다보니~ㅋ
캐슬의 경우는 여러번 세이브 했을 때, 원하는 데이터를 로딩하려면 조금 귀찮았습니다.
테입 로드를 맘대로 할 수 있는게 아니라, 타이틀 화면에서만 로드하도록 되어있더라구요.
로드 했는데 원하는 데이터가 아니라면,
F2 눌러서 게임오버 후 F3 눌러서 다시 로드... 이걸 반복해야합니다.
그럼, 실제 동작하는 모습을 영상으로 보시지요~ ㅎ.ㅎ
그럼, 즐거운 주말 되세요!!
댓글 없음:
댓글 쓰기