8비트 막바지에 나온 기종을 들여다보면 설계자들이 뭘 두려워했는지 보인다. 코모도어 128은 1985년 1월 라스베이거스 CES에서 공개됐다. C64가 아직 잘 팔리던 시점에, 코모도어는 호환성을 깨지 않으면서 위로 올라갈 길을 한 상자 안에 전부 쑤셔넣었다.

결론부터 말하자면, 코모도어 128은 서로 성격이 다른 세 모드를 하나의 하드웨어에 얹은 기계다. C64 모드로는 기존 소프트웨어를 거의 그대로 돌리고, 네이티브 C128 모드에서는 2MHz와 80컬럼 화면을 쓰며, Z80 칩을 깨우면 CP/M까지 부팅한다. 지금은 실물 없이도 VICE의 x128 에뮬레이터로 이 세 얼굴을 모두 확인할 수 있다.
세 모드를 한 상자에 넣은 기계
코모도어 128의 핵심은 CPU가 둘이라는 점이다. 메인은 MOS 8502로, C64의 6510을 개량해 최대 2MHz까지 돌린다. 여기에 Zilog Z80이 하나 더 들어가 CP/M 운영체제를 담당한다. Z80은 4MHz 클럭이지만 버스 대기 때문에 실효 속도는 2MHz 수준이다.
화면 칩도 둘이다. VIC-II E는 C64와 같은 계열의 영상 칩으로 40컬럼 320x200 화면을 그린다. 여기에 VDC(Video Display Controller, 모델명 8563)가 따로 붙어 80컬럼 640x200 RGBI 화면을 내보낸다. 워드프로세싱이나 CP/M처럼 글자가 빽빽한 작업은 이 80컬럼 출력을 쓰라는 설계다. 소리는 C64와 같은 SID(6581 또는 8580) 칩이 맡는다.
메모리는 64KB 뱅크 두 개로 128KB다. 8비트 CPU가 한 번에 주소를 매길 수 있는 범위는 64KB뿐이라, MMU(Memory Management Unit, 메모리 뱅크를 갈아끼우는 칩)가 두 뱅크를 전환한다. REU 확장 카트리지를 꽂으면 640KB까지 늘어난다.
주요 사양
| 항목 | 내용 |
|---|---|
| 메인 CPU | MOS 8502, 1~2MHz |
| 보조 CPU | Zilog Z80, 4MHz(실효 약 2MHz) |
| 메모리 | 128KB(64KB 뱅크 2개), REU로 최대 640KB |
| 40컬럼 화면 | VIC-II E, 320x200, 16색 |
| 80컬럼 화면 | VDC 8563, 640x200, 16색 RGBI |
| 사운드 | SID 6581 또는 8580, 3음색 |
| 발표 | 1985년 1월(CES) |
| 발매가 | 미화 299달러 |
| 단종 | 1989년 |
본체 형태로는 평평한 키보드 일체형 초기 모델 C128, 1571 드라이브를 내장한 C128D, 철제 섀시로 원가를 낮춘 후기형 C128DCR이 있다. 전 세계 판매량은 250만대에서 400만대 사이로 알려져 있다.
왜 세 모드가 다 필요했나
C64 모드는 타협이 아니라 생존 조건이었다. 1985년에 C64용 소프트웨어는 이미 산더미였고, 그걸 못 돌리는 후속기는 팔리지 않는다. 그래서 128은 전원을 켤 때 C64 모드로 들어가는 선택지를 남겨 거의 완전한 호환성을 확보했다.
네이티브 C128 모드는 코모도어가 보여주고 싶었던 미래다. 2MHz 고속 동작, 80컬럼 텍스트, 확장된 BASIC 7.0. 다만 2MHz 모드에서는 VIC-II 화면이 꺼지기 때문에 고속 연산은 80컬럼 VDC 화면과 함께 쓰는 식이 됐다.
CP/M 모드는 업무용 시장을 겨냥했다. CP/M은 1970년대 후반부터 비즈니스 소프트웨어가 두껍게 쌓인 운영체제였고, Z80을 얹어 그 자산에 올라타려 한 것이다. 성능이 빠른 편은 아니었지만 워드스타나 디베이스 같은 프로그램을 돌릴 수 있다는 사실 자체가 세일즈 포인트였다.
VICE의 x128로 되살리기
VICE(Versatile Commodore Emulator)는 코모도어 8비트 전 기종을 에뮬레이트하는 오픈소스 프로젝트다. 그중 x128이 코모도어 128 전용 바이너리로, MMU, VDC 80컬럼 화면, 2MHz 모드, Z80까지 모두 구현한다. 리눅스에서는 배포판 패키지로 설치하는 편이 간단하다.
# 데비안/우분투 계열 sudo apt install vice # 실행 x128
실행하면 창이 두 개 열린다. 하나는 VIC-II의 40컬럼 화면, 다른 하나는 VDC의 80컬럼 화면이다. 실물에서 모니터 두 대를 쓰거나 전환 스위치를 돌리던 구조가 그대로 창 두 개로 나온 셈이다.
C64 모드로 들어가기
네이티브 C128 모드에서 BASIC 프롬프트에 다음을 치면 C64 모드로 넘어간다.
GO64
ARE YOU SURE?에 Y로 답하면 화면이 익숙한 C64 기동 화면으로 바뀐다. 이 상태에서 C64용 디스크 이미지나 PRG 파일을 붙이면 C64 그대로 동작한다. 반대로 C64 모드에서 128로 돌아가려면 리셋이 필요하다.
80컬럼 화면 전환
실물의 40/80 DISPLAY 키에 해당하는 전환은 에뮬레이터에서 호스트 키보드로 한다. 포지셔널 키맵에서는 F7, 심볼릭 키맵에서는 숫자패드의 / 키가 40/80 전환에 매핑된다. 창 하단의 80col 표시를 클릭해도 된다. 명령줄에서 처음부터 80컬럼으로 띄우려면 다음 옵션을 준다.
x128 -80col
CP/M 부팅
CP/M은 전용 부트 디스크가 있어야 한다. 커뮤니티에 Y2K 패치를 적용한 CPMY2K.D71 이미지가 돌아다닌다. 이 D71 이미지를 8번 드라이브에 붙이고 부팅하면 된다. 80컬럼 화면에서 쓰는 쪽을 권한다.
x128을 실행하고 40/80 전환 키로 80컬럼 화면을 띄운다.- 드라이브 8번에
CPMY2K.D71디스크 이미지를 붙인다. - 프롬프트에서
BOOT를 입력하거나 리셋한다.
Booting CP/M Plus 메시지가 뜨고 잠시 뒤 A> 프롬프트가 나오면 CP/M 3.0이 올라온 것이다. 부팅 시간은 환경에 따라 다르지만 대략 수십 초 수준이다. 여기서 DIR를 치면 CP/M 쪽 파일 목록이 보인다. 같은 창 안에서 BASIC과 CP/M이라는 완전히 다른 두 세계를 오가는 경험은 이 기종에서만 가능하다.
수집가 관점과 더 파볼 자료
실물을 구할 때 조심할 부분은 전원부와 VDC 쪽이다. 초기형 C128의 외장 전원 어댑터는 C64와 마찬가지로 노후화로 전압이 흔들려 칩을 상하게 하는 사례가 보고된다. VDC 칩과 전용 비디오 RAM은 고장 시 교체 부품을 구하기가 까다롭다. C128DCR에 들어간 8568 VDC는 64KB 비디오 RAM을 달아 80컬럼에서 더 여유가 있다.
실물이 없다면 에뮬레이터만으로도 세 모드를 모두 체험할 수 있으니 부담이 적다. VICE 공식 매뉴얼의 x128 항목에 MMU와 VDC, Z80 관련 옵션이 정리돼 있고, 디스크 이미지와 CP/M 관련 자료는 archive.org와 코모도어 커뮤니티 위키에서 찾을 수 있다. 사양의 세부는 Wikipedia의 Commodore 128 문서가 출처를 함께 달아둬 교차 확인에 쓸 만하다.