使用 Applesoft 的 Apple II、AppleDOS 3.3 上的语法错误 GET
Syntax Err GET on an Apple II, AppleDOS 3.3 using Applesoft
我正在使用 AppleWin 模拟器,设置为 Apple IIe,Apple DOS 3.3 和 Applesoft。我的目标是做一个简单的游戏。
这个简单的 GET 程序在 ]
提示符下运行良好(我不确定,但我认为它被称为监视器)。
10 GET V$
20 PRINT V$
它按预期打印按下的键
然后我使用 LOAD APPLESOFT
启动 Applesoft。我尝试编写与 ]
提示符下相同的简单程序。但是这次当我输入第一行 10 GET V$
我得到输出 *** SYNTAX ERR
.
我认为它不受支持,但在 ApplesoftII 基本编程参考手册中,他们列出了 get 保留关键字。
我可以更新到更高版本的 Applesoft,那么哪个版本的 Applebasic 会支持它?
我还可以使用另一种方法来获取按键,而无需用户随后按回车键。
Apple 上的 Applesoft][e(第一个完全支持小写字母的苹果版本)区分大小写,并且所有关键字都只能大写 -- 因此 get
不会匹配关键字 (或任何东西)并且会给你一个语法错误。
当然,如果您模拟的是原始 Apple ][,则根本没有小写字母,小写字母显示为闪烁的大写字母 -- 仍然无法匹配关键字。
在继续研究我的问题后,我找到了键盘缓冲区的内存位置。
键盘缓冲区是 -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
如果您遇到的错误是 *** SYNTAX ERR 而不是“?SYNTAX ERROR”,那么您使用的是 integer basic 而不是 applesoft basic。尝试先使用 FP
切换到 applesoft basic
我正在使用 AppleWin 模拟器,设置为 Apple IIe,Apple DOS 3.3 和 Applesoft。我的目标是做一个简单的游戏。
这个简单的 GET 程序在 ]
提示符下运行良好(我不确定,但我认为它被称为监视器)。
10 GET V$
20 PRINT V$
它按预期打印按下的键
然后我使用 LOAD APPLESOFT
启动 Applesoft。我尝试编写与 ]
提示符下相同的简单程序。但是这次当我输入第一行 10 GET V$
我得到输出 *** SYNTAX ERR
.
我认为它不受支持,但在 ApplesoftII 基本编程参考手册中,他们列出了 get 保留关键字。
我可以更新到更高版本的 Applesoft,那么哪个版本的 Applebasic 会支持它? 我还可以使用另一种方法来获取按键,而无需用户随后按回车键。
Apple 上的 Applesoft][e(第一个完全支持小写字母的苹果版本)区分大小写,并且所有关键字都只能大写 -- 因此 get
不会匹配关键字 (或任何东西)并且会给你一个语法错误。
当然,如果您模拟的是原始 Apple ][,则根本没有小写字母,小写字母显示为闪烁的大写字母 -- 仍然无法匹配关键字。
在继续研究我的问题后,我找到了键盘缓冲区的内存位置。
键盘缓冲区是 -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
如果您遇到的错误是 *** SYNTAX ERR 而不是“?SYNTAX ERROR”,那么您使用的是 integer basic 而不是 applesoft basic。尝试先使用 FP
切换到 applesoft basic