Ocelot Arcade System

Tabletop arcade system using oscilloscope display, 3D wireframe graphics, polyphonic sound, all powered by a Microchip PIC and TI DAC.

Similar projects worth following
The Ocelot Arcade System is a table-top home arcade system designed for use with an oscilloscope!

It uses a high-speed, high-precision, dual-channel DAC to generate 2D vector output. Two phono connectors on the side of the case allow connection to an oscilloscope configured in X‑Y mode. The 9-pin port on the front panel accepts common Amiga or Atari joysticks as well as correctly powering and reading Master System and Mega Drive controller pads (both 3- and 6-button pads).

The microcontroller within the Ocelot is powerful enough to calculate and draw sophisticated 2D and 3D wireframe graphics in real-time, as well as produce four-channel polyphonic sound amplified and output by a built-in amplifier and speaker section within the case.

Ocelot games are firmware images for the dsPIC33, written in C. There's two games for the Ocelot: Star Lynx, a 3D third-person flight-into-the-screen space shooter with talking animals and a huge floating-head final boss; and Mattsteroids, a classic blow-up-the-rocks arcade game!

Both are written by me and written atop an abstraction layer that combines the physical interfaces with some useful services like graphics and sound to produce a complete arcade system.

As a side note, the architecture only allows running code from internal flash - this is why it's more of a tabletop arcade similar to Grandstand Astro Wars than a home console like a Mega Drive. It'd be possible to give the Ocelot a bootstrapper that reads in cartridges (ROMs with an edge connector) and spontaneously flashes itself with the game it finds (or does a little checksum dance to see if it already has the current game 'installed' and skips that if not). The PIC is only rated for a finite amount of flashes, but if you needed a consoleish Ocelot, that's how it'd work.

  • 1 × Microchip dsPIC33FJ128GP802 40 MIPS, lots of GPIOs, 3.3v supply hooray. I don't use the internal DAC because it's designed for audio only sadly. 2013 prototypes used an Arduino Due which was clean and stable, but I couldn't get that quality from the dsPIC.
  • 1 × Texas Instruments TLV5618A Dual channel high-precision DAC. Runs off the same supply voltage, hooray! But mostly importantly has a SPI command that updates both the A and B channels simultaneously! Why the heck would you NOT want to be able to control that over the same SPI bus as sending values?

View project log

Enjoy this project?



etheridgeerik wrote 11/04/2018 at 12:10 point

Can you instruct me on how to build this? Schematics, components list, this sort of thing?

  Are you sure? yes | no

Matt Carr wrote 12/19/2017 at 07:10 point

Please ask me any questions you'd like about the Ocelot! ^_^

I'm not sure what kinds of things folks would like to read about, or see in a video.

- Matt C.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates