Программирование на языке BASIC 1990 г.

Приложение C (Часть 1) - описание микрокомпьютера ZX SPECTRUM.


П Р И Л О Ж Е Н И Е   C (часть 1)
              Описание микрокомпьютера ZX SPEKTRUM
    Клавиатура
    Каждая клавиша клавиатуры компьютера ZX SPEKTRUM имеет много
функциональное  назначение и позволяет вводить как отдельные сим-
волы так и целые слова. Действие производимое клавишей определяет-
ся  частично  переключающими  клавишами  (CAPS  SHIFT  и  SYMBOL
SHIFT), а частью режимом, в котором находится компьютер.
    Режим  отображается курсором,  мерцающей буквой,  указывающей
позицию в которую будет вводится очередной символ с клавиатуры.
    Возможны следующие режимы:
         K - (для ключевых слов) KEYWORDS.
    Этот  режим  автоматически сменяет режим  L,  если  компьютер
переходит  в  ожидание ввода команды или  строки  программы,  это
может быть либо в начале строки, либо после THEN, либо после ':'
и  если  не было нажатия переключающих клавиш,  то нажатие  любой
клавиши  будет интерпретироваться как ключевое слово  (написанное
на клавише ) или цифра.
         L - (для букв) LETTER.
    Основной  режим  для компьютера,  если не  было  переключения
регистров, то клавиша интерпретируется как основной символ, нане-
сенный на эту клавишу.
    Для обоих режимов L и K при нажатии с клавишей одновременно и
клавиши SYMBOL SHIFT, клавиша будет интерпретироваться как  вспо-
могательный  символ,  а при нажатии CAPS SHIFT с цифрой,  клавиша
будет  интерпретироваться как управляющая функция  написанная  на
белом  поле  клавиши.  Нажатие  CAPS SHIFT с любой из  клавиш  не
вызывает ключевого слова в режимах K и L.
         C - (для заглавных букв) CAPITAL
    Режим представляет собой вариант режима L. В котором  исполь-
зуются заглавные буквы.
CAPS LOCK используется для перехода  из режима L в C и обратно.
         E - (для расширения) EXTEND
    Используется для получения дальнейших символов. Главным обра-
зом знаков. Этот режим вводится одновременным нажатием двух
переключающих  клавиш с удержанием затем только одной клавиши.  В
этом  режиме клавиша дает один символ или знак (изображенный  на
зеленом поле клавиши).  Если не нажата переключающая клавиша, или
знак изображенный на красном поле, если удерживается переключа-
ющая клавиша.
    Цифровые клавиши выдают знак если нажимаются вместе с SYMBOL
SHIFT, в противном случае они выдают последовательность управле-
ния цветом.
         G - (для графики) GRAPHICS.
    Режим  вводится  после нажатия GRAPHICS ( CAPS SHIFT и  9)  и
сохраняется до следующего нажатия этой клавиши.
    Цифровые клавиши будут выдавать мозаичные графические символы,
сохраняя GRAPHICS и DELETE,  а каждая алфавитная  клавиша,  кроме
V,N,X,Y  и Z, будет выдавать определенный пользователем графичес-
кий символ.
    Если некоторая клавиша будет удерживаться более 2-3х секунд,
это вызовет повторение производимого ею действия.
    Ввод с клавиатуры производится в нижнюю часть экрана,  каждый
символ  (или составной знак) вставляется перед  курсором,  курсор
может быть переслан влево действие CAPS SHIFT  и 5, а вправо CAPS
SHIFT  и 8.  Символ перед курсором можно удалить командой  DELETE
(CAPS  SHIFT и 0),  целая строка может быть удалена  вводом  EDIT
(CAPS  SHIFT и 1) и последующим ENTER.  Когда  нажимается  ENTER,
выполняется набранная строка, либо она вводится в программу, либо
она используется как входные данные для INPUT оператора,  либо  в
строке имеются синтактические ошибки,  в этом случае нажатием [T]
происходит переход на ошибку.
    Когда  строки программы введены, листинг отображается в верх-
