广州建筑业企业排名,江苏网站seo平台,wordpress粘贴关键词,深圳外贸网站优化简介
在街机模拟器中运行一个街机游戏#xff0c;我们除了需要一个模拟器工具 #xff0c;也需要有一个街机的ROM文件。街机的ROM文件#xff0c;称之为Read-Only Memory#xff0c;可以理解为只读存储器。在 ROM文件中#xff0c;包括了游戏运行所需要的指令代码#x…
简介
在街机模拟器中运行一个街机游戏我们除了需要一个模拟器工具 也需要有一个街机的ROM文件。街机的ROM文件称之为Read-Only Memory可以理解为只读存储器。在 ROM文件中包括了游戏运行所需要的指令代码声音图像等内容。
而RAM全称为Random Access Memory也叫主存是与CPU直接交换数据的内部存储器速度较快通常作为操作系统或其他正在运行中的程序的临时数据存储介质。与ROM的最大区别是数据的易失性断电或重启时RAM所存储的数据将随之丢失。
我们可以把它们想象成街机模拟工具就是一台电脑ROM就是硬盘中保存的数据而RAM就是电脑的内存。
修改RAM数据
在我们使用街机模拟器MAME运行一个游戏时可以使用DEBUG调试器方便地查看到该游戏的ROM内容和RAM内容。需要查看ROM或RAM的内容我们只需在内存窗口中输入内存的地址 ROM和RAM所对应的内存地址因游戏不同而不同。它们的地址区域可以通过相关的网站去了解到。如cps1系统对应的资料Capcom System 1 information 68000 Memory Addresses: $000000 $1fffff 68000 ROM $800000 $800003 Player input ports $800010 $800013 ?? $800018 $80001f Input ports $800020 $800021 ? Used by Rockman ? $800030 $800031 Coin Control $800040 $800041 Forgotten Dial 0 reset $800048 $800049 Forgotten Dial 1 reset $800052 $800055 forgotten worlds $80005a $80005d forgotten worlds $800176 $800177 Extra input ports $800100 $8001ff Output ports $800180 $800181 Sound command $800188 $800189 Sound fade $8001fc $8001fc Input ports (SF Rev E) $900000 $92ffff Gfx ram $f0e000 $f0efff Slammasters protection $f18000 $f19fff QSound RAM $f1c000 $f1c001 Player 3 controls (later games) $f1c002 $f1c003 Player 4 controls (later games - muscle bombers) $f1c004 $f1c005 Coin control2 (later games) $f1c006 $f1c007 EEPROM $ff0000 $ffffff RAM 我们需要知道的是RAM中的数据并非只读形式我们可以方便地在内存窗口中去修改其中的值。通过对应的资料我们得知在cps1系统中地址$FF0000 ~ $FFFFFF中的为RAM我们就可以在内存窗口中直接选中其中一个地址从键盘直接输入16进制的数据从而修改该位置的数据。
我们也可以通过批令来修改RAM中的数据
pwff0000 $01
修改ROM数据
而ROM所在的位置为只读的形式存储在文件中的所以我们在默认情况下不能对ROM的内容进行直接的修改。如果需要对该位置进行修改首先我们可以通过选择地址空间来对该位置进行修改。我们打开内存窗口在地址空间选择中我们选中Region:maincpu地址空间 就可以象修改RAM一样方便地修改了。此方法在较旧的MAME版本中可能无效。
同样的我们也可以用指令来修改该位置的数据
rw1000 $01
注意修改ROM中的数据容易导致程序运行的错误当出现错误时可以通过硬重启来回复ROM中的数据 。同时修改ROM中的数据并不能改变ROM压缩文件。