Synopsis for a fantasy console to run on ESP32

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
Posts: 314
Joined: Sun Mar 08, 2015 12:23 pm
Location: Croatia

Synopsis for a fantasy console to run on ESP32

Post by 8bitMicroGuy » Thu Jan 17, 2019 7:33 pm

I've been playing around with ESP32 microcontrollers and I saw that it's possible to run an NES emulator on ESP32. If it's possible to write an NES emulator for that microcontroller, then it's possible to probably write an emulator of a fantasy console that has those super addons that SNES has. However, it wouldn't and couldn't be a SNES emulator because ESP32 has a 520kB RAM limitation and most of the RAM is used by the FreeRTOS and system stuff. I'm thinking that the fantasy console would have some tweaks such as loading CHR banks from files dynamically, doing file I/O so that the RAM doesn't have to be so overloaded with things, and that it would be able to run super games super effectively. I'm thinking that if there's a good enough support for NES/SNES development tools to work for my fantasy hardware, I could have the self-sustainability issue solved.

This post shows my synopsis from a few months ago: viewtopic.php?f=5&t=18036#p228925

If my fantasy console had fictional registers for using ESP32's system tools (File I/O, hardware manipulation, WiFi, Bluetooth, MIDI/XM/MOD/NSF player, loading/streaming/saving chunks of data from/to files when needed whether for game saving or level loading or graphics loading, etc.), then it would be pretty modern. A special address space system could be made to have all the RAM, graphics, control, etc. in one spot. A BIOS could tell the game the system specs in case some ESPs have different specs and in case an emulator is used which has addons. The BIOS could have a standard C library precompiled. Different games could have different BIOSes loaded depending on the BIOS version for each game so that there's no "DLL hell". The console would come with executable files such as a shell, a debugger, a text editor, an assembler, a tile editor, etc. which would all run as separate VM instances in a tabbed way so that it would be a fully self-developable computer/game console.

I would like to expand on this because I'm planning to make a self-sustainable ESP32 game console which could act as a WiFi Web Server over which other devices could download an emulator (HTML5+JSS or EXE or APK or etc.) for a local netplay which could allow multiple people from each using a different platform to play the host's game in real time!

Please keep in mind that I would like to use these ideas for my college project and enterpreneurship. In the end, it has to be licensed under the MIT license while me and my college administration must have all the necessary rights without copyright/idea/patent/trademark restrictions.

User avatar
Posts: 4365
Joined: Fri Nov 19, 2004 7:35 pm

Re: Synopsis for a fantasy console to run on ESP32

Post by Dwedit » Wed Jan 23, 2019 11:23 pm

Thinking up a huge list of ideas is really neat and fun to do, but once you actually have to start tackling them, you'd end up spending at least 2 weeks for every single line of the list. So try to cut your scope way down to something more manageable.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

Post Reply