Over the past weeks I worked on porting this game to baremetal, and now I have released a first version based on the original source code made by David "Nevat" Lara for GNU/Linux. For those who don't know, Abbaye des Morts is a freeware platform game made by LocoMalito (with the help of Gryzor87 in music side) in 2010.
The source code repository is hosted on Github:
Go to the release tab to download a precompiled binary ready to be copied to an SD card.
The compiled file is completely self contained, it uses the original graphics and sound files linked directly to the binary executable (no filesystem support). It uses the keyboard and csud USB library for input, analog-only (PWM) audio output.
The repository also contains working ports of the libraries required to compile the source code almost unchanged:
libpng - PNG image file format library
libogg - OGG file format library
libvorbis - OGG Vorbis audio decode library
SDL2 - Simple Directmedia Library
SDL2_image - Image decoding support library for SDL2
SDL2_mixer - Audio mixer support library for SDL2
zlib - Z compression library
csud - Chadder's Simple USB Driver
The libraries are integral ports of the original source code, just recompiled. SDL has most of the features disabled, only video, audio and events can be used reliably. It uses software-only rendering directly to the framebuffer with doublebuffer and vertical sync support, and uses csud to provide keyboard events.
Any help or suggestions to enhance and improve the performances and features of these libraries is very welcome.
I wish to thank all those in this forum provided informations and code to work with the baremetal hardware resources (boot code, framebuffer, pwm audio, etc.), the core kernel code is derived from various sources found on this forum. Thank you all.
Hope you enjoy.