Its been nearly a week since I dusted off the Jagulator source code and began merging it into Tybalt. A lot of work has already been undertaken and I am happy with the progress so far.
First item to be completed was replacing the StarScream 68k core with the Musashi 68k core. A lot of the previous Jagulator core had been optimised in x86 assembler and whereas this was great for performance it limited future porting which is a key focus in Tybalt. Using Musashi was necessary to ensure ease of porting in the future.
Next on the list was to update the SDL Library from 1.2 to version 2.0. SDL works for me and simplifies video and audio a lot removing the need to code specific targets. Long term, who knows, but speed and simplicity of development is important. Library is now replaced.
With the 68000 addressed, I have completed the first pass on updating the GPU and DSP RISC cores. These are both now running in Tybalt but will require ongoing review and optimisation as will most of the modules.
One milestone I am very happy about is the core emulation and video timing loop. After a lot of pain I have finally got this where I want it for accuracy and better Object Processor, Audio and CD emulation.
The Blitter is the area I am currently working on. Jagulator’s Blitter was super fast, due to x86 assembler optimisation, but inaccurate when it came to the more complex functionality. Due to this I am in the process of rewriting the Blitter core code ensuring portability and accuracy this time round.
The Object Processor, as with the Blitter, is planned to be rewritten also. Some early work is complete but a lot will have to wait on the completion of the first pass of the Blitter work.