Custom title

Tuesday, March 20, 2007

Some flickering fixes

.

Today's post will be brief since the fix wasn't that much of an advance, but rather an adjustement of a bug that made the screen unstandable at some points. The focus of the problem revolved around the fact that the BLDALPHA function was incomplete, and half of its instructions weren't being applicated correctly.

In short, what had to be done was coding the rest of it. Modules 13-15 and 5-7 were correctly coded, but 0-4 and 8-12 had some partial errors that caused flicker at the top screen. I had used SDL previously to fix this problem to an extent, but since it persisted i figured i'd just finish the function. Since both of them are 32-bit instructions, the only thing to be done was completing the coefficients. Module 0-4 had to be redirected to "First target", while the 8-12 one was to the "Second target".

As always, a pic without flicker at the top screen:

Tuesday, March 06, 2007

Speed and graphics improvements III

.

I've been working a bit on graphics lately; taking a break from the speed acceleration. During these past days, i centered my attention to games with more recent games, or in other words, the +600 ones.

The video capture functions had a few bugs i felt like fixing since it made some backgrounds and other textures display incorrectly. The Display engine has 32 possible values, divided in 14 modules, all of which have different ranges. The ones that were being displayed incorrectly were module 3 (values 8-12); module 6 (values 18-19) and module 10 (value 25).

Modules 3 and 6 were pretty easy to fix, i just had to add addresses 0=08000h and 0=18000h to the current function and they started to work after while. Module 10, on the other side, was a pain on the back to fix; i had to do a lot of trial/error to finally find that FIFO had to be set to 1 for it to execute properly.

After fixing the Video capture mode, here's what it looks like