2009년 11월 12일 목요일

CPC-300 (IQ2000) 개조 - 플래쉬롬 조합

대우 IQ2000을 X-II 및 일제/필립스 MSX로 개조해보았습니다.

 

국산/일산/유럽산 등 MSX2는 내부 슬롯 세팅 외에, 기본적으로 MSX-BIOS 세팅에서 차이가 납니다.

- TV 영상 출력에 맞춘 VDP V-sync 50Hz/60Hz

   이 때문에 타이머 인터럽트 속도가 다른데, 유럽 MSX에서는 게임이 약간 느리게 구동되지요. ㅋ

- 각 나라별 키보드의 키 배열 및 문자 폰트. 

  참고로 대우는 일제 키보드와 같은 배열을 씁니다. 흔히 보는 미국식 배열이 아니고요.

 

여기서 대우 IQ2000는 내부에 3개의 EPROM이 들어있습니다.

MSX-BIOS ROM          : 슬롯 0-0

한글 BASIC                 : 슬롯 0-1

EXT-BIOS / 한글 BIOS : 슬롯 0-3

이 세개의 롬이 내부 확장된 슬롯0에서 동작합니다.

 

근본적으로 MSX에서 메인 BIOS만 슬롯 0-0에 있으면 되고, (일단 시스템 기동을 해야하니...불변입니다.)

나머지 확장 롬 또는 메모리는 아무 슬롯에 있어도 상관이 없는데요.

이것을 이용하면, 원래 슬롯 세팅이 다른 일본산/유럽산 MSX2으로도 개조할 수 있게 됩니다.

 

슬롯 세팅은 아래처럼 해보았습니다.




모델 하나 당 BIOS 롬이 128KB 필요한데요. (사실 슬롯 0-2는 램이라서 못쓰니까 96KB가 되겠네요.)

여기서 한글/KANJI BASIC은 Page1,2에 위치하도록 해야합니다.

실제 IQ2000의 EPROM 핀을 살펴보니, 이부분은 미러 롬이 되도록 (16KB 상하위를 반대로) 만들면 되겠더군요.

 

HW 구현은 간단하게 만들어졌습니다.

IQ2000의 보드상의 EPROM 3개를 뽑고 소켓의 위치를 맞춰보니,

일반 만능기판(2.54mm)이랑 같네요. 앗싸~ㅋ

핀헤더를 이용해서 기존 롬소켓 3개에 맞도록해주면 OK입니다.

 

남은 것은 512KB 플래쉬롬을 16등분해서 각 모델의 서브슬롯에 맞도록 매핑하는 것인데,

이건 EPROM의 /CE,/OE 신호를 A16,A15로 활용해서 간단하게 구현했습니다.

128KB씩 구분하는 부분은 외부에 스위치 2개를 조합하도록 했습니다.

플래쉬롬의 /CE, /OE를 위해 3인풋 AND TTL 칩하나만 쓰면 되는군요.

 

아래는 실제 IQ2000 보드에 꽂은 모습입니다.


세개의 롬 소켓이 보이는데,

왼쪽이 한글 BASIC, 가운데가 메인 BIOS, 오른쪽이 EXT 및 한글 BIOS입니다.




작업된 보드를 끼운 모습입니다.

대부분의 Addr/Data 라인은 가운데 소켓이랑 연결됩니다.




아래는 보드의 밑면이군요.

IQ2000 보드의 콘덴서랑 간섭되는 부분이 있어서, 모서리 부분을 조금 잘랐습니다.ㅋ




제작하는 것도 별로 힘들지 않고 재밌네요.

 

외부 스위치로 IQ2000, X-II, FS-A1F, VG-8240을 맘데로 선택할 수 있습니다.

특히 필립스의 유럽 모델은 VDP 출력 50Hz가 되니까, SW 테스트 할때도 요긴할 것 같네요.

 

물론 이걸로 끝나는 것은 아닙니다.

X-II와 일제 MSX2의 완성형 폰트 로직을 만들어야 하는데,

일단 각 폰트롬 256KB는 덤프되어 있으니, HW만 만들면 되겠네요.

이것도 외부 스위치로 한글 또는 한자 모드로 선택할 수 있도록 만들려고 합니다.

512KB 플래쉬롬이 하나 더 쓰이겠군요.


테스트해보니 X-II의 스크린9에서 한글/한자 폰트가 없으면, 그냥 내부 조합형 한글 출력으로 나오네요.

화면 가득히 박스만 나오려나 싶었는데, BIOS에서 롬체크를 하나봅니다.

에뮬에서도 테스트해보니 같은 결과네요. ㅎ.ㅎ

 

그럼, 다음 편을 기대해주세요.

댓글 없음:

댓글 쓰기