First post, by Gahhhrrrlic
Hey everyone. I recently broke out my old 386 to play with it and started reminiscing about the past. One thing led to another and I found myself trying to reprogram doom to use the FPU as a co-processor. Crazy right? I just wanted Doom to play well on my 386... but I don't have to tell you guys what motivates us to do seemingly impossible things 😉
Well that downward spiral lead to nearly a month of being absorbed in doom's source code, re-learning assembly for the first time since university and plugging away at hot loops and micro-optimizations. Long story short, I believe I have made an improvement. I started with Viti95's 0.9.7 build of FastDoom as it's the fastest and most faithful build I am aware of and managed to optimize some of the code and offload work to the FPU.
The main problem I'm having is my hardware isn't fit for doing benchmarking. It's not a pig... but it's not great either. I'm severely bottlenecked by the only graphics card I own. I don't have particularly fast ram or cache (or much of either) and I only have a couple of FPUs to try. I've been mostly standardizing my work by means of Dosbox but I feel my efforts have fully matured and now is the time to move from code to hardware, to really see if all the work made any difference.
I'd like to request the assistance of a colleague who is better equipped than I, to run some of the EXEs I've compiled, to see if lifting the bottlenecks I have would make a difference. Specifically I'm hoping for:
AMD-DX 40
At least 128kb of fast L2 cache (I only have 64)
8mb of fast ram preferably with 0 wait states
A screaming video card! Something that is faster than the ISA bus
A selection of FPUs including Cyrix or Green (I have tried ULSI and IIT)
I think that ought to do it. The 386 is primarily limited by the video bandwidth (basically the isa bus) so I'm very curious to see what would happen if that were maxed out. My gains are all at the low resolution end and disappear quickly at max res.
If you are willing to help benchmark a few EXEs on your rig to validate the changes I've made I'd be most appreciative. You can respond here or PM me. Thank you very much!