 
                        一.硬件准备工作:
   1.lichee pi zero主板一块
   2.无线手柄2.4g一个
   3.屏幕800x480
   4.xt25f128b spiflash一块,焊接到板子上。(不用sd启动,看着别扭)
二.软件准备工作:
   1.参考各个大神文章,uboot,linux,buildroot
   简单说明一下需要修改的地方:
   u-boot:
   include/configs/sun8i.h
    #define CONFIG_BOOTCOMMAND  "sf probe 0:0 6000000; " \
			     "sf read 0x41800000 0x80000 0x4000; " \
			     "sf read 0x41000000 0x90000 0x470000;" \
			     "bootz 0x41000000 - 0x41800000;"
                            
                            
    #define CONFIG_BOOTARGS     "console=ttyS0,115200 earlyprintk panic=5 rootwait 
    mtdparts=spi32766.0:512k(uboot),64k(dtb)ro,4544k(kernel)ro,-(rootfs) root=/dev/mtdblock3 rw rootfstype=jffs2 init=/linuxrc 
    vt.global_cursor_default=0"/u-boot/drivers/mtd/spi/spi_flash_ids.c
   {"xt25f128b", INFO(0x0b4018, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP | SECT_4K) },   2. linux:
   dts:
   &spi0 {
        status ="okay";
        xt25f128b:xt25f128b@0 {
                compatible = "jedec,spi-nor";
                reg = <0x0>;
                spi-max-frequency = <50000000>;
                #address-cells = <1>;
                #size-cells = <1>;
        };    /linux/drivers/mtd/devies/m25p80.c
   搜jedec 在最后增加xt25定义
   {"w25q80bl"}, {"w25q128"}, {"w25q256"}, {"xt25f128b"}   3. /linux/drivers/mtd/spi-nor
   flash_info spi_nor_ids[]中
   { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) },
   { "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, 0) },
     menuconfig:
   - 加入SPI Flash的支持
    Device Drivers  ---> 
	<x> Memory Technology Device (MTD) support  --->
 		<x>   Command line partition table parsing   (用以支持命令行参数 mtdparts=spi0.0:512k(uboot)ro, … )
		<x>   Caching block device access to MTD devices 
		<x>   SPI-NOR device support  ---> 
			 [ ]   Use small 4096 B erase sectors  	(取消这个选型,否则jffs2文件系统会报错)- 加入jffs2文件系统支持
     File systems  ---> 
	[x] Miscellaneous filesystems  --->  
		<x>   Journalling Flash File System v2 (JFFS2) support                            
  		(0)     JFFS2 debugging verbosity (0 = quiet, 2 = noisy)  
  		[x]     JFFS2 write-buffering support   
  		[ ]       Verify JFFS2 write-buffer reads 
		[ ]     JFFS2 summary support  
  		[ ]     JFFS2 XATTR support 
  		[ ]     Advanced compression options for JFFS2 4.编译:(u-boot,linux)
   make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j2
   make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
   生成的文件:
    $ ls -lh arch/arm/boot/zImage
    -rwxrwxr-x 1 xlee xlee 4.2M Apr 23 10:41 arch/arm/boot/zImage
    $ ls -lh arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dtb 
    -rw-rw-r-- 1 xlee xlee 12K Apr 22 23:33 arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dtb   5.build-root
   ls -l  ~/buildroot-2017.08/output/images/rootfs.tar
   tar 解压rootfs.tar到目录rootfs_20200820/ 
   拷贝linux下的lib(包含module)文件夹内容到此目录,也可以添加用同样的编译编译出来的一些程序,比如InfoNes文件等
   mkfs.jffs2 -s 0x100 -e 0x10000 --pad=0xAF0000 -d rootfs_20200820/ -o rootfs.jffs2
三:烧录
   下载sunxi-fel 编译直接在ubuntu上烧
    分区如下:
    0~0x80000              uboot
    0x80000~ 0x90000  dtb
    0x90000~ 0x500000 zImage
    0x50000~ 16M         rootfs.jffs2
       短接板子spi的cs脚和地
    烧录命令跑起来:
    $sudo ./sunxi-fel -p spiflash-write 0 u-boot-sunxi-with-spl.bin
    $sudo ./sunxi-fel -p spiflash-write 0x80000 sun8i-v3s-licheepi-zero-dock.dtb
    $sudo ./sunxi-fel -p spiflash-write 0x90000 zImage
    $sudo ./sunxi-fel -p spiflash-write 0x500000 rootfs.jffs2四: 编译InfoNes
    下载源码:https://github.com/nejidev/arm-NES-linux
     在linux目录下修改Makefile:编译器,alsa(暂时去掉)
     编译完的InfoNes拷贝到rootfs_20200820,重新生成rootfs.jffs2,
     或者拷贝到sd卡,用挂载mount /dev/mmcblk0p1 /mnt/拷贝文件到板子
     再到网上下载nes游戏,拷贝到sd卡
     愉快的运行起来。

五: 待解决问题:
    1.声音
    2.遥控器
离线
占位: 无线遥控器
离线
占位:声音
离线
---- 继续 ----
六.声音调试:
   1. 下载tinyalsa git clone https://github.com/tinyalsa/tinyalsa.git
   修改makefile的交叉编译工具链,make 生成几个文件
   拷贝到sd卡,执行命令:
# ./tinymix set 1 63
# ./tinymix set 2 1
# ./tinymix contents
    因为只买了核心板,没有耳机孔,根据官方的原理图飞了一个滤波电路.
  第1,3,5,7脚分别是HP_COM,HP_COMFB, HP_L, HP_R
 ./tinyplay SoundTest.wav
 插上音响,可以听到清晰的声音。
   下一步,将InfoNes的声音补上。
离线
能上传版TF烧录固件感受下?
离线

感谢分享!infones-linux on lichee-zero
离线
能上传版TF烧录固件感受下?
只有spi flash版本,等我搞的差不多再上传。
离线
nes,tinyalsa
离线
七.遥控器搞起
    玩游戏肯定少不了手柄,本来想用一个有线usb手柄,但是作为一个精益求精的玩家,这个长线是不能接受的,所以决定搞一个无线手柄。
    1.在某宝买了一个无线2.4G游戏手柄,在windows下免驱的,
    估计在zeros的linux上也有相关驱动,果然,在linux目录能找到相关驱动 ~/linux/drivers/hid/hid-dr.c
    
    小技巧:插入电脑上找到设备管理器,属性,就能看到VID和PID号,查找一下驱动目录就能找到相对于的设备商。我买的遥控器是DragonRise Inc. game 
    controllers
    在~/linux/drivers/hid/hid-core.c 添加PID号 0x181c
    
#if IS_ENABLED(CONFIG_HID_DRAGONRISE)
	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0006) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x181c) },
