2024년 6월 8일 토요일

M File Manager v4.4 for MSX-DOS2

 



Download: M_v4.4_20240610_fixed.zip


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

    M File Manager v4.4 for MSX-DOS2 (2024-06-08)

        By Yeongman Seo <sharksym@hitel.net>

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


* UPDATE


  @ 기능 변경/개선


  - 일부 기능키에서 클릭 대신 누름 동작으로 변경


  - 속성(Attribute)표시용 문자 변경


  - 파일 선택 표시용 문자 변경


  - 속성 변경과 타겟 패널 열기용 단축키 서로 바꿈

    속성변경 -> CTRL + RETURN

    패널열기 -> SHIFT + RETURN


  - 현재 파일과 동일한 확장자의 파일을 선택하는 기능 추가

    CTRL + SPACE

    (예: MUSIC.IMS 파일에서 키 입력 시, 모든 *.IMS 선택됨)


  - #IMSP 및 #MPXP에서 연속 재생 시, 취소키 추가

    기존 CANCEL(파나소닉 기종의 취소) 및 STOP 사용


  - #MPXP에서 ID3v2.4 지원

    UTF-8 문자열 표시 및 연도 TAG(TDRC)


  - 도움말 파일(M.HLP, M_IL.HLP) 업데이트



2024년 6월 7일 금요일

긴파일명(LFN) 사용 시 주의 사항

오리지널 MSX 유저라면 아마 나이가 40대 후반에서 50대,60대 정도일겁니다.


최근에 MSX를 접하신 30대 분들이라면, 아마 태어나셨을 때 MSX가 단종되었을거에요.

아마 처음 접하신 PC도 윈95가 설치된 PC가 아닐까 싶으네요.


이제 MSX-DOS, MS-DOS에서 사용되는 디렉토리, 파일명에 대한 얘기를 한번 꺼낼 시기가 된 것 같습니다.


.

.

.


MSX-DOS, MS-DOS를 쓰다가 윈95를 처음 쓸 때 기억하시나요? ㅎ.ㅎ

기존 FAT에 긴파일명(LFN)을 쓸 수 있게 되었는데, VFAT이라고 불렀습니다.


디렉토리 엔트리는 32바이트의 파일 또는 서브 디렉토리로 구성됩니다.

기존 FAT에서는 파일/서브 디렉토리는 하나의 엔트리였지만,

VFAT에서는 긴파일명(LFN) 표시를 위해 여러개의 엔트리를 사용하여 표시합니다.

파일명이 길수록 더 많은 엔트리를 소모하는 식이죠.


VFAT을 지원 못하는 OS에서는 LFN 엔트리가 보이지않고 기존 8.3 짧은 파일명으로 인식됩니다.

따라서 8.3 파일명으로 데이터를 읽는데에는 아무런 문제가 없습니다.

그냥 볼륨+시스템+히든 속성의 이상한(?) 파일들이 잔뜩 있는 것으로 인식되는 것 뿐이욤 ㅎ.ㅎ


근데, 여기서 주의해야될 부분이 한가지 있는데요.

VFAT을 지원하는 OS에서는 LFN으로 저장된 파일을 삭제, 이동 등의 작업 시 연결된 엔트리들이 함께 처리됩니다.

만약 VFAT을 지원하지 않는 프로그램 또는 OS에서 디스크작업을 하게 되면. 연결된 LFN 엔트리가 손상되어 쓰레기로 남습니다.

결국, MSX-DOS/DOS2 및 구버전 MS-DOS에서 쓰이던 디스크관련 프로그램을 쓰면 안된다는 얘기죠.



음...

LFN 얘기를 처음 들으셨으면, '그럼 파일명을 8.3 포맷으로 짧게 해주면 되겠네'라고 생각하실 수도 있는데요.

원래 FAT에서는 파일명이 항상 대문자로 저장됩니다. 따라서 파일명에 소문자가 섞여있으면 무조건 LFN으로 바뀌게 됩니다요.



그럼, MSX용 디스크에 LFN 파일을 넣고 MSX-DOS2에서 파일 삭제를 하면 어떤 결과가 나오는지 한번 테스트해보겠습니다~


