New build posted, fixed the sound and music playback rate, made the rendering path potentially faster on real hardware. Fixed the gamma correction so it doesn't look all washed out compared to stock out-of-the-box Vanilla Doom.
I would like to solicit offers for help with creating a toolkit for end-users to build their own Doom V64/ROMs. I have something hacked up right now that can work, but it is a bash script so you need to have Cygwin installed. You also have to hand-edit it each time you want to make a ROM for the different game versions. I would like to get it down to something self-contained, with just cygwin runtime DLL (required for the n64tool and chksum64 executables), running as a .BAT file that can take command line input for how to configure the game ROM it outputs. If anyone wants to take me up on this, that would be killer. I love to hack but I am really bad at packaging final products... ask my co-workers.
Just wanted to say - this is great! First the Wolf 3D port, and now Doom. Well done, jnmartin84 / Borman / others. Just got my Everdrive 64 about three days ago too. btw, @pwl - I bought the Everdrive from Retrogate, as it was way cheaper than most of the other resellers. If you don't mind de-soldering the CIC from an old cart, and cutting a hole for the SD slot, you can save a bit of money too. I just bought the PCB itself, then pinched a CIC from a cart. Always a good idea to solder an IC socket onto the ED64. It's the first time in years I can actually see myself playing through Doom I or II again. Will the source code be released at some point? I'd love to play around with RDP rendering and the music stuff. What are you using for the music btw, and does it use the RSP for the actual mixing / playback? OzOnE.
Hi Ozone, I am putting the source code up as a GoogleCode project in the next day or two. As far as music goes, ChillyWilly provided me with a C port of his old Amiga MUS player that he used for his PSP Doom port. Rather than using something like FMOPL emulator to synthesize the instrument sounds at run-time, it is a sample-based player. There is an associated set of 11025Hz, 8-bit instrument samples used for the playback. All of the game code including rendering and audio all run in a single thread on the main CPU (the R4300). Of all of the code, only the music mixer even uses any floating point code.
Ahh - I thought it was all CPU based. Shows just how powerful the little R4300 really is. I like the fact it's a little sample player running though. I've never really done much actual N64 coding, but want to experiment with using the RSP / RDP at some point. I can read most of the assembly code, but some of the matrix maths stuff in the RSP microcode is a bit beyond me atm. lol I'm assuming there isn't an open-source RSP audio renderer available as yet? The graphics on your Doom port seem to be running great atm, so would be nice just to play with adding things like reverb and AWE32 / MT32 style samples to the audio. OzOnE
Gonna be quite difficult not to use "Doom 64". It doesn't really have to have 64 or N64 in the title, but it otherwise means using something like "MIPS Doom" or "NintenDOOM!" OzOnE