지난 글에서는 그냥 빠른 Z80에 대한 내용이었습니다.
그럼, 이번에는 터보알과 비슷하게 동작하도록 해봅시다요.
일단 사진 한장 올려놓고 시작을~ㅋ
[서론]
터보알은 동작 모드가 두개입니다. 다 아시는 그... Z80 일반 모드와 R800 고속모드욤 ㅎ.ㅎ
일반 모드에서는 MSX-ENGINE(T9769C)을 메인 칩으로 구동합니다.
기존 A1WSX 등의 MSX2+ 기종과 H/W적으로 똑같이 동작하니까, S/W 또는 H/W 호환이 100% 되는거겠죠?
R800 고속모드는 외부 슬롯은 3.58MHz의 기존 BUS를 유지한 상태로, 본체 내부만 고속으로 동작합니다.
외부 BUS가 고속으로 동작하면, 기존 H/W(외부 주변기기)들의 동작 보증이 안되니 어쩔 수 없는 선택이었겠죠.
그럼 외부 슬롯만 고려하면 될까요?
아니겠죠? 기존 3.58MHz 속도에 맞춘 S/W를 그냥 빠르게 돌리면 내장기기들도 엉망이 됩니다.
근데 SLT-Turbo를 만드는데 터보알 얘기를 자꾸 하는지 궁금하실 분들도 있겠네요.
만약 그냥 제 마음대로 만들게 되면, SLT-Turbo가 기존 ST/GT보다 활용도가 낮을 확률이 높습니다.
최소한 기존 터보알의 고속모드와 호환되는 동작모드가 있어야, 기존 고속모드 만큼의 효용은 생길 것 같아요.
물론 GT 클론을 만들겠다는 의미 보다는 S/W, H/W 호환기기에 의미를 두시면 되겠구요.
SLT-Turbo에 SLT-X를 합체(?)시킨 결과물도 결국 이 활용도 때문에... 이렇게 되었습니다요.
두 기기를 분리해서 만들면, 함께 사용하실 분들이 별로 없을 것 같아서요ㅋ
[본론]
제가 GT를 18년쯤 썼으니, 뭐 이정도면 대충 느낌 아니까...
적당히(?) 이것저것 넣으면 되지않을까 싶으네요 ㅎ.ㅎㅋ
지원되어야 할 필수 기능들을 적어봅시다~
- CPU 동작 모드 전환 (Z80 3.58MHz 일반모드, Z80 20MHz 고속모드)
- R800 명령어 지원 (8BIT/16BIT 곱셈)
- 고속모드에서 외부 슬롯 액세스 타이밍
- 고속모드에서 내장 기기 액세스 타이밍 (VDP, PSG, 키보드 등)
- 16BIT H/W Timer
- 8BIT PCM 출력, PCM Timer (15.7KHz)
- 메모리 매퍼 (512KB GT 모드, 4096KB Full 모드)
참고로, SLT-Turbo가 구동가능한 최소 사양은 MSX2 램64KB입니다.
만약 MSX2+ 기종을 쓰거나, MSX2의 VDP를 V9958로 개조하셨다면...
SLT-Turbo만 장착하면 본체를 터보알 수준으로 쓸 수 있게됩니다.
현재까지, R800 명령어를 제외하고 나머지는 모두 구현이 되었습니다.
최적화 이슈는 좀 남아있지만요 ㅎ.ㅎ
사실은 지난번 글 이후에 Z280 글을 올릴려고 계획했는데, 이게 성능 문제가 있어서 ㅎ.ㅎ;
R800 고속모드를 전체에 적용하기는 무리더라구요.
이것 저것 테스트를 많이 해봤는데 결국 내린 결론은...
'Z80 20MHz를 고속모드 기본으로 사용하고 Z280은 코프로세서로 사용'입니다.
이쪽은 다른 글로 올릴테니, R800 명령은 일단 스킵합니다요~
Z80 20MHz로 구현해서 테스트를 해보니, 요게 터보알 고속모드와 성능이 비슷하더라구요.
실기의 느낌적인 느낌으로는, 터보알이 기존 MSX에 비해 4~5배 정도의 체감성능이 나오는데요.
SLT-Turbo의 고속모드가 딱 비슷한 느낌입니다. ㅎ.ㅎ
말로 설명하는 것보다는 영상을 보시는게 빠르겠죠?
오랜만에 A1WSX를 꺼냈습니다. 참고로 요놈은 MSX2+ 기종입니다.
내장 메모리는 512KB로 증설되어있습니다.
이 정도로도 충분히 쓸만한 기종이지만, 터보알에 한번 맛들이면... 그냥 창고행~ ㅎ.ㅎ
SLOT 1에는 SLT-Turbo가, SLOT 2에는 MMC/SD V4가 장착되어있습니다.
SLT-Turbo는 A1ST의 수준의 BIOS 롬으로 구동이 됩니다.
내부 SLOT 3-0에는 메모리매퍼가 4096KB 풀로 채워져있구요.
외부 SLOT 1은 MMC/SD V4
외부 SLOT 2-1은 폰트팩, SLOT 2-3은 문사운드가 있습니다.
영상에서는 아래 순서로 나옵니다.
내부외부의 각종 기기들의 동작 모습을 볼 수 있습니다.
영상의 ASO 리메이크는 처음 릴리스했던 파일을 사용했습니다. (R800 곱셈 명령을 쓰지않는 버전)
이후 업뎃된 버전은 R800 명령을 쓰고 있어서, 현재의 SLT-Turbo에서는 실행되지 않습니다.
00:00 본체 부팅
00:37 SLT-Turbo turbo R mode @ 20MHz으로 기동
01:24 SLT-Turbo 일반모드의 속도측정
02:08 SLT-Turbo 고속모드의 속도측정
02:31 SLT-Turbo 칸지 스크린 테스트
02:47 SLT-Turbo 한글 폰트팩 테스트
03:25 SLT-Turbo 메가리포트
04:09 SLT-Turbo IMS 플레이
05:22 SLT-Turbo 프레이 터보알 버전
07:02 본체 리부팅
08:04 SLT-Turbo ASO 리메이크
아래는 유투브에 올린 영상입니다.
위의 설명과 함께 보시면 되겠습니다요~ ㅎ.ㅎ
그럼, 다음편에서 보아요~ ㅎ.ㅎ
궁금한 점 있으시면 댓글로 ㄱㄱㄱ