Синтаксис Err GET на Apple II, AppleDOS 3.3 с использованием Applesoft - PullRequest
0 голосов
/ 31 марта 2020

Я использую эмулятор AppleWin, настроенный как Apple I Ie, Apple DOS 3.3 с Applesoft. Моя цель - сделать простую игру.

Эта простая программа GET отлично работает при подсказке ] (я не уверен, но думаю, что она называется монитором).

10 GET V$
20 PRINT V$

Она печатает нажатую клавишу, как и ожидалось

Затем я запускаю Applesoft, используя LOAD APPLESOFT. Я пытался написать ту же самую простую программу, что и в приглашении ]. Но на этот раз, когда я набираю первую строку 10 GET V$, я получаю в качестве вывода *** SYNTAX ERR.

Я думаю, что это не поддерживаемая функция, но в Справочном руководстве по программированию ApplesoftII Basi c они получают зарезервированный список. Ключевое слово.

Я мог бы перейти на более новую версию Applesoft, тогда какая версия Applebasi c будет ее поддерживать? Я также могу использовать другой способ получения нажатия клавиши, после чего пользователю не нужно нажимать клавишу ввода.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Продолжив исследовать мою проблему, я нашел место памяти для буфера клавиатуры.

Буфер клавиатуры равен -16384, и для сброса этого значения этого адреса можно получить доступ к -16368.

Если значение в -16384 больше 128, то была нажата клавиша. Итак, я могу использовать PEEK -16384, чтобы прочитать значение. Чтобы получить код ASCII, вам нужно вычесть 128 из этого значения. Пример кода:

KEY= PEEK(-16384)
IF KEY>=128 THEN PRINT KEY-128

Чтобы сообщить системе, что вы нажали клавишу, и сбросить значение, вам необходимо получить доступ к значению в -16368. Используя PEEK or POKE. Пример кода:

POKE -16368,0

Or can also be PEEKed
PRINT PEEK -16368
0 голосов
/ 31 марта 2020

Applesoft на Apple] [e (первая версия Apple, поддерживающая строчные буквы вообще) чувствительна к регистру, и все ключевые слова имеют только верхний регистр - так что get не будет соответствовать ключевому слову (или чему-либо еще) и выдаст вам синтаксическую ошибку.

Конечно, если вы эмулируете оригинальный Apple] [, строчных букв нет вообще, а строчные буквы отображаются мигающими заглавными буквами - и все равно не будут соответствует ключевому слову.

...