2023년 2월 4일 토요일

SLT-X V2 제작 #3 - 다양한 사용 시나리오

확장슬롯을 쓰다보면 여러가지 구동환경을 맞추는 경우가 생기게 됩니다.

제는 주변기기를 만들면서 기본슬롯/확장슬롯에서 테스트하는 경우도 꽤 발생합니다.

주변기기가 많으면 슬롯에 꽂았다뺐다...작업이 많이 번거롭죠 ㅎ.ㅎ


이제, SLT-X V2를 S/W(software)만으로 설정할 수 있는 방법을 소개해봅니다.

SLT-X V2가 V1의 미니멀 버전이긴 하지만, 필수기능은 모두 들어있습니다. (저렴이 버전이 아님요ㅋ)


그리고, 앞으로 SLT-X V2는 그냥 SLT-X로 표기하겠습니다.



먼저 저의 주변기기는 기본적으로 아래의 상태입니다.

- SLT-X는 GT의 후면슬롯(SLOT 2)에 연결

- GT의 SLOT 1 신호(/SLTSL)는 SLOT 2의 16번핀(RSV_16)으로 출력개조

- GT의 SLOT 2 신호(/SLTSL)는 SLOT 1의 16번핀(RSV_16)으로 출력개조

- GT의 SLOT 0-1 신호(/SLTSL)는 SLOT 1/2의 5번핀(RSV_5)로 출력개조


GT 본체의 상단슬롯(SLOT 1)은 비워둔 상태이구요.

SLT-X의 각 서브슬롯에는 아래 사진의 기기들이 장착되어있습니다.





1) 기본모드 = 확장슬롯 x 2


SLT-X의 슬롯신호 스위치는 [상]에 놓았습니다.

[상] SLOT A:RSV_16핀 + SLOT B:/SLTSL


평상시에는 이렇게 확장슬롯 2개를 연결한 것처럼 사용합니다.


SLOT B-3 (SLOT 2-3) = RS-232C

SLOT B-2 (SLOT 2-2) = NeoTron

SLOT B-1 (SLOT 2-1) = MoonBase + MoonSound

SLOT B-0 (SLOT 2-0) = MMC/SD Drive V4


SLOT A-3 (SLOT 1-3) = paraMSX-R (2048KB RAM mode)

SLOT A-2 (SLOT 1-2) = FontPack V2

SLOT A-1 (SLOT 1-1) = MPX R1.1

SLOT A-0 (SLOT 1-0) = T-Wave


부팅하면 아래처럼 잡다 메시지를 볼 수 있네요.





이 상태에서 SLT-X의 슬롯신호 스위치를 [하]에 놓는다면?

[하] SLOT A:/SLTSL   + SLOT B:RSV_16핀

SLOT 1-x와 2-x가 서로 바뀌게 됩니다.


SCC-I 사운드는 SLOT A-0의 T-Wave, SLOT B-0의 MMC/SD V4 두 기기에 들어있습니다.

만약 슬롯 순서를 바꾸게 되면, SCC-I를 사용하는 프로그램에서 우선순위를 바꿀 수 있습니다.

보통 빠른 슬롯부터 검색하니까요.



2) 본체 상단슬롯(SLOT 1)을 사용 시


기본슬롯에서만 동작하는 카트리지의 경우는 본체의 상단슬롯을 써야하는데요.

이미 SLOT 1-x가 SLT-X에서 사용되고 있으니, 이 상태에서 본체 상단슬롯에 뭔가를 꽂으면 기기가 충돌하겠죠?


SLT-X 쪽의 슬롯신호 스위치를 [중]으로 변경합니다.

[중] SLOT A:/SLTSL   + SLOT B:RSV_5핀


그러면 각 서브슬롯은 아래처럼 되겠네요.


SLOT B-3 (I/O SLOT) = RS-232C

SLOT B-2 (I/O SLOT) = NeoTron

SLOT B-1 (I/O SLOT) = MoonBase + MoonSound

SLOT B-0 (SLOT 0-1) = MMC/SD Drive V4


SLOT A-3 (SLOT 2-3) = paraMSX-R (2048KB RAM mode)

