2019년 9월 29일 일요일

SLT-X 제작 #2 - 동작 모드

SLT-X는 사용자 입맛에 맞춰 여러가지 조합(?)으로 구동할 수 있습니다.


기본적인 동작 모드는 현재 결합된 슬레이브 보드의 개수에 따라 자동으로 정해집니다.

부팅 중 SLTX 매니저 롬으로 모드를 변경하거나,

부팅 후 특정 슬롯의 모드를 바꾸는 등의 재설정을 할 수 있습니다.


매니저 롬은 마스터 보드에 내장되어있습니다.

256KB 플래쉬롬으로 들어있구요.

관리를 위한 프로그램과 SLTX의 초기설정을 저장하는 목적으로 사용됩니다.

매니저 롬에 관한 자세한 내용은 다음편(3편?ㅋ)에서 말씀드릴테니, 일단 넘어가셔요~ ㅎ.ㅎ



그럼, 각 동작 모드에 관한 설명이 나갑니다~


1. 1-SLOT 모드




마스터 보드 하나만 연결된 상태의 모드입니다.


보드에 장착된 플래쉬롬이 SLOT으로 연결되고, 슬롯 커넥터는 I/O SLOT으로만 동작됩니다.

결국, 일반적인 용도의 모드가 아니라는 얘기입니다.


이 모드에서 부팅하면, SLTX의 내부 설정을 위한 매니저 롬이 자동으로 실행됩니다.

만약 SLTX를 실기의 SLOT 2에 꽂았다면, 매니저 롬이 SLOT 2(기본슬롯 상태)에서 구동됩니다.


마스터 보드의 EX-SLOT 딥스위치는 원래 목적(EX-SLOT 신호설정)으로 사용되지 않고,

"안전모드"를 강제로 설정하는 용도로 사용됩니다.


EX-SLOT 딥스위치를 ON:ON 상태로 놓으면, "안전모드"로 설정됩니다.

이 상태에서는 각종 설정값이 디폴트로 구동됩니다.


참고로 디폴트 설정은 아래와 같습니다.

MANAGER ROM = OFF

ALL SUB SLOT = ON

ALL EX-SUB SLOT = ON

ALT-SLOT = I/O SLOT mode

SLOT-OUT = OFF

각각의 SLOT 명칭은 매니저롬을 설명 할 때, 알려드리겠습니다. (그냥 넘어가세요~ㅋ)


만약 매니저롬을 업데이트(플래쉬롬 다운로드) 도중 전원이 꺼지는 등의 사고(재난?) 발생 시,

안전모드로 부팅 후 다시 롬을 다운로드 할 수 있습니다.



2. 4-SLOT 모드




마스터 보드에 슬레이브 보드 1개를 연결한 상태의 모드입니다.


기본 기능은 통상의 확장슬롯과 같습니다.

슬롯 커넥터 4는 SUB SLOT으로 구동이 됩니다.

SLTX를 본체의 SLOT 2에 연결했다면, SUB SLOT은 SLOT 2-0,2-1,2-2,2-3으로 동작합니다.


부가기능으로는 SLOT-OUT을 쓸 수 있습니다.

특정 슬롯의 /SLTSL 신호를 /RSV1(5번핀) 또는 /RSV2(16번핀)으로 출력가능합니다.

SLOT-OUT에 관한 자세한 내용은 다음번에 알려드릴께요.

한줄 요약하면,

SLOT 0-x, SLOT 1-x, SLOT 2-x의 12개 슬롯 신호 중 2개를 선택/출력하는 기능입니다.


EX-SLOT 딥스위치는 1-SLOT 모드와 유사한 "안전모드"를 선택하는 용도로 사용됩니다.

딥스위치를 ON:ON 상태로 놓으면, 진짜 기본적인 확장슬롯(4슬롯)으로 동작하게 됩니다.

MANAGER ROM, ALT-SLOT, SLOT-OUT 모두 OFF됩니다.



3. 7-SLOT 모드




마스터 보드에 슬레이브 보드 2개를 연결한 상태의 모드입니다.

여기서부터가 진짜 SLTX의 제작목적과 연관된 부분입니다요~ ㅎ.ㅎ


슬롯 개수부터가 조금 요상하죠?

통상적인 6슬롯에 슬롯 한개가 더 붙은 형태입니다.


ALT 1, ALT 0 슬롯은 사용자가 /SLTSL 신호를 선택해서 구동합니다.

기본적으로는 /SLTSL OFF 상태라서, I/O SLOT으로 동작합니다.

SLOT 0,1,2 슬롯의 모든 서브슬롯 12개 중에서 선택가능합니다.

실제로는 11개가 되겠네요. SLOT 0-0은 못쓰니까요~ㅎ


파나소닉의 MSX2+, turboR 계열은 SLOT 0가 모두 확장되어있고,

사용하지 않는 슬롯이 한두개 정도가 있으니, 요걸 할당해서 사용하면 좋습니다.

보통 6슬롯을 만들 때에는, 본체를 개조해서 SLOT 0-1, 0-3의 /SLTSL 신호를 뽑아서 쓰는데요.

SLTX를 쓰면 본체를 개조할 필요가 없습니다. /SLTSL 신호를 직접 생성해서 사용합니다.


SUB 3,2,1,0 슬롯은 4-SLOT 모드와 동일한 일반 확장슬롯입니다.


EX-SLOT은 4가지 /SLTSL 신호 중에서 선택구동하는 슬롯입니다.

마스터 보드의 딥스위치를 통해 신호를 선택할 수 있습니다.

ON :ON  = RSV 2 (슬롯 핀16번 입력신호)

ON :OFF = RSV 1 (슬롯 핀5번 입력신호)

