Virtual Light Machine, Fun with the MiSTer FPGA Atari Jaguar WIP core

Jaguar

Click here to display content from YouTube.
Learn more in YouTube’s privacy policy.

Our own Pixel Cherry Ninja has covered the MiSter FPGA work-in-progress Atari Jaguar core on his fine YouTube channel several times in the past year. He isn’t a Jaguar fan and though I’ve been nagging him to cover the VLM (as well as Video Game Esoterica), no one has done it yet so I thought I’d give it a shot.

A Little Atari Jaguar Background
I bought an Atari Jaguar at full MSRP ($249.95 US) back in 1994 at an Electronic Boutique (long since dead, at least in the United States). I rode the Jaguar roller coaster until Atari canceled the Jaguar with 50 licensed cartridge games and sold the company to a hard drive manufacturer (JTS Corp) in 1996. Atari supposedly manufactured 250,000 Jaguar consoles of which they sold approximately 150,000 of them via retail chains… with the remaining 100,000 being liquidated after their demise via various methods including infomercial and eBay auctions over the decades.

The Jaguar Becomes an Open Platform
Over the years, Atari the company has been sold and resold. Hasbro Interactive owned it for a while and in 1999 they decided to release all of the Jaguar related patents into the public domain and declared it an open platform. As a result, a very healthy homebrew community has sprung up and new games (both free and commercial) are still being made for it today… in digital ROM, cartridge, and CD-ROM formats.

The JagCD
CD-ROM? Yes, near the end of the Jaguar’s retail life, Atari released 20,000 Jaguar CD add-ons at an MSRP of $149.95 US along with 11 licensed CD-based games. The JagCD plugged into the cartridge port on the top of the Jaguar and had its own power supply. For CD game saves one needed to purchase the Memory Track cartridge that plugs into the cartridge slot pass-thru provided by the JagCD.

The Virtual Light Machine (VLM)
The JagCD BIOS has several different animated Jaguar logos it randomly cycles through when powered on. A lesser known fact is that most gaming consoles that support CD games, also work as audio CD playback devices, sometimes even providing a visualization feature. When Atari designed the firmware for the JagCD, they called on the primary developer of their highly acclaimed Tempest 2000 game, Jeff Minter, who had previously made audio visualizers for the Atari 8-bit and Atari ST home computers. Tempest 2000 was known for its “trippy” visual effects and Jeff created what he called the Virtual Light Machine, or VLM for short, to also be very trippy. The VLM provides 9 effect banks, each having 9 effects for a total of 81 visualizations. If you put an audio CD in, the JagCD automatically comes up in LVM mode. The VLM has a fairly complete on-screen control panel and is fairly well documented in the official Jaguar CD Users’s Guide (PDF).

Enter the Atari Jaguar Work-in-Progress Core
I won’t go into the complete history of the MiSTer FPGA Project’s Jaguar core development. Suffice it to say, one was started a few years back and stalled. It sat basically dormant until sometime in 2024 when MiSTer FPGA developers Kitrinx and Grey Rogue decided to dig deep into the Jaguar “netlist” (a technical definition originally created by Atari themselves and released by Hasbro) to see if they could figure out how the actual Jaguar hardware (of which there were two revisions) differed from the original technical design as the Jaguar was inadvertently released with some hardware bugs. Somehow they figured it out and since sometime in January of 2025, we have had a fairly functional Jaguar work-in-progress core that plays almost the complete library of cartridge ROMs.

JagCD Support Begins
In April, Grey Rogue decided to take an initial pass at implementation of the JagCD add-on. I say “initial pass” because I believe CD support was a new thing to him and there isn’t general support in the MiSTer FPGA framework… and each developer of a MiSTer core that supports optical disks has either had to implement it for themselves or borrow from previous cores’ implementations. Grey Rogue initially started with a somewhat cumbersome proof-of-concept using BIN/CUE files being able to load upto 500MB into RAM (a relatively slow process). Anything over 500MB wouldn’t work.

JagCD Support Improves
In June, Grey Rogue decided to switch to a much more efficient CD image format and to load using on-demand streaming which made game CDs and audio CDs start almost instantaneously. The JagCD is different in that it uses CD sessions and the user preferred (because it is highly compressed) .chd format could not be used. An undocumented format named .cdi was chosen because it does support CD sessions. I believe the .cdi format came from the Sega Dreamcast emulation community. There is a rather dated Microsoft Windows based software tool (DiscJuggler) available on archive.org that supports the conversion to .cdi files. While many of the Jaguar CD games appeared to be available in .cdi format, many of them were non-functional and it took a bit of time before the small library was correctly converted and functional.

VLM Support Included
I have been very active in the Jaguar channel in the MiSTer FPGA Discord and waited with baited breath as Grey added JagCD support. I constantly, probably annoyingly so, brought up the VLM and how great it would be if he could work in support for it. Turns out, audio support was there all along because the game CDs were accessed just like audio CDs and the Jaguar core uses the stock Jaguar CD BIOS / firmware.

Once support for the .cdi CD image format was added, we needed a tool to convert audio CDs or even an arbitrary list of audio files into a .cdi file that could be used with the VLM. Grey wrote a 316 line C program that I like to call bincue2cdi that is very quick (3 seconds) and easy to compile. I’m glad he did that because although I had invested in getting DiscJuggler to work in Linux via WINE (Wine Is Not an Emulator), it was a bit cumbersome to use.

Getting .cdi Audio Image Files
If you are a Windows users, try out DiscJuggler. I’m a Linux user so I use bincue2cdi. As the name implies, it takes BIN/CUE files as input and converts them to a single .cdi file. How to get BIN/CUE files? Brasero is a general purpose CD imaging tool that is provided by most Linux distributions. Brasero allows for ripping an audio CD to BIN/CUE as well as converting audio files in all common formats (FLAC, mp3, opus, etc) to BIN/CUE. Just make sure not to exceed the size of an audio CD (700MB). Then bincue2cdi, a command line tool, can be used to convert to .cdi format.

Using the VLM
The Jaguar work-in-progress core is… well… a work-in-progress. It has a lot of menu entries that are there for testing. As a result, it can be a bit overwhelming for a non-technical user to get started. I created a tutorial video that shows the basics of using the WIP core dated 2025-07-30. While I use the dual-ram flavor of the core, there is also a single-ram flavor if you don’t have a dual-ram MiSTer build. I’ll spare you reading my attempt to summarize the current Jaguar core menu system. Just watch the embedded video for specifics. Before the Jaguar core is added to the MiSTer’s fine “update_all” script, I’m sure it will be simplified and streamlined.

Also in the video, I provide a tutorial for using the VLM control panel. Below, I borrow from the fine official Jaguar CD Users’ Guide.

Giving It A Try
Since the Atari Jaguar core is still a work-in-progress, you’ll need to manually download it and copy it to the consoles directory on your MiSTer FPGA microSD card. The core can typically be found in the community channels dedicated to MiSTer FPGA, so be sure to check those sources.

As for the Jaguar BIOS and JagCD BIOS files, you will need to source these yourself, as we cannot share or link to them here. Place the BIOS files in a folder named Jaguar within your games directory.

Give it a try, I don’t think you’ll be disappointed.

Leave a Reply