2026년 9월 20일 일요일

21세기 MSX 활용 #3 - MMC/SD Drive

2004년, 새로운 고속의 디스크 인터페이스를 만들어보자!


당시 기준으로 MSX 에뮬을 이미 10년간 사용했구요.

paraMSX를 만들면서 디스크롬 구조도 많이 보고, DOS2도 써봤구요.

MSX-DOS가 MS-DOS 기반이라서 대용량(FAT12) 디스크 처리도 가능하다는 걸 이미 알고 있습니다.


그럼 남은 문제는... H/W를 뭘로 만들까? 였는데요.

아무래도 플래쉬롬을 사용하는 방법이 제일 간단하겠죠?


2000년 이전에는 CompactFlash, SmartMedia 같은 것들이 쓰였는데,

이젠 MMC(MultiMediaCard), SD(Secure Digital)가 유행하고 있습니다. (2004년 기준)


I/O는 대충 TTL 칩을 조합해서 설계하고, MMC를 인터페이스하는 걸로 결정합니다.

MMC 256MB 메모리를 하나를 구매하구요. (5만원쯤 했던가요... 기억이 가물가물)

같은 용량에서는 MMC가 SD보다 조금 저렴했는데, 개발하다 망가지면 눈물나는 건 마찬가지겠지만요 ㅎ.ㅎ

카드 슬롯은 부품 납땜이 힘드니까, 메모리카드 USB 어댑터를 하나 뽀개서 보드째 사용합니다.


재료는 준비가 되었구요. 실제 개발은 아래처럼 진행되었어요.


1) 코나미 SCC롬팩을 개조해서 롬디스크 카트리지 제작

2) MMC I/O를 SPI 모드로 구동하는 회로 설계

3) 디스크 마운트는 드라이브 A:MMC, B:롬디스크

4) MMC를 초기화(파티션, 포맷) 프로그램을 구현 후 롬디스크에 포함

5) 드라이브 A:는 여러개의 파티션 중 1개를 마운트 (사용자 선택 저장)

6) 2DD 에뮬을 위한 런타임 파티션 교체 구현


아래는 완성된 모습입니다.



케이스를 씌우면 이런 모습이죠. 고파의 야망을 프랑켄슈타인으로~ㅋ



처음 만들었을 때에는 MMC Disk Drive, MMC Disk Interface 등의 이름으로 쓰였어요.

회로도를 공개해서, 외국에서도 제작한 분들이 있었습니다.


수년 후 다른 회원님이 PCB를 제작해서, 파라동 회원님도 쓰시게 되었는데요.

그 때쯤은 MMC가 단종이 되고 SD가 저렴하게 팔리던 시절이라,

이름을 MMC/SD Drive로 바꿨습니다 ㅎ.ㅎ


MMC 전송 속도는 40KB/s 였으니, FDD 11KB/s의 3배 이상 빠르다고 보면 되겠습니다.

이 속도가 빠르다고 보긴 힘들었지만,

MIDRY로 미디음악을 듣거나 2DD 게임을 실행하는 데엔 GOOD 이었습니다! ㅎ.ㅎ


2007년에 FAT16 등의 고용량 디스크 처리를 추가하면서 H/W도 개선이 되었는데요.

MMC/SD Drive V2에서는 속도가 130KB/s로 빨라져서, MP3 재생 등의 과도한(?) 작업도 OK가 되었습니다.


역시 디스크는 빠른 게 좋네요.

빠른 속도에 익숙해지면 느렸던 시절로는 다시 갈 수가 없죠. 역체감이 엄청납니다요ㅋ

이제서야 GT가 환영도시 게임기가 아닌 그냥 컴퓨터처럼 느껴집니다.

286에 HDD를 달아놓는 거랑 비슷하려나요? ㅎ.ㅎ


MMC/SD V2를 2015년까지 썼으니 꽤 오랫동안 썼었죠.

확장슬롯에 V2 카트리지 2개를 항상 꽂아둔 상태였습니다.

SLOT 2-0 MMCSD -> A: 부팅 및 2DD 에뮬, B: FAT16 2GB

SLOT 2-1 MMCSD -> C: FAT16 2GB, D: FAT16 2GB


.

.

.


하지만 turboR 새내기였던 저는 중요한 사실 한가지를 알지 못했는데...

이건 다음 편에서 이어집니다.


그럼, 이만...


PS. 확장슬롯 + MMCSD + 메모리매퍼 + Covox를 CPLD로 묶어서 아이큐2000 테스트용으로 썼던 물건