I've written a short paper on how Doom 32X Resurrection renderer works. Hopefully I'll be able to cover topics given time permits.
Engine optimizations, part 1 · viciious/d32xr Wiki
So you wrote two custom codecs, very nice!
Adding bank switching support should be relatively easy if the frame header also contains the size information, should it would be possible to tell whether the chunk crosses over into the next page.
Also, if you want to optimize it a bit further...
Hi everyone,
here are my submissions for the Sega 32X. All samples were encoded using the RoQ codec and use the Sega Mapper (aka SSF Mapper) to break the 4MB limit for ROMs. All entries run fine on my Mega EverDrive Pro on real hardware. RetroArch seems to run most of the samples fine except...
One obvious optimization would be removing all mallocs/free and memcpy calls. In my tests those have proven to be _extremely_ slow on real hardware. Unfortunately that would not be easy since the read callback relies on that you copy stream data into the provided buffer. Changing that would...
You might also want to try optimizing your code to exploit the peculiarities of SH-2's pipeline that allow you to do 2 multiples in 5 cycles instead of 6. The SH2 has odd pipeline where one multiply cost 3 cycles, but if you start a second multiply it only cost 2 clocks more.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.