我想写一个用摩托罗拉68000汇编语言编写的程序,目标平台是Neo Geo (90年代的游戏机);这个问题是认真的,我有一个我想实现的具体项目,并且我有编程经验(虽然我现在主要是Perl/R编程,但我以前只接触过一点汇编编程)。
Neo Geo没有太多的文档可用,但我有一个来自Alexander Stante的文档,其中包含有关格式和存储精灵的位置、内存映射、内存映射寄存器的位置、图形和声音系统如何工作等信息。
因此,应该可以用68K汇编语言编写程序,在PC上汇编它,然后在Neo Geo (或仿真器,其中有很多可用来测试)上运行它。
我确实有一些M68汇编程序的背景,这是在我的C.S.硕士学位(10年前)期间的一些课程;我们在Sun Sparcstation上组装,并将程序发送到一个附加的盒子中,这个盒子基本上只有一个M68K,里面只有一些内存,其他什么都没有。因此,可以将“纯”目标代码加载到CPU中。
现在,我对Neo Geo不理解的是,我必须将汇编的代码放到哪种“格式”中。
也就是说,如果我已经汇编了一个我用68K汇编编写的程序,我如何才能让仿真器认为它是一个ROM-Image,或者我如何才能构建一个物理的Neo Geo CD可以接受的CD (或CDZ,就此而言)?它会检查文件名或魔术标题吗?!所以我的问题是,如何将汇编好的对象代码转换成正确的“文件格式”?!(对不起,我甚至不知道这是不是合适的词)。
发布于 2011-05-19 12:17:16
我想我现在找到了我最初问题的答案,最近出现了一个新的wiki,它非常适合Neo Geo编码:
http://neogeodev.wikkii.com/wiki/Main_Page
发布于 2011-02-08 14:48:30
我不能说出Neo Geo平台的细节,也不能说它的仿真器中通用的格式。
但是,它很可能是某种ROM映像。对于68K系列,您可以在ROM的一端找到引导向量。您需要花一些时间来阅读manual。处理器将通过使用表B-1从内存中获取值开始。因此,0x0处的32位需要初始堆栈指针,而0x4需要初始PC。
您将希望研究几个现有Neo Geo游戏的图像,看看是否可以使用这些初始值跟踪代码。仿真器可能以压缩格式存储图像,或者在图像上带有某种标题;您必须自己解决这些问题。
编辑:我还应该补充说,你一开始可能会被68K是正确的字节顺序,也就是高字节顺序这一事实弄糊涂。
发布于 2011-05-18 15:20:33
我相信这个链接列表会给你带来很大的帮助:
Neo Geo Programming Manual (非官方)
Neo Geo上的LOT of assorted files。
Various links to emulators.模拟器必须知道代码是如何工作的……非常雄心勃勃的MAME也有新地理的支持。
http://furrtek.free.fr/noclass/neogeo/NeoGeoPM.pdf
https://stackoverflow.com/questions/4930040
复制相似问题