我最近决定尝试ti-basic编程,而我正在玩getKey;我注意到它在第一次输入后有一个1s的输入滞后。这是内置在计算器中,还是可以改变?有没有办法去除“getKey”的输入延迟?
回答
我想通了,这一点我自己太当我在暑假期间与我的TI-84试验。这种滞后不能改变。这是内置于计算器中的。我想这是因为在TI-84所用的芯片是怎样一个英特尔Z80的Zilog微处理器这是在1984年
取得这是不幸的是简单的计算器的低效率。 TI-basic是一种相当高级的语言,易于使用,因此效率或速度都不是很快。特别是关于输入和输出,即打印消息和获得输入。
快捷键
:AsmPrgm3A3F84EF8C47EFBF4AC9
这是一个信息getKey程序,使所有键重复,不只是箭头和有重复之间没有延迟。关键代码是不同的,所以你可能需要做实验。
与TI-Basic几乎所有的东西一样,如果您真的需要排除性能的最后一点,汇编是最好的选择。 – 2015-03-07 12:45:52
@ dohaqatar7是对的,特别是对于图形;) – Timtech 2015-03-07 23:18:09
我认识到,“快捷键”码以上;)(我是原作者,很高兴看到它周围扩散!)。
不管怎么说,这是我在这方面的低层次的知识:
操作系统使用所谓的为了处理读取键盘中断,链路端口,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图片,展示如何使这样一个方案:
你要么需要在主屏幕上或在您的主程序的开始,一旦运行该程序。在此之后,所有getKeys都不会有任何延迟。
- 1. 有没有办法增加Intellisense的弹出延迟?
- 2. 有没有办法在eclipse工具提示中添加延迟?
- 3. 有没有什么办法可以在我的javascript中引入延迟?
- 4. 延迟去除类jQuery的
- 5. PHP的回声输出没有延迟?
- 6. 有没有办法在bootstrap中删除明文输入X?
- 7. 有没有办法让周期性任务有更短的延迟?
- 8. 有没有办法去除ggplot2中图例的边框?
- 9. 有没有办法使用numpy去除循环?
- 10. 有没有办法在pgsql中捕获延迟约束的异常?
- 11. 有没有办法提示用户在android上的输入法?
- 12. 有没有办法去除,除了字母,数字的一切,“ - ”从字符串
- 13. JavaScript有没有安全延迟?
- 14. 有没有办法将输入的号码从收集请求中排除?
- 15. 有没有办法从PhantomJS的keybord读取用户输入?
- 16. 有没有办法将输入作为列表的名字?
- 17. 有没有办法让用户选择要输入的变量?
- 18. 有没有办法用withReader重新打开输入流? - Groovy的
- 19. 有没有办法在mysql中输入每个表的描述?
- 20. 有没有办法检查python中的输入?
- 21. 有没有办法关闭gdb的缓冲区检查输入?
- 22. 有没有办法删除FILE_FLAG_DELETE_ON_CLOSE?
- 23. 有没有办法清除AS3/AIR
- 24. 有没有什么办法可以在Visual Studio中延迟intellisense的淡入时间?
- 25. 有没有办法擦除最后一行输出?
- 26. 有没有办法在apache或nginX中删除一些网页标题以减少延迟?
- 27. SDL FPS输入延迟
- 28. 音频输入延迟
- 29. 没有使用Thread.sleep()的时间延迟
- 30. 没有冻结的Java延迟UI
@GameMasterJack如果您发现我的答案有帮助,请点击复选标记。 – bobtheboy 2014-12-19 04:55:28
制造数据与速度无关。我已经在Z80上看到了3D线框图形。 – user1812 2017-09-03 00:32:24