SLOT A-2 (SLOT 2-2) = FontPack V2

SLOT A-1 (SLOT 2-1) = MPX R1.1

SLOT A-0 (SLOT 2-0) = T-Wave





이젠 본체의 상단슬롯(SLOT 1)을 마음대로 사용할 수 있겠네요! ㅎ.ㅎ



3) 특정 서브슬롯을 기본슬롯으로 변경


가끔은 SLT-X에 꽂아둔 주변기기를 기본슬롯에서 써야하는 경우가 발생합니다.

제가 만든 기기 중에서는 paraMSX-R과 MMC/SD Drive V4가 해당되네요.


- paraMSX-R

  이 카트리지의 원래 목적인 머신 에뮬레이터로 사용하려면, 기본슬롯에 꽂아야합니다.

  현재는 서브슬롯(SLOT A-3)에 꽂혀있어서 서브기능인 2048KB 메모리 모드로 사용하고 있습니다.


SLT-X에서는 SLOT A-3을 기본슬롯으로 바꾸고 나머지 A-x를 I/O SLOT으로 변경할 수 있어요.

이 때 SLT-X 본체의 슬롯신호 스위치는 기본위치 [상]에 그대로 둡니다.

[상] SLOT A:RSV_16핀 + SLOT B:/SLTSL


SLTX.COM 프로그램으로 슬롯 설정을 바꿔보아요~




/A 및 /B 옵션으로 SLOT A,B의 설정을 바꿀 수 있는데요.

paraMSX-R이 꽂혀진 SLOT A-3을 기본슬롯으로 설정하려면, /A3 옵션을 쓰면 되겠습니다.

아래처럼 바뀐 설정이 표시되네요. 이 상태에서 본체의 RESET 버튼으로 재부팅합니다.




재부팅하면 아래처럼 나오게 됩니다.




SLTX.COM 프로그램으로 설정한 슬롯 상태는 전원이 꺼질 때까지 유효합니다.

본체의 RESET 버튼을 누르거나, 소프트 리셋(MainROM 재부팅)하더라도 유지됩니다.


원래의 확장슬롯 설정으로 되돌리기 위해서는...

본체의 전원을 껐다켜거나, SLTX.COM에서 /A+ /B+ 옵션을 사용하면 되겠습니다.

그리고, /A- /B- 옵션으로 모든 서브슬롯을 I/O SLOT으로 바꿀 수 있으니 참고하시구요~


- MMC/SD Drive V4

  주변기기가 별로 없는 환경에서 쓸 수 있도록, 기본슬롯에 꽂으면 내부 서브슬롯에 부가기능이 들어갑니다.

  SUB0 = MMC/SD Drive V4

  SUB1 = Kanji DRV

  SUB2 = BASIC'n v2.1

  SUB3 = 512KB RAM mapper

  V4의 기본기능은 SUB0로 들어있으니까, 확장슬롯에 꽂으면 보통 이 기능만 쓴다고 보시면 되겠습니다.


그럼, SLOT B-0를 기본슬롯으로 바꿔서 구동해보아요~

SLTX.COM에서 /B0 옵션을 쓰면 되겠네요.




재부팅하면 아래처럼 나오게 됩니다.

SLOT 2-2에서 MMC/SD V4에 내장된 BASIC'n이 나오는군요.




MMC/SD V4에 내장된 메모리매퍼 512KB는 SLOT 2-3에서 확인됩니다.





글로 적다보니 설명이 길었는데요, 실제로 해보시면 쉽습니다.

진짜 사용법을 간단하게 하려고 머리를 쥐어뜯으며 만들었어요. (안그러면 매뉴얼을 또 써야하니까...ㅋ)



그럼 다음편에서 뵙겠습니다요~ ㅎ.ㅎ/


2023년 2월 1일 수요일

오랜만의 PC <-> MSX 파일전송

흡혈양파님의 글을 보다가 갑자기 생각나서, 서랍구석에 있던 카트리지를 하나 꺼냈습니다.

자작 RS-232C 카트리지입니다. 마지막으로 구동해본게 언제인지 기억이 잘 안나네욤ㅋ


