如何修改NES游戏文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改NES游戏文件?相关的知识,希望对你有一定的参考价值。

是直接修改nes游戏本身,而不是使用作弊码.

参考技术A 不过我倒是可以告诉你一些好方法,现在有很多nes游戏是经过修改的,比如汉化啊,无敌啊之类的,建议你到http://www.51nes.cn去试试。 参考技术B 6502的机器码。用6502反汇编工具,摸清程序流程,然后再改指令,汇编进去。本回答被提问者采纳

V3S移植nes游戏模拟器(附带游戏合集)

V3S移植nes游戏模拟器(附带游戏合集)

1.资源准备:

  1. nes源码
  2. alsa源码(本文采用buildroot已编译好的alsa库 编译该库可参考mplayer那篇文章,也可自行编译)
  3. 可以使用音频和spi屏幕(也参考之前的spi屏幕配置)

2.编译nes源码:

  1. 在源码目录的linux文件夹下建立一个work文件夹
  2. 修改源码目录下linux文件夹中的makefie
1.修改CCFLAGS 增加alsa的头文件目录(该目录在bulidroot/output那里例如)
-I/home/book/lichee/rootfs/buildroot-2018.02.2/output/staging/usr/include
2.修改LDFILGS 增加alsa的lib文件目录(和上面一样)
-L/home/book/lichee/rootfs/buildroot-2018.02.2/output/staging/usr/lib
3.修改最上面的CC为bulidroot里面的gcc
/home/book/lichee/rootfs/buildroot-2018.02.2/output/host/bin/arm-linux-gnueabihf-gcc
4.更改最后的install那里为前面建立的work目录
install ./InfoNES /home/book/lichee/model/nes/arm-NES-linux-master/linux/work


5.修改InfoNES_System_Linux.cpp文件中的static int lcd_fb_display_px函数(调整spi屏幕的颜色):
static int lcd_fb_display_px(WORD color, int x, int y)

	WORD *pen16;
	unsigned char r, g, b;
	r = ((color >> 10) & 0x1f);
	g = ((color >> 5) & 0x3f);
	b = (color & 0x1f);

	color = r<<11|g<<6|b;
	pen16 = (WORD *)(fb_mem + y*line_width + x*px_width);
	*pen16 = color;
	return 0;

make
make install
生成的文件在work文件夹下
想使用usb手柄 可以再编译一下joypad文件夹下的源码也需要改makefile 自行参考下面的(适用高版本的模块编译)dir为源码目录!!!需要新的源码只需要和第一篇文章那样正常配置的才能编译,已配置过很多的源码是不可以的,CROSS_COMPILE为gcc目录
KERNELDIR := /home/book/lichee/linuxkernels/linux_5.10_2 
CURRENT_PATH := $(shell pwd) 
ARCH=arm
CROSS_COMPILE=/home/book/lichee/rootfs/buildroot-2018.02.2/output/host/bin/arm-linux-gnueabihf-
export ARCH CROSS_COMPILE
obj-m := joypad.o 

build: kernel_modules

kernel_modules:
	$(MAKE) -C $(KERNELDIR) M=$CURRENT_PATH modules
clean:
	make -C $(KERNELDIR) M=`pwd` modules clean
	rm -rf modules.ordern

3.烧录

  1. 下载游戏合集并解压,然后改名为游戏名为英文
    链接:https://pan.baidu.com/s/16hIWwYQQEX9aOBDG1dVa0A
    提取码:asdf
  2. 将生成的InfoNES放入板子。
    3.使用命令 ./InfoNES 游戏名字 就可以看到游戏开启成功

以上是关于如何修改NES游戏文件?的主要内容,如果未能解决你的问题,请参考以下文章

请问6502汇编和一般所说的汇编有啥区别和联系?

V3S移植nes游戏模拟器(附带游戏合集)

V3S移植nes游戏模拟器(附带游戏合集)

V3S移植nes游戏模拟器(附带游戏合集)

如何修改游戏mod中后缀为json的文件?

C# 搞个跨平台的桌面NES游戏模拟器