2012년 2월 12일 일요일

ASO remake - 2012.02.12 update

ASO_remake_20120212.zip

ASO_remake_20120212_dsk_image.zip


----------------------------------------------------------------

    ASO remake (2012.02.12)

        By 서영만 (E-mail:sharksym@hitel.net)

----------------------------------------------------------------



* ASO remake


본 프로그램은 1985년 SNK에서 제작된 ASO를

 MSX용으로 리메이크한 것입니다.


현재 ASO의 AREA1만 구현이 되어있습니다. ^^



* 요구사항


실기: MSXturboR GT (또는 512램 확장된 ST)

      MSX-AUDIO (또는 MoonSound 호환 카드)

      JoyMega 3버튼 패드 (옵션)


에뮬: blueMSX FS-A1GT 컨피그



* 실행방법


압축 파일을 MSX용 디스크(IDE,MMC/SD등의 빠른 디스크 추천)에 놓는다.

(에뮬레이터에서는 DSK 파일을 마운트하면 끝)


DOS2로 부팅후 ASO.COM 파일을 실행


사운드 옵션은 기본 MoonSound로 설정되므로,

MSX-AUDIO 계열은 ASO /A 로 실행하면 소리를 들을 수 있습니다.



* 키입력


이동  : 커서  키           (JoyMega 십자 버튼)

레이져: SPACE 키 또는 N 키 (JoyMega B 버튼)

미사일: 취소  키 또는 B 키 (JoyMega C 버튼)

아머  : GRAPH 키 또는 V 키 (JoyMega A 버튼)

종료  : ESC   키



* 히스토리


2012.02.12

  JoyMega 3버튼 패드 지원


2012.02.05

  스크롤 및 아머 처리 개선

  키입력 추가 (N,B,V)


2012.02.04

  AREA1 릴리즈


2012년 2월 9일 목요일

JoyMega - 메가드라이브 6버튼 패드

며칠전 3버튼 MD 패드를 JoyMega 스타일로 개조했었는데요.


이번에 옥션에서 6버튼 패드(연사 기능 포함)를 몇개 주문했습니다.

SEGA 로고가 박혀있지만, 정품은 아닌걸로 알고 있습니다용~

기존 3버튼 패드보다 사이즈가 약간 작은데, 손에 쥐어보니 버튼 누르기도 편하고..흐흠.. 괜찮은 듯 하네요.




아래는 기판입니다. 9개 선들이 붙어있는게 보이는군요~




뒤집으면 버튼 접점이 보이는군요. 딱딱한 쵸코볼이 하나 붙어있네요.




아시다시피 7,8,9번 핀들의 위치를 바꿔야 MSX에서 사용이 가능하구요.

8번핀은 74LS04를 한번 거친 후 연결합니다. MD패드의 Select핀(7번)으로 뒤집혀서 들어가는거죠.

아래 사진처럼 74LS04의 VCC 핀을 납을 잔뜩 발라서 붙이면 되겠습니다요.

패드가 두툼해서, 칩 하나 들어갈 공간은 충분하더군요.




개조후, JoyMega 테스트 프로그램으로 모든 버튼 8개가 잘 눌러지는지 테스트해봤습니다.

연사 켰을때도 잘되네요.

사라만다랑 ASO도 한판씩 하면서 점검~ ㅋ


다 잘되는데, 한가지 문제가 있긴합니다.

패드의 연사 스위치가 2단계로 되어있는데,

TURBO 로 선택하면, 빠르게 연사가 잘되는데요. SLOW일때는 버튼 입력이 안되는군요. ㅡ,.ㅡ


결론:

패드 4개 샀으니, 한 20년 정도는 패드 걱정 없이 살아도 되겠죠? ㅋ



PS. SLOW 스위치는 연사 속도를 의미하는게 아니라,

      메가드라이브 게임에서 START 버튼으로 PAUSE를 걸어주는 게임에서 사용되는거라고 하네요.

      결국 SLOW 위치에 놓으면, START 버튼이 일정 속도로 빠르게 계속 연타가 됩니다. 자동으로요~ ㅎ

      심심해서 ASO 에서도 START 버튼에 PAUSE 넣고 해봤는데, 똑같이 겜 속도가 느려지는 효과를 볼수 있었습니다. ㅎ.ㅎ


2012년 2월 7일 화요일

JoyMega - 메가드라이브 3버튼 패드

메가드라이브(이하 MD) 패드가 MSX (아타리 표준?) 조이스틱과 비슷해서,

개조해서 쓰시는 분이 많은 걸로 알고있어요.


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



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

http://frs.badcoffee.info/hardware/joymega-en.html



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

http://segaretro.org/Control_Pad_(Mega_Drive)

