Test message

Why some Jaguar homebrew games work well with the Jag BT while others don’t

I wanted to take some time and address the homebrew game related issues with the Jag BT. After reading this article, you should come away with factual information as to why there’s an issue and why it’s not solely a Jag BT / BlueRetro problem.

Initial release and testing of retail games

Prior to releasing the Jag BT I documented a few retail games that polled the controller differently from the majority of the other retail games. I included a list of these games in the adapter’s user manual. I worked with the creator of the BlueRetro (Jacques Gagnon) and he came up with a few mapping work arounds for almost all of the issues. You can view this info on the GitHub. With these few games and work arounds documented, I felt good about the adapter. The Jag BT went on sale early 2022 and sold out a few days later. It was my first venture into the world of BlueRetro and a commercial success.

No other issues were reported to me or Jacques’ BlueRetro GitHub.

Homebrew games

In October of 2022, I wrote a tweet about my JagAIOA Plus adapters I was assembling, completely unrelated to the Jag BT. I received an out of context reply from a person named Lawrence Staveley. I didn’t recognize the name from any of my prior customers but a quick Google search revealed he was a game developer mostly focused on Jaguar homebrew games under the name of “reBoot”. This marks the first time I heard of any polling issues with homebrew games.

It’s important to note that Lawrence didn’t purchase the Jag BT from me directly and he never brought any issues to me directly prior to this out of context tweet

Regardless of Lawrence’s poor attitude, I continued trying to help document and track down the issue. Unfortunately, some of the info Lawrence was providing was false and slowed me down. He claimed that games from one developer didn’t work when actually they did. Another issue I faced was the lack of availability of some homebrew games because they were either retail homebrew games or just not available. I tried getting help from Lawrence since they were his games but he just replied with, “get a GameDrive”. It was obvious he wasn’t interested in helping…

The actual problem

A user who goes by “Zerosquare” replied with the following smoking gun as to why some homebrew games work but others don’t:

Zerosquare is a great source of Atari Jaguar info and someone who seemed eager to share info and be all around helpful. He actually helped me with a few things on other projects.

Zerosquare is making reference to two chips on the Jaguar, the Motorola 68000 and the DSP (part of the “Jerry” chip). Almost all retail games used the 68K for reading button inputs, while many homebrew games use the DSP which is what causes the issue. These homebrew games use an entirely different method of handling controllers than almost all retail games or even RetroHQ’s GameDrive. At the heart of the Jag BT is an ESP32, a big SoC with GPIOs that aren’t as instantaneous as smaller and slower MCUs.

Jacques has tried to fix this on the ESP32 side but due to the slower GPIOs bus of the ESP32-WROOM, he doesn’t think it’s possible.

There is a solution to this problem but it requires help from the homebrew community

As Zerosquare mentions in his post, a homebrew developer named ZeroPlayer also noticed similar issues in his game when using Atari’s own TeamTap hardware and rotary or mouse controls. He then added a small delay in his code to ensure the reliability of controls in the game. This is the same conclusion Jacques came to and suggested other homebrew developers do the same for their games moving forward to support the Jag BT. This was explained to Lawrence from reBoot but unfortunately he was not interested.

I’m still holding out hope that other Jaguar homebrew developers will take ZeroPlayer’s approach and consider adding a small delay in reading the controller for future games. In addition, I’d love to see developers utilize the”6D” analog support in the Jag BT.