Color BASIC на TRS-80: Руководство по программированию и возможностям
Color BASIC
Color BASIC: язык программирования для компьютеров TRS-80 Color Computer (1980-1991). Простота, интерпретация, Microsoft BASIC 69. История и особенности.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Color BASIC — это реализация Microsoft BASIC, включённая в ПЗУ компьютеров Tandy/Radio Shack TRS 80 Color Computers, выпускавшихся с 1980 по 1991 год. BASIC (Beginner's All purpose Symbolic Instruction Code) — это язык программирования высокого уровня с простым синтаксисом, облегчающим написание простых программ. Color BASIC является интерпретируемым, то есть его код расшифровывается непосредственно во время выполнения.
Color BASIC is the implementation of Microsoft BASIC that is included in the ROM of the Tandy/Radio Shack TRS 80 Color Computers manufactured between 1980 and 1991. BASIC (Beginner's All purpose Symbolic Instruction Code) is a high level language with simple syntax that makes it easy to write simple programs. Color BASIC is interpreted, that is, decoded as it is run.
Предыстория
Ядро Color BASIC составлял Microsoft BASIC 69, который Tandy лицензировала у Microsoft. Color BASIC 1.0 был выпущен вместе с оригинальным 4k TRS 80 Color Computer в 1980 году. Он размещен в 8k байтах ПЗУ и отвечает за все системные функции обслуживания. Это включает в себя инициализацию оборудования, управление памятью, обработку прерываний и т.д. Как и большинство реализаций BASIC, каждая строка кода начинается с номера строки и состоит из одного или нескольких операторов с переменными и операторами. Для следующего уровня BASIC, Extended Color BASIC, требуется 16k памяти. ("ECB") Расширенный BASIC необходим для работы контроллера дисковода, что позволяет использовать Disk Extended Color BASIC. ("DECB") Эмуляторы Color Computer, работающие с этим и другими интерпретаторами, доступны для современных компьютеров, некоторые из которых требуют файла "дампа" памяти физической машины.
The nucleus of Color BASIC was Microsoft BASIC 69 which Tandy licensed from Microsoft. Color BASIC 1.0 was released with the original 4k TRS 80 Color Computer in 1980. It resides on 8k bytes of ROM, and is responsible for all 'housekeeping' duties on the system. This includes hardware initialization, memory management, interrupt processing, etc. Like most implementations of BASIC, each line of code starts with a line number and consists of one or more statements with variables and operators. 16k of memory is required for the next level of BASIC, Extended Color BASIC. ("ECB") Extended BASIC is required for the floppy disk controller, which then gives you Disk Extended Color BASIC. ("DECB") Emulators of the Color Computers running this interpreter and the others are available for modern computers, some of which require a "snapshot" file of the physical machine.
Переменные
Color BASIC понимает один тип числовых переменных и строковых переменных. Имена переменных в Color BASIC учитывают первые два символа. Первый символ имени переменной должен быть буквой, а второй – буквой или цифрой. Строковые переменные обозначаются добавлением знака доллара ($) после имени переменной.
Color BASIC understands one type of numeric variable and string variables. Variable names in Color BASIC have the first two characters significant. The first character of the variable name must be a letter. The second can be either a letter or number. String variables are indicated by adding a dollar sign ($) after the variable name.
Ключ
num указывает, что требуется числовое выражение. Это может быть фиксированное число, переменная или другая операция или функция, возвращающая числовое значение. str указывает, что требуется строковое выражение. Это может быть статическая строка (в кавычках), строковая переменная или другая функция или выражение, возвращающее строку символов. Номер устройства указывает на устройство. По умолчанию используется устройство 0 (экран и клавиатура). В Color BASIC программисту доступны устройства №1 (кассета) и №2 (принтер).
num indicates a numeric expression is required. This can be a fixed number, a variable, or other operation or function that returns a numeric quantity. str indicates a string expression is required. This can be a static string value (in quotes), a string variable, or other function or expression that returns a string of characters. device number indicates a device. By default, device 0 (screen and keyboard) is assumed. In Color BASIC, device # 1 (cassette) and # 2 (printer) are available to the programmer.
Режим редактирования
Если вы допустили ошибку при наборе строки, вы можете либо перепечатать ее с нуля (или использовать DEL), либо отредактировать ее. В режиме EDIT вы увидите повторную печать строки и ее вторую копию, по которой вы будете перемещаться, нажимая пробел для изменения символов. Клавиши со стрелками использовать нельзя. Backspace перемещает курсор влево, но не удаляет символ из буфера. Клавиша 'i' переводит в режим вставки. Нажатие Enter выходит из этого режима. 'c' изменяет один символ, 'd' удаляет один символ. 'x' перемещает курсор в конец строки, позволяя ее продолжить. 'l' перерисовывает строку. 's' ищет следующий экземпляр символа. Для команд 's', 'c' и 'd' можно ввести число (#) перед нажатием любой из них, что позволит: 's' искать # экземпляр символа, 'c' изменять # символов, 'd' удалять # символов.
If you make a mistake typing in a line, you can either retype it from scratch (or DEL it) or you can EDIT it. When in EDIT mode, you get a reprint of the line, and a second copy that you SPACEbar across chars. You cannot use arrow keys. backspace takes you left, but does not actually erase it in the buffer. 'i' puts you in insert mode. pressing return gets you out of it. 'c' changes one char, 'd' deletes one char. 'x' takes you to end of line, allowing you to e'x'tend it. 'l' redraws the line. 's' searches for the next instance of a character. For the 's', 'c' and 'd' commands you can also enter a number (#) before pressing any of them which will: 's' search for the # instance of the character, 'c' allow you to change # of characters, 'd' delete # amount characters.