MSX turbo R

 
 
 
  • 기사 출처: MYCOM 1991년 1월호

홈 컴퓨터 MSX turbo R

 
1983년 6월 아스키에 의해 발표되었던 MSX는 꾸준한 버전업을 단행, 마침내 16비트로 거듭 태어났다. 8비트 시절, 이 MSX는 Apple과 함께 8비트 컴퓨터의 양대 산맥을 이루었으며 우리 나라에서 Apple이 거의 자취를 감추고 있는 지금까지도 MSX는 아직 그 명맥을 유지하고 있다. 비록 그 위세는 예전 보다 많이 약해졌지만, 이번 호에는 8비트로 태어나 16비트로 버전업된 RISC 홈 컴퓨터 'MSX turbor R'에 대해 알아본다.
Jan 1, 1991
 
FS-A1STFS-A1ST
FS-A1ST

FS-A1ST의 주요 사양

  • CPU: Z80(3.58MHz) + R800(7.16MHz)
  • 메인 RAM: 256킬로바이트 (메모리 매퍼에 대응)
  • 비디오 RAM: 128킬로바이트
  • VDP: V9958 (MSX2+와 같음)
  • DOS: MSX-DOS + 일본어 MSX-DOS2
  • 사운드: PSG + FM음원 + PCM음원(8비트 PCM 샘플링)
  • 마이크: PCM 음성 입력용 마이크 단자 및 내장 마이크
  • 영상출력: 아날로그 RGB 21핀 + S영상출력 + 비디오 + RF
  • 디스크드라이브: 3.5인치 FDD X 1
 

고속화 및 호환성 실현

MSX를 비롯한 MSX2, MSX2+는 CPU에 Z80(3.58MHz)을 사용, 게임기로는 그다지 문제가 없었다. 하지만 HAL NOTE 등 실용 어플리케이션의 등장으로 파워가 부족하다는 인상을 주었을 뿐아니라 Z80에서는 한자의 비트 맵 표시에 문제점이 있어 MSX 자체의 고속화가 요구되었다. 이러한 요구에 부응하여 최근 MSX turbo R이 발표되었다.
 
MSX turbo R의 심장 R800 CPU. 파이프라인과 RISC화에 의해 간단한 명령은 1클럭으로 처리한다.MSX turbo R의 심장 R800 CPU. 파이프라인과 RISC화에 의해 간단한 명령은 1클럭으로 처리한다.
MSX turbo R의 심장 R800 CPU. 파이프라인과 RISC화에 의해 간단한 명령은 1클럭으로 처리한다.
 
MSX turbo R에 사용된 CPU R800은 Z80 상위 호환으로 클럭 주파수 7.16MHz(시스템 클럭은 28MHz)이며 최대 특징은 CPU 내부의 16비트화와 파이프라인 처리 등 RISC 기술을 응용함으로써 명령 실행 시에 필요한 클럭 수를 대폭 줄였다는 점이다. 종래의 Z80에서는 1명령 당 최저 4클럭(+1 메모리 대기)의 실행 시간이 필요했져만 R800에서는 최저 1클럭으로 실행된다.
이러한 CPU 사용을 전제로 turbo R 시스템에 상당한 변화가 추가되었다. turbo R이 나오기 이전에도, 64180을 사용한 빅터의 'HC90', Z808을 사용한 마쓰시다의 'FS-A1WX' 등 업체에서는 독자 또는 유저에 의한 클럭 고속화 시도는 있었지만 S/W의 100% 호환성은 이루지 못했다. 이것은 주로 ROM의 억세스 속도 문제로, 내부의 ROM은 고속을 사용할 수 있어도 카트리지로 공급되는 ROM S/W가 그 속도를 따르지 못한다는 점에 있다.
*
FS-A1ST의 PCB. 두 개의 1메가비트 DRAM이 장착된 메인 RAMFS-A1ST의 PCB. 두 개의 1메가비트 DRAM이 장착된 메인 RAM
FS-A1ST의 PCB. 두 개의 1메가비트 DRAM이 장착된 메인 RAM
 
