Just a Blog

[MSX 주변기기] 'MMC/SD Drive V4'에서 SofaRun 사용 시도 본문

Gear

[MSX 주변기기] 'MMC/SD Drive V4'에서 SofaRun 사용 시도

wehong 2022. 11. 23. 17:03

예전 MMC/SD Drive V4 사용 소감에서, 놀라운 기능과 성능에도 불구하고 MSX-DOS 파일시스템의 제약으로 8자리 파일명 및 3자리 확장자만을 사용해야 하는 것이 아쉽다는 의견을 적은 바 있다. MSX-DOS2를 사용하는 이상 어쩔 수 없는 것이지만 8자의 영문으로 여러 파일을 구분짓게 만든다는 것은 여러 모로 불편했다. 'Lilly's Saga - The Stones of Evergreen'이라는 타이틀의 ROM 이미지를 파일로 저장하려면 파일명을 어떻게 8자로 해야 할까? 파일명이 'NTKNIGHT.ROM'인 파일은 어떤 타이틀명을 가진 ROM 파일일까?

 

 

어쩔 수 없는 파일시스템의 한계임에도 불구하고 이를 극복할 방법을 모색해 보게 되었던 이유는, OCMC(One Chip MSX Clone)에서 사용하던 SofaRun에서 약간의 트릭을 통해 이러한 제약을 극복하려는 시도를 하고 있었기 때문이었다. SofaRun의 파일브라우저 격인 'SR'(SR.COM)은 일반적으로 MMC/SD Drive V4의 'M'(M.COM) 처럼 <8자리+3자리> 형식으로 된 파일 목록을 보여주는데, 압축 파일의 경우 SofaUnZip을 통해 모던 PC(Windows, macOS, Linux, ...)에서 압축 시 사용한 긴 파일명을 그대로 보여준다. 최초에 압축을 푸는 시간이 걸린다는 점과 압축 풀린 파일의 이름이 다소 모호한 8자리 문자로 대치된다는 점이 단점이지만, 파일의 내용을 설명해 줄 수 있는 긴 파일명을 통해 사용자가 파일의 내용을 쉽게 인지하고 실행을 결정할 수 있다는 큰 장점이 있다.

 

 

MMC/SD Drive V4에서 긴 파일명을 사용할 수 있는 방법을 처음 생각했을 때는, 직접 SofaRun을 사용하는 것이 아니라 SofaUnZip을 활용하는 별도 파일 브라우저를 만드는 방법을 생각했었다. ROM 또는 DSK 파일명과 MMCSD.COM에서의 옵션이 명시된 긴 이름의 배치(BAT) 파일을 만들고 그것을 압축한 뒤 별도의 파일 브라우저에서 SofaUnZip을 통해 받아 온 내용을 표시하면서 실행시키는 형태를 만들 수 있을 것 같았다.

그러다가 MMC/SD Drive V4에서 SofaRun 사용을 미리 시도하신 분의 글을 읽게 되었는데, SR.INI 설정 파일을 수정하면 ROM, CAS, DSK 파일 선택 시 SofaRun의 SofaROM 또는 SofaRunIt 대신 별도의 프로그램을 실행할 수 있다는 것을 알게 되었다. SofaROM, SofaRunIt 대신 MMCSD.COM을 실행하도록 설정하면 될 것 같았다.

 

MMC/SD Drive V4의 E 드라이브에 MiSTer에서 사용하던 SofaRun 이미지를 복사했다. 그리고 SofaRun 디렉토리의 SR.INI 파일을 다음과 같이 고쳤다.

(1) A 드라이브에 있는 AUTOEXEC.BAT 파일 내 PATH 설정에 sofarun 디렉토리를 추가했다

(2) SR.INI 파일 [SYSTEM] 항목의 SAVEPATH, TMPPATH, SETTINGSPATH에 명시된 각 디렉토리(SAVES, TMP, SETTINGS) 위치를  sofarun 설치 드라이브로 변경했다

(3) SR.INI 파일 [QUICKLAUNCH] 항목의 '%s' 대신 바뀐 sofarun 디렉토리를 명시적으로 적었다

(4) SR.INI 파일 [EXTS] 항목의 ROM, CAS, DSK 값을 '*1'(내부 처리)에서 'A:\UTILS\MMCSD.COM %f'로 변경했다.

 

MMC/SD Drive V4에서 M이 자동 실행되었을 때 M을 종료(Shift+ESC)시키고 프롬프트에서 'SR'을 입력하여 SofaRun을 실행시키니 실행이 되었다.

 

긴 파일명이 압축된 폴더를 선택하니 긴 이름의 파일명이 출력되었다. 여기까지는 OCMC에서 SofaRun을 사용하던 때와 다르지 않다.

 

긴 이름의 파일명을 선택하니 파일 압축이 풀리면서 8자리 파일명으로 대치되었고, 그 이미지를 SofaROM이나 SofaRunIt 대신 MMCSD(MMCSD.COM)가 실행했다.

 

생각보다 잘 되어서 만족스럽지만 여전히 아쉬운 부분은 있다. MMC/SD Drive V4의 M에서는 파일 선택시 MMCSD의 옵션이 표시되고 선택 가능하지만 이 환경에서는 파일을 실행할 때 다른 옵션을 선택할 수 없다는 점이 그것이다. ROM, CAS, DSK 파일을 처리하는 명령어가 SR.INI에 명시된 것으로 고정되어 버리니 실행 시 다른 옵션을 줄 방법이 없었다. 필요 시 별도의 배치 파일을 만들어 두는 것이 대안일 수 있겠다.

그래도 긴 이름 파일을 사용하여 각 이미지에 억지로 8자리 파일명을 부여하지 않아도 되는 점은 확실히 편하다. A 드라이브에 있는 AUTOEXEC.BAT 파일을 수정해 M과 SofaRun 중 선택하여 실행할 수 있게도 만들 수 있겠지만, MMC/SD Drive V4 기본인 M 사용을 기본으로 하고 SofaRun은 보조 수단으로 사용하는 게 좋을 것 같다고 개인적으로 생각하고 있다. 

Comments