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키를 눌러서 동작모드를 바꿔 본 모습입니다.

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




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


2024년 6월 19일 수요일

PAC-V Tool v1.10

 


Download: PAC-V_Tool_110_20240619_1.zip


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

    PAC-V Tool v1.10 (2024-06-19)

        By Yeongman Seo <sharksym@hitel.net>

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


* UPDATE


  SRAM/FRAM 구조가 변경되었습니다.

  FMPAC.ROM을 다운로드하면, 새로운 BIOS로 동작합니다.


  기존 Dummy BIOS 모드가 삭제되고, BASIC'n 2.1 롬이 탑재됩니다.

  참고) BASIC'n 모드에서도 PAC 카트리지로 정상 인식됩니다.


  PAC SRAM 8KB 영역이 두개로 늘어났습니다.

  부팅 시, P키를 눌러서 동작모드 및 SRAM 영역 선택이 가능합니다.

  커서 좌/우로 모드 선택 후 RETURN 키를 눌러 적용합니다.


  동작모드는 아래 4가지입니다.

  BASIC'n 2.1 [PAC SRAM #0]

  BASIC'n 2.1 [PAC SRAM #1]

  FMPAC BIOS [PAC SRAM #0]

  FMPAC BIOS [PAC SRAM #1]



* PACV.COM


  PAC-V 카트리지의 SRAM을 관리하는 프로그램입니다.

  MSX-DOS1 및 MSX-DOS2 에서 동작합니다.

  BIOS롬, LED패턴을 카트리지에 다운로드 할 수 있으며,

  파나소닉 PAC 데이터를 SAVE/LOAD 할 수 있습니다.



* 요구 사항


  PAC-V 카트리지

  MSX-DOS1 또는 MSX-DOS2



* 파일 목록


  PACV.COM     - 카트리지 관리 프로그램

  PACV.INI     - LED 패턴 (기본 수직 막대)

  PACV_1.INI   - LED 패턴 샘플#1

  PACV_2.INI   - LED 패턴 샘플#2

  PACV_3.INI   - LED 패턴 샘플#3

  README_K.TXT - 한글 설명서



* 사용법


  PACV W|P|S|L Filename [Slot[SubSlot]]


    W: FMPAC BIOS 다운로드   (영어 및 한글 패치버전 가능)

    P: LED 패턴 데이터 다운로드       (슬롯번호 생략가능)

    S: PAC 데이터 덤프 및 디스크 저장 (슬롯번호 생략가능)

    L: PAC 데이터 다운로드            (슬롯번호 생략가능)


  예) PACV W FMPAC.ROM 1

      PACV P PACV.INI

      PACV S SRAM.PAC

      PACV L SRAM.PAC



* 주의 사항


  PACV.COM 프로그램은 PAC-V 카트리지 전용 툴입니다.

  파나소닉의 PAC 및 FM-PAC 카트리지에서는 동작하지 않습니다.


  S 또는 L 커맨드로 PAC 데이터 SAVE/LOAD 시,

  현재 설정된 SRAM 8KB 영역 한개만 적용됩니다.

2024년 6월 12일 수요일

Leonardo Padial 아자씨와 'MMC Disk'

구글 포토에서 (많이) 지난 6월 12일 사진을 띄워주길래, 조금 적어봅니다.

아래 사진은 2005-06-12에 찍은 건데, 당시 폰카메라 화질이 안좋아서 흐릿하네욤 ㅎ.ㅎ

제 GT에 LPE-MMC-V1 카트리지를 꽂은 모습입니다.



기억하시는 분 계시겠지만, MMC/SD Drive의 옛 이름 'MMC Disk'이죠.

2004년에 MMC Disk를 만들어서 공개했을 때, 유럽 아자씨들이 관심을 꽤 보이더라구요.


사진 보시면 SCC 칩이 안보이죠?

코나미 SCC게임들을 구동하거나 MGSEL 등의 뮤직 프로그램을 활용하려면 SCC가 있는 편이 좋은데요.


왠만한 MSX 유저들은 사운드 전용 SCC카트리지를 하나씩은 갖고 있었으니까,

이런 MMC/SD 미디어를 쓰는 디스크드라이브에 자체에 대한 것으로 관심이 많이 받은 것 같아요.

그리고, 선라이즈 IDE에 CF-SD 어댑터 쓰면 되는데, 이딴 거 왜 만들었냐고 핀잔도 좀 받았다는 게...ㅎ.ㅎㅋ


암튼 2005년쯤 Padial씨가 연락이 왔는데,

제 회로를 기반으로 No SCC 버전의 MMC Disk를 만들었다고 하면서, 보드 하나를 선물로 주겠다고 그러더라구요.

그래서 그 때 받았던 보드가 LPE-MMC-V1이었습니다.


그 후로 많은 교류는 없었지만, 20년이 지난 지금은 고인이 되셨네요.

이젠 이메일도 못 보낸다능...ㅠ.ㅠ



암튼, 그 후로 LPE-MMC 시리즈가 꽤 많이 나왔는데요.

아래 사진은 2007년에 나왔던 LPE-MMC-V6입니다.

확장슬롯 통합 버전이라서, 서브슬롯 1개는 MMC Disk가 점유된 상태니 나머지 3개 슬롯만 보이네요 ㅎ.ㅎ




갑자기 구글 포토에서 사진이 뜨는 바람에 좀 끄적여봤습니다.


즐거운 오후 되세요~ ㅎ.ㅎ/