이 문제를 해결하기 위해서 turbor R에서는 카트리지용 외부 슬롯을 억세스할 경우 3클럭의 대기(wait)가 자동적으로 삽입되도록 설계되어 있다. 또한 BIOS 등 내부 ROM에서는 2클럭의 대기가 삽입된다. 고속화에 대한 또하나의 대처는 내부 ROM의 내용을 RAM에 전송, 실행하는 모드 신설로 고속 386PC에서나 볼 수 있는 이른바 셰도우(shadeow) ROM 기술을 사용했다.
시스템 전송은 작동 시 한 번만 행해지는데, RAM은 메인 메모리와 마찬가지로 맵퍼라고 불리는 I/O 교환 메모리 관리 시스템에 의해 관리되며 최종 세그먼트로부터 4개의 세그먼트(합계 64킬로바이트)가 할당된다. 실제로는 BIOS, BASIC, SUBROM, 한자 드라이버가 이 세그먼트의 전송 대상이 된다. Z80모드(Z80사용), R800 모드(R800과 RAM 상의 시스템을 사용), R800 ROM모드(ROM 상의 시스템 사용) 3 개의 동작 모드는 신설된 BIOS에 의해 수시로 선택이 가능하다.
이러한 고속화로 인해 R800 모드와 Z80 모드를 비교한 결과 CPU 파워는 약 5~10배가 되었으며 CPU의 고속화로 인해 디스크 회전도 상당히 고속화되었다. 예를 들어 DOS2 상에서 92킬로바이트 정도의 파일을 NUL 디바이스에 3회 type 시킨 결과 R800 모드에서 Z80 모드보다 약 4배 빠른 실행 속도를 얻었다.
 

강화된 그래픽과 음원

MSX turbo R은 고속화를 달성했을 뿐아니라 한자 VRAM 등 화면 표시도 더욱 향상되었다. VDP에는 MSX2+ 용으로 개발된 V9958을 사용했으며 최대 해상도는 512 X 424 도트(인터레이스, 512색 중 16색), 256 X 212도트시에는 YJK 방식에 의한 19286 색의 동시 사용이 가능하다. VDP의 클럭은 변경이 없으므로 VDP 명령(도트 그리기/박스 칠하기) 속도의 변화는 없다.
 
자연화 모드에서 최대 19286 색의 동시 표시가 가능하다.자연화 모드에서 최대 19286 색의 동시 표시가 가능하다.
자연화 모드에서 최대 19286 색의 동시 표시가 가능하다.
 
이 때문에 화면에 문자를 출력하는 프로그램, 한자 표시를 동반하는 프로그램, 그래픽을 표시시키는 프로그램에서는 5~10배라는 CPU 파워가 그대로 실행 속도로 연결되지 않는다.
종래 옵션이었던 MSX-MUSIC이 turbo R에서는 기본으로 내장되었으며 새로이 PCM 음원도 내장되었다. MSX-MUSIC은 최대 9음 9음색 또는 6음 + 5리듬음의 FM 음원으로 MSX2+ 시절에 규격화된 것이다. 음색은 고정되어 있어 새로운 음을 만드는 것은 불가능하지만 파라메터에 의해 음색을 조작할 수 있어 현재 MSX용으로 제작된 대부분의 게임은 MSX-MUSIC에 대응하고 있다.
신설된 PCM 음원은 15.75 / 7.875 / 5.25 / 3.9375KHz의 4단계 샘플링 음원으로 유저 스스로 샘플링할 수 있다. turbor R에서는 이를 위해 녹음, 재생 BIOS가 신설되었으며 마이크 단자가 표준화되었다. 녹음된 샘플링 데이터는 RAM 또는 VRAM에 압축, 저장된다.
 

DOS2 내장

기존에 옵션이었던 MSX-MUSIC 외에 MSX-DOS2도 내장되었다. 이것은 MS-DOS Ver2.2 파일 레벨 호환 OS로 계층 디렉토리를 지원하며 커맨드 레벨에서도 MS-DOS의 중요한 부분을 지원한다. turbo R은 또한 호환성을 유지하기 위해 MSX-DOS1도 내장하고 있는데, 2개의 DOS는 슬롬 3-2에 4장의 뱅크(bank)로서 위치한다.
작동 시에는 유저가 혼란을 없애기 위해 DOS2에서 포맷된 디스크에서 작동했을 경우 DOS2 + R800 모드, DOS에서 포맷된 디스크에서 작동했을 경우 DOS1 + Z80 모드에서 작동되도록 되어 있다.
CPU 변경에는 그럴 위한 BIOS가 신설되어 있어 프로그램 실행 중에 CPU를 바꿀 수도 있다. 하지만 DOS1 상에서 R800을 선택했을 경우 DOS1의 펑션콜을 호출하는 것은 금지되어 있는데 이것은 속도 문제로 디스크의 데이터가 파괴될 우려가 있기 때문이다. 이러한 경우에는 CPU를 일단 Z80으로 바꾼 후 펑션콜을 할 필요가 있다.
또한 외부에 CPU 교환 스위치가 설치되어 있지 않아 DOS1에서 포맷된 디스크에서 공급된 IPL에서 자동 실행되는 어플리케이션(대부분의 게임)은 자동적으로 Z80이 선택되므로 R800에서 작동시킬 수 없다.
 

MSX-View

 
 
 
 
notion imagenotion image
 
notion imagenotion image
 
 
notion imagenotion image