2024년 7월 22일 월요일

MMC/SD Drive V3/V4 - BIOS & Tool v5.75

Download: 20240722_MMCSD_Drive_V3_V4_BIOS_Tool_v575.zip


--------------------------------------------------

MMC/SD Drive(tm) V3/V4 - BIOS & Tool

    By Yeongman Seo <sharksym@hitel.net>

--------------------------------------------------



[ BIOS & Tool v5.75 ]


- MMC/SD BIOS


  MMCSD Tool에 BIOS 롬이 내장됨. (MMCSD.OVL에 포함)

  -> 기기와 Tool의 BIOS 버전이 차이나는 경우,

     옵션없이 MMCSD.COM을 실행하면 BIOS 업데이트가 진행됨.

     '/U' 옵션으로 강제 업데이트도 가능함.



- SUB-ROM


  롬 다운로드 시, 최대 28문자의 제목을 추가 가능.

  -> '/S' 대신 '/S:' 옵션 사용.

     예) MMCSD RC749.ROM /S:THE_MAZE_OF_GALIOUS



[ 업데이트 가이드 ]


1. MMCSD.COM, MMCSD.OVL 두개 파일을 SD카드에 복사.

   기존 파일을 덮어쓰면 됩니다.(예:UTILS 디렉토리)


2. MMCSD.COM 프로그램을 실행.


3. 'Update BIOS-ROM? [y/N]' 메시지가 나오면 Y키 누름.


4. 다운로드 완료 후 RETURN키 눌러서 재부팅.


4. 끝


2024년 7월 11일 목요일

[IPS] SD-SNATCHER - MMC/SD V4의 GameRunner II 전용 LED Visualizer 패치

SCC 및 SCC-I를 사용하는 코나미 게임은 대부분 롬카트리지입니다.

V4의 GameRuner II 모드를 이용하면 쉽게 PAC-V의 LED 비주얼라이저를 PSG + SCC 모드로 동작시킬 수 있죠.


문제는 디스크 버전으로 된 게임인데요. SNATCHER, SD-SNATCHER 두개가 있습니다.

SD-SNATCHER는 본체의 Main BIOS 루틴을 사용하지 않기 때문에, GameRunner II의 BIOS의 동작도 무시됩니다.

PAC-V가 존재하더라도 PSG + SCC를 위한 비주얼라이저는 동작이 불가능하게 됩니다요.


그.래.서.

SD-SNATCHER 전용의 LED 비주얼라이저 패치를 만들어보았습니다.

두말하면 잔소리지만, MMC/SD V4의 GameRunner II에서만 제대로 동작합니다 ㅎ.ㅎ

Download: SD-SNATCHER_PAC-V_VIS_Patch.zip


IPS 패치는 Luna IPS 등의 프로그램으로 적용하시면 되겠구요.

패치는 오리지널 SD-SNATCHER 디스크 버전 및 메모리매퍼 크랙버전과 크랙버전에 영문/한글 패치가 적용된 버전 모두 쓸 수 있습니다.


타이틀 및 오프닝 데모, 게임 플레이, 엔딩 데모의 3부분 코드가 패치되어있습니다.

패치파일 2개를 디스크 1번, 3번 DSK 파일에 패치하면 됩니다.


V4에서 실행할 때는, MMCSD.COM SD-SNAT.DSK /G2JSM /DM 등의 옵션을 쓰면 되겠습니다.

아래는 저의 GT에서 구동되는 모습입니다.




그럼, 이만...


2024년 6월 20일 목요일

PAC-V 제작 #8 - 롬 동작모드 개선