#endif
     2. linux menuconfig
     > Device Drivers > Input device support 
     <*>   Joystick interface
      [x]   Joysticks/Gamepads  --->
     > Device Drivers > HID support > Special HID drivers
      <*> DragonRise Inc. game controller
    3. 在InfoNes文件joypad_input.cpp 修改键值
    看实际情况,ABXY,左右上下,start,select
         /**
     * FC手柄 bit 键位对应关系 真实手柄中有一个定时器,处理 连A  连B 
     * 0  1   2       3       4    5      6     7
     * A  B   Select  Start  Up   Down   Left  Right
     */
       4.烧录完内核后,接上usb转接器,插上无线手柄接收器,愉快的玩起来。
       
[   26.946678] usb 2-1: new full-speed USB device number 4 using ohci-platform
[   27.213391] input: TGZ Controller as /devices/platform/soc/1c1a400.usb/usb2/2-1/2-1:1.0/0003:0079:181C.0005/input/input6
[   27.224832] dragonrise 0003:0079:181C.0005: input: USB HID v1.11 Gamepad [TGZ Controller] on usb-1c1a400.usb-1/input0
[   27.240256] input: TGZ Controller as /devices/platform/soc/1c1a400.usb/usb2/2-1/2-1:1.1/0003:0079:181C.0006/input/input7
[   27.316983] dragonrise 0003:0079:181C.0006: input: USB HID v1.11 Device [TGZ Controller] on usb-1c1a400.usb-1/input1
# ls /dev/input/js0 
/dev/input/js0
       
离线
楼主可以啊,花了不少精力吧。
V3S 带800x480感觉怎么样,吃力吗
离线

