很久以前,我为Commodore Amiga做过一些游戏。全部都在68000组装中完成(所以我仍然有源码)
我想将这些游戏移植到现代平台上,而不是托管模拟器,而是考虑将Assembly转换为C,并添加一个SDL层。
关于如何处理68000-> C转换部分的任何想法? (不是手动的,而是自动的。就像在编译器中一样)
我当时只是想创建一堆与寄存器名称相似的变量,然后进行如下转换:
MOVE.l #23, d7
进入
MOVEL(23, d7);
我唯一不确定的是分支和子例程。 我认为我可以使用很大的switch语句来使用它,并且拥有任何标签,我都可能会跳为case语句。
有什么想法吗?我可以从中汲取灵感的任何现有技术吗?