SLT-X V2의 맨앞 자리에 꽂고 사진을 찰칵!





파일 전송이나 한번 해보아요~


윈도에서 파일 Tx를 실행!




MSX에서 파일 Rx를 실행!





잘 돌아가는군욤. SLT-X에 맨 뒷자리에 걍 꽂아둘까요?

풀파티가 된 SLT-X V2!! 가끔 MMC/SD BIOS 업뎃할 때나 써먹는걸로...ㅎ.ㅎ





참고로 자작 RS-232C 카트리지의 글은 아래 링크에서 보시면 되겠네요. 2010년 글입니다 ㅎ.ㅎ

http://sharksym.egloos.com/4680576


2023년 1월 30일 월요일

SLT-X V2 제작 #2 - 슬롯신호 입력선택

먼저, 단어혼동을 줄이기위해 괄호안에 영문이름도 간간히 적었습니다. 참고하세요~



1) 확장슬롯의 설정


MSX의 기본슬롯(Primary Slot)은 확장슬롯(Slot Expander) 연결 시,

기본슬롯이 사라지고 서브슬롯(Secondary Slot)이 4개가 생깁니다.

이건 당연히 알고계시는 거... 맞죠? ㅎ.ㅎ


그리고, 슬롯의 /SLTSL 신호가 슬롯선택(enable) 용으로 사용이 됩니다.

서브슬롯 선택은 FFFFh 주소에 메모리맵 I/O(Memory Mapped I/O)로 스위치가 들어있습니다.

이 스위치는 기본슬롯에만 포함되어있어서 서브슬롯쪽에서는 FFFFh 주소는 액세스 불가능합니다.

이것도 기본적인거니까 참고로 알고 계세요.


확장슬롯을 본체에 연결하면 4개의 서브슬롯으로 바뀌게 되는데요.

그럼, SLT-X V2를 꽂으면 어떻게 될까요?

SLT-X V2는 서브슬롯이 8개가 있으니, 이 중에서 4개만 서브슬롯으로 활성화됩니다.

서브슬롯 4개씩 묶어서 SLOT A, SLOT B라는 이름이 붙어있습니다.


따라서 A 또는 B 한쪽만 기본적인 확장슬롯으로 동작이 됩니다.

이걸 선택하는 스위치는 아래 사진에서 볼 수 있어요.




[상] SLOT A:RSV_16핀 + SLOT B:/SLTSL

[중] SLOT A:/SLTSL   + SLOT B:RSV_5핀

[하] SLOT A:/SLTSL   + SLOT B:RSV_16핀


이 스위치를 통해서 본체슬롯의 /SLTSL 신호를 SLT-X의 SLOT A 또는 SLOT B로 입력받도록 합니다.

[상]에 놓으면 SLOT B가 확장슬롯이 되고,

[중] 또는 [하]에 놓으면 SLOT A가 확장슬롯이 됩니다.


아래 사진은 스위치를 [중]/[하]에 놓은 상태입니다.

I/O 슬롯에는 슬롯 메모리 공간을 쓰지않는 I/O 카트리지(예: 문사운드, V9990 등)를 꽂아서 사용할 수 있습니다.




만약 SLOT A쪽에 I/O 카트리지를 꽂고 싶다면,

스위치를 [상]에 놓아서, SLOT B를 확장슬롯으로 동작시키면 되겠네요.

LED 비주얼라이저 등의 카트리지는 앞쪽이 잘 보여야하니까, SLOT A-0에 꽂으시면 되겠죠? ㅎ.ㅎ

(혹시나 질문하실까봐 미리 적어보면요, PAC-V를 I/O슬롯에 꽂으면 S-RAM 세이브기능을 못쓰게 됩니다.)


지금까지 기본적인 확장슬롯의 동작이었습니다.

본체를 순정상태로 쓰실 분들은 여기까지만 읽으시면 되겠습니다 ㅎ.ㅎ

.

.

아래 내용들은 본체를 개조해서 활용하는 부분입니다.



2) 추가 슬롯선택 설정


슬롯신호 선택 스위치를 보면 /SLTSL 외 RSV_5, RSV_16을 선택할 수 있습니다.

