06-10-2010, 08:41 PM
06-10-2010, 08:56 PM
@strip: false, me including, i got 3 people who wait for this, but not everyone is here in the forum, and they aren't technically interrested =P
@skid: the progress f****** rocks!!11!
@skid: the progress f****** rocks!!11!

06-10-2010, 10:01 PM
I'm interested!!! 

06-10-2010, 10:57 PM
I have some good news.
After fixing the ARAM DMA alignment, I found out that display lists execute in parallel to the rest of the GPU. This is important for synchronising the FIFO because it means the display lists cost no time. On fixing this bug, I found myself in game.
The code is still not optimised and works only in single core mode. I have also turned off idle skipping. The screenshot below uses EFB Copy to RAM. There is still a lot of debug code so that will slow it down too.
I tested Starfox Adventures and that is still crashing
I will look into that game next.
Here is a screen-shot on a Dual Core 3.6Ghz:
![[Image: eternaldarknessingame.th.png]](http://img96.imageshack.us/img96/3275/eternaldarknessingame.th.png)
We are almost there.
* = done
O = to-do
* Remove speed hacks
* Remove game hacks
* Add in scheduler to manage timing
* Complete GPU feature: watermarks
* Complete GPU feature: interrupts
* Complete GPU feature: idle flags
* Complete GPU feature: status flags
* Align video HW plugin to video SW plugin
* Measure and add NOP timing
* Measure and add BP reg timing
* Measure and add CP reg timing
* Measure and add XF reg timing
* Measure and add Display List timing
* Measure and add Vertex Loader timing
* Remove DSP HLE thread randomness
* Synchronise CPU video memory reads to GPU writes
O Test that the changes fix other games with FIFO problems
O Add cycle counting for Dual Core mode
O Re-enable Dual Core mode
O Re-add GPU speed hacks
O Test games on tuned code
O Make synchronised FIFO an optional feature
After fixing the ARAM DMA alignment, I found out that display lists execute in parallel to the rest of the GPU. This is important for synchronising the FIFO because it means the display lists cost no time. On fixing this bug, I found myself in game.
The code is still not optimised and works only in single core mode. I have also turned off idle skipping. The screenshot below uses EFB Copy to RAM. There is still a lot of debug code so that will slow it down too.
I tested Starfox Adventures and that is still crashing
I will look into that game next.Here is a screen-shot on a Dual Core 3.6Ghz:
![[Image: eternaldarknessingame.th.png]](http://img96.imageshack.us/img96/3275/eternaldarknessingame.th.png)
We are almost there.
* = done
O = to-do
* Remove speed hacks
* Remove game hacks
* Add in scheduler to manage timing
* Complete GPU feature: watermarks
* Complete GPU feature: interrupts
* Complete GPU feature: idle flags
* Complete GPU feature: status flags
* Align video HW plugin to video SW plugin
* Measure and add NOP timing
* Measure and add BP reg timing
* Measure and add CP reg timing
* Measure and add XF reg timing
* Measure and add Display List timing
* Measure and add Vertex Loader timing
* Remove DSP HLE thread randomness
* Synchronise CPU video memory reads to GPU writes
O Test that the changes fix other games with FIFO problems
O Add cycle counting for Dual Core mode
O Re-enable Dual Core mode
O Re-add GPU speed hacks
O Test games on tuned code
O Make synchronised FIFO an optional feature
06-11-2010, 02:51 AM
Awesome! 

06-11-2010, 03:02 AM
Indeed, great job skid. 
Nice to see some awesome progress on the emulator. So does this finally mean that the fifo and gpu will be more tightly synchronized with the cpu and other parts of the emulator just like on the actual hardware?

Nice to see some awesome progress on the emulator. So does this finally mean that the fifo and gpu will be more tightly synchronized with the cpu and other parts of the emulator just like on the actual hardware?
06-11-2010, 03:27 AM
Great job!
06-11-2010, 03:56 AM
Omg, this is great news! Geez skid, I swear you're a magician or something, I couldn't even imagine trying to write a NES emulator in a million years, let alone GC, lol.
06-11-2010, 05:46 AM
Awesome job skid.
06-11-2010, 06:17 AM
By the way, I think GPU speed hacks should be optional as well, for those that want to run the emulator as accurately as possible. From what I recollect, Pcsx2 has optional speedhacks for the GPU, so I don't see a reason not to make them optional with Dolphin.