1

我终于决定为 Apple //e 建立一个每月预算计划,进展顺利。现在我正在使用 AppleWin 模拟器。

有人知道如何在 Applesoft Basic 中隐藏光标吗?我正在考虑使用 Poke 隐藏它或将光标字符更改为空格?

我知道 VisiCalc 会这样做,当您加载程序时,在您开始编辑之前没有闪烁的光标。我想在我的程序中做同样的功能。

注意:我不想通过模拟器来做这件事,因为我最终会将它转移到 Apple 硬件上。

4

3 回答 3

2

我在这里找到了解决方案。终端控制/隐藏光标

我可以使用 WAIT 命令隐藏光标,然后使用 GET 获取下一个字符。

WAIT 49152, 128
GET I$

更多示例:Applesoft 基本示例

于 2018-08-11T18:52:24.040 回答
1

VisiCalc 是用汇编语言编写的,Applesoft BASIC 也是如此 - Applesoft 在闪烁光标时调用以获取密钥的固件例程也是如此。您可以在不闪烁光标的情况下从 Applesoft 或汇编语言中读取键盘,但您需要学习用于执行此操作的底层软开关。

Name     Hex    Decimal  Negative
KBD      $C000  49152    -16384
KBDSTRB  $C010  49168    -16368

总之,您阅读 KBD 以获取最后按下的键的值。如果它是一个新键,则该值的第 8 位('strobe')将被设置 - 在这种情况下,您需要减去 128 才能获得键值。然后访问 KBDSTRB 以清除 KBD 的选通位。有关更多详细信息,请参阅Apple II 参考手册的第 5 页或Apple IIe 技术参考手册的第 12 页。

另一本谈论这个和许多其他事情的好书是The New Apple II User's Guide

以下是如何使用这些软开关的简单示例:

10 KEY = PEEK (-16384) : REM READ KEY
20 IF KEY >= 128 THEN PRINT PEEK (-16368) : REM CLEAR STROBE
30 GOTO 10

最后,考虑访问Retrocomputing来解决这些问题。

于 2018-08-13T04:42:41.560 回答
0

原答案:

在 Apple IIe 上有一种未记录的方法来执行此操作

POKE 2043, ASC(" ") + 128

更多信息:https ://www.atarimagazines.com/compute/issue90/Feedback_Custom_Cursor.php

更新

正如@Nick Westgate 所说。这适用于 Apple IIc,不适用于 Apple IIe。

更多信息:https ://github.com/AppleWin/AppleWin/issues/135

于 2018-08-11T03:04:13.357 回答