This repository contains the source code for a port of the PrBoom project to the Kindle 4. It is not intended as anything more than a proof-of-concept: the Kindle's e-ink display is absolutely not adapted to gaming.
Prerequisites: copy your doom.wad
and prboom.wad
to the root of your Kindle USB partition. prboom.wad
can be found here.
- Download the latest release
- Make sure you installed KUAL on your Kindle.
- Extract the release to the root of your Kindle USB partition
- Run KUAL and run "Simon's Fun Land -> PrBoom"
The controls are as follows:
- Keypad to move
- "OK" button to shoot
- "Menu" to open doors / activate switches
- "Back" to toggle the menu (mapped to Escape)
- "Keyboard" to select an entry in the menu (mapped to Enter)
- "Home" button to quit
If you want to build the project for yourself, you will need an armv7
GCC toolchain. I successfully used Bootlin's armv7-eabihf
"musl" toolchain. Compiling with the glibc toolchain also works, but the libc
on the Kindle is too old and it will refuse to start.
Export CC
to the location of the GCC cross-compiler and run make
.
$ export CC=/home/simon/armv7-eabihf--musl--stable-2020.08-1/bin/arm-linux-gcc
$ make -j8
Based on prboom-2.5.0
.
The main change is the addition of src/KINDLE/
, which defines most Kindle-specific functions. I basically copied src/SDL/
and modified everything to remove dependencies on SDL and instead work directly on the Kindle's framebuffer.
Resolution is hardcoded to 800x600 widescreen and cannot be changed.
I removed all the autoconf stuff and wrote a Makefile by hand.
- Demo playback doesn't seem to work correctly. I think this is due to tick calculation, but I'm not sure.
- Because of this, it is not really possible to load the game directly, you have to "warp" to the beginning of the first level.
- The code is horrible, I only tried to hack together something that works.
- There's no sound support, because my Kindle doesn't have speakers / aux output.
- The game is basically unplayable because of the e-ink refresh mode, but it's still a nifty demo nevertheless.