2018년 11월 11일 일요일

MMC/SD Drive V4 제작 #9 - GameRunner (PAC-V Visualizer)




MMC/SD V3와 PAC-V를 갖고 계신다면, GameRunner에서 동작하는 PSG 불꽃쇼를 보셨을텐데요.

V4에서는 SCC-I 기능이 추가되면서 SCC 불꽃쇼도 가능하도록 되었습니다.


PAC-V에는 총 9개의 LED 바(Bar)가 들어있습니다.

만약 S/W에서 OPLL을 사용한다면, OPLL 레벨미터가 우선권을 가지고 동작하게 되구요.

OPLL을 쓰지 않는 경우는 PSG 3개 + SCC 5개로 사용가능합니다.


MMCSD.COM 프로그램에서 GameRunner 모드로 진입 시,

MSX-Music ROM을 Disable 하면, PSG + SCC 모드로 설정이 됩니다.


만약 S/W가 Main BIOS의 ISR(인터럽트 처리 루틴)을 사용하지 않거나,

PSG를 직접 컨트롤하는 경우는 PSG/SCC 비주얼라이저가 동작하지 않으니... 놀라지마시구요. ㅎ.ㅎ;


음... 설명할게 별로 없네요. 그냥 영상으로 보시죠~ ㅎ.ㅎ





2018년 11월 4일 일요일

MMC/SD Drive V4 제작 #8 - OCM 기종에서 DCSG 동작불가

MMC/SD Drive V4에는 DCSG칩인 SN76489AN가 들어있습니다.

근데 저의 OCMC에서는 DCSG 컨트롤이 전혀 되지않네요.

OCMC 기본 펌웨어는 KdL PLD v3.1 또는 v3.2를 기반으로 제작된걸로 알고 있습니다.

제껀 v3.2 펌웨어입니다. 오리지널 OCM에서는 테스트를 못해봤지만, 아마 동작안 될 것 같네요.



DCSG칩은 조금 특이하게도 data write 시, 32 클럭동안 data를 유지해야하는 조건이 있는데요.

V4는 DCSG의 READY 출력신호를 이용하여 MSX의 /WAIT를 인가하는 방법으로 설계되어있어요.

세가 SG-1000 구조와 동일하다고 보시면 됩니다.


문제는 OCM의 /WAIT 상태에서 BUS 신호가 유지되지 않는 것처럼 보이더라구요.

실제로 오실로스코프 등으로 확인해본건 아니라서, 어떤 신호가 문제인지는 파악안된 상태입니다.

MRC 게시판을 검색해보니,

DCSG를 넣은 롬팩이 OCM에서는 소리가 안나온다는 얘기가 있긴하더라구요.

아마 OCM의 설계 문제가 아닐까 싶습니다.



암튼 결론은,

MMC/SD Drive V4의 DCSG 사운드는 OCM 계열의 본체에서는 사용불가입니다.

MMC/SD BIOS에서 부팅 시, KdL PLD 펌웨어가 인식되면 DCSG를 끄도록 해놨습니다.


OCM 본체에서 MMC/SD V4를 사용하실 분들은 참고하셔요.


궁금한 부분이 있으시면, 댓글로 ㄱㄱㄱ


2018-11-07 추가

/WAIT 처리 문제는 KdL PLD 문제로 확인되었습니다.

OCMC의 경우는 메가밍크스님의 최신 펌웨어(2018-11-07)로 업뎃하시면 정상동작합니다.

결론: 본문 내용은 잊으시면 되겠습니다요~ ㅎ.ㅎㅋ



PS. 최종 PCB가 나와서 조립해보았습니다.

    아래 사진처럼 빨간색 보드입니다요~ ㅎ.ㅎ




2018년 10월 28일 일요일

MMC/SD Drive V4 제작 #7 - 듀얼 DCSG 활용

MMC/SD V4에는 SCC-I, DCSG, 8BIT PCM 이렇게 3종류의 사운드가 들어있습니다.


만약 MMC/SD V4를 두개 이상 꽂게 되면 어떻게 될까요?

I/O 포트를 사용하는 DCSG와 PCM은 I/O 주소가 중복이 되겠죠?

참고로, SCC-I의 경우는 메모리맵 I/O로 구동되기 때문에 서로 충돌하지 않습니다.


DCSG, PCM의 기본포트는 아래와 같습니다.

DCSG = 49H (Franky DCSG 포트)

PCM  = 91H (Covox PCM 포트)


만약 카트리지가 두개가 장착이 되면 두번째 DCSG, PCM 포트는 아래처럼 변경됩니다.

DCSG = 3FH (MMM DCSG 포트)

PCM  = 0AH (MusicModule PCM 포트)


물론 포트를 개별적으로 OFF할 수도 있구요.

사실 DCSG, PCM 모두 출력전용 포트라서, 기기가 중복되어도 큰 문제가 생기지는 않습니다.

대신 사운드가 중복되니까 볼륨이 좀 크게 나오겠네요ㅋ


현재 DCSG의 경우는 활용할 수 있는 경우가 두가지인데요.

SG-1000 loader, VGMPlay


여기서 VGMPlay는 듀얼 DCSG를 지원합니다.

하지만 MMC/SD V4를 직접 지원하는건 아니니, 활용하려면 VGMPlay 소스를 좀 고쳐야겠죠?

PAC-V의 비주얼라이저도 쓸 수 있으면 더 좋겠구요. ㅎ.ㅎ


아래는 수정된 VGMPlay로 원더보이2 VGM을 재생하는 모습입니다.

DCSG는 구형파 3채널 + 노이즈 1채널로 구성되어있구요.

DCSG 칩 하나가 PAC-V의 LED바 4개를 사용하도록 했습니다.

듀얼 DCSG가 모두 동작하면 불꽃 8개를 볼 수 있겠네요.




영상도 하나 찍어보았습니다.

DCSG뿐만 아니라 PSG, SCC 재생 시에도 PAC-V의 불꽃을 볼 수 있어요. ㅎ.ㅎ




그럼, 이만...~

궁금한 부분이 있으시면 댓글달아주세요.