基本的M68000问题,Neo Geo相关

时间:2011-02-08 05:52:51

标签: assembly 68000

我想在Motorola 68000汇编程序中编写程序,目标平台是Neo Geo(九十年代的游戏机);这个问题意味着严肃,我有一个特定的项目,我想要实现,并且我有编程经验(虽然我现在编程主要是Perl / R,我之前只有一点点接触汇编编程)。

Neo Geo没有太多可用的文档,但我有一个来自Alexander Stante的文档,其中包含有关格式的信息以及存储精灵的位置,存储器映射,存储器映射寄存器的位置,图形和声音系统的方式等等。

所以应该可以在68K汇编程序中编写程序,在PC上组装它并从Neo Geo(或者有很多可用的模拟器)运行它来进行测试。

我确实在M68汇编程序中有一些背景,这是在我的C.S. master(10年前)期间的某些课程;我们组装了一台Sun Sparcstation并将程序发送到一个附加的盒子,它基本上有一个带有一些RAM的M68K而不是其他的。因此可以将“纯”对象代码加载到CPU中。

现在,我对Neo Geo不了解的是我必须使用哪种“格式”来组装代码。

即。如果我已经组装了一个我在68K程序集中编写的程序,我怎样才能使模拟器认为它是ROM-Image,或者我如何构建一个物理Neo Geo的CD(或CDZ) CD会接受吗?它检查文件名或魔术标题吗?!所以我的问题是,如何将汇编的对象代码转换为正确的“文件格式”?! (对不起,我甚至不知道这是否是正确的词)。

3 个答案:

答案 0 :(得分:1)

我不能代表Neo Geo平台的具体细节,也不能代表模拟器中常见的格式。

然而,它很可能是某种ROM图像。对于68K系列,您将在ROM的一端找到引导向量。您需要花一些时间阅读manual。处理器将首先使用表B-1从内存中获取值。因此,0x0处的32位需要具有初始堆栈指针,而0x4需要初始PC。

您需要研究一些现有Neo Geo游戏的图像,看看您是否可以使用这些初始值跟踪代码。模拟器可能以压缩格式存储图像,或者在图像上存储某种标题;你必须自己解决这个问题。

编辑:我还应该补充一点,你可能最初会对68K是正确字节序的事实感到困惑,即大端。

答案 1 :(得分:1)

我相信这个链接列表会让你走得很远:

Neo Geo Programming Manual(非官方)

Neo Geo上的LOT of assorted files

Various links to emulators.模拟器必须知道代码是如何工作的...... 雄心勃勃的MAME也有Neo Geo的支持。

http://furrtek.free.fr/noclass/neogeo/NeoGeoPM.pdf

答案 2 :(得分:1)

我想我现在找到了原始问题的答案,最近出现了一个新的wiki,这对于Neo Geo编码非常有用:

http://neogeodev.wikkii.com/wiki/Main_Page