2018년 7월 1일 일요일

paraMSX-R 제작 #16 - 메모리 슬롯 설정

30년 전에 MSX를 쓰셨던 분들은 이걸 기억하실텐데요.

"MSX1은 메모리가 슬롯2에 있고, MSX2는 메모리가 슬롯0-2에 있다"

물론 국산 기종에 한정된 내용입니다. 아이큐1000, X-II 등등


그 시절에는 확장슬롯이나 외장 메모리매퍼를 쓰는 사용자가 (거의) 없으니,

프로그램 만들 때, 메인 메모리의 위치를 확인할 필요성이 없었습니다.

메인 BIOS의 MSX 버전만 확인해서, 이게 MSX1인지 MSX2인지 정도만 알면 땡이었어요.

파워업테크닉 책에도 슬롯 설명할 때 비슷한 내용이 나옵니다.


일제 MSX 기종은 메모리가 대부분 슬롯3-0에 있어요.

OEM으로 들어간 유럽쪽 필립스 기종도 마찬가지이구요.

그 때문에 유럽쪽 SW에서 메모리 슬롯을 변경할 때, FFFFH 번지를 그냥 써버리곤합니다.

아이큐2000 에서 하던거랑 비슷하죠ㅋ



그럼, 여기 paraMSX-R 글에서 메모리 얘기를 왜 하는지 궁금하실텐데요.

1주일 전에 paraMSX-R + 재미나 메가램을 테스트하느라, 메탈기어2를 한번 실행해본적이 있었어요.

아래 글에 보시면, 실행이 잘 안된다는 내용이 있어요. 아마 기억하시는 분 있으시죠?

https://cafe.naver.com/msx/1791


저도 이게 갑자기 생각나서 paraMSX-R로 테스트를 해봤는데...

어?? 그냥 잘 실행이 되더라구요.

아이큐2000(CPC-300) 에뮬 모드에서 MMC/SD V3의 DOS2로 로더를 실행했는데, 별 문제 없었습니다.

그래서 번쩍 머리에 떠오른 생각!

요즘 실기를 쓰는 분들 중 DOS2 활용을 위해, 메모리매퍼를 대용량으로 쓰는 경우가 많잖아요?

특히 국산 MSX2의 경우는 내부 슬롯0-2의 메모리를 확장하는게 힘이드니,

대개 확장슬롯 + 메모리매퍼 카트리지를 쓰게 됩니다.


재미나 메가램 용 메탈기어2가 실행안되는 이유도, 결국 메인 메모리 슬롯 문제인 것 같더라구요.

그래서 paraMSX-R로 테스트를 해봤습니다.


아래 3가지 설정에서 메탈기어2 로더를 테스트합니다.

1. CPC-300 모드 (DOS2 부팅을 위해 램512KB로 설정)

2. CPC-300 모드 (램을 슬롯0-2에서 슬롯2로 변경)

3. FS-A1F  모드 (램을 슬롯3-0에서 슬롯0-2로 변경)


아래 사진처럼 FS-A1F 모드에서도 메인메모리를 슬롯0-2에 놓으면, 로더가 정상 동작하더라구요.




결국, 실기 아이큐2000(내장램 128KB 슬롯0-2)에 외장 메모리매퍼(256KB 이상)를 꽂게되면...

메인 메모리로 쓰이는 슬롯이 변경되어 로더가 죽는 문제가 발생하게 됩니다.


그럼, 영상을 보시죠~





즐거운 주말되셔요~ ㅎ.ㅎ


댓글 없음:

댓글 쓰기