有人如何能够在 ti 计算器上实现 game-boy 模拟器?

How was someone able to implement a game-boy emulator on a ti-calculator?

这个问题可能除了创建者之外没有人可以回答,但我在这里找到了一个 Gameboy 模拟器:https://www.omnimaga.org/ti-boy-se-game-boy...ti.../official-ti-boy-cse-alpha-thread/ 用于 ti-83/84 计算器并且想知道它是如何工作的。这对我来说就像一个奇迹,因为 Gameboy 游戏的内存消耗足以让计算器爆炸。我认为这是可能的,因为它可以 运行 存储在存档内存中的东西(我知道这是可能的,因为 Door-CSE)。但是,似乎我可以 运行 模拟器几个小时而不会 运行 耗尽 RAM!任何见解将不胜感激。

GameBoy 有 8kB S-RAM 和 8kB 内部视频内存;总共 16kB。 TI-83 计算器有 32kB RAM;是 GameBoy 的两倍。

TI-83+有27kB RAM(160kB Flash ROM),TI-83+SE有128kB RAM(1.5MB Flash ROM),TI-84有128/48kB RAM(1MB Flash ROM) ,TI-84+SE 有 128/48kB RAM(2MB Flash ROM),TI-84+CSE 有 128kB RAM(4MB Flash ROM),TI-84+CE 有 256kB RAM(4MB Flash ROM)。

如您所见,所有这些计算器都可以 运行 GameBoy 游戏在查看 RAM 使用情况时表现良好。现在对于必须存储在计算器上的实际代码:GameBoy 卡带内存大小介于 256kB 和 8MB 之间。 TI-83 和 TI-83+ 无法容纳这么多内存并且无法工作(我似乎无法使用您发送的 link(403 错误),但快速搜索让我找到了另一个表示不支持这些的页面)。 TI-83+SE和TI-84可以处理大小为256kB、512kB或1MB的游戏,TI-84+SE可以处理大小为256kB、512kB、1MB和2MB的游戏,TI-84+CSE而TI-84+CE可以处理大小为256kB、512kB、1MB、2MB或4MB的游戏。

GameBoy 游戏 Pokémon Red 的卡带大小为 512kB(日本)和 1MB(美国),因此计算器有足够的 space 来处理这个游戏。

GameBoy Color(不支持)具有 32kB RAM、16kB V-RAM 和 128kB Cartridge RAM。墨盒大小仍然最大为 8MB,因此保持不变。只有 TI-84+CE 可以处理。

GameBoy Advance (SP)(不支持)具有 32kB + 96kB V-RAM 和 256kB D-RAM,因此没有 TI-83 或 TI-84 计算器能够处理,但是 TI-Nspire可以处理这个(最新型号有 100MB 用户内存和 64MB 内存寄存器)。

总而言之;该程序令人印象深刻,但是内存消耗并不是什么大问题,因为这些计算器似乎有足够的内存来处理所有这些。当然计算器的 OS 也使用 RAM 和 ROM,所以我不会尝试在上面玩 4MB 的游戏,但较小的游戏应该没有问题。

来源:

GameBoy: https://en.wikipedia.org/wiki/Game_Boy
GameBoy Color: https://en.wikipedia.org/wiki/Game_Boy_Color
GameBoy Advance: https://en.wikipedia.org/wiki/Game_Boy_Advance
GameBoy Advance SP: https://en.wikipedia.org/wiki/Game_Boy_Advance_SP
Pokémon Red Cartridge size: https://news.ycombinator.com/item?id=3473111
TI-83: https://en.wikipedia.org/wiki/TI-83_series
TI-84: https://en.wikipedia.org/wiki/TI-84_Plus_series
TI-Nspire: https://en.wikipedia.org/wiki/TI-Nspire_series
TI-Boy SE Beta 0.2.04: http://www.ticalc.org/archives/files/fileinfo/419/41990.html