"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 지원하는 게임(메탈기어 디스크판, 스내쳐 등)의 사운드를 즐길 수 있게 된 이유입니다.
쉽죠? ㅎ.ㅎ
그럼, 이만~ 슈슝~~
댓글 없음:
댓글 쓰기