http://applause.elfmimi.jp/md6bpad-e.html




아래는 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 +5V

6 A/B

7 Select

8 Ground

9 Start/C



둘을 비교해보면, 거의 비슷한데요. (7,8,9번의 핀 순서가 조금 다릅니다.)

MD는 트리거 버튼 입력 핀이 두개라서 MSX랑 동일한데,

대신 7번 핀의 Select 신호에 따라서 A,Start 또는 B,C 버튼 상태가 출력되도록 되어있습니다.

7핀 LOW  -> A 및 Start

7핀 HIGH -> B 및 C

이런식입니다.


만약 MD패드의 7,9번 핀을 개조하게 되면,

MSX에서 조이스틱을 읽을 때 8번 핀이 LOW로 출력이 되기 때문에 아래처럼 MD패드의 B,C 버튼이 동작합니다.

MSX 7핀 (트리거2) -> MD 9핀 (버튼C)

MSX 8핀 (LOW)   -> MD 8핀 (GND)

MSX 9핀 (GND)   -> 연결안함 (MD 7핀은 내부 풀업으로 HIGH로 동작함)



그럼, JoyMega 의 역할은 뭘까요?

MSX의 기존 BIOS 조이스틱 루틴과 충돌하지도 않고,

MD 패드의 4개 버튼을 쓸수도 있게 만드는 것입니다.


동작은 아래처럼 됩니다.

1. MSX BIOS에서는 조이스틱 값 체크 시, 8번핀 OUT을 항상 LOW로 출력

2. MD패드의 B,C 버튼이 MSX 조이스틱의 기본 1,2 트리거로 사용

3. MD패드의 A,Start 버튼은 MSX의 8번 OUT이 HIGH 상태에서 읽을 수 있음 (MSX BIOS 대신 별도 S/W가 필요)


사실 개조는 간단한데요.

74LS04 류의 인버터 하나만 있으면 됩니다.

1. MSX 7핀 -> MD 9핀, MSX 8핀 -> MD 7핀, MSX 9핀 -> MD 8핀

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은 방향키 입력 핀입니다.


Cycle TH out TR in TL in D3 in D2 in D1 in D0 in

1 HI C B Right Left Down Up

2 LO Start A 0 0 Down Up

3 HI C B Right Left Down Up

4 LO Start A 0 0 Down Up

5 HI C B Right Left Down Up

6 LO Start A 0 0 0 0

7 HI C B Mode X Y Z

8 LO Start A --- --- --- ---


보시면, 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버튼 패드도 몇개 질렀는데, 오면 요것도 한번 개조해서 테스트해봐야겠습니다.



 

2012년 2월 5일 일요일

ASO remake #14 - AREA1 완성!!! (2012.02.05)

드디어 AREA1 이 완성되었습니다. ㅜ.ㅜㅋ



작년 봄부터 만들던 것이 해가 바껴서야 빛을 보게 되네요.

원작을 100% 구현하지는 못했지만...

MSX turboR의 성능을 최대한 살려~서 비슷한 느낌이 나도록 했습니다. (진짜로...ㅋ)


아래 파일을 다운로드 하시면, 실행해볼수 있겠습니다.

일반 파일 압축과 에뮬레이터용 DSK 이미지 두개로 업로드합니다.

ASO_remake_20120205.zip

ASO_remake_20120205_dsk_image.zip


----------------------------------------------------------------

    ASO remake (2012.02.05)

        By 서영만 (E-mail:sharksym@hitel.net)

----------------------------------------------------------------



* ASO remake


본 프로그램은 1985년 SNK에서 제작된 ASO를

 MSX용으로 리메이크한 것입니다.


현재 ASO의 AREA1만 구현이 되어있습니다. ^^



* 요구사항


실기: MSXturboR GT & MSX-AUDIO(또는 MoonSound 호환 카드)

에뮬: blueMSX FS-A1GT 컨피그



* 실행방법


압축 파일을 MSX용 디스크(IDE,MMC/SD등의 빠른 디스크 추천)에 놓는다.

(에뮬레이터에서는 DSK 파일을 마운트하면 끝)


DOS2로 부팅후 ASO.COM 파일을 실행


사운드 옵션은 기본 MoonSound로 설정되므로,

MSX-AUDIO 계열은 ASO /A 로 실행하면 소리를 들을 수 있습니다.



* 키입력


이동  : 커서 키

레이져: SPACE 키 또는 N 키

미사일: 취소 키 또는 B 키

아머  : GRAPH 키 또는 V 키

종료  : ESC 키



* 히스토리


2012.02.05

  스크롤 및 아머 처리 개선

  키입력 추가 (N,B,V)


2012.02.04

  AREA1 릴리즈