아래처럼 문자수는 8.3 포맷으로 짧게 보이지만, 소문자가 섞여있는 LFN 파일 2개를 MSX 디스크에 복사합니다.




M 파일매니저에서는 아래처럼 긴파일명으로 인식이 되는 것을 볼 수 있어요.




그럼, 파티션을 덤프해서 실제 디렉토리 엔트리가 어떻게 저장이 되는지 봅시다.

일반 파일들은 32바이트 엔트리로 저장되는데, 해당 LFN 파일은 각각 64바이트로 저장된 것을 확인할 수 있어요.

LFN은 빨간색으로 표시했습니다.




그럼, Ys3(k).DSK 및 Ys3(k).USR 두개 파일을 삭제해봅시다. 물론 MSX에서 삭제해야겠죠?

파일이 삭제되면 각 엔트리의 첫 바이트가 E5H로 변경이 됩니다.

근데 아래 스샷에서 여전히 원래값 41H로 시작하는 엔트리가 보이시죠?

MSX-DOS2는 저 엔트리가 연결된 하나의 파일이라고 인식을 못하기 때문에 그냥 둔거에요.




이 손상된 드라이브는 윈도에서 CHKDSK /F 명령으로 쉽게 수정을 할 수 있습니다.




수정 후 덤프해보면 아래처럼 모두 삭제된 엔트리를 볼 수 있어요.




.

.

.


그리고, 보너스입니다.


윈도10 이후에서는 모든 드라이브에 'System Volume Information'이라는 긴이름의 폴더가 생성됩니다.

이동식 드라이브도 마찬가지구요.


만약 MSX에서 쓰이는 디스크를 윈도에 연결(마운트)하게 되면, 해당 LFN 폴더가 생성이 됩니다.

이 폴더를 지우지않고 MSX에서 그대로 사용하면, 이 폴더가 MSX-DOS2에서는 볼륨명으로 인식이 됩니다요~ ㅎ.ㅎ


원래 LFN 엔트리는 속성(Attribute) 값이 0FH가 되는데, 기존 FAT에서는 이런 파일이 없습니다.

그래서 Volume label + System + Hidden + Read-only 모든 속성을 켜서 LFN 인식으로 쓰는 꼼수를 쓴거죠.

그리고 LFN 엔트리들은 별도의 연결 리스트를 사용하지 않습니다. 단지 여러개 엔트리가 연속으로 설정되도록 되어있어요.


암튼 MSX-DOS2에서 이 엔트리를 볼륨명으로 인식하게 되면서, "B "로 볼륨명이 표시되는 현상이 있습니다.

아래 덤프된 엔트리를 보시면 왜 그런지 이해되시죠?

96바이트의 LFN 엔트리의 첫 부분이  42H, 20H, 00H 값으로 시작됩니다. Volume label 속성이니 이걸 걍 볼륨명으로 인식한거죠.




제가 만든 M 파일매니저에서는 볼륨명을 읽을 때 LFN은 무시하도록 되어있어서 이런 현상은 나오지않습니다. 참고하셔요.


그럼, 이만...


2024년 5월 26일 일요일

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

Download: 20240526_MMCSD_Drive_V3_V4_BIOS_Tool_v574_1.zip


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

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

    By Yeongman Seo <sharksym@hitel.net>

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



[ BIOS & Tool v5.74 ]


- GameRunner


  ROM파일 로딩 시, JoyMega 패치 가능

  -> '/J' 옵션으로 3버튼 및 6버튼 MD패드 사용


     포트1의 버튼맵입니다.

     MD MODE  = KeyBoard STOP

     MD START = KeyBoard F1

     MD X     = KeyBoard F2

     MD Y     = KeyBoard F3

     MD Z     = KeyBoard F4

     MD C     = KeyBoard F5

     MD A     = JoyStick A button

     MD B     = JoyStick B button


     포트2는 방향, A, B 버튼만 사용가능합니다.



[ 업데이트 가이드 ]


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

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


2. MMCSD574.ROM 파일을 SD카드 루트에 복사.


3. MSX-DOS2 부팅 후 명령창에서 아래처럼 입력.

   A:\>MMCSD MMCSD574.ROM


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


5. 끝