sharksym's MSX World

sharksym.egloos.com

포토로그


구글 애드센스 (블로그 기본)


SLT-Turbo 제작 #1 - 슬롯터보 by sharksym

SLT-Turbo 제작 #1 - 슬롯터보


[서론]

터보알이 등장한지 이제 30년이 된 것 같네요.
혹시 '이게 진짜 빠른 MSX가 맞나!?' 의심이 들었던 분 있으세요?
MSX를 주로 게이밍 용도로 쓰신다면, 터보알의 용도는 '환영도시 게임기'에 그치는게 맞겠죠? ㅎ.ㅎ

터보알은 고속의 R800 CPU와 내장기기, 그리고 3.58MHz 버스 타이밍이 공존하는 오묘한 MSX입니다.
제가 터보알을 처음 접한 건, ST/GT 실기가 아니라 NLMSX 에뮬레이터였는데요.
그 때는 빠른 MSX의 느낌보다는 '환영도시 게임기'에 가까웠습니다.
딱히 활용할 곳이 없었으니까요ㅋ

그렇게 몇해가 지나고 실제 GT를 구하게 되었습니다.
BASIC과 DOS2을 구동해보니...어? 이게 예상과는 좀 다르네요.
생각보다 너무 빠르더라구요.
이 때부터 MSX 실기를 계속(?) 써야겠다는 생각이 들었고, 이걸 어떻게 해야 쓸모있는 환경이 될까?
고민을 해봤습니다. 사실 정답은 정해져있습니다ㅋ

터보알의 외부 슬롯은 3.58MHz 타이밍이라서, 내장 메모리에서 프로그램이 동작해야만 고속으로 돌아갑니다.
제 개발 환경을 DOS2 기반으로 만들고, 메모리매퍼를 적극적으로 쓸 수 있는 툴을 만들기 시작했습니다.
HI-TECH C에 전용 툴을 섞는 식으로 만들었지요.

그렇게 차근차근 진행되어 처음 나온 프로그램이 HV 한글뷰어였습니다.
메모리 사용량과 인터레이스 스크린7을 보면 딱 느낌이 들죠? "이거 터보알 아니면 못 쓰겠네!"
그리고는 M 파일 매니저가 등장합니다. (본격적으로 터보알을 갈구는 프로그램이...)
MMC/SD V3,V4처럼 터보알 구조에서 빠르게 동작할 수 있는 기기도 만들게 되었구요.
아마 벤치마킹해보셨으면, 이게 3.58MHz 버스가 맞는지 의심이 갈 정도일겁니다ㅋ
.
.
.
그렇게 10년이 흘러 여기까지 왔습니다.
한때는 MSX 본체 메모리를 512KB로 늘려야한다고 얘기하면, DOL-A-I 취급당하던 시절도 있었는데...
이제는 많이 변했죠~ㅋ

하지만 여전히 문제는 있습니다... '고속 MSX를 어디에 써야하나?' 입니다.
활용할 방법이 없으면 고속 MSX도 필요가 없고, 고속 MSX 사용자가 적으니 활용할 H/W, S/W를 만들 이유도 없죠.
근데 '닭이 먼저냐 알이 먼저냐'라는 개발자의 고통을 20년동안 "떠들기"만 해서는 바뀌는게 아무것도 없습니다.
뭔가를 직접 만들고 보편화시키는 것 말고는 방법이 없...ㅋ

그.래.서.
이제 때가 된 것 같네요.
'고속 MSX를 활용할 수 있는 환경을 만들고 같이 활용해보자'로 가는겁니다요~ ㅎ.ㅎ

서론을 좀 주절주절 썼지만...
제가 나름 생각하는 '앞으로 가는 MSX 환경'에 공감하시는데 도움이 되고자 길게 적어봤습니다ㅋㅋ


[본론]

고속 MSX를 활용하려면? 뭐, 고속의 본체가 있어야겠죠? ㅎ.ㅎ;
ST, GT가 널려있다면 고민할 필요가 없는데 말이죠.
그래서 SLT-Turbo라는게 나오게되었습니다.

이름에서 대충 짐작하셨겠지만, 요놈은 SLT-X에 CPU 가속기가 합체된 기기입니다.
일반 MSX를 빠르게 구동하기 위한 가장 간단한 방법은 본체의 CPU를 고속으로 바꾸는건데요.
빨라진 만큼 외부 I/O에 WAIT를 넣는 식으로, 유럽에서는 MSX2 용 Z80 7MHz킷으로 쓰인 것으로 알고 있습니다.
그 외 스페인의 레오나르도 아자씨가 만든 Z380 카트리지도 있는데...
이건 I/O없는 단순한 코드를 빠르게 구동하는 것만 되는 듯 합니다.
저도 실사용하는걸 본적이 없어요. (사용자가 별로 없는 듯요)

SLT-Turbo는 MSX 표준 주변기기입니다.
기본슬롯에 꽂는 확장슬롯과 유사하게 생겼구요. 3.58MHz로 동작하는 일반 버스 타이밍으로 돌아갑니다.
BIOS를 포함 모든 코드는 SLT-Turbo의 터보 보드에서 구동이 됩니다.
본체에 내장된 키보드, VDP, PSG 등은 본체의 CPU가 처리를 대신하게 됩니다.

사실 MSX는 슬롯 구조를 쓰면서 얻는 장점이 매우 큽니다만...
Z80 상위 CPU의 Cache, MMU, DMA를 쓸 수 없는 단점을 갖고 있어요. (단점이라고 하긴 좀 그렇지만요ㅋ)
슬롯 외부의 CPU가 메인으로 구동하려면, 본체 내장 I/O는 본체의 CPU로 처리할 수 밖에 없는 구조입니다.

.
.
.
아마 이쯤에서 궁금한 부분이 하나 있으실 것 같은데...
'기존 MSX의 주변기기가 아닌 본체를 만드는게 더 좋지 않나요?'
사실 파라동 오프모임에서 단골 메뉴로 등장하는 얘기죠.

MSX2+, turboR 기종들이 나온지 30년 넘었는데, 이걸 제대로 활용하는 S/W, H/W도 잘 없어요.
근데 새로운 MSX가 나온다고해서 뭔가 달라질까 싶습니다.
혹시 뭔가 새로운걸 해보고 싶다면...
openMSX 소스에 가상의 주변기기를 추가하고 프로그램도 만들어서 돌려보시면 되겠습니다.

저의 희망사항은
'여러분들의 창고에 처박아둔 실기들이 책상위로 올라와서 전기를 먹는 모습'
정도로 많이(?) 소박합니다 ㅎ.ㅎ


프로젝트 소개는 요렇게 마무리합니다.
SLT-Turbo는 SLT-X에 터보가 추가된거라고 설명드렸는데요. 아래 PCB 사진을 보시면 납득이 되실겁니다요~
보드는 2층으로 합체합니다. PAC-V 구조를 생각하시면 비슷해요.



합체해서 케이스에 넣으면 이런모양입니다. 케이스는 오버리치 카트리지 1개가 필요합니다ㅋㅋ



그럼, 다음편에서 보아요~ ㅎ.ㅎ

궁금한 점 있으시면 댓글로 ㄱㄱㄱ





Title MSXrating email rss

CCL

크리에이티브 커먼즈 라이선스
Yeongman Seo에 의해 작성된 저작물은, 별도의 라이선스 조건이 없는 경우 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

ClusterMaps

구글 애드센스 (세로 큰직사각형)

통계 위젯 (화이트)

413
84
159324

이 이글루를 링크한 사람 (화이트)

27