각각 슬롯의 예약핀(Reserved pin) 5번, 16번을 의미합니다.

이미 MSX는 91년에 turboR GT 이후 설계가 중단되었고, 해당 예약핀은 아직도 사용되지 않습니다.

그래서 유저들이 이 핀들을 본체 내부의 신호(슬롯선택, 비디오, 오디오 등)를 연결해서 활용하고 했었지요.

MSX2+/turboR을 오랫동안 쓰신 분들은 대부분 SLOT 0-x를 출력하는 용도로 해놨을겁니다 ㅎ.ㅎ


아래는 GT의 슬롯부분의 회로도입니다. 5번핀, 16번핀은 이름이 비어있는게 보이죠?




가장 흔하게 쓰이는 경우는,

본체 내에서 사용되는 서브슬롯을 외부로 출력하는 용도입니다.

T9769 같은 MSX-ENGINE 칩에서는 SLOT 0, 3 두개의 확장슬롯이 들어있습니다.

이 서브슬롯 16개를 전부 사용하는 경우가 없기 때문에 남아있는 신호가 있습니다.

파나소닉 MSX2+의 경우는 SLOT 0-1, 0-3가 있구요, turboR의 경우는 SLOT 0-1 하나가 남습니다.


turboR GT의 경우는 본체 외부로 나가는 슬롯1,2의 RSV_5 핀이 서로 연결되어있고,

PCB 상에 신호선을 납땜할 수 있는 곳이 따로 있습니다.

turboR ST에서는 슬롯 커넥터 2개의 5번핀에 각각 연결하면 됩니다.


아래 사진은 GT의 T9769C의 SLOT 0-1 신호(PIN 34)를 RSV_5번 출력으로 연결한 모습입니다.

100옴 저항으로 연결되어있어요.




아래는 RSV_5번 연결부분을 확대한 사진입니다.




이 개조가 되어있는 상태라면,

SLT-X V2의 슬롯선택 스위치를 [중]에 놓아서 아래처럼 사용할 수 있습니다.




여기까지가 대부분의 후기 MSX2+/turboR을 쓰는 분들의 방법이었습니다.



3) 본체의 기본슬롯 2개를 모두 SLT-X로 연결


MSX를 쓰다보면, 기본슬롯 두 곳에 각각 확장슬롯을 연결해서 쓰게되는데요.

이게 확장슬롯의 기본적인 사용법이지만...

본체의 상단에 확장슬롯을 꽂아놓으면 케이블이 치렁치렁~ 그닥 이쁜 모습이 안나오죠ㅋ


그럼, 이 두개의 기본슬롯 신호를 모두 SLT-X V2쪽으로 돌려보아요.

SLT-X의 SLOT A, B를 각각의 확장슬롯으로 사용하는겁니다.


슬롯의 선택신호는 /SLTSL인데요. 이 신호를 RSV_16번핀에 연결합니다.

SLOT 1의 /SLTSL(4번핀) --> SLOT 2의 RSV_16으로

SLOT 2의 /SLTSL(4번핀) --> SLOT 1의 RSV_16으로

크로스 연결하는거죠 ㅎ.ㅎ


아래는 GT의 PCB 아랫쪽의 슬롯커넥터 부분입니다.

파란선은 SLOT 1의 /SLTSL 신호이구요.

노란선은 SLOT 2의 /SLTSL 신호입니다.




SLT-X V2를 본체의 후면슬롯에 꽂은 후, 슬롯선택 스위치를 [상]에 놓으면 아래처럼 동작하겠습니다.




X-II의 경우는 후면슬롯이 SLOT3이니까 SLT-X의 SLOT B는 3-0,3-1,3-2,3-3으로 동작하겠죠?

그리고 슬롯선택 스위치를 [하]에 놓으면 SLOT A, B의 번호가 서로 바뀌니까 필요에 따라 선택하면 되겠습니다.

SLOT A가 SLOT 2-x, SLOT B가 SLOT 1-x으로 되겠네요.



그럼 다음편에서 뵙겠습니다요~ ㅎ.ㅎ/