idf 4.4
迁移到cnb 编译 2025年8月31日
第一次 334s 第二次 44.23
//腾讯的 cd ~/esp/esp-idf . ./export.sh cd /workspace/retro-go/ time python rg_tool.py build-img --target=esp32s3-my
python rg_tool.py build-img --target=esp32s3-my
//cnb的 cd /workspace/esp-idf . ./export.sh cd /workspace/ time python rg_tool.py build-img --target=esp32s3-my
python rg_tool.py build-img --target=esp32s3-my
映射到本地 pip install flask python download_file.py --port=5000
下载存为文件名, 然后再用esptool下载 wget http://127.0.0.1:5000/download/retro-go_088d4-dirty_esp32s3-my.img -O esp32s3-my-2025-08-30.img
#最终版包括修改(旋转屏幕、pin定义、声音、电力、状态灯) esptool --port COM2 -b 921600 write_flash --flash_size detect 0x0 esp32s3-my-2025-08-30.img
腾讯步骤 apt update apt-get install libusb-1.0-0-dev cmake
cnb增加 apt-get install libusb-1.0-0-dev cmake python3 python3-pip python3-virtualenv python3-flask
cd /workspace/esp-idf ./install.sh esp32s3 esp32
ILI9341_CMD(0x36, 0x68); //旋转90度
github配置部分
sudo apt update
sudo apt-get install libusb-1.0-0-dev cmake
mkdir -p ~/esp
cd ~/esp
git clone -b release/v4.4 --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
./install.sh esp32 esp32s3
. ./export.sh
cd /workspaces/retro-go/
// python rg_tool.py build-img --target=esp32s3-devkit-c
//重新编译 python rg_tool.py release --target=esp32s3-devkit-c
//新的 //打开codespace后的,添加路径 cd ~/esp/esp-idf
. ./export.sh
cd /workspaces/retro-go/
python rg_tool.py build-img --target=esp32s3-my
time python rg_tool.py build-img --target=esp32s3-my
folder 目录, 访问一下, 就会自动生成
nes
gb
gbc
md genesis col coleco vision
pce pcengne 炸弹人 https://www.wlgooo.com/tag/pce%E6%B1%89%E5%8C%96 https://tieba.baidu.com/p/7723914542
doom wad后缀 doom https://freedoom.github.io/ https://www.bilibili.com/opus/785094660135583809
基本上没必要的 snes
gw game & watch
sms sega master system
gg game gear
lnx lynx
msx msx
游戏封面应放置在 SD 卡根目录下的 romart 文件夹中。你可以在此处获取一个预制素材包。Retro-Go 同样兼容旧版的 Go-Play romart 素材包。
若需添加缺失的封面图片,可创建一张 PNG 格式图片(尺寸为 160x168 像素,8 位色深)。系统支持以下两种命名规则:
基于文件名:/romart/nes/Super Mario.png(注意:此处不包含游戏 ROM 文件的扩展名)
基于 CRC32 编码:/romart/nes/A/ABCDE123.png,其中:
nes 与 ROM 文件所在文件夹名称一致;
ABCDE123 是该游戏的 CRC32 编码(在启动器中按下 A 键 -> 选择 “属性” 即可查看);
A 是 CRC32 编码的第一个字符。
注:预制素材包采用的 “基于 CRC32 编码” 命名方式,其加载速度远慢于 “基于文件名” 的方式!这种命名方式的优势在于:即使不同文件的文件名差异很大,只要它们的 CRC32 编码相同(即文件内容一致),就能匹配到正确封面。但如果你是自行制作封面图片,建议使用 “基于文件名” 的命名格式,并删除 SD 卡中所有基于 CRC32 编码命名的封面文件,以提升系统响应速度。
部分模拟器支持加载 BIOS(基本输入输出系统)文件。此类文件应按以下路径放置:
GB:/retro-go/bios/gb_bios.bin
GBC:/retro-go/bios/gbc_bios.bin
FDS:/retro-go/bios/fds_bios.bin
MSX:在 /retro-go/bios/msx/ 文件夹中放入以下文件:MSX.ROM、MSX2.ROM、MSX2EXT.ROM、MSX2P.ROM、MSX2PEXT.ROM、FMPAC.ROM、DISK.ROM、MSXDOS2.ROM、PAINTER.ROM、KANJI.ROM
该平台的 ROM 文件必须使用LCD-Game-Shrinker 工具进行打包处理,相关教程可参考此处。
若要使用 WiFi 功能,你需要创建一个路径为 /retro-go/config/wifi.json 的配置文件。该文件最多可定义 4 个不同的网络,后续可在菜单中选择对应的网络进行连接。配置文件的内容格式应如下所示:
{
"ssid0": "my-network",
"password0": "my-password",
"ssid1": "my-other-network",
"password1": "my-password",
"ssid2": "my-third-network",
"password2": "my-password",
"ssid3": "my-last-network",
"password3": "my-password"
}
成功连接网络后,启动器会立即进行时间同步。 该同步过程通过网络时间协议(NTP)实现,具体是与 pool.ntp.org(公共 NTP 服务器池)进行通信,目前暂不支持关闭此功能。 时区可在启动器的 “选项” 菜单中进行配置。
你可以在 Retro-Go 的 “关于”(About)菜单中找到设备的 IP 地址。之后在电脑上打开浏览器,在地址栏输入 http://192.168.x.x/(将 “192.168.x.x” 替换为实际找到的设备 IP 地址),即可访问文件管理器。
Retro-Go supports the external DAC mod for the ODROID-GO
which allows high quality audio through headphones. You can switch to it in the menu Audio Out: Ext DAC.
| GO PIN | PCM5102A PIN |
|---|---|
| 1 | GND |
| 2 | - |
| 3 | LCK |
| 4 | DIN |
| 5 | BCK |
| 6 | VIN |
| 7 | - |
| 8 | - |
| 9 | - |
| 10 | - |
Retro-Go 通常会自动检测并解决应用程序崩溃与卡死问题。但如果设备确实陷入循环启动状态,你可以在开机时按住 “向下键(DOWN)”,以返回至启动器界面。
在 GO 设备上,音量调节无法实现精准衰减:这导致音量调至较高档位时声音过大,而调至较低档位时,又会因数模转换器(DAC)分辨率不足出现声音失真。 若想快速改善音质,可剪断一根扬声器导线,并串联一个 “33 欧姆(左右)” 的电阻。焊接连接的效果更佳,但并非必需 —— 将导线紧密绞合也能正常工作。 更复杂的解决方案可参考此处。 此外,你也可以采用本文档前文提及的 “耳机数模转换器(DAC)改装方案”。
在 Retro-Go 模拟器中,即时存档(Save States) 能为你提供最佳且最可靠的存档体验。话虽如此,若你需要或希望使用静态随机存取存储器(SRAM)存档,请继续阅读以下内容。该模拟器的 SRAM 存档格式与 VisualBoyAdvance(经典 GBA 模拟器,常简称为 VBA)兼容,因此可用于导入或导出存档文件。 你可以在 “选项” 菜单中配置 SRAM 自动存档功能。延长存档延迟时间能减少游戏卡顿,但代价是若设备断电过快,可能会导致数据丢失。另需注意:当你恢复游戏(Resuming a Game) 时,若存在即时存档文件,Retro-Go 会优先加载该即时存档,而非 SRAM 存档。
目前,Retro-Go 的大部分应用已支持 ZIP 压缩文件。一个 ZIP 压缩包内应当仅包含一个 ROM 文件,不得包含其他任何内容。此外,ZIP 格式的支持情况还取决于设备的可用内存;遗憾的是,对于部分设备而言,较大容量的 ROM 文件可能无法正常加载。
If you wish to build or modify Retro-Go, you can find help in the following documents:
Everything in this project is licensed under the GPLv2 license with the exception of the following components: