Introduction
PCN: Welcome, Jotego! It’s an honour to have you here. You’re the reason I got into FPGA gaming. Please introduce yourself and tell us a bit about what you do.
JT: Thank you for having me. I’m Jotego, and I’ve been making FPGA cores and modules for a while now. Professionally, I’m a hardware engineer, specifically an analogue and digital mix-signal designer. Most people know me for my MiSTer FPGA cores and my work on the Analogue Pocket.
CPS3 Core Development
PCN: I’m a huge fan of your CPS1 and CPS2 cores. My main question is about CPS3. You recently mentioned wanting to return to it this year. Do you think CPS3 is feasible on the MiSTer FPGA and Analogue Pocket, or will it require more powerful hardware in the future? Do you anticipate it in 2025 or later?
JT: The main challenges with the CPS3 core are twofold. First, while we’ve extracted PCB schematics, much of the system is within custom chips. Fert has done significant work on decapping and circuit extraction, but more reverse engineering is needed. Alternatively, we could rely on the MAME team’s software-based reverse engineering, which is usually around 90% accurate.
Second, it’s about memory bandwidth. The Nintendo 64 core, for example, shouldn’t technically be possible on MiSTer due to its high-bandwidth memory requirements, but the developer created a new architecture to overcome this. This shows that clever implementation can get around hardware limitations. For CPS3, we’ll likely start with an easier approach, like bypassing the CD-ROM and encryption, and then add complexity as we learn more and the core stabilizes.
Core Updates and User Feedback
PCN: Sometimes, framework updates make functional cores less stable or introduce graphical glitches. Is there a way to have a “super stable” branch of your JT cores, or allow users to lock a core to prevent updates until they choose? Also, how do you manage user feedback, given that there are over a thousand reported issues on your GitHub, with some still open?
JT: Our work is public, and the number of closed issues on GitHub speaks to how busy we are in addressing feedback. Previously, each core had its own repository, making framework updates a nightmare to maintain. I consolidated everything into a single project called JT Cores, where all cores are updated simultaneously with the latest framework. This is somewhat selfish, as it provides extensive user testing. While we have internal manual and automatic testing, with over 1,000 supported games, we rely on community feedback for comprehensive testing.
Sometimes, an update might intentionally break something based on the best available information at the time, like with sound filters. Releasing it publicly helps us gather new information from users who experience the issue. Regarding locking cores or having stable branches, that’s a question for theypsilon, who manages the update script. It could be a valuable feature for slowly deploying updates.
The Importance of Reverse Engineering and Funding
PCN: You do a lot of research and fund others for reverse engineering, like Furrtek and skutis77. Could you explain the importance of this work and funding in achieving accurate FPGA cores?
JT: MAME is the best documentation project for arcade systems, primarily through software reverse engineering. However, software emulation isn’t always enough to understand hardware quirks and unused features. Looking at the actual hardware is crucial for complete preservation.
We contribute to this by publishing schematic extractions on our GitHub, which are used for core development and even repairs. This hands-on approach reveals how real addressing and video registers work, which might not be apparent from software alone. We also feed this information back to MAME. Our goal is to enhance knowledge and preserve these systems, not just to make games playable on FPGA, though that’s a great by-product.
Open Source and Collaboration
PCN: Are JT cores open to other developers? For example, Solal Retro Gaming released the Toki core under the JT Cores umbrella. Is this open to others, and are there any costs involved?
JT: JT Core is designed to be a comprehensive project, like MAME, covering hundreds of systems and making it easy to add new cores. Many developers use parts of our framework. While some, like Pramod, use our files independently, others have contributed directly through pull requests. The Toki core was a great example of an independent developer merging their work into JT Cores, benefiting from our testing and distribution on various platforms. We welcome more full core contributions from other developers.
PCN: Your work and funded reverse engineering are open source. Does this mean anyone can use your work if they adhere to the license agreement, feeding back changes and keeping their code open?
JT: Yes, under the GPL3 open-source license, if you use our files, you must publish your work and notify us of any changes. This is generally respected. I’ve seen forks for other FPGA platforms, and private builds are fine, but no one has the right to publish a private MiSTer or Analogue Pocket core using my open-source files. Doing so is a breach of the license.
PCN: I’ve observed other developers taking your open-source schematics and reverse engineering work, then releasing closed-source binaries. This raises questions about whether they’ve done everything from scratch. How does this affect you personally?
JT: I’m aware this is happening, and they shouldn’t be doing it. Such actions might lead me to delay publishing certain files until a core is publicly released and finalized, to protect the community. Releasing a core before essential research is complete can also be irresponsible, as it diverts community interest and funding away from further research once the initial version is out.
Six Years of FPGA Gaming
PCN: You’ve been working on FPGA gaming for six years, releasing 68 cores supporting over a thousand games. That’s a huge achievement! Where do you see yourself and FPGA gaming six years from now?
JT: It’s been a lot of work. Without Patreon funding, I might release one core every year or two, just for fun. As long as we have funding, we’ll continue to pay our employees and move forward. Ideally, I’d like the project to grow and have one more employee to tackle bigger projects. It’s challenging to fund large projects while maintaining a consistent stream of new game releases to keep users engaged.
Future Cores and Next-Gen FPGA
PCN: What future cores or games excite you the most, both as a developer and personally as a gamer?
JT: As a developer, the most satisfying cores are those where we have 100% of the information to ensure accuracy. This often applies to older games from the early 80s, like the Fairyland Story core, where we corrected a lot of misinformation. Personally, I’m eager to work on Run and Gun, a Konami basketball game.
PCN: When do you foresee the next generation of FPGA gaming, and what arcade systems do you think we’ll see then, like newer Sega models, later PlayStation hardware, or Naomi?
JT: I have a prototype of an upcoming FPGA system, which means it has a good chance of becoming real. Taki is also working on another. I want all these hardware projects to succeed, and I’m happy to review schematics for developers. I won’t make my own hardware; I just want them to build the best systems for more complex cores. These new systems might enable cores for games like Sega Virtua Fighter, which are challenging on current MiSTer hardware due to their high bandwidth and memory requirements. While N64 cores overcome similar issues, arcade hardware often had different memory architectures. I’m less certain about Naomi, though some complex cores like the PSX were still manageable by a single developer. At some point, we’ll reach cores that require a team and extended development time.
Patreon Membership and Community Support
PCN: Please explain the benefits of your Patreon membership for subscribers and for FPGA gaming in general. How does it support other developers and staff, and what’s its overall impact?
JT: I was fortunate to start my Patreon early, gaining good visibility and subscribers. I feel it’s my responsibility to help other developers who may not have the same exposure or who prefer not to engage directly with the community. I contact them to fund their work, whether it’s bug fixing, general research relevant to our projects, or supporting their smaller Patreon pages with a lump sum. A significant portion of the funds also goes to our employees, who do public work, and their contributions are always visible.
As a user, you get early access to beta cores. While some betas, like one for System 18, can be lengthy, you can track our release calendar on my Patreon page to see the consistent public releases. The source code for betas is usually always public; only in very rare cases is it not, as other FPGA platform developers have always respected private beta builds. Users also enjoy the technical details and game tips I share in my Patreon posts.
Exclusive Teaser
PCN: Before we wrap up, do you have any exclusive news or teasers for the channel viewers, perhaps about the next beta core?
JT: We’ll soon be releasing Laser Ghost, a Sega light gun game. It’s a predecessor to House of the Dead and is quite fun, featuring a Ghostbusters-like theme and supporting three light guns. We’ve added mouse and Sinden Lightgun support, and we’re looking into WiiMote support. I enjoy bringing lesser-known or faded games to the MiSTer, and I’m excited about this one.
PCN: Jose, thank you so much for your time. This has been incredibly insightful, and I’m sure our viewers now have a much better understanding of FPGA gaming’s background. We hope to have you back on the channel soon!
JT: Thank you, you too.
For Full interview, view the video on the Pixel Cherry Ninja YouTube Channel