2019년 4월 6일 토요일

XII-V 제작 #3 - 메인 보드와 LED 보드의 합체!

일단 동작 사진 한장 올리구요~ㅋ






드뎌 메인 보드 용 PCB가 나왔습니다~ ㅎ.ㅎ/






납땜을 쑝~쑝~ 해주면 보드가 완성!

PAC-V는 SRAM + 충전지 조합을 사용하지만, XII-V는 그냥 플래쉬롬을 사용합니다.






동작을 해보려면, X-II 메인보드와 연결을 해야하는데요.

메인보드의 슬롯1 커넥터에 꽂혀있던 케이블을 뽑고, 대신 XII-V 연결 용 케이블을 장착합니다.

케이블은 맛탱이님께서 작업해주셨습니다. ㅎ.ㅎ/






기존 전면 슬롯 용 케이블은 XII-V 케이블의 중간에 꽂을 수가 있습니다.

XII-V는 I/O 포트만 사용하도록 설계되어있어서, 이렇게 슬롯1과 병렬로 연결해서 동작합니다.

/SLTSL 관련 신호는 쓰지 않습니다요~






X-II 메인보드와 AV 보드 사이에 공간이 꽤 있기 때문에 이렇게 연결해도 별 문제가 없네요!

참고로 케이블은 50cm입니다. FDD B: 드라이브 용 베이까지 여유있게 닿습니다.






연장된 케이블을 그대로 XII-V 메인보드에 꽂아줍니다~ 합체!! ㅎ.ㅎ

XII-V 메인보드 아래쪽엔 지지대가 있어서, 바닥철판에 닿지않도록 되어있어요.

약 10mm 정도 떠있는 상태입니다.






마지막으로 메인보드를 LED 보드와 연결합니다.

5x2핀 커넥터 두개를 잘 맞춰서 합체합니다~ ㅎ.ㅎ





보드 커넥터가 끝까지 삽입되면 이런 상태가 되어요~






LED 출력 패턴은 플래쉬롬에 들어갑니다.

처음엔 보드의 플래쉬롬이 깡통(!) 상태니까, 패턴 데이터를 넣어줘야겠죠?

잘 되는군요! ㅎ.ㅎㅋ






LED가 이쁘게 나오는지 확인해보아요~

요건 동영상으로 찍었습니다.




그럼, 다음편에서 만나요~


2019년 4월 4일 목요일

JoyMega - 8BitDo M30 2.4g 사용기

얼마전 주문했던 메가드라이브 용 무선 패드가 집에 도착했습니다. ㅎ.ㅎ/






MSX에서는 JoyMega 어댑터를 이용하면 6버튼으로 사용가능합니다.





윈도에서는 USB 케이블(번들되어 있음)을 연결하면 XBOX 360 패드로 인식됩니다.




조금 테스트해보니, 윈도에서는 잘 동작하는데...

MSX에서는 무선패드로 사용 시 버튼반응이 느리거나, 몇초간 입력이 먹통되는 현상이 나오네요.

이 문제 현상은 F/W를 업뎃하면 개선이 됩니다.


제 경우는 업뎃 모드로 USB 연결 시, V1_09로 나오는걸로 보아 v1.09 F/W인 듯 하네요.

아마 다른 분들도 같은 버전이라면 업뎃하셔야 될겁니다요~ 


패드에 들어갈 F/W와 무선 리시버에 들어갈 F/W 두개 파일이 있습니다.

바꿔서 넣으면 X되겠죠? ㅋ





참고로, 무선 리시버는 별모양 나사로 채결되어있지만,

사이즈가 적당한 일자 드라이버로도 열 수 있습니다.

뚜따를 하면 USB 커넥터가 보이네요.





제 PC는 윈도10 사용 중이구요. F/W 업뎃 매뉴얼 따라서 했을 때 문제없이 한방에 잘 되었습니다.

참고하시구요.


F/W 업뎃 후에는 버튼 반응도 빠릿빠릿하고, 입력이 먹통되는 현상도 사라지네요.

간만에 ASO 리메이크 한판 했습니다. ㅎ.ㅎ


8BitDo M30 2.4g 개인적으로 강추하는 패드입니다요.

