atrac17

MiSTerFPGA PSX Core in development by FPGAzumSpass

Well, it’s time to let the cat out of the bag! Apologies for the long post, but I wanted to get as much information out as possible.

If you’re into FPGA gaming, developer FPGAzumSpass (Robert Peip) should be a household name.

Bob had the pleasure of interviewing FPGAzumSpass previously in May of 2021 for RetroRGB.

I reached out to FPGAzumSpass and he revealed his new project to be none other than the almighty Sony PlayStation (PSX)!

I’ll start off by stating that if you’re a MiSTerFPGA user, you should support development for this project. Period. Now, onto the details!

FPGAzumSpass Patreon Page:

https://www.patreon.com/FPGAzumSpass

FPGAzumSpass is in the process of writing his own cycle accurate emulator for PSX FPGA development. Within the next month he hopes to start working on FPGA code.

Here’s a few screenshots of games currently booting on FPGAzumSpass’ PSX emulator.

(Note: the PSX emulator displays an aspect ratio of 1:1.)

Castlevania: Symphony of the Night

Spyro the Dragon

Tony Hawk’s Pro Skater 2

 

FPGAzumSpass’ PSX emulator is his own code, his own work. Take heed, I’m not slamming work previously done by Laxer3A or ultraembedded.

Currently, FPGAzumSpass is utilizing other emulators and real PSX hardware in-conjunction with his emulator for debugging.

When speaking with FPGAzumSpass about the development process, he stated the following:

“One important point is that the emulator is not optimized for speed. It runs games at 30-40% of the speed and rebuilds the hardware without any tricks. I rebuilt the whole 5 stage CPU, which usually emulators wouldn’t do.

Thus, it cannot be used to play any game, it’s purely a research project. But by calculating every component for every clock cycle, I can directly use this information for the FPGA code, simplifying the process.”

“For me it’s very important, because I often hear that my cores are just ports of emulators, which is sort of true, but most don’t understand the complexity of my cycle accurate emulators.

When saying it’s based on an emulator (even when written cycle accurate), some users think it will have issues other emulators have like lag, unsteady sound output, etc…”

“This system is huge, it takes longer than everything I’ve previously done…”

None of the open sourced material from Laxer3A or ultraembedded has currently been utilized for the development of his PSX FPGA project.

FPGAzumSpass stated it was easier for him to start from the ground up, rather than use the work previously done on PSX FPGA development.

Here’s a few more takeaways from our conversation.

“I realized that when optimizing the ao486 speed, I could get things to work pretty well that I fully rewrote. The cache and data path, but I never succeeded at optimizing the other parts (tlb, instruction pipeline)”

“This is not to say that Laxer3A’s has written bad code, it’s just the way I work and how I have the ability to work efficiently…”

“I still hope he (Laxer3A) will continue his work… He did a great job in researching details of the GPU and GTE that I might profit from in the future…”

FPGAzumSpass’ process has always been to write cycle accurate emulators prior to writing code for FPGA cores.

FPGAzumSpass’ FPGA development method is tried and true. His Game Boy Advance, Atari Lynx, and WonderSwan FPGA cores for the MiSTerFPGA platform speak for themselves.

Here’s some footage of FPGAzumSpass’ emulator playing PSX titles.

Until next time…

Liked it? Take a second to support atrac17 on Patreon!