2017년 8월 25일 금요일

MMC/SD Drive는 어떻게 SCC 사운드와 공존할까?

"MMC/SD Drive는 어떻게 SCC 사운드와 공존할까?"

혹시 이런 의문 가져보신 분 있으세요?


"보드에 SCC 칩이 들어있으니, SCC 사운드가 나오는게 당연한게 아니었나?"

아마 깊게 생각안해보신 분들도 계실 듯 해서 짧게 설명드려봅니다~ ㅎ.ㅎ


MSX의 슬롯에서 동작하는 SW는 16KB 페이지 단위로 관리됩니다.

Z80 CPU 주소가 64KB니까 4개 페이지로 나뉘는거죠.

페이지0 = 0000H ~ 3FFFH

페이지1 = 4000H ~ 7FFFH

페이지2 = 8000H ~ BFFFH

페이지3 = C000H ~ FFFFH


그럼, MMC/SD Drive는 어떤 페이지를 사용할까요?


2004년에 처음 제작했을 시, MMC/SD BIOS는 페이지1,2를 사용했었습니다.

그러니까 4000H ~ BFFFH 영역을 사용하는거죠.


근데, SCC 사운드는 페이지2를 사용합니다.

오리지널 SCC = 9800H ~ 98FFH

SCC-I 모드   = B800H ~ B8FFH


어라? 페이지2가 겹치네요. ㅎ.ㅎ;

MMC/SD BIOS를 페이지1만 사용하도록 잘 구겨넣으면, SCC 사운드를 함께 쓸 수 있겠더라구요.


그래서 최종적으로 MMC/SD BIOS는 페이지1에서 구동되도록 제작이 되었구요.

따라서, 페이지2에 SCC 레지스터가 매핑되더라도 디스크 동작에 영향이 없게 되었습니다.


MMC/SD Drive V2하나만 꽂아도...

외장 SCC 지원하는 게임(메탈기어 디스크판, 스내쳐 등)의 사운드를 즐길 수 있게 된 이유입니다.

쉽죠? ㅎ.ㅎ


그럼, 이만~ 슈슝~~


댓글 없음:

댓글 쓰기