我的也在吃灰中
离线
烧录文件:
licheepi zeros,密码用户名:root和licheepi
16M spi flash
800*480屏幕
离线
楼主优秀,求手柄购买链接
离线
楼主优秀,求手柄购买链接
我在这家树莓派店买的(其他店的应该也可以,但是可能要调驱动)
fu置本段内容$rNCpcXhED59$达开τao寶【树莓派4B/3B+/Zero W 2.4G 摇杆无线游戏手柄街机游戏机配件】
离线
离线
---- 继续折腾一下这个游戏机 ------------
玩了几天,发现lcd屏幕太小了,眼睛看得很累。
所以把它的视频输出端接到投影仪上,大屏玩游戏,酷。。。

离线
好牛
离线
详细, 牛XXX, 精彩!!!!
离线
---- 继续移植 wifi同屏功能------
准备工作:
    scrcpy软件: https://github.com/Genymobile/scrcpy
rtl7823bs wifi模块
一.    安装编译工具 pip3,meson,ninja-build,re2c
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip
pip3 install --user meson
apt-get install ninjia-build
或者源码安装
git clone https://github.com/ninja-build/ninja
./configure.py --bootstrap
apt-get install re2c
如果碰到问题就按照出错地方修改。
二. 下载相关库源码,交叉编译scrcpy
     ffmpeg,x264,xvid,sdl2
     