패드 마감도 괜찮구요. 적당한 무게감에 빠른 반응 속도(유선 MD패드랑 차이 못느낌ㅋ)가 맘에 듭니다!


그럼, 이만~~ ㅎ.ㅎ


PS. 매뉴얼, 업뎃 F/W 및 MSX 용 JoyMega 테스트 프로그램도 첨부합니다. 필요하시면 쓰세요!

Download: Manual_M30_2.4g.pdf

Download: 8BitDo_M30_2.4G_Firmware_V2.00-vgo.zip

Download: JOYTEST.zip



2019년 3월 30일 토요일

MMC/SD Drive V4 제작 #11 - PSG to SCC 구현




아시다시피 V4에는 SCC 사운드가 들어있습니다.


게임을 구동할 때 PSG만 지원하는 경우는 V4의 SCC 사운드가 쉬고 있을텐데요.

이걸 강제로 구동해보려고 합니다.

그러니까 원래 PSG 사운드는 그대로 출력이 되고, SCC가 추가되는 셈이에요.


PSG의 사운드 출력을 가로채려면 아래 두가지 방법이 있습니다.

1. 기존 게임의 PSG write 코드를 패치

2. 주기적으로 PSG 레지스터를 읽어서 처리


참고로 V3의 게임러너는 PAC-V의 비주얼라이저 처리를 위해, 위의 1번 방법을 사용했습니다. 

V4에서는 게임러너 BIOS에서 PSG 레지스터를 읽어서 PAC-V로 전달하는 방법으로 바꿨습니다.

그러니까 위의 2번 방법을 쓰고 있는거죠.


두둥~ 선택은? 2번으로 갑니다.

이유는? 이미 PAC-V 때문에 같은 방식으로 쓰고 있으니까요 ㅎ.ㅎㅋ



그럼 SCC 소리를 PSG랑 섞었을 때 적당한 파형이 있을까요?

PSG는 구형파로 고정되어 있으니, 간단하게 사인파 또는 톱니파 등으로 섞어봅니다.


아래는 사운드 에디터로 만든 파형입니다.

두개는 기존 코나미 게임에서 쓰이는 샘플을 편집했구요.

나머지는 대충 만들었습니다ㅋ





게임 동작 중 단축키를 눌러서 SCC wave 메모리를 변경할 수 있습니다.


  단축키 = CTRL + SHIFT + 숫자키

  1 키 = PSG only

  2 키 = PSG + SCC (Sine wave)

  3 키 = PSG + SCC (Half sine + half sawtooth)

  4 키 = PSG + SCC (Double sine + sawtooth)

  5 키 = PSG + SCC (Double sawtooth)

  6 키 = PSG + SCC (사용자 wave 파일)


기본 파형 4개 외, 사용자가 임의로 추가할 수 있는 영역도 넣었어요.

롬파일과 같은 이름의 *.PCM파일이 발견되면, 자동으로 로딩되도록 합니다.


*.PCM 파일은 SCC 채널 3개에서 쓰일 샘플 데이터로 구성됩니다.

한 채널의 샘플은 32바이트의 signed 8BIT PCM이구요.

3채널을 모으면 총 96바이트의 PCM 파일이 되겠네요.


아래는 요술나무에서 쓰려고 편집한 PCM 파일입니다.

에디터에서 읽으면 요렇게 볼 수가 있죠~





MMCSD.COM으로 로딩하면 아래처럼 롬파일과 PCM파일이 한꺼번에 로딩됩니다.

PCM파일이 로딩되는 경우는 PSG2SCC 기능이 자동으로 ON 되니까 편하게 쓸 수 있어요.



샘플 파일 몇개 넣은 ZIP파일입니다.

심심하시면 구경하셔요~

Download: V4_PSG2SCC_Sample.zip



그럼 설명은 여기서 끝내고, 어떻게 동작하는지 영상으로 한번 보시죠.

영상 초반에는 롬파일만 로딩해서 내장된 샘플을 사용하고,

영상 후반에는 PCM파일을 자동으로 로딩해서 구동되는걸 볼 수 있어요.






그럼, 편안한 밤 되셔요~