2014-12-19 100 views

回答

1

我想通了,这一点我自己太当我在暑假期间与我的TI-84试验。这种滞后不能改变。这是内置于计算器中的。我想这是因为在TI-84所用的芯片是怎样一个英特尔Z80的Zilog微处理器这是在1984年

+0

@GameMasterJack如果您发现我的答案有帮助,请点击复选标记。 – bobtheboy 2014-12-19 04:55:28

+0

制造数据与速度无关。我已经在Z80上看到了3D线框图形。 – user1812 2017-09-03 00:32:24

1

取得这是不幸的是简单的计算器的低效率。 TI-basic是一种相当高级的语言,易于使用,因此效率或速度都不是很快。特别是关于输入和输出,即打印消息和获得输入。

1

快捷键

:AsmPrgm3A3F84EF8C47EFBF4AC9

这是一个信息getKey程序,使所有键重复,不只是箭头和有重复之间没有延迟。关键代码是不同的,所以你可能需要做实验。

+0

与TI-Basic几乎所有的东西一样,如果您真的需要排除性能的最后一点,汇编是最好的选择。 – 2015-03-07 12:45:52

+0

@ dohaqatar7是对的,特别是对于图形;) – Timtech 2015-03-07 23:18:09

5

我认识到,“快捷键”码以上;)(我是原作者,很高兴看到它周围扩散!)。

不管怎么说,这是我在这方面的低层次的知识:

操作系统使用所谓的为了处理读取键盘中断,链路端口,USB端口,并跻身运行指标其他事情。中断只是软件代码,没有硬件实现。所以它被硬连线到操作系统而不是计算器。

TI使用代码的要点是,一旦读取发生了按键,它的计数器复位到50,并减小它,只要用户按住键。一旦计数器达到零,它会通知getKey将其识别为新的按键,然后将计数器重置为10.这会导致初始延迟比后续延迟更长。

的TI-OS允许第三方“挂钩”跳和修改信息getKey过程和我在另一个更复杂的程序(迅速密钥)使用这样的钩。然而,在BASIC程序执行期间,除了暂停或菜单(命令,它不是太有帮助)之外,此钩子永远不会被调用。

相反,我们可以设置解析器钩子来修改getkey计数器。你可以使用QuickKey上面的代码,也可以使用混合BASIC,这就需要你下载一个第三方应用程序。其中的几个应用程序(BatLib [由我],凯尔特人3,DoorsCS7和XLIB)提供了一个非常快的信息getKey 。替代以及许多其他强大的功能

以下是用于设置解析器钩子的代码它的工作原理相当不错,在我的测试中见下面备注:!

#include "ti83plus.inc" ; ~~This column is the stuff for manually 
_EnableParserHook = 5026h ; creating the code on calc. ~~ 
.db   $BB,$6D   ;AsmPrgm 
.org $9D95     ; 
    ld hl,hookcode   ;21A89D 
    ld de,appbackupscreen ;117298 
    ld bc,hookend-hookcode ;010A00 
    ldir     ;EDB0 
    ld hl,appbackupscreen ;217298 
    ld a,l     ;7D 
    bcall(_EnableParserHook);EF2650 
    ret      ;C9 
hookcode:     ; 
    .db 83h     ;83 
    push af     ;F5 
    ld a,1     ;3E01 
    ld (8442h),a   ;324284 
    pop af     ;F1 
    cp a     ;BF 
    ret      ;C9 
hookend:     ; 

注意:其他应用程序或程序可能会使用解析器钩子。使用此程序将禁用这些挂钩,您将需要重新安装它们。这很容易。

最后,如果您手动将它放在您的计算器上,请使用正确的列代码。这是一个动画。GIF图片,展示如何使这样一个方案:

Visual example of inputting assembly code onto a TI calculator

你要么需要在主屏幕上或在您的主程序的开始,一旦运行该程序。在此之后,所有getKeys都不会有任何延迟。

相关问题