-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
MicroPython
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
There is a port of DOOM for an ESP32, proving that it can be done, however I have added additional constraints on myself as follows:
I also had to choose a starting version of DOOM, with an emphasis on portability. This turned out to be the easy bit, enter DOOM generic, which happily compiled and ran first time on my Linux desktop ;)
Fix Multiple, bugs in Micropython.
After a great deal of reading through technical manuals and rummaging in the code, creating the romread test application and generally poking at (and crashing) my device, I understand how the memory manager works, what I can and cannot touch and in theory how I can memory map and execute another app within micropython. There is also a fair amount of investigation into the Micropython memory layout, see memstuff folder! Thus is born doomloader.mpy a short and separate Micropython module that pokes at the MMU to load an OTA app into Micropython-safe address space. It works :D, next step..
It turns out that DOOM expects a little more POSIX compliance from it's C library than Micropython provides, in particular the printf implementation is lacking many features. The good part is that because I'm building an entirely separate binary application, I can use someone elses printf, and finally, after a lot of pain, it runs!
The colour being mangled turns out to be an endian difference between the MPU and the display device, easily determined by looking at the code for the display driver, which byte-swaps everything when drawing into the device, unless it's blitting a buffer, when it assumes it's already swapped. Fixed.
To horribly mis-quote another of my favourite games come get some baby!