Running DOOM - markpudd/criscv-hw GitHub Wiki
Running DOOM
As a test and a way to check performance optimisations 90's DOOM can run on CRISC-V. This started out as a test running under 1 fps and with some core optimisations its now running at 2-3 fps on a DE0-Nano. There is still plenty of room for improvement.
This page is a quick outline of steps to get up and running, if there is interest detail will be added,
Steps to running:-
- Checkout and build the port at https://github.com/markpudd/DOOM. This is setup in the Makefile to use rv32im.
- Build with make (Risc-v tools will need to be installed and gcc location might need updated in the Makefile)
- Use outtobin.py to make teh doom uploadable runnable artifact
- Build the core from the crisc-hw repo and synthesise to a device.
- Use the filetobin.py python code to build an artefact to upload
- Upload a WAD file to a device. As there is no file system at the moment, the bootloader will upload the file to 0xc00000 on the device an the standard functions will be able to read the _open,_read,etc.
- Upload the binary from outtobin and DOOM should start
There is currently no input controls and as there is currently no timers the game tics may be off (it runs single tics).