sharksym's MSX World

sharksym.egloos.com

포토로그


구글 애드센스


JoyMega - 메가드라이브 패드를 MSX에서 사용하려면~ by sharksym

메가드라이브(이하 MD) 패드가 MSX (아타리 표준?) 조이스틱과 비슷해서,
개조해서 쓰시는 분이 많은 걸로 알고있어요.

저도 한..10년 전엔가 3버튼 패드 산걸로 지금껏 쓰고 있었는데용~


아래 홈페이지에 가봤더니, JoyMega라는게 있네요.


아래 홈페이지 보시면, 3버튼, 6버튼 패드 컨트롤에 관한 내용이 좀더 자세하게 나옵니다.



아래는 MSX 조이스틱 포트의 핀배열이구요.

1
Up
2
Down
3
Left
4
Right
5
+5V
6
Trigger 1
7
Trigger 2
8
OUT
9
Ground



아래는 MD 3버튼 패드(Start 포함 4버튼)의 핀배열입니다.

1
Up
2
Down
3
Left
4
Right
5
+5 V
6
A/B
7
Select
8
Ground
9
Start/C


둘을 비교해보면, 거의 비슷한데요. (7,8,9번의 핀 순서가 조금 다릅니다.)
MD는 트리거 버튼 입력 핀이 두개라서 MSX랑 동일한데,
대신 7번 핀의 Select 신호에 따라서A,Start 또는 B/C 버튼 상태가 출력되도록 되어있습니다.
7핀 HIGH -> A 및 Start
7핀 LOW -> B 및 C
이런식입니다.

사실 MSX의 포트에서도 8번 핀에 Select 신호가 나가긴 하는데요.
조이스틱 입력시는 LOW로 출력이 되기 때문에,
MD 패드를 그대로 MSX에 연결하면 A,Start 버튼으로 동작됩니다.

이 때문에 개조 할때는 패드쪽의 7번 Select 핀을 끊어주면,
Select가 HIGH가 되어서 항상 B,C 버튼으로 쓸수 있게 됩니다.
(참고로 패드 뜯어보면 7핀 Select 입력쪽에 5V 풀업이 되어있습니다.)


그럼, JoyMega 의 역할은 뭘까요?
MSX의 기존 BIOS 조이스틱 루틴과 충돌하지도 않고,
MD 패트의 4개 버튼을 쓸수도 있게 만드는 것입니다.

동작은 아래처럼 됩니다.
1. MSX BIOS에서는 조이스틱 값 체크 시, 8번핀 OUT을 항상 LOW로 출력
2. MD패드의 B,C 버튼이 MSX 조이스틱의 기본 두번으로 사용 (7번핀 Select 가 HIGH가 되어야함)
3. MD패드의 A,Start 버튼은 MSX의 8번 OUT -> MD 패드 7번 Select 신호로 사용

사실 개조는 간단한데요.
74LS04 류의 인버터 하나만 있으면 됩니다.
1. MSX 포트의 8번핀이 MD 패드의 7번핀에 연결함.
2. MD 패드 7번 신호는 그대로 기판으로 연결하지 않고, 74LS04 를 이용해서 신호를 뒤집는다.

어제 밤에 납땜에서 테스트해봤는데, 잘 되더군요.
참고로 위의 JoyMega 관련 홈페이지에 가면, 패드 체크하는 프로그램 받을 수 있어요.



아주 간단하게 MD 3버튼(실제4버튼) 패드를 사용할 수 있게됩니다.
음... 그럼 추가된 2버튼을 어떻게 쓰냐고요?
기존 MSX 게임들은 당연히 2버튼 기준으로 되어있으니 활용처가 없구요.
새로 만드는 게임에서는 따로 코딩을 해서 JoyMega를 지원할 수 있겠습니다.
여기서 ASO도 포함됩니다. 버튼을 3개 쓰고 있어서요. ㅎ.ㅎㅋ


그럼, 6버튼(실제8버튼) 패드는 어떻게 쓸 수 있을까요?
요건 따로 사용법이 있더군요.
실제 MD에서도 6버튼은 SW 호환에 문제될수가 있어서, 3버튼 모드로 바꿀수가 있나보네요.

아래는 6버튼 패드를 사용하는 방법입니다.
TH out 이 7번핀 Select 를 의미하고, TL/TR은 트리거 핀, D0~D3은 방향키 입력 핀입니다.

CycleTH outTR inTL inD3 inD2 inD1 inD0 in
1HICBRightLeftDownUp
2LOStartA00DownUp
3HICBRightLeftDownUp
4LOStartA00DownUp
5HICBRightLeftDownUp
6LOStartA0000
7HICBModeXYZ
8LOStartA------------

보시면, Mode, X, Y, Z 네개 버튼이... 방향키 입력핀을 통해 읽히는걸 알수 있습니다.
대신 조건이 있죠.
Select 핀을 LOW/HIGH 3번 변경을 해줘야 읽을 수 있습니다.
그 전까진 그냥 방향키로만 읽을수 있고요.
홈페이지 설명을 보니, Select 핀 상태가 변한 후 1.5ms가 지나면 Cycle 이 초기화 된다고 하네요.
그러니까 빠르게 읽어야 나머지 4개 버튼 상태를 확인할 수 있겠습니다.

아직 JoyMega 8개 버튼 다 쓰는 게임을 본적이 없어서, 활용 가능성은 애매합니다. ㅎ.ㅎ;
누군가 Street Fighter 리메이크라도 한다면 쓸모있을까요?


2줄로 요약하면...
1. JoyMega 로 개조를 하면, 기존 MSX 게임에서는 B,C 버튼으로 동작한다.
2. SW 가 지원만 된다면, 8버튼 모두 MSX에서 사용이 가능하다.
입니다.

이번주 중에 6버튼 MD패드 몇개 사서 한번 테스트해보려고 합니다.
어제밤에 3버튼 패드 개조해보니, 잘 동작하더군요. ㅎ.ㅎ

일단 ASO에 JoyMega 처리 루틴 추가해보았습니다.
으흐... 잘되는군요. ㅎ.ㅎㅋ
옥션에서 6버튼 패드도 몇개 질렀는데, 오면 요것도 한번 개조해서 테스트해봐야겠습니다.


핑백

덧글

  • jinsmac 2012/02/07 10:08 # 삭제 답글

    아소 전용패드가 탄생하는 순간인가요...
  • sharksym 2012/02/07 10:59 #

    JoyMega 는 SW만 지원해준다면 얼마든지 활용이 가능한데요.
    막상 외쿡 유저들은 MSX1/2 기본 세트만 활용하는지 주변기기는 별 관심이 없는 듯 하네요.
    www.msx.org 검색해봐도 소개글 몇개 정도만 나오네요... ㅎ.ㅎㅋ

    혹시 Street fighter 리메이크가 나온다면... JoyMega 필수가 될지도 모르겠습니다. ㅋㅋ
댓글 입력 영역



구글 애드센스 (작은사각형)

MSX rating

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