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의 불꽃을 볼 수 있어요. ㅎ.ㅎ




그럼, 이만...~

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



2018년 10월 20일 토요일

MMC/SD Drive V4 제작 #6 - GameRunner (가상 슬롯)

GameRunner는 가상의 MSX 환경을 만들어 주는 기능입니다.

MMC/SD V3에서도 GameRunner 기능(가상의 MSX1 ROM 환경)이 있었는데요,

V4는 내부 가상슬롯(확장슬롯이 아닙니다) 기능으로 좀 더 다양한 환경을 만들 수 있게되었습니다.


기능을 나열해보면요...

- MSX1,2,2+ 가상모드 (JP/KR/EU Locale 지원)

- BASIC 환경 지원

- DiskROM 지원 (DSK 파일 실행)

- MegaRAM과 DiskROM을 동시 구동 (ROM + DSK, DeluxeBox + DSK, SCC-I + DSK)

- RAM Kanji Font 지원

- 넌매퍼 64KB 또는 메모리매퍼 512KB 선택가능 (메인 메모리 설정)



V4의 가상 슬롯은 4개로 이루어져있구요. GameRunner 모드로 전환되면 활성화됩니다.

활성화되면, 가상 슬롯 4개가 본체의 기본 슬롯 4개를 대체하는 방식으로 동작합니다.


아래는 MSX2 JP 모드로 구동 후, SLOT_CHK.ROM을 실행한 모습입니다.

참고로, MMC/SD V4 카트리지는 A1GT의 슬롯2-0에 장착된 상태입니다.

어떤식으로 구현되는지 짐작이 되시죠? ㅎ.ㅎ





아래는 여러가지 조합으로 구동되는 GameRunner 영상입니다.

ROM/DSK 로딩없는 BASIC 부팅 및 각종 ROM, DSK, DeluxeBox, SCC-I 조합환경을 보여줍니다.





다음편에서는 PAC-V 비주얼라이저 연동과 듀얼 DCSG 동작 모습이 나올 예정입니다~ ㅎ.ㅎ

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



.

.

.


PS. 최종 테스트 용 V4 PCB가 나왔습니다. (아쉽게도 잘 동작하네요.ㅋ)

    곧 제작 신청을 받을 예정입니다. 올 크리스마스까지 달려보아요~ ㅎ.ㅎ/





2018년 10월 6일 토요일

MMC/SD Drive V4 제작 #5 - 레알 DCSG(SN76489)를 붙여보자

초기 계획이랑 조금 달라진 부분이 되겠네요.

보드에 CPLD 두개를 실장하고, 두번째 CPLD는 사운드 전용으로 쓰려는 계획이었는데요.


막상 개발를 해보니...

메인 CPLD 하나에 MMC/SD + MegaRAM + GameRunner (Virtual Machine) + SCC-I + PCM까지 다 들어가더라구요.

남은 로직은 별로 없긴하지만요~ ㅎ.ㅎ


결과적으로, 두번째 CPLD에 DCSG랑 PSG를 넣으려던 계획은 삭제(!)되었습니다. ㅎ.ㅎ

대신 DCSG 칩 한개를 보드에 넣기로 했어요. 진짜 칩이요~ SN76489입니다.


DCSG(SN76489)는 PSG(AY-891x)에 비해 크기가 작아서, 보드에 넣기에도 부담이 적습니다.

물론 DIP 타입이긴 하지만요. 꼭 OPLL 칩을 보는 듯 하네요.





기존 MMC/SD V4 개발 보드에도 하나를 붙이고, 따로 만능기판으로도 하나 만들었습니다.

칩 테스트 용으로 하나 있어야할 것 같아서요. 흐...


앞면 사진입니다.





뒷면 사진입니다.





DCSG 컨트롤 포트는 49H를 사용합니다.

사실 40H~4FH 영역은 Switched I/O로 할당된 곳이긴 하지만,

Franky 카트리지가 오랫동안 점유하고 있습니다. (덕분에 다른 기기들은 49H 포트를 피해야..ㅋ)


참고로 VGMplay 프로그램은 DCSG 재생 시, 항상 Franky 카트리지가 존재한다고 가정하고 동작합니다.

DCSG는 레지스터를 읽을 수 없는 칩이라서, 디텍션이 불가능하기때문에 이렇게 동작하는걸로 보심 되겠습니다.


그리고, MMC/SD V4의 DCSG I/O포트는 Disable 가능하기 때문에,

진짜 Franky 카트리지를 함께 꽂더라도 문제되진 않습니다.



동작영상은 따로 안찍어도 되겠죠? ㅎ.ㅎ

DCSG 구동 모습은 이미 유튜브에 두어개 올라가있을겁니다. 궁금하시면 찾아보시구요~



그럼, 다음편에서 보아요~ ㅎ.ㅎ


궁금한 점 있으시면 댓글주세요!

 

2018년 10월 2일 화요일

2018년 파라동 정모 후기

2016년 이후 2년만의 정모였습니다.

장소는 이번에도 파나소닉 코리아 컨퍼런스 룸이었구요.





많은 분들이 오셔서 즐거운 시간을 보냈습니다.







저는 집에서 쓰는 MSX 세팅을 그대로 들고 왔습니다.

V4 개발 보드도 가져와서 몇가지 시연도 했습니다.




2012년에 만들었던 "ASO 리메이크 AREA1"도 켜봤습니다.

간만에 해봤는데, 여전히 어렵네요 ㅋ

조이메가로 개조된 MD패드도 갖고 왔었어요.




다른 분들의 부스 사진도 몇장 나갑니다. (사실 몇장 못찍었습니다요)






이번 모임에서 MSX 퀴즈랑 게임대회가 아~주~ 잼났습니다.

게임 진행하던 모습이 담긴 사진/영상이 좀 있는데, 약간 민망한 샷이라 업로드는 안합니다요~ 히히






그리고 키티야님의 한글화 진행중인 게임도 잠깐 보여주셨네요.

세상의 종말이 오더라도 그건 하고(?)봐야되는 ... 그런 게임이었어요.




그리고... 대망의 득템샷~

그 동안 가위바위보의 벽에 막혀서 득템의 기회가 별로 없었는데요.

이번에 게임대회(허족, 올림픽)에서 모두 2등을 하는 바람에 싹쓸이를 했습니다~~~~ㅎ.ㅎ

송년회가 곧 다가오니, 득템에 실패하신 분들은 미리 가위바위보 연습 좀 하시구요.


빛님이 제작하신 뱃지가 참 이쁘네요. 



행사 준비하신 분들, 같이 즐겨주신 분들, 모두 감사드립니다!

뭐 늘 그랬지만 ㅎ.ㅎ 아자씨들끼리 떠들고 노는게 참 재밌습니다요~