- Ensure you have the following requirements:
- CPython3
- GNU make
- A C compiler for the target architecture (e.g: arm-none-eabi-newlib)
- Setup dependencies:
git submodule update --init --recursive
pip install mpremote pyelftools
(cd micropython && make -C mpy-cross && cd ports/rp2 && make submodules && make clean && make)
- Connect your device via USB.
- Then build and run:
make V=1
./uploadrun
- Debugging can be enabled with:
make clean
make V=1 CF=-DDEBUG && ./uploadrun
- See https://docs.micropython.org/en/latest/develop/natmod.html#supported-features-and-limitations for notes on limitations.
- Micropython is loaded via a git submodule at version 1.23.0. You may want to update this.
- The architecture is set to build for an rp2350, and was tested on a Thumby Color Dev Kit. This can be changed in build.zig and Makefile.
• 1 bit per pixel, 8 pixels per byte. • air / ground. • column major order. • a full extra screen sized buffer in every direction for offscreen collision detection such that the full buffer size is 9 times that of the screen size. • the bottom edge byte of each scrolling column is ignored and is used to progressively fill. • 1283128*3 -> 18,434 bytes
• 4 bits per pixel, 2 pixels per byte. • 15 tiles with alpha. • column major order. • a full extra screen sized buffer in every direction for offscreen collision detection such that the full buffer size is 9 times that of the screen size. • 1631634 bits -> 9,216 bytes
- Certain color ranges cause player harm like lava.
- Fluid dynamics run on second core during parts of loop cycle where it can't to anything else - a form of busy wait.
- Needs their own buffer due to wider if dynamics run offscreen.
- Maybe no fluid dynamics...
- Umby
- Glow
- Clip
- A.N.D.R.E.W (Autonomously Navigating Drone-Robot Earth-Worm)
- Grenade
- Robot
- Checkpoint
- Savepoint