我正在寻找在游戏中构建虚拟机,并且想知道是否有人知道任何非常简单的虚拟机(我认为RISC/PIC接近我想要的)通常用于嵌入式项目,如控制机器人,电机,传感器等我的主要关注点是如果我自己编写一个编译器/汇编器.我很高兴使用已经存在的工具或者最简单的工具只是一个可以为它编译的C编译器:-p.
我真的不想在这里重新发明轮子,但我还需要在虚拟世界中运行数千个,因此它们必须尽可能简单快速.正如一个人已经提到的,我也不关心现实世界的问题,如时间和公共汽车以及所有有趣的东西.我认为他们的虚拟时钟将被限制为很慢的东西; 并且最终我可能不得不考虑本机编译以使它们运行得更快但是现在我只是将原型放在一起以获得概念的一般证明.
作为输入,我计划安装在圆柱体(16个,可能是32个)周围的距离,光线,材料和触摸传感器,然后只需2个电机进行定向输出,以控制每侧的一种轮子.基本上处理不会太费劲,世界将变得足够简单,以便机器不必在简单的任务中投入大量处理能力.
在内存方面,我希望他们能够存储足够的数据,在没有干预建立地图和收集统计数据的情况下保持几天.我不喜欢8bit会削减处理或内存,但16bit肯定会成为竞争者.32位和64位只会推动它,并且它们不会有超过1mb的内存 - 可能更接近256-512k.(比尔一说640k就足够了,为什么我不能!!)
我为一位希望在嵌入式控制器上运行VM语言的朋友写了Wren,其中RAM大约为16K.(但它在代码中允许每个进程最多64k.)它包含一个用于愚蠢的小编程语言的编译器.这一切,呃,非常基本,并没有看到太多用处,但它正是你在第一段中所描述的.
FORTH"虚拟机"就像它们来的一样简单.16位地址空间(通常),16位数据字,两个堆栈,内存.Loeliger的"Threaded Interpretive Languages"告诉你如何在Z80上构建一个FORTH解释器.