1980년대 후반 학교나 학원에서 컴퓨터를 처음 만진 세대에게 파란 대우 로고가 뜨는 부팅 화면은 낯익다. IQ-2000은 그 시절 "교육용 컴퓨터"라는 이름으로 팔린 기계였고, 광고에도 아이들이 앉아 있는 사진이 자주 실렸다. 실물을 다시 꺼내 보면 키보드 일체형 본체가 생각보다 묵직하다.
대우 IQ-2000은 모델명 CPC-300으로 1986년 나온 국산 MSX2 컴퓨터다. 국내에 나온 첫 MSX2급 기종 중 하나이며, 한글 처리를 롬에 내장해 별도 카트리지 없이 한글을 뿌릴 수 있었던 점이 특징이다. MSX 표준을 따르니 일본과 유럽에서 나온 MSX2 소프트웨어를 그대로 돌린다. 지금은 openMSX에 시스템 롬만 얹으면 실물 없이도 부팅 화면을 다시 볼 수 있다.
어떤 기계인가
MSX는 마이크로소프트와 아스키가 1983년 정한 8비트 홈컴퓨터 규격이다. 여러 제조사가 같은 규격으로 만들었기 때문에 소프트웨어 호환이 되는 것이 핵심이다. MSX2는 1985년 나온 2세대 규격으로, 그래픽 칩을 강화하고 512색 팔레트와 더 넓은 화면 모드를 넣었다.
대우는 삼성이나 금성과 달리 MSX에 오래 힘을 실었다. IQ-1000 계열로 MSX1을 낸 뒤, MSX2 규격을 받아 내놓은 것이 IQ-2000, 즉 CPC-300이다. 국내에서는 교육용으로 팔았고, 같은 하드웨어를 남미와 중동 등지에 수출하기도 했다.
사양
| 항목 | 내용 |
|---|---|
| 모델명 | 대우 CPC-300 (판매명 IQ-2000) |
| 발표 | 1986년 |
| 규격 | MSX2 |
| CPU | Z80A 호환 (금성 GSS Z8400A), 3.58MHz |
| 메인 메모리 | 128KB (메모리 매퍼) |
| VDP | 야마하 V9938 |
| VRAM | 128KB |
| 사운드 | PSG (AY-3-8910 호환, YM2149) |
| 한글 | 조합형 한글 롬 내장 (한글 2.0), SCREEN 9 한글 텍스트 모드 |
| 커스텀 칩 | DW64MX1 (8255 PPI, 슬롯 선택, 메모리 매퍼, 글루 로직 통합) |
VDP는 Video Display Processor, 화면을 그리는 전용 칩이다. MSX2의 V9938은 MSX1의 TMS9918에 비해 색 수와 해상도를 크게 늘렸고, 하드웨어 스크롤과 그래픽 명령을 지원한다. IQ-2000의 VRAM 128KB는 MSX2가 쓸 수 있는 최대치라 SCREEN 8 같은 고해상도 모드를 온전히 쓴다.
메모리 128KB는 메모리 매퍼로 관리한다. Z80은 한 번에 64KB만 주소를 매길 수 있어, 그보다 큰 램은 16KB 단위 페이지를 바꿔 끼우는 방식으로 접근한다. CPC-300은 이 매퍼와 슬롯 선택 회로, 8255 PPI 같은 주변 로직을 DW64MX1이라는 커스텀 IC 하나에 몰아넣었다. 같은 시기 다른 MSX2가 MSX-Engine 계열 통합칩을 쓴 것과 대비되는 부분이다.
한글 롬 구성
IQ-2000이 국내 교육기로 자리 잡은 이유가 여기 있다. 표준 MSX2 롬 위에 한글 처리 롬을 얹어, 전원을 켜면 바로 한글을 출력한다. openMSX의 CPC-300 머신 정의를 열어 보면 롬이 슬롯에 이렇게 배치된다.
- MSX BIOS + BASIC: 32KB, 슬롯 0-0. MSX 기본 롬으로 부팅과 BASIC을 담당한다.
- 한글 드라이버 롬: 32KB, 슬롯 0-1. 조합형 한글 폰트와 입출력 루틴이 들어간다.
- 서브 롬: 32KB, 슬롯 0-3. MSX2 확장 BIOS로 새 화면 모드와 시계 등을 처리한다.
- 메인 램: 128KB 매퍼, 슬롯 0-2.
한글은 초성 중성 종성을 조합해 만드는 조합형이다. BASIC에는 SCREEN 9라는 전용 텍스트 모드가 있는데, 그래픽 화면인 SCREEN 6을 바탕으로 한글 글자를 찍도록 만든 모드다. 부팅하면 MSX-TUTOR 기반의 안내 프로그램이 먼저 뜨는데, 시작할 때 SELECT 키를 누르면 건너뛴다.
램을 64KB로 줄이고 조이스틱 포트를 뺀 학교 납품용 CPC-300E도 있다. 게임 요소를 줄이려는 의도로 읽힌다. 겉모습은 비슷해도 사양이 다르니 수집할 때 모델명을 확인하는 편이 좋다.
수집가 관점
키보드 일체형이라 보관 공간을 덜 먹는 대신, 오래된 개체는 키 접점이 눌리지 않거나 채터링이 생긴다. 전원부가 본체에 들어 있어 전해 콘덴서가 말라 있는 경우가 많고, 첫 전원 투입 전에 콘덴서 상태를 살피는 것이 안전하다. 카트리지 슬롯 단자 산화도 흔한 증상이다. 국내 물량이 꾸준히 나왔던 기종이라 아주 희귀하지는 않지만, 상태 좋은 완품은 값이 오르는 추세다.
openMSX로 다시 부팅하기
openMSX는 MSX를 XML 머신 정의로 재현하는 오픈소스 에뮬레이터다. 기종별 하드웨어 구성을 XML로 기술하고, 시스템 롬은 파일명이 아니라 SHA1 해시로 찾아 맞춘다. 저작권 문제로 실물 롬은 배포하지 않으니, CPC-300 실기에서 덤프한 롬이나 합법적으로 확보한 롬 파일이 따로 있어야 한다.
1. 설치. macOS는 Homebrew로 넣는 것이 간단하다.
brew install openmsx
리눅스는 배포판 패키지나 openmsx.org 릴리스를 쓰면 된다. 설치되는 기본 구성에는 롬이 필요 없는 C-BIOS 머신만 들어 있다. C-BIOS로는 BASIC과 한글 롬이 없어 IQ-2000 부팅 화면은 못 본다.
2. 시스템 롬 넣기. CPC-300의 롬 파일을 시스템롬 디렉터리에 둔다. 사용자별 경로는 다음과 같다.
# macOS / Linux ~/.openMSX/share/systemroms/
openMSX는 이 폴더의 롬을 SHA1로 대조해 CPC-300 정의에 맞는 파일을 자동으로 연결한다. 파일명은 아무래도 상관없고 해시만 맞으면 인식한다. 롬이 제대로 잡혔는지는 아래 명령으로 확인한다.
openmsx -machine Daewoo_CPC-300 -testconfig
롬이 없거나 해시가 어긋나면 어떤 롬을 못 찾았는지 메시지로 알려준다. 그 해시값으로 맞는 덤프를 찾으면 된다.
3. 실행. 롬이 잡혔으면 머신을 지정해 띄운다.
openmsx -machine Daewoo_CPC-300
정상이면 대우 로고와 한글 안내 화면이 뜨고, SELECT로 넘기면 MSX BASIC 프롬프트로 떨어진다. 여기서 SCREEN 9를 치면 한글 텍스트 모드로 바뀐다. 디스크 이미지는 -diska game.dsk, 롬 카트리지는 -cart game.rom으로 물린다.
openmsx -machine Daewoo_CPC-300 -diska game.dsk
더 파보고 싶으면 MSX Resource Center 위키의 CPC-300 문서와 openMSX 셋업 가이드가 출발점으로 좋다. 실기 롬과 소프트웨어 아카이브는 archive.org에서 MSX 관련 컬렉션을 뒤지면 나온다.