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 필수가 될지도 모르겠습니다. ㅋㅋ



Title MSXrating email rss

CCL

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

ClusterMaps

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

통계 위젯 (화이트)

323
186
155633

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

25