OFF:ON  = SLOT 2 (SLTX 내부생성 신호)

OFF:OFF = SLOT 1 (SLTX 내부생성 신호)


보통 확장슬롯 기기를 본체의 후면 슬롯에 연결하는 경우가 많은데요.


예를 들어,

SLTX를 GT 후면 슬롯(SLOT 2)에 연결하고, EX-SLOT을 SLOT 1으로 사용가능합니다.

이 때, GT의 상단 슬롯(SLOT 1)은 EX-SLOT과 같은 슬롯번호가 되니까, GT의 슬롯은 비워둬야합니다.


다른 예로,

SLTX를 X-II의 후편 슬롯(SLOT 3)에 연결하고 EX-SLOT을 SLOT 1으로 선택하면,

본체의 전면 슬롯을 비워두고 사용가능합니다.


만약 본체를 개조해서 RSV1, RSV2 핀을 /SLTSL로 출력하고 있다면,

EX-SLOT을 RSV1, RSV2 신호로 선택해서 쓸 수 있습니다.


또 다른 예로 ㅎ.ㅎ;

본체의 SLOT 0가 확장되어 있고 SLOT 0-2가 비어있는 상태인데, 이걸 EX-SLOT으로 뽑아내려면?

SLOT-OUT 출력으로 SLOT 0-2를 설정하고, 해당 SLOT-OUT 신호를 EX-SLOT의 RSV핀으로 선택하면 됩니다.

참고로 SLOT-OUT0는 RSV1으로 출력되고, SLOT-OUT1은 RSV2로 출력됩니다.

글로 적으니 좀 복잡한데, 머리속으로 그림을 한번 그려보셔요~ ㅎ.ㅎ



4. 10-SLOT 모드




마스터 보드에 슬레이브 보드 3개를 연결한 형태의 모드입니다.

사실 슬레이브 보드를 4개,5개,,, 계속 연결해도 10-SLOT 모드가 됩니다.

실제로 이렇게 쓰일 경우는 없겠지만...

4번째 슬레이브 보드부터는 해당 보드의 슬롯 커넥터는 전부 I/O SLOT으로만 동작합니다.

참고만 하세요~


7-SLOT 모드와 비슷하게 동작이 됩니다.

EX-SLOT에서 선택한 슬롯이 확장이 된다는 것이 차이입니다.

그러니까, SLTX를 GT의 후면 슬롯에 꽂고 EX-SLOT을 SLOT 1으로 선택하면,

통상의 확장슬롯 두개를 SLOT 1,2에 각각 꽂은 것과 비슷한 환경이 되는거지요.


만약 EX-SLOT을 RSV1, RSV2로 선택했을 때는

해당 신호가 기본 슬롯의 /SLTSL 신호가 아니라면, EX-SLOT가 확장슬롯이 되진않습니다.

EX-SUB 0 외의 1,2,3 슬롯은 그냥 I/O SLOT으로 동작하겠죠.



여기까지 각 동작 모드를 간단히 적어보았습니다.

대충 감이 오시죠? ㅎ.ㅎ



근데, 동작 모드를 부팅 중에 바꿀 수 있다고 했는데 기억하시나요? (글 앞부분에 있어요)

예를 들어 평소에는 슬레이브 보드 3개를 연결해서 10-SLOT 모드로 쓰다가,

뭔가가(?) 필요할 때, 7-SLOT 모드로 변경해서 EX-SLOT을 확장슬롯에서 기본슬롯으로 바꾼다거나..

그런걸 할 수 있어요.


그러면, 아래 사진처럼 슬롯 설정이 되겠네요.

7-SLOT에서 쓰는 슬롯 커넥터 외에는 모두 I/O SLOT으로 변경됩니다.




10-SLOT의 EX-SUB 3 자리가 EX-SLOT 기본슬롯으로 바뀌는데요.

기본슬롯과 확장슬롯에서 동작이 바뀌는 카트리지를 활용할 때 유용합니다.


paraMSX-R이 대표적인 예가 되겠네요.

요놈은 원래의 머신에뮬 기능을 쓰려면 기본슬롯에 꽂아야합니다.

만약 확장슬롯에 꽂으면 머신에뮬을 쓰지 못하기 때문에,

기동롬(STARTUP ROM)에서 paraMSX-R을 메모리매퍼 2048KB로 동작 모드를 바꿔줍니다.

그러니까 그냥 2MB 매퍼램팩이 되는거죠.


근데 이 때는 카트리지 구조가 바뀌니까 소프트 리셋도 함께 해줍니다.

결국 EX-SUB 3 자리에 꽂아두면, 부팅할 때마다 소프트 리셋을 한번씩 하게되겠죠.

설명이 길었지만...

진짜 메모리가 필요한 경우(대용량 VGM 재생 등)가 아니라면 잘 안썼다는 얘기입니다.


근데 이걸 SLTX가 미리 관리(?)를 해주면 편하게 쓸 수 있지않을까요?

평상시에는 paraMSX-R을 메모리매퍼 2048KB로 쓰고 소프트 리셋은 안해도 되도록~

paraMSX-R의 에뮬모드를 쓸때는 10-SLOT에서 7-SLOT모드로 바꾸고 EX-SLOT을 기본슬롯으로 구동~


사실 이 시나리오 때문에, SLTX의 요상한 구조가 만들어졌다고 보시면 맞습니다ㅋㅋ

실제로 동작 모습은 이렇습니다.


> 10-SLOT 모드에서 paraMSX-R가 메모리매퍼로 구동




> 7-SLOT 모드에서 paraMSX-R가 기본 모드로 구동





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


댓글 없음:

댓글 쓰기