-
TurboGrafx16 / PC Engine Support
08/23/2019 at 19:17 • 0 comments -
11 Emulators and Counting
08/21/2019 at 14:06 • 0 commentsThat's right. We have managed to fit 11 emulators onto the ESP32 Wrover.
Supported Emulators
What else do you need to know, there are 11 currently supported
- Nintendo Entertainment System
- Nintendo Game Boy
- Nintendo Game Boy Color
- Sega Master System
- Sega Game Gear
- Colecovision
- Sinclair Zx Spectrum 48k
- Atari 2600
- Atari 7800
- Atari Lynx
- PC Engine
Still working on integrating
- Commodore 64
- Nintendo Game & Watch
Take a look at how tight our partition table is:
######################################################### # Name, Type, SubType, Offset, Size nvs, data, nvs, 0x9000, 0x4000 otadata, data, ota, 0xd000, 0x2000 phy_init, data, phy, 0xf000, 0x1000 factory, app, factory, 0x10000, 0x80000 storage, data, spiffs, 0x100000, 0x100000 launcher, 0, ota_0, 0x200000, 0x80000 nes, 0, ota_1, 0x280000, 0xc0000 gb, 0, ota_2, 0x340000, 0xb0000 sms, 0, ota_3, 0x3F0000, 0x160000 a26, 0, ota_4, 0x550000, 0x1a0000 a78, 0, ota_5, 0x6F0000, 0xc0000 lnx, 0, ota_6, 0x7B0000, 0xe0000 pce, 0, ota_7, 0x890000, 0xb0000 data_0, 0x40, 0x00, 0x940000, 0x400000 #########################################################
That means when flashing the ESP32 or creating distributable firmware, it's a precise address and space allocation.
A snippet from the OTA flasheresptool.py \ --chip esp32 \ --port ${PORT} \ --baud ${BAUD} \ --before default_reset \ --after hard_reset write_flash -z \ --flash_mode dio \ --flash_freq 80m \ --flash_size detect \ 0x1000 $FIRMWARE_PATH/Bins/bootloader.bin \ 0x8000 $FIRMWARE_PATH/Bins/partitions.bin \ 0x10000 $FIRMWARE_PATH/Bins/${BIN}.bin \ 0x200000 $FIRMWARE_PATH/Bins/${BIN}.bin \ 0x280000 $FIRMWARE_PATH/Bins/nesemu-go.bin \ 0x340000 $FIRMWARE_PATH/Bins/gnuboy-go.bin \ 0x3F0000 $FIRMWARE_PATH/Bins/smsplusgx-go.bin \ 0x550000 $FIRMWARE_PATH/Bins/stella-go.bin \ 0x6F0000 $FIRMWARE_PATH/Bins/prosystem-go.bin \ 0x7B0000 $FIRMWARE_PATH/Bins/handy-go.bin \ 0x890000 $FIRMWARE_PATH/Bins/pcengine-go.bin
And an example from the firmware builder
ffmpeg -i $FIRMWARE_PATH/Assets/${TILE}.jpg -f rawvideo -pix_fmt rgb565 $FIRMWARE_PATH/Assets/${TILE}.raw -y $MKFW_PATH/mkfw ${NAME} $FIRMWARE_PATH/Assets/${TILE}.raw \ 0 16 524288 ${BIN} $FIRMWARE_PATH/Bins/${BIN}.bin \ 0 17 786432 nesemu-go $FIRMWARE_PATH/Bins/nesemu-go.bin \ 0 18 720896 gnuboy-go $FIRMWARE_PATH/Bins/gnuboy-go.bin \ 0 19 1441792 smsplusgx-go $FIRMWARE_PATH/Bins/smsplusgx-go.bin \ 0 20 1703936 stella-go $FIRMWARE_PATH/Bins/stella-go.bin \ 0 21 786432 prosystem-go $FIRMWARE_PATH/Bins/prosystem-go.bin \ 0 22 1507328 handy-go $FIRMWARE_PATH/Bins/handy-go.bin \ 0 23 720896 pcengine-go $FIRMWARE_PATH/Bins/pcengine-go.bin mv firmware.fw $FIRMWARE_PATH/Releases/${NAME}.fw
You know they say a picture is worth a thousand words?
Well, we think a video is worth much more!
Click image to open video