ней части экрана, более подробно этот процесс описан в главе
    Последняя введенная строка называется текущей и  отмечается
символом  [>],  и ее можно изменить используя клавиши перемещенияия
курсора вверх и вниз (CAPS SHIFT и 6 или CAPS SHIFT и 7).
    Если введен EDIT (CAPS SHIFT и 1),то текущая строка переносится
в нижнюю часть экрана и становится доступной для редактирования.
    Если  выполняется команда или целая программа,  то  результат
отображается в верхней части экрана и сохраняется до ввода строки
программы,  ввода  пустой строки или нажатия  клавиши  управления
курсором вверх или вниз, в нижней части выдается сообщение и коды
приведенные в приложении B, в сообщении указывается номер ошибоч-
ной  строки   (0 для команды) и позиция оператора в этой  строке,
сообщение сохраняется на экране до нажатия любой клавиши (отобра-
жается переходом в режим K).
    В  определенных обстоятельствах CAPS SHIFT и SPACE  действует
как  BREAK,  останавливая компьютер с сообщениями D или L,  и при
этом до останова:
       а) завершается выполнявшийся оператор или;
       б) завершаются действия, выполняемые компьютером с
          магнитофоном или принтером.
    пния клавиатуры:
                при курсоре [K]:
ЙНННННННН"    1. простое нажатие клавиши          - на экране-->
є   LN   є    2. SYMBOL SHIFT и клавиша           --на экране-->
З--------                                        -- курсор  -->
є    :   є    3. CAPS SHIFT и клавиша             --на экране-->
є  Z     є    4. BREAK/SPACE и клавиша            --на экране-->
є  COPY  є    5. SYMBOL SZIFT и CAPS SHIFT        --курсор   -->
З--------       при курсоре [E]
є  BEEP  є    6. простое нажатие клавиши          --на экране-->
ИНННННННН?    7. CAPS SHIFT и клавиша             --на экране-->
    Экран телевизора
    Экран телевизора содержит 24 строки по 32 позиции в каждой.
Делится на две части,  верхняя часть в 22 строки отображает лис-
тинг  или вывод из программы,  когда вывод в верхней части дости-
гает  низа  необходима свертка на одну  строку,  при  этом  может
схватываться строка,  которую вам хочется сохранить.  Компьютер в
этом  случае  останавливается с запросом 'SCROLL?'.  Если  теперь
нажать  клавиши N,  SPACE или STOP,  то программа  остановится  с
выдачей сообщения "D BREAK=CONT REPORTS".  Нажатие других клавиш
разрешает свертку и продолжение выполнения.
    Нижняя  часть используется для ввода команд,  строк  программ
входных INPUT-данных, а также для отображения сообщений.
    Нижняя часть экрана состоит из двух строк (верхняя из них чис-
тая - для расширения). При переполнении верхней строки осуществля-
ется свертка.
    Каждая позиция имеет атрибуты определяющие ее как чистую
(цвет фона),  либо как закрашенную (основной цвет). С повышенной
или с пониженной яркостью, мерцающую или нет.
    Доступны цвета: черный, голубой, красный, пурпурный (фиолето-
вый), зеленый, желтый и белый.
    Края экрана могут быть установлены в определенный цвет исполь-
зованием оператора BORDER.
    Каждая позиция подразделяется на 8х8 точек,  а графика симво-
лов обеспечивается индивидуальным определением каждой точки.
    Атрибуты  каждой позиции настраиваются при записи символа или
приустановке точки (PIXEL). Способ настройки определяется парамет-
рами вывода, имеющими  две установки (постоянную и  временную)  в
шести операторах:
        PAPER, INK, FLASH, BRIGHT, INVERSE и OVER.
Постоянные  параметры для верхней части экрана устанавливаются  в
операторах  PAPER,  INK и т.д.  Обычно они имеют черный цвет  для
закрашнной  точки (INK) и белый  для фоновой (PAPER),  нормальную
яркость, не мерцающие, не  инверсные.  Постоянные параметры  для
нижней  части  экрана используют цвет рамки (BORDER  COLOR)  как
цвет фона (незакрашенный),  с черным или белым цветом, нормальную
яркость, не мерцающие.
    Временные параметры устанавливаются командами:
        PAPER, INK и т.д.
вставляемыми в операторы:
        PRINT, LPRINT, INPUT, PLOT, DRAW, CIRCLE,
а также PAPER, INK и тому подобными управляющими символами, когда
они выводятся на телевизор.
    Временные  параметры сохраняются до конца действия  оператора
PRINT (или других).
    Параметры PAPER и  INK могут принимать значения от 0 до 9.
Параметры от 0 до 7 определяют цвета выводимого символа:
    0 - черный        (BLACK)
    1 - голубой       (BLUE)
    2 - красный       (RED)
    3 - фиолетовый    (MAGENTA)
    4 - зеленый       (GREEN)
    5 - синий         (CYAN)
    6 - желтый        (YELLOW)
    7 - белый         (WHITE)
Параметр  8 определяет,  что цвет должен остаться при выводе  без
изменения.
Параметр 9 (контрастность) определяет, что цвет должен стать либо
белым, либо черным для выделения его от других цветов.
    Параметры FLASH и BRIGHT могут принимать значения 0, 1 или 8.
Параметр 1 указывает, что включается повышенная яркость и мерцание.
Параметр 0 указывает, что повышенная яркость и мерцание отключаются.
Параметр 8 указывает, что все остается без изменений.
    Параметры OVER и INVERSE могут принимать значения 0 и 1.
       OVER 0 - новый символ затирает старый
       OVER 1 - код старого символа и нового символа соединяются
            Операция 'исключающего и              ! ый символ
            (OVER PRINTING)
INVERSE 0  - новый символ печатается в неинверсном (позитивном)
             виде.
INVERSE 1  - новый символ печатается в инверсном (негативном) виде
     Когда на телевизор передается управляющий символ TAB, то два
старших байта используются для спецификации  TAB STOP N (первый
байт является старшим), это обеспечивается прогоном от 32 до "N"
(указанным в TAB) и затем выводом нужного количества пробелов для
смещения текущей позиции вывода в колонку "N".
     Если на вывод передается запятая как управляющий символ, то
выводится нужное количество пробелов для перевода текущей позиции
вывода в позицию 0 или 16.
     Если передается управляющий символ ENTER, то позиция вывода
переводится на следующую строку.
      П р и н т е р
    Вывод  на  принтер  осуществляется через буфер  длиной  в  32
символа, очередная строка выдается из буфера на принтер в следую-
щих случаях:
      а)  когда окончен вывод;
      б)  при передачи в буфер символа ENTER;
      в)  при завершении программы, если еще остались  другие
          невведенные данные;
      г)  если встретились управляющие символы TAB или запятая,
          требующие перевода строки.
     Управляющие символы TAB и запятая производят вывод пробелов
при работе с телевизором.
     Управляющий  символ AT изменяет позицию  вывода,  используя
число задающее позицию.
     Принтер также правильно реагирует на управляющие символы
INVERSE, OVER (и операторы с тем же именем ), но не воспринимает
PAPER, INK, FLASH и BRIGHT .
     При вводе BREAK принтер останавливается с выдачей сообщения.
При отсутствии принтера вывод просто не осуществляется.



СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
ZX-Net - О новых модемных газетах.
No carrier... - как выглядит общение нашего любимого Speccy с IBM-совместимыми компьютерами посредством Hayes-модема и терминальной программы Melon.
Вступление - Привет всем странникам виртуального мира игр!
И опять о ТR-D0Sе - СИСТEМНЫE ПEPEМEННЫE ТR-D0S.
ZXM Demo

В этот день...   21 ноября