Back in 2013 I discovered the Color Maximite computer, created by Geoff Graham. I ordered a parts kit from Altronics in Australia, and after assembling it, spent some time exploring the capabilities. In this episode, I will take you through an overview of the Maximite, show you some software and look at how I connected a Sega Genesis (Mega Drive) game pad.
The firmware for the Maximite is easily upgraded. You can find the latest versions on the support site @ http://www.geoffg.net . Because the PIC32 can be easily flashed, there is also the possibility to run alternative Operating Systems, including a port of RetroBSD. I have flashed my Maximite to version 4.5C and you can see the details on how to do this in the user manual or watch the short video where I upgrade the firmware in preparation for this Epsiode.
Booting & Using MMBASIC
The Maximite powers on and boot time is instant into MMBasic. While the firmware provides some storage space on the A drive, this is the flash memory of the PIC32 controller. I would recommend always using an SD card, as this area will be wiped during firmware upgrades, and also to prevent wear on the flash. Navigating the filesystem on my SD card is straight forward. I can issue the ‘FILES’ command to see a director. ‘CHDIR’ lets me enter a directory. LOAD + filename loads a file, LIST shows the lines, EDIT starts the full screen editor, RUN to execute NEW unloads the file. You can also use other BASIC commands and maximite specific functions, such as setting the color mode.
Let’s look at some of the demos and programs that are available in the MMBasic Library that were developed by the community.
One of the only complaints I have about the Maximite, is the limitation of 8 colors. This is simply a limitation of the design. Geoff explains this in a forum post that “Adding intensity controls would require another SPI channel for Pixel by Pixel controls, and there are none free on the chip”. Despite this limitation, I still really like the device. Lets check out some other demos:
Gaming on the Maximite
There are a few games that have been written for the Maximite. And we’ll take a look at a few in a minute but first lets talk briefly about controllers. The board has 20 I/O pins on the rear of the board which allows you to connect external peripherals, sensors, or other devices that can send or recieve signals. Several of the games support using an Atari Joystick or a nintendo Nunchuck. Neither of these will plug directly in without either cutting the cable, or coming up with an adapter.
Considering that original Atari joysticks are really poor in quality, and that I already had a few Sega MegaDrive game pads on hand, I designed an expansion box to easily connect up a 9 pin controller. I used some off the shelf components, a DB9 female connector and an Adafruit PermaProto breadboard which included a 20 pin connector and a ribbon cable. I 3D printed [show print footage] a case for the controller box, and wrote a test program to demonstrate.
Other uses of the Maximite
While there are a few games for the Maximite, the little computer provides many other possibilities for how it can utilized. Considering the unit has both Arduino compatible as well as its own 20 pin expansion port, it can provide control for both input and output. There are some examples provided in the library for reading temperature, using potentiometers, and more. Some forum posts even discuss how Maximite’s have been deployed in manufacturing or other closed systems as a controller.
In a future episode, I will work on designing and building a paddle control that can plug into the joystick box and work with the EggDrop game.
So that’s it for this episode on the Maximite. Don’t forget, subscribe to the YouTube channel and signup for the email newsletter.