그래픽스 BASIC

Graphics BAS

Graphics BASIC은 Commodore 64 컴퓨터의 Commodore BASIC V2.0 프로그래밍 언어에 대한 서드파티 확장입니다.그것은 1983년에 론 길버트와 톰 맥팔레인의해 쓰여졌다.이 프로그램은 Hesware에게 라이선스되었으며, Hesware는 폐업하기 전 1984년 제품 라인의 일부로 이 프로그램을 잠시 판매했습니다.이 프로그램은 이후 Ken Rose와 Jack Tornton에 의해 확장되어 1985년에 Programmers BASIC Toolkit이라는 제목으로 Epyx에 의해 리패키지되어 판매되었습니다.

Graphics BASIC은 BASIC 언어에 100개 이상의 새로운 명령어를 추가하여 Commodore 64의 비교적 고도의 그래픽스 및 사운드 하드웨어 기능에 사용하기 쉬운 API를 제공합니다.Commodore BASIC에서만 이러한 기능에 액세스할 수 있는 유일한 방법은 PEEKPOKE 명령어를 번거롭게 사용하는 것입니다.그래픽스 베이직은 언어 자체와 언어의 새로운 기능을 보여주는 수많은 매우 심플한 데모 프로그램을 포함한 단일 5.25인치 플로피 디스크로 제공되었습니다.카트리지 버전도 있었다.

특징들

그래픽스

Graphics BASIC의 주요 기능은 도트, 선, 원, 타원, 직사각형, 폴리곤을 그리는 명령어 등 사용하기 쉬운 그래픽 명령어입니다.다음으로 명령어의 사용 예를 나타냅니다.

  160,100   80,50 로. 240,150  박스 10,10 로. 20,20 

위에서 알 수 있듯이 구문은 GW-BASIC 또는 AmigaB의 구문과 다소 유사합니다.ASIC의 그래픽 명령어이지만 소스 코드 호환성을 방지할 수 있을 만큼 다릅니다.

Commodore 64에는 텍스트와 그래픽을 위한 별도의 비디오 모드가 있습니다.Graphics BASIC 에서는, 이것들간의 전환이 매우 간단합니다. TEXT텍스트 모드로 전환합니다.HIRES320×200의 2소켓 그래픽스로 전환하여MULTI160×200의 4소켓 그래픽스로 전환합니다.그래픽스 베이직에서는 화면을 여러 모드로 가로로 분할할 수도 있습니다.

HiRes 모드와 Multi 모드 모두에서 16가지 색상을 모두 사용할 수 있지만, 동일한 8×8 픽셀 블록에 호환되지 않는 두 가지 색상이 그려지면 블록 전체가 나중에 그려지는 색으로 채워집니다.이는 코모도어 64의 VIC-II 디스플레이 칩의 기술적 제한 때문입니다.

Graphics BASIC에서 가장 특이한 구문 선택 중 하나는 그래픽 색상의 설정입니다.텍스트 모드의 전경색과 배경색을 설정하려면 다음 명령을 사용합니다.COLOUR그리고.BACKGROUND, 뒤에 0 ~ 15 의 숫자 또는 다음과 같은 사전 정의된 심볼 상수 중 하나가 표시됩니다.WHITE또는BLACK. 그래픽스 모드의 색상을 설정하려면 명령어 구문을 다음과 같이 설정합니다.

 컬러 고용하다 x  y 

여기서 x는 전경색, y는 배경색입니다.(예를 들어,COLOUR HIRES BLACK ON WHITE).

스프라이트

Graphics BASIC은 Commodore 64의 8가지 스프라이트를 조작하는 명령도 제공합니다.이 스프라이트의 크기는 24×21 픽셀이며, 2가지 색상(1색 + 배경) 또는 4가지 색상(3색 + 배경) 중 하나로 그려집니다.각 스프라이트는 고유한 색상을 가지고 있습니다.3색 모드에서는 수평 분해능이 절반으로 감소하고 모든 3색 스프라이트가 동일한 2가지 추가 색상을 공유합니다.

sprite 명령어의 콤팩트한 구문은 기존의 프로그래밍 언어보다 Unix 프로그램의 명령줄 옵션과 더 많은 공통점을 가지고 있습니다.기본적으로 여러 개의 스프라이트 조작을 하나의 명령어로 조합할 수 있습니다.SPRITE스프라이트의 번호는 1부터 8까지입니다.그 다음에, 임의의 수의 키워드와 그 키워드에 필요한 파라미터가 표시됩니다.예를 들면,

 스프라이트 1  AT 160,100 컬러 파랑색 XYSize 2,2 

는, 스프라이트 1을 표시로 설정해, 화면상의 위치(160, 100)로 이동해, 각각의 색을 파란색으로 설정해, 수평과 수직의 물리 사이즈를 2배로 합니다.

Graphics BASIC은 자동 스프라이트 이동(위치 변경), 애니메이션(모양 변경), 충돌 감지 기능도 지원합니다.이것은 코모도어 64의 소프트웨어 인터럽트 루틴에 후크를 추가하여 언어 코어 자체에 구현됩니다.(인터럽트 후크 추가는 지원되지 않습니다).

내장된 스프라이트 편집기를 사용하여 수동으로 스프라이트 모양을 그릴 수 있으며, 명령으로 액세스할 수 있습니다.EDIT편집자는 사용하기 쉽지만, 다소 초보적인 편이었다.스프라이트 모양을 로딩하거나 디스크에 저장할 수 있습니다.SPRITE LOAD그리고.SPRITE SAVE명령어를 지정합니다.프로그래밍 방식으로 새로운 스프라이트 모양을 그리는 것은 일반 직원 또는 다색 스크린에 모양을 그린 다음, 모양을 복사하여 수행할 수 있습니다.COPY HIRES TO SPRITE또는COPY MULTI TO SPRITE명령어를 입력합니다.

소리

Graphics BASIC은 또한 파형 유형, 톤(주파수) 및 진폭 엔벨로프를 선택할 수 있도록 Commodore 64의 내장 오디오 신시사이저를 제어하는 다양한 명령을 제공합니다.또한 톤 시퀀스를 지정하여 백그라운드에서 자동으로 재생할 수 있습니다.

기타 명령어

그래픽스나 사운드 명령어 외에도 그래픽스 베이직은 다음과 같은 다양한 유용한 명령어를 제공합니다.DIR디바이스의 파일디렉토리를 일람표시합니다.JOY조이스틱의 위치를 되돌립니다.KEY기능 키를 프로그래밍하려면REN현재 프로그램 라인 번호의 번호를 재설정합니다.Graphics BASIC은 또한ON ERROR에러 캡처를 실행하기 위한 명령어,PROCEDURE서브루틴에 변수를 전달할 수 있도록 허용하고 추가한 명령어ELSE에게IF/THEN명령어를 입력합니다.