Home Artists Posts Import Register

Content

Hi everyone!

If you check the github history, you can find that I was very busy the last few days with GTE development. It was both a sprint and a marathon with more than 14 hours on sunday and very late yesterday evening, but...it's done!

Verified with the Amidog GTE test. And it is really massive. You can try it yourself, but you need to have plenty of time, because it runs 3 hours nonstop throwing math at the GTE and checking the results. There are millions of subtests executed.


But how was that even possible to implement the whole GTE in like 3-4 days? 

The first step here is the emulator that I developed before. I made a insanely inefficient design in C++ that would make every software emulator developer scream and run away. It's verbose and it's slow....but it is fully understandable for me and even more important, I have written this code myself.

However, this is not where the story begins. Because now you have to ask: where did the knowledge come to write the GTE in the software emulator?

And the answer is DuckStation and many Gigabytes of data. I implemented a special export to DuckStation dumping every GTE register write, read and command to a file. My emulator then has an interface that allows reading these files, executing the content and check if the reads that happened on DuckStation return the same values in my emulator. The VHDL testbench offers an equal interface.

So because of emulators like DuckStation, that pass these GTE tests 100% accurate, it is possible to probe software instead of original hardware. You can imagine that this is much easier and faster.

And the result speaks for itself: you most likely won't see much that the VHDL code of the PSX cores GTE and DuckStations GTE have in common, but because of this knowledge that lies within widely available open source these days, a development speed like this is even possible.

I have not found a proper way to thank all prior researches, developers and testers yet, so the best I can do is being humble and grateful for all the things they gave us.

Have fun!

Files

Comments

Rafael

Great stuff, seems like you are doing awesome progress! Just be careful with burnout, take it easy! Slow and steady wins the race.

Anonymous

so fast!