【问题标题】:6502 BASIC removing a character6502 BASIC 删除一个字符
【发布时间】:2017-04-11 22:31:17
【问题描述】:

如何删除 6502 basic 中的字符?比如反向打印... 有没有办法将 del 键代码引导到程序中?我已经尝试查看参考,但没有任何命令。

【问题讨论】:

  • 任何特定的方言?这是在 C64、VIC 20 还是其他设备上? c64-wiki.com/wiki/control_character 有 chr$(20) 作为后退空格。所以 PRINT "ABC"+CHR$(20) 打印 AB
  • 我一直在通过 VICE 模拟器使用 xpet。

标签: string basic


【解决方案1】:

正如 OldBoyCoder 建议的那样,可以做到 - 但角色取决于平台。

10 PRINT "AB";
20 PRINT "C"

Commodore PET 或 Apple II 上的输出:

ABC

对于 Commodore PET 添加:

15 PRINT CHR$(20);

输出:

AC

在 Apple II 上,您需要使用 8 而不是 20,因为 I/O 固件不同。

【讨论】:

    【解决方案2】:

    您还可以使用字符串操作命令,例如LEFT$RIGHT$MID$,这是内存中未经测试的示例(对于 Commodore PET 和其他 Commodore 8 位机器,可能也适用于其他BASIC 的变体):

     0 A$="ABC"
     1 PRINT LEFT$(A$,2): REM PRINTS AB
     2 PRINT RIGHT$(A$,2): REM PRINTS BC
     3 PRINT MID$(A$,2,1): REM PRINTS B
    

    否则,您可以覆盖字符,只要您知道它们在屏幕上的位置即可。

     0 D$=CHR$(17): REM CURSOR DOWN
     1 U$=CHR$(145): REM CURSOR UP
     2 R$=CHR$(29): REM CURSOR RIGHT
     3 L$=CHR$(157): REM CURSOR LEFT
     4 PRINT "ABC";L$;" "
    

    为了清楚起见,我在这里使用 CHR$ 代码。如果你用双引号打开一个字符串,你可以按 UP/DOWN 和 LEFT/RIGHT 键,这将显示反转的字符。打印这些反转字符与使用光标键移动光标的作用相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多