turboR의 빠른 CPU와 MMC/SD 같은 고속 디스크, 이것만으로는 MSX를 갖고 놀기엔 충분할까요?
물론 메가램, 2DD 에뮬 등의 게임 실행의 편의성은 탑이라고 봅니다만, 그 외는 어떤가요?
MSX가 지금도 사용하기 편한 8비트 컴퓨터가 된 가장 큰 이유는 아래 2가지라고 생각합니다.
-> MSX-DOS2, FAT16 지원 패치
만약 MSX가 다른 평범한 Z80 컴퓨터처럼 CP/M만 쓸 수 있었다면, 실기를 켜는 것도 귀찮아했을 듯요ㅋ
CP/M은 레코드 단위의 처리라서, 레코드 크기 128바이트 x 16비트 레코드 번호로 최대 8MB까지 쓸 수 있는데요.
(CP/M 3.0에서는 18비트로 늘어서 32MB까지 되는 걸로 알고 있습니다)
MSX-DOS는 CP/M 2.2의 BDOS API에 추가로 MSX-DOS 전용의 논리섹터 R/W가 들어 있습니다.
처음부터 512바이트 x 16비트 섹터 번호 조합이라, 최대 32MB로 출발합니다. 좋아요~
게다가 MSX가 출시된 시기가 늦은 탓에 표준 FDD도 3.5인치 2DD를 쓰게 되었죠.
MS-DOS의 FAT12 디스크를 MSX에서 그대로 쓸 수 있는 '무적의 카드'를 하나 들고 나온 셈입니다.
이 후 MSX-DOS2에서는 서브디렉토리와 파일 핸들이 추가되었고, 메모리매퍼용 확장 BIOS도 들어갔죠.
1988년에 나온 MSX2+, MSX-DOS2, 메모리매퍼 조합으로, MSX에 필요한 기능은 다 있었다고 보면 됩니다.
당시 국내에서는 교육용 컴퓨터가 16비트 XT로 정해지면서 접하기 힘든 조합이라서...
이건 저도 90년 중반에 에뮬로 겨우 경험을 해봤네요 ㅎ.ㅎ
MSX에서 드라이브 8개를 쓸 수 있으니까, 32MB x 8개 = 총 256MB의 디스크를 쓸 수 있는데요.
드라이브를 이리저리 옮겨다니는 소소한 불편을 제외하면 8비트 컴퓨터로는 충분한 용량을 봐도 됩니다.
물론 크면 더 편하겠죠? ㅎ.ㅎ
2000년 초에 DOS2용 FAT16 패치에 관한 소식이 들렸지만,
당시에는 제게 GT도 없었고 대용량 디스크도 없던 때라서 딱히 관심이 없었는데요.
그냥 메가램(디럭스박스)에 FDD로 롬만 로딩하면 OK였던 시절...ㅋ
2006년에 1chipMSX가 출시 되었을 때,
디스크롬에 FAT16 패치가 적용되어 2GB SD카드를 단일 드라이브로 쓰도록 되어있더라구요.
지난 히스토리를 찾아보니, FAT16 패치 v0.12에서는 버그들이 다 수정되어 안정버전이 된 듯 했습니다.
FAT16 패치는 커널에서 디스크 R/W 호출 시, 논리섹터 번호를 16비트에서 23비트로 확장하는 겁니다.
그러니까 섹터 512바이트 x 23비트 = 4GB, FAT16 최대사이즈를 처리할 수 있도록 된 거죠.
물론 확장된 섹터 번호를 처리할 수 있도록 디스크롬도 개선이 되어야합니다.
paraMSX의 디스크 에뮬에 대충 구현해서 돌려보니, 문제없이 파일을 R/W 할 수 있었습니다.
조금 문제라면 기존 FAT12 디스크에 비해, 동작 속도가 눈에 띄게 느려졌다는 것 정도?
FAT의 클러스터, 섹터 계산량이 늘어나니 Z80 3.58MHz로는 힘겨운 느낌입니다요.
2007년말에 MMC/SD Drive V2.2를 설계하면서,
SD카드 슬롯을 2개를 넣고 두번째 SD카드는 FAT16 단일 파티션으로 쓰도록 했습니다.
SD카드 #1은 FAT12용 32MB 드라이브 3개를 마운트 -> A: B: C:
SD카드 #2는 FAT16용 2GB 드라이브 D:
turboR에서 테스트해보니, FAT16쪽 드라이브가 조금 느릿한 느낌은 있지만 쓸만한 수준이더라구요.
속도가 필요한 프로그램들은 A: B: C: 드라이브에 몰아넣고,
FAT16 D: 드라이브에는 롬, 디스크 이미지, 각종 음악파일(MID, MP3 등)로 가득 넣으니 좋더라구요.
이제야 MSX를 자주 만질 수 있는 환경이 된 듯 했습니다.
디스크 속도,용량이 turboR의 발목을 잡지 않으니, 제대로 풀 파워~~를 느낄 수 있게 되었습니다요!
2008년에는 MMC/SD V2가 대량으로 제작이 되어서, 많은 분들이 2대 이상을 쓰는 분위기였는데요.
이 때쯤 두번째 MMC/SD의 SD카드 2개를 모두 FAT16으로 쓸 수 있는 기능을 추가하게 됩니다.
MMC/SD #1: SD #1 -> A: B: C:
MMC/SD #1: SD #2 -> D: FAT16
MMC/SD #2: SD #1 -> E: FAT16
MMC/SD #2: SD #2 -> F: FAT16
MMC/SD V2 두대로 32MB x 3 + 2GB x 3 이렇게 쓸 수 있죠.
제가 2015년 중반까지 9년을 이렇게 쓰면서, 딱히 부족함을 못 느낄 정도였느니...
MSX에서 이 정도면 충분한 환경이라고 생각했었습니다.
근데, 아무리 편한 것도 계속 쓰다보면 불편한 게 생기잖아요?
그렇게 격변의 2015년을 맞게 됩니다.
그럼, 다음 편에서...


