"Can I buy an Ocelot Arcade System kit/board?" FAQ
Can I buy an Ocelot Arcade System?
No, I'm not selling completed Ocelots or kits at the moment.
Right now the Ocelot exists only as a single prototype board built on Veroboard.
It's very much a tinkering box for programming nerds rather than an acceptable product for you to put into your cabinets or other systems.
In fact, there's -very little- to the Ocelot other than the base components needed to get a dsPIC33 started up and running code!
If you've got an Arduino Due knocking around, then you've pretty much got everything the Ocelot does, except the magic software.
I'm working on making everything more user- and programmer-friendly. There's so many things that a complete Ocelot could do!
Everything is up in the air: the processor, the DAC (the type and the quantity - think colour), the sound output, the amplifier board, the I/O capability and the software are all subject to change between now and something that would be useful as a pre-made kit.
Today it's a dsPIC33 and a TI DAC that uses four GPIO pins for sound. Tomorrow it might be an Atmel connected to an OPL3 Adlib-style sound chip.
If you'd like to brainstorm ideas, great!
But I neeeed it!
There's some things that you need to be aware of before you consider making a copy of my Ocelot 2016 prototype or asking someone to make one for you:
- It only works with oscilloscopes! I don't have a vector monitor and I don't have a Vectrex console. This is why I built the Ocelot in the first place!
- It's monochrome.
- There's no blanking signal, and it might never have one. My tests on what I have to hand showed it was unnecessary.
- It's only tested on a Tektronics 465 oscilloscope. And by tested, I can only vouch for it being visible. I've tried it for short periods on other oscilloscopes and it worked too, but I only have the 465 in my possession.
- There's no spot-killer safety system. Whenever I do debugging I have to do manic gesturing to make sure to turn the 'scope off.
- There's no analogue vector generator. The graphics -may- have visible lit points within the straight lines as the DAC pauses to receive a new instruction (if the slew rate is super fast and your leads are good).
- You currently need a PICkit 2 to do any development on the Ocelot or to upload game images. Software images for the Ocelot are loaded into the PIC's program EEPROM as firmware. Currently, I attach a Microchip PICkit 2 to the PICkit header on the Ocelot mainboard to upload and debug games.
- As a result, if you put a game onto the Ocelot, you're stuck with it until you overwrite it with a new game. Without a PICkit and the development environment, your board will play that one built-in game forever.
- There's no capability for connecting cartridges of any kind. I'd have to do some magic to spontaneously flash the PIC with incoming ROM cartridges to make it more console-like. Not impossible, but this restriction is why I consider the Ocelot to be more of an arcade board (Ocelot Arcade System) than a home console (Ocelot Home Entertainment System?).
- The dsPIC architecture prevents execution from anywhere other than the program EEPROM (not that there's much room in RAM for code anyway!). Fancy bankswitching schemes would have to work by just-in-time flashing the program EEPROM, so it'd best be done between large independent levels/chapters?
- The dsPIC architecture has its own instruction set. Don't expect to be able to play existing arcade or Vectrex games on it. They have to be remade specifically. It also won't emulate existing code (such as a Vectrex's 6809) without a lot of work!
And if that didn't put you off, the Ocelot prototype might be for you. :o
Here's a short note on the two games:.
Star Lynx has two cutscenes, a title screen, one level, one boss, and a high-score table and that pretty much fills up both the dsPIC's ROM and RAM. I'm down to the last 5% of each. If I took out the 'talking heads' cutscenes it'd ease the pressure since they're quite big to store all the keyframes for and to render into the line buffers, but vector faces are essential to the Star Lynx experience. The game was made as a portfolio piece primarily.
On the other hand, Mattsteroids is a good simple small game.
You could fit a whole bunch of small arcade games along the lines of Mattsteroids onto the dsPIC simultaneously, hypothetically. And that might be where a complete Ocelot system might go! (Might!)
That said, it's not all doom and gloom. Here's some nice things about the Ocelot as a first-time project (as it was for me):
- All of the components are modern.
- The dsPIC33 is a modern chip that's well-supported with libraries, compilers for many different languages (I write all my Ocelot software in C) and has a great IDE. (MPLAB IDE is a fork of Netbeans.)
- MPLAB IDE, the compilers and debuggers are all cross-platform. I've done Ocelot work in Windows 7 and Debian Linux.
- PICkits are common.
- It's simple to make. Properly laid out on a board the system would be very small indeed.
- Runs off batteries or USB power. It's a single supply design and the microcontroller should let it last for a dozen hours continuous play. Much longer if you don't connect the LEDs!
And what about the case? Do you want one made out of plywood...? Something that needs to be considered. :)