*** Please read the next few paragraphs before purchasing. This product is a pre-release and may have errors in the hardware or software design which require later modifications. ***
The Commander X16 Developer board is here! It has been many years in the making and we still aren’t 100% done. The Developer board is an early release meant to help those who wish to have a view of the actual hardware. This can assist with hardware peripheral and software development or for those who simply want early access to the system. We built a total of 110 machines in this run. Around 35 systems are designated for the development community and donators to the project, which leaves 75 systems. We are only listing 70 at this time to ensure we don’t run short. When the final number is known, we will send out a notification and list the remaining units at that time at this location. Of those 70, only 24 are ready to ship immediately. The remaining systems will be completed, tested, and packaged in the next two to three weeks. Shipments will be processed in the order received. Please, one per customer. You will also need a 12V AC adapter, or you can use your own case & power supply. Details below.
The current hardware is either complete, or nearly complete in design and pinout today. We do not anticipate any further changes, however, it cannot be completely ruled out. The board already contains three modifications from its original design, and it is possible more issues could be discovered before the official launch later this year. For example, a hardware modification could be required to make the system compatible with later system ROM updates, or the production version of the board. Please be aware of the risks, this system is meant for those folks who like to get their hands dirty if necessary and to help pave the way for as bug free of a launch as possible.
If you already know about the Commander X16, and have been waiting for the release, then read no further! If this system is new to you, or if you’re interested in the specifications, please feel free to read on.
- Western Design 65C02 CPU running at 2, 4 or 8MHz selectable via jumper on-board
- Western Design 65C22 VIA for IEC Serial, I2C and SNES Controller Ports
- Optional 65C22 for a USER PORT with 26 pin/db-25 header
- 39.75KB of “LOW RAM” exposed to BASIC and static for use in other languages
- 512KB to 2MB of “HIGH RAM” available in 8KB selectable banks
- 512KB to 4MB of ROM – 512KB available in 16KB banks on the motherboard – 3.5MB available on the expansion slot
- VERA standalone video module supporting up to 4096 colors, many modes and SDHC card storage
- VERA 16-Channel Programmable Sound Generation – Pulse, Sawtooth, Triangle and Noise
- Yamaha YM2151 4 Operator 8-Channel FM Synthesizer IC
- 4 60-pin expansion slots with I2C, audio inputs to mixer and full access to the CPU bus and ROM
- 5 32-byte IO spaces are available on the expansion slot 2 Fast 8MHz and 3 Slow 2MHz lines
- I2C & Audio Expansion header
- Microchip MCP7940N I2C Realtime Clock with RAM with battery for Profile storage
- PS/2 Mouse and Keyboard ports
- Standard 20 or 24 pin ATX power supply connector support
- Updates for the VERA, System ROM and System Microcontroller can be installed on-system via software
What’s Included in this release?
The prerelease developer board has a higher cost due to the smaller production run. The cost of parts is higher than it will be when we run larger numbers in the future and a lot more labor went into the creation of this version. More automation and volume in the future releases as well as boards with less features will allow us to drop the base price to $349.99. This board, however, will include all the optional motherboard components and more.
- Fully built and tested Commander X16 Motherboard with VERA Module Installed
- 2MB of HIGH RAM along with the optional 65C22 User Port ICs are populated
- 32GB SDHC card with some demos, games and music application included
- Perixx Commander X16 Branded keyboard with PETSCII graphics labeled keys
- Perixx non-branded matching PS/2 Mouse
- Commander X16 60-pin Large Prototype PCB for DIY projects
- 160W “Pico” ATX power supply – *No AC adapter included
*Please note, we didn’t include an AC adapter as the system will be used in many locations around the world. We were unhappy with the quality of the few universal supplies we tested. The supply needs to be 1-3 amps, 12V center positive. The connector is a standard barrel-type with an outer diameter of 5.5mm and an inner diameter of 2.5mm. You may also use any standard ATX power supply, as the system was designed to mount in a micro or standard ATX-style case. Use a supply with a low wattage rating if possible. The system only consumes a few watts, so virtually any supply will work. Please note that some newer ATX supplies for OEM machines may be missing the -12V rail. The Commander X16 requires +5V, +12V and -12V to operate properly.
This link is an example of a supply which would work for a US customer: https://www.amazon.com/MTYTOT-Adapter-100-240V-Transformer-Security/dp/B09ST95SW5
Links and Support
The Commander X16 is a complex product which will cover many disciplines from hardware design to programming in many different languages. While we will do our best to answer any questions, the primary avenue for support will be the forums, Discord and Facebook. Many qualified folks have spent a lot of time with the system or emaultor and have expertise in various aspects of the system to help with a broad range of topics. There is also a lot of documentation, sample code and finished code available to review and download.
The Official Commander X16 website has numerous discussion forums, downloads and documentation. It is located here: Commander X16™ Home – Commander X16™ Community
For more advanced and immediate discussions, check out the Discord community here: Discord
We also have a Facebook page here: Commander X16™ Prototype | Facebook
Still a work in progress, but an excellent starting point: Commander X16 Documentation
A Brief History
The Commander X16 started as a concept by David Murray, aka “The 8-Bit Guy”, as an easy-to-understand vintage-style system using through-hole components and discrete logic. Near the beginning of the project, and around the same time we started TexElec.com, I met David Murray for the first time. He asked if we were interested in designing the sound hardware for the X16. We agreed immediately, of course, but we had no idea how much deeper our involvement was about to go.
There were a few different early design proposals which wound up missing the mark of what David was really looking for. While working with a few early designers of the system to integrate our sound designs, David asked if I would be interested in designing the motherboard for the system. Another offer I couldn’t refuse! We had the idea of taking a system like the Commodore VIC-20 as a starting point and modifying it to work in a more modern way. Western Design still makes the 65C02 CPU as well as the 65C22 Versatile Interface Adapter (VIA) which were two ICs at the heart of the VIC-20. We also were able to license the original Commodore Kernal, which gives us use of Commodore Basic v2.0 and overall makes the system feel like a successor to the Commodore line. This does give a very familiar look and feel to the system as well as the use of IEC peripherals, but the similarities end there.
David asked for a RAM and ROM banking area on the system to allow expandability beyond 64KB. We decided early on that 16KB would be needed for ROM space and with little space more available, 8KB is used for a single RAM bank. After researching peripheral ICs, I determined that while small, eight 32-byte IO ranges would cover most devices. This leaves a total of 39.75KB of RAM available to BASIC. Michael Steil was already on-board working on the system Kernal, and we had settled on dual AY-3-8910 sound chips. We still had no video. Another long round of research led us to a sobering conclusion, there just weren’t any off-the-shelf video chips we could obtain in bulk which even came close to what we were looking for. While it strays from the main goal of the project, we knew a more modern video solution was needed, and after trying several different designs and researching many dead ends, we decided to use a design proposed by Frank van den Hoef. A design known as the Versatile Embedded Retro Adapter, or the VERA.
This is where the bulk of the system solidified, we just had a lot of work to do to make it all work together. We later decided the AY-3-8910s sound chips were too slow and less plentiful than originally thought, so we used two SAA1099s and the Yamaha YM2151. The VERA later added programmable sound generation which rendered the SAA1099s redundant, they were dropped leaving the YM2151 for FM sound generation. A small microcontroller was added to address PS/2 communication problems at 8MHz. It now acts as an I2C device on a bit-banged I2C bus driven from the Kernal via the system 65C22. The memory banking was changed to use zero-page locations for a quicker swapping along with several other fixes and optimizations. The motherboard supports a maximum of 2MB of RAM and 512KB of ROM space directly. A recent update allows an additional 3.5MB of ROM space via the expansion slots which will allow for the use of a game cartridge, an “option ROM” for a peripheral card or even additional RAM.
It is fair to say that we would not be where we are today if it weren’t for the help of many dedicated folks from Facebook, Forums and Discord communities centered on the Commander X16. Not only were several hardware bugs identified and fixed, but countless updates to the System ROM, microcontroller as well as the VERA have really helped to mature and stabilize the system. Many great demos, games and productivity applications exist that are making this platform easy to develop games with a vintage feel on new “vintage” hardware. Compilers like CC65 and great music trackers like Furnace now natively support the Commander X16. It’s safe to say not only are we at the beginning, but a huge community is out there pushing the system to levels we never thought possible. We are truly humbled for all the assistance and donations we have received. We really can’t thank you all enough!
Why the name Commander X16? We had originally planned to use a 65C816 CPU, but we later switched to the 65C02. Why? A few reasons, but chiefly, Michael Steil was not a proponent of this chip and feels the 65C02, while able to address less RAM natively, was a superior CPU. Opinions vary, but the 16 in X16 did refer to the 65C816 originally. By the time we changed CPUs, the named had stuck. Our Kernal is not compatible with the 65C816 but electrically, the Commander X16 is. So you can plug one right into the system, but a new or updated Kernal would need to be developed to support it. Commander is similar to Commodore in name, but I don’t recall if that’s why David picked it. But I’m pretty sure the X in X16 was to make it not sound like the Commodore 16.
Why did you use the Micro-ATX form factor for the initial board? We wanted to make a custom case like the original line of Commodore machines, but when we first started looking into this many years ago, 3D printing was lacking and the cost of injection-molding production seemed out of reach. The landscape has changed a bit over the last few years, but we decided to use a standard motherboard design to allow existing computer cases to be used. We had also hoped to find a small computer case we could either brand or allow users the option of just using something they already owned. Micro-ITX was the winner, or so I thought. Turns out, I simply couldn’t cram the design into an ITX form-factor. With little option, I jumped to Micro-ATX, while larger than initially desired it gave us four expansion slots and plenty of room.
Where do we go from here? The MicroATX board is not meant to be the only version of the system, but instead the first. The form factor expanded to a larger motherboard, so we decided to make this the most expandable version. This “power-user” version of the board is more expensive, but it is not the only version we have planned. Future systems may have less RAM and have fewer expansion options and they will also likely move from discrete logic to programmable logic to reduce costs. Newer systems will have less features, but still allow nearly full functionality and speed of the system.
There is much more to be said, but we’ll leave it here for now. Thanks again for the patience, support and assistance from everyone involved!