DOOM on Pipistrello using HDMI


Recommended Posts

I have been playing with porting DOOM to Pipistrello.  The code is based on the work Janne Kulmala and Juho Järvinen did to port Chocolate Doom to the Altera DE2 board using the NIOS soft processor, however a lot of changes have been made by me to make it run on Pipistrello using Microblaze.


Here is how to get the game up and running:


1) unzip the file somewhere on your computer

2) copy the file doom1.wad to a uSD card and insert it in the Pipistrello sd-card socket.

3) connect a monitor to pipstrello via HDMI and a sound system via the audio-out connector

4) program the pipistrello board with the doom.bit file to flash (i.e. fpgaprog -v -f doom.bit -b bscan_spi_lx45_csg324.bit -sa -r)


After loading the program from flash to dram the DOOM welcome screen will come up etc.and the game is then running in demo mode.


To play the game a PS2 keyboard is needed, connected to Pipistrello using either the Digilent PS2 PMOD module (via the lower row on the PMOD connector) or the Saanlima NES/PS2 PMOD card.


I will post the source code after I have cleaned it up a bit.






Edit: I should add that this is still a work-in-progress - the sound/music is still not quite right but the game is very playable as is.

Here is a link to a short video showing it booting up and running in demo mode:

Link to comment
Share on other sites

Attached is a zip file with all the source files for building Doom for Pipistrello. To build go to src and type make.

You will need the microblaze gcc compiler which can be found as part of the Xilinx ISE install (in the Xilinx ISE folder at Xilinx/xx.x/ISE_DS/EDK/gnu/microblaze).

The doom source-files are copy-right ID software, the fatfs files are copy-right ChaN, and the Nios porting files are copy-right Janne Kulmala and Juho Järvinen.


Link to comment
Share on other sites

Excellent !


I realized that I play this game on a PC i486 with no more that 640KB of memory.



IIRC Doom needed at least 4MB to play. It was the first game I remember that used DOS4GW to utilize extended memory.


Man that brings back some memories. I used to bring my computer over to a friend's house and deathmatch for hours over a null modem serial cable.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.