지난 제작 글(#7)이 2016년 8월이었으니까, 거의 8년만에 구조 변경이네요 ㅎ.ㅎ


[서론]


보통 PAC-V에는 FMPAC 롬(BIOS 16KB + 팩커맨더 48KB)을 다운로드해서 씁니다.


만약 PAC-V에서 동작하는 FM BIOS가 다른 S/W와 동작 문제가 발생하면,

부팅 시 P키를 눌러서, Dummy ROM 모드로 구동하면 되구요.


저는 turboR의 슬롯을 개조해서 SLOT 0-1에 PAC-V를 장착하기 때문에,

BASIC 프로그램에서 FM BIOS (MUSIC ROM)루틴을 제대로 쓰지 못합니다.

아시다시피 turboR의 FM BIOS는 본체의 H/W Timer를 사용하며, MIDI까지 통합되어있습니다.


그 때문에, 다른 외부 FM BIOS가 내장 BIOS보다 먼저 동작하는 상황이 발생하면 망하는 거죠. ㅎ.ㅎ

저처럼 turboR SLOT 0-1에 PAC-V를 꽂으면, 본체 내장된 SLOT 0-2의 BIOS보다 우선순위가 높아지니까요.


참고로 FM 내장된 MSX2+ 기종에서는 문제가 생기지 않습니다.

FMPAC의 FM BIOS와 본체 내장 FM BIOS가 같은 코드니까요~

어디까지나 turboR의 SLOT 0-1을 개조해서 사용하는 경우만 해당이 됩니다.


PAC-V에 FMPAC BIOS로 세팅해놓고, 필요할 때마다 P키를 눌러서 Dummy ROM 모드로 변경하는 방식은...

저처럼 Dummy ROM 모드를 주로 쓰는 경우는 꽤 번거로운 작업이 됩니다.

그래서 처음 PAC-V를 개발할 때 부터, FMPAC ROM 대신 그냥 Dummy ROM을 탑재하는 옵션을 넣었죠.

(참고로 이 Dummy ROM은 릴리스 하는 압축파일에 PACV.ROM이라는 이름으로 들어있습니다.)


결국 롬 동작모드는 FMPAC ROM(64KB) 또는 Dummy ROM(16KB), 둘 중 하나를 다운로드 하는 것으로 결정되구요.

FMPAC ROM 모드에서는 FM 사운드 칩(OPLL)이 없는 FMPAC 카트리지처럼 동작합니다.

Dummy ROM 모드에서는 오리지널 PAC 카트리지처럼 인식됩니다요.

물론 LED 비주얼라이저는 롬 모드 상관없이 똑같이 동작하구요.


암튼, 저는 Dummy ROM으로 사용하고 있었죠.

가끔 팩커맨더를 쓰고 싶을 때만 FMPAC.ROM을 다운로드해서 구동합니다.

그리곤 다시 Dummy ROM으로 다운로드ㅋ


.

.

.

그러던 어느날 이것도 좀 귀찮다는 생각이 들더라구요.

게다가 PAC-V 후기형(Blue)에서는 FRAM을 쓰고 있는데, 낭비되는 영역이 아까운 느낌도 있었구요.


롬 모드를 쉽게 전환할 수 있는 방법과 남은 FRAM(또는 SRAM)을 활용하는 방법을 생각해보기로 합니다.



[본론]


1) 롬 동작모드


기존처럼 동작모드가 현재 다운로드 된 ROM의 종류로 결정되는 방식이 아닌,

사용자가 부팅 중 P키를 눌러서 변경하는 방식으로 바뀝니다.


설정된 동작모드는 FRAM(또는 SRAM)에 저장되기 때문에,

전원을 끈 후 다시 켜더라도 모드가 유지됩니다.


그리고 소프트 리셋을 할 때에도 P키를 눌러 모드 변경이 가능합니다.

MMC/SD에서 롬/디스크 게임을 구동할 때 재부팅(소프트 리셋) 되니까, 이 때에도 변경할 수 있습니다.


아래 사진은 부팅 시, 현재 동작모드가 표시되는 모습입니다.

'Op.Mode'가 동작모드를 의미합니다. ㅎ.ㅎ




2) BASIC'n v2.1


PAC-V에서 SRAM 저장용으로 쓸 수 있는 공간은 32KB입니다.

지금까지는 PAC SRAM 8KB만 사용하고 있었습니다.


여기서 16KB를 Dummy ROM 모드 대체용으로 사용합니다.

아무 동작 안하는 것 보다는 쬐금 쓸모있는 프로그램을 넣어두는 게 나을 것 같아서요 ㅎ.ㅎ


근데, 기존 PAC 세이브/로드와 충돌하지 않는 롬 프로그램 중에서 쓸만한 것들이 뭐가 있을까요?

딱히 떠오르는 프로그램이 없네요. BASIC'n 정도밖에는요ㅋㅋ

그렇게 BASIC'n v2.1 롬이 들어가게 되었습니다.


롬 동작모드는 BASIC'n과 FMPAC 2개가 되겠습니다.



4) 2 x PAC


기존 데이터 저장 공간 32KB에서 16KB는 BASIC'n으로 할당되었으니, 이제 16KB가 남았네요.

PAC 8KB 데이터를 두벌을 넣을 수 있도록 해봅니다. PAC 카트리지를 두개처럼 쓰는거죠.


부팅 시, 동작모드와 함께 PAC 번호가 [PAC SRAM #0] / [PAC SRAM #1] 으로 표시됩니다.

아래는 부팅 중 P키를 눌러서 동작모드를 바꿔 본 모습입니다.

커서키 좌우로 선택 후 리턴키를 누르면 적용됩니다.




그럼, 이만... ㅎ.ㅎ/