LinusCDE / doomarkable

DOOM on the reMarkable
GNU General Public License v2.0
39 stars 0 forks source link
dithering doom remarkable

DOOMarkable

rm1 rm2 opkg launchers

This is a doom port intended for the reMarkable 1.

 

Demo Video on rM 1 | Demo Video on rM 2 (not recommended)

What's mainly used and how it's done

It is composed out of a lot of different compontents:

The meat of the work was to port doom to rust (doomgeneric-rs) and dithering the image and doing that as fast as possible! The dither speed was achived through forcing better optimizations and caching the code. The dithering is actually done at compile time for a 320x200 source image and the results (for upscaling 4x) are put into the generated binary itself. The binary then just needs to decompress this and look up the results for each pixel.

Current state

The game currently runs at about 11-14 FPS on the device. It's not using the low latency drawing even though it's pretty simple to use since the image has no gray shades. The reason is that using an A2-Like refresh has less artifacts and ghosting. I personally find this worth the extra latency when playing.

The game currently runs fine but there are still some things to do:

How to run