슈퍼 익스팬더
Super ExpanderVIC-1211 Super Expander는 Commodore VIC-20 가정용 컴퓨터용 카트리지입니다.컴퓨터의 BASIC 인터프리터에 몇 가지 확장 기능을 제공하도록 설계되었으며, 주로 그래픽과 사운드를 프로그래밍하는 데 도움이 됩니다.또한 3kB의 추가 RAM(이 중 136바이트는 카트리지 자체에서 사용됨)을 제공했습니다.이 카트리지는 코모도어 비즈니스 머신(CBM)에 의해 개발되어 1981년에 출시되었습니다.
묘사
VIC-20에 번들된 BASIC의 방언인 Commodore BASIC V2.0은 희박한 기능으로 악명이 높았다.코모도어 BASIC 버전 4.0을 탑재한 PET는 코모도어의 구형 컴퓨터 제품에도 미치지 못했다.그 결과, VIC-20의 릴리스에 의해 구식이 되어, 다른 마이크로컴퓨터에서 사용 가능한 BASIC 방언에 비해 매우 원시적인 것처럼 보였습니다.공평하게 말하면, 낡은 BASIC을 재활용하기로 한 Commodore의 결정과 16kB ROM(KERNAL 포함)에 들어가는 것이 VIC-20의 가격을 최소한으로 억제하는 데 도움이 되어, 큰 성공에 공헌했습니다.게다가 안정적이고 거의 버그가 없는 BASIC도 있습니다.이것은 말할 수 없습니다.
그러나 "VIC BASIC"은 "else"나 "renum"과 같은 기본 언어의 기본 명령어가 부족했을 뿐만 아니라 그래픽과 음향 효과는 전혀 지원되지 않았습니다.VIC-20의 그래픽스 및 사운드 프로그래머는 VIC-20의 그래픽스/사운드 하드웨어인 6560 비디오 인터페이스 칩(VIC)에서 직접 바이트를 "피크와 POKE"해야 했습니다.암호 메모리 주소와 코드가 지속적으로 사용되어야 했기 때문에 프로그래밍은 매우 지루하고 오류가 발생하기 쉬웠습니다. 이러한 오류의 오류는 대개 오류 메시지를 주는 대신 컴퓨터를 손상시킵니다. 그리고 간단한 작업조차 하기 위해 많은 문장이 요구되었습니다.그러한 것은 작은 RAM에서의 죽음이었고, 느린 해석은 당시의 BASIC 패러다임을 의미했다.
프로그래머들은 기계 코드를 사용하여 이러한 문제를 어느 정도 완화할 수 있었지만, 이 과정 자체는 다소 가파른 학습 곡선으로 지루한 과정이었다.이러한 단점을 해결하기 위해 Commodore는 Super Expander 카트리지를 개발했습니다.VIC-20에서 그래픽과 사운드를 쉽게 사용할 수 있도록 추가 BASIC 명령어가 제공되었습니다.또한 조이스틱과 라이트펜을 읽는 명령과 기능 키 사용 잠금도 해제했습니다.
그래픽스
VIC-20은 고해상도 그래픽을 직접 지원하지 않았습니다.고해상도 그래픽은 디스플레이에 문자를 "도색"하고 문자 비트맵을 즉시 "정의"함으로써 구현되었습니다.이것은 복잡하고 장황한 프로세스였습니다.BASIC 프로그램에 실장하는 것은 무언가를 그리는 데 필요한 실행 시간 때문에 사실상 무용지물이었습니다.
슈퍼 익스팬더가 모든 힘든 일을 처리해 주었다.이를 통해 프로그래머는 점, 선, 타원, 호를 그리고 한 줄 문장으로 둘러싸인 영역을 그릴 수 있습니다.VIC-20의 16가지 색상은 모두 사용할 수 있지만 6560 칩의 제한으로 인해 제한이 있었습니다.디스플레이 해상도는 160×160픽셀로 6560칩에서 허용하는 192×200보다 낮아져 픽셀당 주소 지정이 가능했습니다.멀티컬러 고해상도(해상도 80×160)가 지원되었으며 일반 고해상도와 혼합될 수 있습니다.
소리
VIC-20의 사운드 기능은 상당히 단순했기 때문에 "PEEK and POKE"를 사용한 사운드 효과 프로그래밍은 그래픽 프로그래밍만큼 쉬운 일이 아니었다.이 경우에도 Super Expander는 VIC-20의 4개의 음성 채널에서 단순한 톤을 재생하고 볼륨을 제어하는 명령을 제공했습니다.
VIC-20에서는 음악 재생은 지원되지 않습니다.일반적으로 음표를 실장하는 방법은 안에서 루프 타임 지연을 위해 톤을 재생하는 것이었습니다.이와는 대조적으로, Super Expander에서는 단순히 문자열을 인쇄하는 것만으로 악보를 연주할 수 있습니다.(음악 문자열은 VIC-20 프로그램에서 색상이나 커서 컨트롤을 사용해 본 사람이라면 익숙한 특수 역제어 문자를 사용하여 일반 문자열과 구별됩니다.)VIC-20의 4개의 음성 채널 각각은 동시에 자체 악보를 재생할 수 있어 당시의 기준에 의해 현저한 조화로운 효과를 얻을 수 있습니다.
기타 디바이스
Super Expander는 조이스틱과 패들의 상태 및 라이트펜의 위치를 읽는 명령을 제공했습니다.조이스틱의 경우 "디지털" 또는 "스위치" 유형이었기 때문에 위치를 디코딩하기 위해 추가적인 비트 피들링이 필요했습니다.
기능 키
일반적으로 VIC-20의 기능 키는 키보드를 읽을 때 적절한 키 코드를 스캔해야 프로그램에서 사용할 수 있습니다.VIC-20의 다이렉트모드에서는 아무것도 할 수 없었습니다.Super Expander를 사용하면 즉시 모드에서 명령을 실행하도록 기능 키를 할당할 수 있습니다.기본적으로는 IBM PC의 GW-BASIC과 유사한 방식으로 가장 일반적인 BASIC 명령으로 미리 프로그래밍되어 있습니다.사용자는 자신의 명령 또는 임의의 문자열을 기능 키에 할당할 수 있습니다.
결점
- 코모도어는 그래픽 디스플레이를 1024×1024 좌표계에 매핑하도록 슈퍼 익스팬더를 설계했습니다.이 스킴에서는, 각 비디오 픽셀의 사이즈는 6.4(또는 12.8) 「가상」픽셀이었습니다.즉, 화면의 정확한 위치에 픽셀을 배치하려면 추가 스케일링 작업을 코드화해야 했습니다.BASIC 3.5 및 7.0에서도 동일한 기능이 제공되었습니다.
SCALE명령어. 단, 이러한 BASIC 버전에서는 스케일링은 옵션이며 임의의 사용자 지정 크기로 실행할 수 있습니다. - 좌표계는 출력 장치(즉, 텔레비전 세트)의 종횡비를 고려하지 않았습니다.따라서 NTSC에서는 300×300 크기의 원이 타원형으로 나타납니다.마찬가지로 (0,0)에서 (300,300)까지의 선은 45°로 표시되지 않습니다.
- 원호를 그릴 때 시작 및 종료 각도를 "구배"로 지정해야 합니다.이 "측정" 각도 시스템에서는 원에 400개의 그라디안('그라드' 또는 '곤'이라고도 함)이 있습니다(대부분의 과학 계산기, 심지어 마이크로소프트 계산기로도 그라디안을 사용할 수 있지만, 이 단위를 다소 정기적으로 사용하는 유일한 직업은 측량입니다).왜 코모도르가 이 애매하고 파격적인 측정 단위를 선택했는지, 그리고 어떤 경우에도 코모도르가 제대로 시행하지 않고, 원을 400이 아닌 100개의 그라데이션으로 나눈 것인지 미스터리다.
- Super Expander에는 디스플레이에 비트맵을 추가할 수 있는 기능이 없었습니다.이는 고해상도 게임에서 사용될 수 있는 임의의 비트맵을 픽셀 단위로 그려야 한다는 것을 의미합니다.BASIC 인터프리터가 느리기 때문에 아케이드형 게임 등의 어플리케이션에는 적합하지 않습니다.그 결과, Super Expander의 유용성은 도표나 간단한 그림 같은 형상 중심의 그림이나 정적 이미지의 어드벤처 스타일 게임에 맡겨져 있는 것이 사실이었다.
- 추가 Super Expander 명령을 사용하여 작성된 프로그램은 이식할 수 없습니다.추가 명령어로 작성된 프로그램을 실행하려면 먼저 카트리지를 소유하고 설치해야 합니다.전개되지 않은 VIC-20에 프로그램을 로드하면 오류가 발생.따라서 잡지에 게재된 입력 프로그램을 포함하여 슈퍼 익스팬더의 기능을 활용하기 위해 출시된 소프트웨어의 범위는 매우 작았다.이것은 슈퍼 익스팬더의 매력과 유용성을 제한했다.
위에도 불구하고 Super Expander의 기능은 VIC-20 프로그래밍 환경의 많은 공백을 메웠습니다.또한, 시중에 나와 있는 유사한 마이크로컴퓨터도 동일하거나 동등한 단점을 안고 있었습니다.
「 」를 참조해 주세요.
- 코모도어 BASIC
- MOS 테크놀로지 VIC(MOS 테크놀로지 6560 비디오 인터페이스 칩이라고도 함)
- 슈퍼 익스팬더 64