Releases: kilograham/rp2040-doom
cosmic unicorn version (just for fun)
Cosmic Unicorn version!
This is just a bit of fun, so not really planning to merge into RP2040 branch. Note the unicorn version (without rewriting all the drawing completely) adds quite a bit of code, so this only builds with Clang
To build with Clang, you need >1.5.0/develop of pico-sdk
(and pico_extras
), and pass -DPICO_COMPILER=pico_arm_clang
, and -DPICO_TOOLCHAIN_PATH=path to ARM embedded LLVM 14.0.0
to CMake
.
You must also specify -DPICO_BOARD=pimoroni_cosmic_unicorn
to CMake
also (or in your env). You want to build doom_tiny_unicorn
(the others won't work)
Note that the unicorn uses 16K of RAM for the frame buffer, and so that is new RAM we didn't have space for, so i have decreased the size of the columns area. You may experience OOM on some levels, or visual distortion
Here are the keys:
Sleep: Enter / Fire (keyboard L-CTRL & Return)
Vol+: UP/Forward (keyboard Up)
Vol-: Down/Backward (keyboard Down)
Brightness+: Back one menu (keyboard Backspace)
Brightness-: Toggle menu (keyboard Escape)
A: Right (keyboard Right)
B: Left (keyboard Left)
C: Door open (keyboard Space)
D: Strafe (keyboard Alt)
You can start a game with Enter/Enter/Enter
v0.1
Initial Release
The attached binary will run on a Raspberry Pi Pico and contains the shareware DOOM1.WAD, and is built to match PICO_BOARD=vgaboard
which has the following pins:
0-4: Red 0-5
6-10: Green 0-5
11-15: Blue 0-5
16: HSync
17: VSync
18: I2C1 SDA
19: I2C1 SCL
20: UART1 TX
21: UART1 RX
26: I2S DIN
27: I2S BCK
28: I2S LRCK
It includes USB keyboard via TinyUSB host mode, which is known to work with Raspberry Pi keyboards, and may or may not work with others. Keyboard input is also possible over UART using sdl_event_forwarder.