1. xvid
tar zxvf xvidcore-1.3.3.tar.gz
cd xvidcore/build/generic
./configure --prefix=/root/ffmpeg/ --host=arm-linux-gnueabihf --target=arm-linux
make -j 8
make install
2. x264
tar jxvf last_x264.tar.bz2
cd x264-snapshot-20161225-2245
./configure --prefix=/root/ffmpeg/x264_out --host=arm-linux-gnueabihf --enable-shared --disable-asm
修改config.mak
修改内容如下:
CC=gcc 改为 CC=arm-linux-gnueabihf-gcc
LD=gcc -o 改为 LD=arm-linux-gnueabihf-gcc -o
RANLIB=ranlib 改为 RANLIB=arm-linux-gnueabihf-ranlib
STRIP=strip 改为 STRIP=aarm-linux-gnueabihf-strip
3. ffmpeg
tar jxvf ffmpeg-3.0.2.tar.bz2
cd ffmpeg-3.0.2/
./configure --prefix=/root/ffmpeg/out --disable-static --enable-shared --disable-debug --disable-asm --disable-ffplay --disable-ffprobe --disable-ffserver --enable-small --disable-doc --enable-demuxer=rtsp --enable-parser=h264 --enable-cross-compile --enable-libx264 --enable-libxvid --enable-nonfree --enable-gpl --arch=arm --target-os=linux --cross-prefix=arm-linux-gnueabihf- --extra-cflags=-I/root/ffmpeg/out/include --extra-ldflags=-L/root/ffmpeg/out/lib --extra-libs=-lrt
tar -zxvf SDL2-2.0.9.tar.gz
./configure --prefix=/root/scrcpy/sdl2  --host=arm-linux-gnueabihf   --build=x86_64  --with-gnu-ld   --disable-video-nanox  --disable-video-qtopia   --disable-pulseaudio   --disable-video-photon  --disable-video-ggi  --disable-video-svga   --disable-video-aalib   --disable-video-dummy   --disable-video-dga  --disable-arts   --disable-esd  --disable-alsa   --disable-video-x11   --disable-nasm  --enable-joystick   --disable-input-tslib   --disable-video-fbcon
--留一个坑,后续再修改sdl源码,直接用linux framebuffer来显示图像
4. 进入目录scrcpy-1.16
/root/.local/bin/meson c --buildtype release --strip -Db_lto=true -Dprebuilt_server=../scrcpy-server.jar --cross-file cross_file.txt
cross_file.txt 文件的内容是:
[binaries]
c = 'arm-linux-gnueabihf-gcc'
cpp = 'arm-linux-gnueabihf-g++'
ar = 'arm-linux-gnueabihf-ar'
strip = 'arm-linux-gnueabihf-strip'
pkgconfig = '/root/buildroot-2017.08/output/host/bin/pkg-config'
[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'FP-ARMv7'
endian = 'little'
[build_machine]
system = 'linux'
cpu_family = 'x86_64'
cpu = 'i686'
endian = 'little'在编译之前首先把ffmpeg 和sdl2的库生成的pkg-config文件拷贝到L/root/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib
一切准备就绪,编译生成scrcpy文件
ninja all
5. 用buildroot勾选adb工具,生成adb文件
二.    板子运行
1.    把adb和所有的用到的lib拷贝到板子。
2.    接上手机,打开usb调试模式(多次点击设置->关于手机->版本号)
Lsusb找到pid号
写入到~/.android/adb_usb.ini文件
Adb devices确认能找到手机设备
配置库路径,先录一个视频看看效果
export LD_LIBRARY_PATH=/mnt/scrcpy/lib:/mnt/ffmpeg/lib
./scrcpy -N -m 800 -b 1M --max-fps 15   --rotation
 1 --window-height 480 --window-width 800 -r scr_test.mp4
三.    rtl8723bs wifi模块
为了给tf留sdc0的接口,把它焊接到sdc1位置。
按照一般的做法就能正常使用,没有什么需要特别注意的地方
1.    linux make menuconfig选择drivers/ staging里面的rtl8723bs
2.    buildroot下面的wpa_supplicant工具,
3.    然后make,刷rootfs或者直接拷贝相关文件到sd卡,rtl8723bs_nic.bin到/lib/firmware/rtlwifi/目录下。
4.    愉快地运行起来:
修改wpa_supplicant.conf里面的ssid和psk
insmod /lib/modules/4.13.0-licheepi-zero\+/kernel/drivers/staging/rtl8723bs/r8
723bs.ko
ifconfig wlan0 up
./wpa_supplicant -Dnl80211 -iwlan0 -c /root/rtl8723/wpa_supplicant.conf -B
udhcpc -iwlan0 &
 [  873.649642] RTL8723BS: nolinked power save leave
[  875.646510] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
# [  875.960288] RTL8723BS: start auth
[  876.017289] RTL8723BS: auth success, start assoc
[  876.052762] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[  876.059904] RTL8723BS: assoc success
# [  877.599630] RTL8723BS: rtw_tkip_decrypt(wlan0) no_gkey_bc_cnt:9, no_gkey_mc_cnt:0
[  878.170886] RTL8723BS: send eapol packet
[  878.199958] RTL8723BS: send eapol packet
[  878.204510] RTL8723BS: set pairwise key camid:4, addr:28:6c:07:6c:b1:3a, kid:0, type:AES
[  878.217725] RTL8723BS: set group key camid:5, addr:28:6c:07:6c:b1:3a, kid:1, type:TKIP
[  878.226179] RTL8723BS: rtw_tkip_decrypt(wlan0) gkey installed. no_gkey_bc_cnt:2, no_gkey_mc_cnt:0
# udhcpc: sending discover
udhcpc: sending select for 192.168.31.197
udhcpc: lease of 192.168.31.197 obtained, lease time 43200
deleting routers
adding dns 192.168.31.1
离线
这个小投影仪好像很香的样子 
离线
厉害,收藏一下
离线
楼主优秀
离线
实然有了学习的冲动。感谢。
离线
这投影仪咋这么完美接上? 某宝有?
离线
大佬,位在nuc972上直接编译了试了试,为什么色彩不正常呢,运行正常但是颜色是乱的,fb是rgb565,搞了半天都不行
离线
这真是折腾成专家了。等有空我也耍耍这个。
离线
优秀
离线
很不错,受教了
离线
羨幕.
离线
学习了
离线
感谢,我要好好学习了。
离线
太牛了,我也尝试下
离线
厉害了
离线
突然有了学习的冲动
离线
占位: 无线遥控器
请问声音搞定了吗
离线
占位:声音
我有一套源码。声音正常。但是颜色不对。由于没有手柄。键盘用不了,不知怎么调
离线
说实话,太牛X了,等我先把板子跑起来再说。。。。。
离线
牛逼
离线
淡定 说:占位:声音
我有一套源码。声音正常。但是颜色不对。由于没有手柄。键盘用不了,不知怎么调
颜色不对的问题可以解决,我的也是,屏幕泛蓝色。
1.framebuff颜色宽度设置错误,默认InfoNES颜色位宽16bit,所以RGB颜色前后8位被丢了,只剩下蓝色和绿色。
2.修改方法
打开源码 /linux/InfoNES_System_Linux.cpp 
添加 全局变量 ,修改函数
long int lcd_bits_per_pixel;
static int lcd_fb_display_px(WORD color, int x, int y)
{
	unsigned char  *pen8;
	pen8 = (unsigned char *)(fb_mem + y*line_width + x*px_width);
    if(lcd_bits_per_pixel==32)
    {
        (unsigned int*)pen8=color;//32bit
    }
    else
    {
        (unsigned short*)pen8=color;//16bit
    }
	
	return 0;
}修改函数
static int lcd_fb_init()
{
	//如果使用 mmap 打开方式 必须是 读定方式
	fb_fd = open("/dev/fb0", O_RDWR);
	if(-1 == fb_fd)
	{
		printf("cat't open /dev/fb0 \n");
		return -1;
	}
	//获取屏幕参数
	if(-1 == ioctl(fb_fd, FBIOGET_VSCREENINFO, &var))
	{
		close(fb_fd);
		printf("cat't ioctl /dev/fb0 \n");
		return -1;
	}
	
	//计算参数
	px_width     = var.bits_per_pixel / 8;
    lcd_bits_per_pixel=var.bits_per_pixel;
	line_width   = var.xres * px_width;
	screen_width = var.yres * line_width;
	lcd_width    = var.xres;
	lcd_height   = var.yres;
	
	printf("fb width:%d height:%d \n", lcd_width, lcd_height);
	fb_mem = (unsigned char *)mmap(NULL, screen_width, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0);
	if(fb_mem == (void *)-1)
	{
		close(fb_fd);
		printf("cat't mmap /dev/fb0 \n");
		return -1;
	}
	//清屏
	memset(fb_mem, 0 , screen_width);
	return 0;
}其实就是加了个参数区分是16位宽还是24位,还没试,应该可以:P
最近编辑记录 卓林 (2021-01-22 11:24:57)
离线
抛砖引玉,有没有人试过ps3手柄,我在内核开启了Microsoft微软的HID支持,在Microsoft的PID列表里边添加了我这个手柄的PID,但是还是识别不到手柄,插上去之后控制台也没有输出,晚点我把开机log中关于usb的信息贴上来,看看有人能知道什么情况吗?
离线
离题: 大佬手机上的 下厨房 体现了大佬是个热爱生活的人。
离线

也可以参考我这个贴子 https://whycan.com/t_5913.html 的说明,修改InfoNES中调色板的数组NesPalette,改成RGB888的
离线
大佬你好,按照你的帖子,InfoNES移植成功了,也可以看到 /dev/input/js0了,但是运行后手柄没有反应,用joystick软件是可以看到手柄的信息的,请问该怎么处理呢?
离线
大佬你好,按照你的帖子,InfoNES移植成功了,也可以看到 /dev/input/js0了,但是运行后手柄没有反应,用joystick软件是可以看到手柄的信息的,请问该怎么处理呢?
解决了,是键值的问题,打印出来再改下源码就好了
离线

请教个问题,声音滞后怎么解决?
离线
---- 继续折腾一下这个游戏机 ------------
玩了几天,发现lcd屏幕太小了,眼睛看得很累。
所以把它的视频输出端接到投影仪上,大屏玩游戏,酷。。。
厉害了,这个投影仪模块是个什么情况,怎么弄得,有现成的买吗,也想整一个
离线
这个投影仪多大分辨率啊?
离线
四: 编译InfoNes
    下载源码:https://github.com/nejidev/arm-NES-linux
     在linux目录下修改Makefile:编译器,alsa(暂时去掉)
     编译完的InfoNes拷贝到rootfs_20200820,重新生成rootfs.jffs2,
这个alsa 怎么去掉啊,我make后编译不了
离线
四: 编译InfoNes
下载源码:https://github.com/nejidev/arm-NES-linux
在linux目录下修改Makefile:编译器,alsa(暂时去掉)
编译完的InfoNes拷贝到rootfs_20200820,重新生成rootfs.jffs2,这个alsa 怎么去掉啊,我make后编译不了
可以参考我的文章:
https://blog.csdn.net/qq_46604211/article/details/117914263?spm=1001.2014.3001.5501
离线
还能跑得动游戏?
离线
离线
超级玛丽,马里奥,采蘑菇
离线
有兄弟向我一样一直不能移植成功的,可以试试通过QT移植。我用QT4跑INFONES还是比较流畅的, ,
,
离线
这个硬件我也设计了一版,由于没有经验,用是可以用,但是供电还是有点问题。
离线
离线
离线
F1C100s的朋友谨慎尝试吧,移植后游戏卡的飞起,人物动作比模拟器慢的多,基本没法玩,换个性能好的cpu再试试。
离线
大佬这个投影模块有资料吗?
离线
adb可以使用吗
离线
同问:大佬这个投影模块有资料吗?
看上这个投影模块了~
离线
同问:大佬这个投影模块有资料吗?
看上这个投影模块了~
离线
同问:大佬这个投影模块有资料吗?
看上这个投影模块了~
离线
v3s流畅度怎么样
离线
我修改linux目录下的makefile,想在t113-s3板上运行。
# CC = arm-linux-gcc
CC = arm-openwrt-linux-gcc
TARBALL = InfoNES08J
# InfoNES
.CFILES =	./../K6502.cpp \
		./../InfoNES.cpp \
		./../InfoNES_Mapper.cpp \
		./../InfoNES_pAPU.cpp \
		./InfoNES_System_Linux.cpp joypad_input.cpp
.OFILES	=	$(.CFILES:.cpp=.o)
CCFLAGS =  -O2 -fsigned-char -I/home/any/MPU/AllWinner/T113-s3/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include
LDFILGS = -lstdc++		# gcc3.x.x
LIBS += -L/home/any/MPU/AllWinner/T113-s3/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-glibc/toolchain/lib -lpthread -lm
LIBS += -L/home/any/MPU/AllWinner/T113-s3/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/lib -lasound -lz
all: InfoNES
InfoNES: $(.OFILES)
	$(CC) $(INCLUDES) -o $@ $(.OFILES) $(LDFILGS) $(LIBS)
	# $(CC) $(INCLUDES) -o $@ $(.OFILES) $(LDFILGS) -L/home/any/MPU/AllWinner/T113-s3/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-glibc/toolchain/lib -lm -lpthread -L-L/home/any/MPU/AllWinner/T113-s3/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/lib -lz -lasound
.cpp.o:
	$(CC) $(INCLUDES) -c $(CCFLAGS) $*.cpp  -o $@
clean:
	rm -f $(.OFILES) ../*~ ../*/*~ core
cleanall:
	rm -f $(.OFILES) ../*~ ../*/*~ core InfoNES
release: clean all
tar:
	( cd ..; \
	tar cvf $(TARBALL).tar ./*; \
	gzip $(TARBALL).tar \
	)
install:
	install ./InfoNES /usr/local/bin结果在板子上运行后有如下提示,然后屏幕黑屏。
# ./InfoNES                              
/dev/joypad dev not found                                   
/dev/input/js0 dev not found                                
fb width:800 height:480 离线
void InfoNES_LoadFrame()
{
    int x,y, i;
    int line_width;
    WORD wColor;
    //修正 即便没有 LCD 也可以出声
    if(0 < fb_fd)
    {
        for (y = 0; y < lcd_height; y++ )
        {
            line_width = zoom_y_tab[y] * NES_DISP_WIDTH;
            for (x = 0; x < lcd_width; x++ )
            {
                wColor = WorkFrame[line_width  + zoom_x_tab[x]];
                lcd_fb_display_px(wColor, x, y);
                printf("x:%d, y:%d, color:%d, index:%d\r\n", x, y, wColor, line_width + zoom_x_tab[x]);
                // for (i = 0; i < 255; i++)
                // {
                    // printf("%d\r\n", WorkFrame[i]);
                // }
            }
        }
    }
}InfoNES_LoadFrame()这个函数里,我将每个像素点的wColor打印出来,结果都是0。
甚至将WorkFrame[]数组的前255个成员打印出来,结果也是0。
这是哪里出错了?
最近编辑记录 Gentlepig (2023-05-31 15:41:08)
离线
默默跟进t113~
离线
同问:大佬这个投影模块有资料吗?
看上这个投影模块了~
网上没有卖,自己手工打造的模块。
最近在搞人工智能,有一起学习的不?
离线
大佬这个投影模块有资料吗?
离线