[Home]
[Photos]
[Wedding]
[Hobbies]
[Contact Me]
--={ [C64/128 Info]
[Games]
[Files]
[Projects]
[CMMS]
[C128 Tower]
[Minetest]

Valid HTML 4.01!

Increase your website traffic with Attracta.com
Welcome to my Projects Page

On this page you will find various hardware projects. I've used PCB to draw board layouts for some time now, and have taken to using gEDA for the schematic capture (PCB is more or less a part of this suite now). I use a related tool called gsch2pcb to translate the schematics into PCB netlist and layout files, so all of the boards should be electrically identical to their schematic counterparts (barring any errors in the footprints). From there it is fairly easy to actually lay out into a manufacturable board.

Most of the projects below have native format files for the schematics and board layouts, namely gEDA/gSchem and gEDA/PCB, and Zipped Gerber RS-274X files for the actual PCB manfacturing data, in addition to high resolution flat images at the left.

Please note that a few of these images are very large, so I've piped most of them through a simple Javascript high-res image viewer. You will need to enable pop-ups and Javascript for this page if you want that viewer to run. Simply click a thumbnail to view the image, and click the larger image that pops up to zoom to 1:1 size. Some browsers may still display these images without Javascript, they just won't go through the viewer.

Gschem users: If any of the native-format schematics end up showing missing components, it means those components didn't get embedded into the schematic files. To remedy this, hop over to My gedasymbols.org page, download the missing symbol files, and put them in your personal symbols repository, restart Gschem, then re-load the affected schematic.

These designs are here so that users can have one or two fabbed for strictly personal usage, or for education, general discussion, etc. If you wish to produce and sell any of these designs, you must contact me first to arrange licensing terms. DO NOT remove logos, copyright, and other similar markings from these designs. All designs on this page are under the Creative Commons CC-by-SA-NC license unless other arrangements are made.


RGBI to RGBA adapter
[Board Layout]

[Board Layout]

[Blender rendering of the boards and case]

[Photo of the GBS board in printed case]

[Detail of the case top]

I've been working on an adapter to connect a C128's 80 column video port directly to a video-game-to-VGA upscaler board such as the GBS-8200 or 8220 (i.e. ones sometimes called "JAMMA" boards). The C128 produces digital RGBIHV output pretty much identical to the old CGA video standard, while some of those upscaler devices require analog RGB signals (without a separate intensity signal), and composite H+V sync. This board seeks to address this mismatch.

My intent here is to reasonably duplicate the standard C128/CGA palette as described in the article on Wikipedia, including a suitable "brown fix" circuit.

At one end is the C128 video port connection. At the other end is a row of five holes to receive the wires from the scaler board's video-input pigtail, and two more holes next to them for power input. If you are using this adapter with a GBS-8200/8220, you can use its barrel connector to power it at 7.5 to 12VDC, and then use its two-wire power pigtail to send power from there to the RGBI-to-RGBA adapter.

The "Invert-Sync" jumper, located half-way back at one edge, is provided here to address an oddity with how the C128 interacts with the GBS-8200. If you need to use the GBS's "auto scan" button, you may first have to move the jumper to the "Invert" position, then press "auto", wait for the GBS to finish syncing, then move it back to the "Normal" setting. When the GBS finishes, you'll see a stable, but slightly jittery screen until you move the jumper back (at least, that's how my 8220 behaves).

Status: Working. RGBI board and project case are ready for general use. Intensity resistors need a minor adjustment.

EDA Production files:
Proposed Board layout rev. 3.5
Schematic rev. 3.5
Gerber files

3D printer data files for the case:
Source model file: Blender format
The main body/bottom half: STL format
The top cover assembly: AMF/XML format or STL format
The snap-in retainer clips: AMF/XML format or STL format

This case is meant specifically for the GBS-8200 (I do not have an 8220 to model against). To make it, you need the "main body" file, one of the "retainer clips" files, and one of the "top cover" files, preferably AMF/XML for the latter two, as they contain Slic3r modifier meshes and custom print settings. It's designed to be printed *without* auto-generated support material, on a consumer-grade FDM printer, though other types of 3D printers should work.

You need good bridging performance and good thin wall accuracy for the clips to fit properly and for the nameplate to render well. The top cover is designed to print as a single piece. The top cover has button extensions with integrated springs, which have their own custom, removable print supports. If you wish to let your slicer supply its own support material (for example, dual-extrusion with soluble support filament), you can delete the springs' supports from the plate. Simply print all three parts, snap the retainer clips into their slots in the top cover, then add your circuit boards and snap the cover into the case bottom.


1MB REU clone
[Schematic]

[Schematic]

Back in the mid 1980's, Commodore released the 17xx-series RAM Expansion Units for the C64 and C128, which provided what was considered to be a large amount of RAM for the time. Among them was the 1750, which provided 512 kB, expandable to 2MB using a circuit later devised by Andrew Mileski (such as the "decoder" board below). I decided that modifying a stock Commodore REU isn't the way to go anymore - it was time to just outright design a new REU that already incorporates Andrew's changes along with more RAM, and which doesn't come packed along with a ton of other, unrelated features (I'm the sort who prefers addons that do only one thing).

Normally, a whole new REU would require designing a replacement for the 8726 REC chip, but I have chosen not to do this for now. Instead, here is a design which uses the original 8726 REC to provide 1 MB of RAM via a handful of 44256 (256k x 4) DRAM chips, all condensed down into a package the size of a normal cartridge. This design requires a cartridge shell that can snap together, as I had to eliminate the center hole to make room for everything. Layout/schematic updated to v0.2.0 - as it turns out, I had to go with programmable logic anyway because these 256k x 4 chips require more refresh cycles than the REC can produce, so CAS-before-RAS refresh was necessary.

Status: Working and ready for general use.

Production files:
The entire project (ZIP containing gEDA/PCB board layouts and gEDA/gSchem schematics, Gerber production files, the JEDEC fuse map for the GAL chip, Verilog source code for same, timing experiments/test bench data, etc).

[Actual Prototype] Photo of the completed, production version of the 1MB REU. This unit is built with a Lattice GAL22V10 for the logic device, and features a multicolor RGB LED for access info (it also doubles as a power indicator).

8-Bit Stereo Sampler
[Schematic]

[Proposed Board Layout]

One thing I always thought that the C64 sorely lacked was a decent audio digitizer. There were a few attempts over the years, but they always seemed to have something wrong - either they were too expensive, low quality, closed software/design, or whatever. This is my answer to that problem. This digitizer uses two ADC0820 chips (actually, the Texas Instruments equivalent, TLC0820) along with a handful of discrete support components. It is based on Russell Prater's original 4-bit mono circuit as detailed in his DIGI0820.SFX archive. Board/schematic updated to v0.1.4 (got rid of the Digimaster/normal jumper, it's always in Digimaster mode now).

Status: Working and ready for general use.

Production files:
Board Layout v0.1.4
Schematic v0.1.4


Simple prototyping cartridge
[Board Layout] [Board Layout]

[Actual Prototype]

Here are a couple of simple prototyping board designs for the C64/C128 expansion port, sized to fit standard Commodore cartridge shells. Plated holes are on a 0.1" grid, 39 mil drill, 70 mil diameter pads. On the left is the "plain" version with only minimal traces to the connectors. On the right, the "bussed" version, where pads are connected in sets of two to four at a time. The strips down the sides on that one are grounds of course, with a power rail along the left as well. The prototype PCB shown below the layouts is the "plain" style. Footprint for the DB25 connector from Ben Jackson's Gedasymbols page).

Status: Ready for general use.

Production files:
Board layout v0.0.5 - Plain
Board layout v0.0.1 - Bussed


SID Symphony II
[Board Layout]

[Board Layout]

This board provides a plug-in solution similar to CMD's SID Symphony cartridge, hence the re-use of that name. Like that cartridge, this design can be placed in the $DE00 or $DF00 page, but this board has one feature the SID Symphony didn't have: the SID chip can also be moved to any other 32-byte slot within the selected page ($Dx00/20/40/60...) by changing the DIP switches appropriately, making it possible to use this cartridge with many other expansion devices, or possibly use several of them at once at different addresses. The cartridge outline is based on the expansion port "simple" prototyping board, below, and is sized to fit standard Commodore cartridge shells.

This particular design uses a 5v-to-12v DC-DC converter (V-Infinity VBT1-S5-S12-SMT) to eliminate any need for an internal battery, and to enable the use of a regular 6581 SID. Although they're somewhat less desireable and probably less common, this design can be adapted to use the 6582 or 8580 variants by substituting the appropriate 5v-to-9v DC-DC converter in place of the one used here. Theoretically, one could also use a battery of the appropriate voltage instead of the DC-DC converter, in a pinch. Layout updated to v0.1.13 (increased drill size and pad diameter for the DIP switches, rerouted a couple of traces to get out of the way).

Status: Working and ready for general use.

Production files:
Board layout v0.1.13
Schematic v0.1.12
Gerber files

[The actual board]

At left are two of the prototypes of the v0.1.13 design, one shown in a case I got from Tim Harris, with SID-cartridge-specific holes lovingly and perfectly carved by yours truly ;-). Label design by Ray Lejuez.

Internal Stereo SID board
[Schematic]

[Board Layout]

[Schematic]

[Board Layout]
This design is the internal counterpart to the above cartridge. It is a relatively feature-filled dual-SID board, designed to let you add a second SID chip to most models of C64 and C128, without resorting to the piggyback hack. Addressing is accomplished by attaching several micro-hook clips and setting a few jumpers. The top two images are the schematic and board layout for the C64/flat-C128 version, while the two images below those are the C128-DCR version.

The C64/flat-C128 layout and circuitry have been significantly expanded since the old 0.2.x designs, and now includes circuitry to decode everything from $D100 to $D7E0, as well as the usual $DE00-$DFE0 and $D420-$D4E0 ranges, with exceptions depending on which machine it's used in of course. This allows the second SID to be placed virtually anywhere in the C64's and C128's unused I/O spaces. These later designs has been laid out in such a way as to avoid needing to modify the SID #2 socket prior to assembly.

The C128-DCR layout has also received a similar update in parts and design, but since it doesn't need to offer the same range of addressing options as the C64/flat-C128 version (owing to less available I/O space in a C128/C128-DCR), it is more or less identical, electronically, to the earlier 0.2.x circuit. Note that the board layout specifies 22,000 pF filter capacitors, while the schematic specifies 470 pF. The former is correct for this machine; I used 470 out of habit, since my C128-DCR was modified to take 6581's at the time this board was designed. You'll likely want to use 22,000 pF capacitors.

Also a nice note: "Doug" sent me this tidbit for tweaking the wiring/jumpers to make these boards work in the $D500 page.

You might also be interested in Daniel Mackey's Blog, where he's tracking these projects as well.

Status: Working and ready for general use (all versions).

Production files:

0.3.x:
Board layout for C64/flat C128, v0.3.1
Schematic v0.3.1
Board layout for C128-DCR, v0.3.2
Schematic v0.3.1
C64/C128 version Quick Start Guide
C128-DCR version Quick Start Guide

0.2.x:
Board layout for C64/flat C128, v0.2.2
Schematic v0.2.1
Gerber files
Assembly Guide v0.2.2 - LibreOffice Writer .odt format, complete kits version, assumes you already have the parts

[Installed in my C128] Pictured at the left is the prototype for the C64/C128 variant (layout v0.2.2), shown installed into my spare flat C128 mainboard. In the photo, the connector with the red, white, and green wires on it goes to the 8502's A5/A6/A7 address lines, while the two pin connector to the right of it is the audio output. The board's jumpers are set for $D420 addressing in this photo.

Multi-prototyping cartridge
[Board Layout]

[Board Layout]

Here's a different design, in which I've worked in multiple ports, making this one similar to the "8-bit baby", but these are specific to the C64, C128, and VIC-20 (though there may be other machines that can use this board). Plated holes are on a 0.1" grid, 39 mil drill, 70 mil diameter pads. This one carries the concept of the "bussed" holes, where pads are connected in sets of two to four at a time. The strips along the edges are for ground and power. I'm not sure from whom I got the footprint for the DB25 connector, except that it came from one of the Gedasymbols Pages. Board layout updated to v0.2 (discovered a couple of significant errors in board size and trace layout.)

At left, the actual board (prior to the above-mentioned fixes).

Status: Now available for sale! Just $14.95 each - browse to Ray Lejuez's store to order!


DigiMAX
[Schematic]

[Board Layout]

Despite the C64 being able to do 8-bit audio with various methods, I always thought it could use a proper 8-bit DAC, if for no other reason than to eliminate the extra CPU time those methods take, so I created the DigiMAX. The original hand-wired prototype is somewhere unknown, but I did find a copy of the schematic buried among the documents on my CMD HD. It was a snap to re-create with proper schematic capture tools, and this time it is based on a somewhat cheaper version of the chip the prototype used. The original prototype was directly wired to female a user port connector (two legs of the chip were actually soldered directly to of the edge connector's mounting pins). Board layout and schematic updated to v0.1.4 (Couldn't get any audio -- fixed by changing the four 100 ohm resistors to 3.3k and the two 10uF caps next to them to 1uF. Also replaced User Port footprint with a lower-profile version to shrink the board).

Status: Working and ready for general use.

Production files:
Board layout v0.1.4
Schematic v0.1.4
Gerber files

[Actual Prototype]

At the left you can also see a photo of the completed board (with capacitors and resistors changed out as above).

C128 Tower LED/Power board

[LED Board Schematic]

[Board Layout]

While working on my tower, one thing I needed was a way to drive all of the LEDs, handle the ATX power on/off function, and handle the stereo/mono with internal audio function. The original prototype is part of my C128 tower, and can be seen on my C128 Tower page. One thing I realized after I built it: It's ugly! So, I decided I needed to make a proper PCB. This design is based very closely on the two hand-drawn schematics from my Tower page ([1], [2]). Schematic and board layout updated to v0.2.5 (deleted a resistor, rerouted some traces to handle a screwup where the 1571 enable LED was drawing too much current away from the corresponding 4066 enable input, changed the values on the two resistors that handle the "SuperCPU is Enabled" LED).

Status: Working. No longer in use, however (the machine that needed it has since been disassembled).

Production files:
Proposed Board layout v0.2.5
Schematic v0.2.5
Gerber files

[Actual prototype]

The assembled board, as installed in my C128 Tower at the time.

XPander3
[Schematic]

[Board Layout]

For the longest time, the C64 community lacked any kind of decent Expansion Port expander device. The venerable Aprospand64 has been off the market for many years now, the EX3 and EX2+1 expanders formerly made by CMD have been absent for several years, and the board once made by Fotios has since disappeared as well. It seemed like nothing existed anymore, so Jim Brain and I decided to make a new device. We poured our own ideas into this as well as borrowing a few features from the CMD and Fotios boards, and pictured at the left is the resultant prototype design. The final design for mass production is slightly different from this one, to take advantage of some less expensive parts, but the circuit should be the same.

Status: Working and available for sale. Just $30.00 each - browse to Jim Brain's Store to order!


Beyond512K REU signal decoder board
[Schematic]

[Schematic]

As mentioned above, shortly after Commodore released their 256k and 512k REUs, Andrew Mileski came up with a way to expand one to 1 or 2 MB. In 1990, Wesley J. Wiese produced a really nice circuit board design to go with those plans. When I started working on my REU to upgrade it, I realized that a new version of this design was needed that was suitable for modern printers, so I redrew it at 300 DPI.

I decided it was time to convert those drawings and the original text file into proper schematic and board layout files. At left is the schematic and revised board layout, which is identical in function to the original from back in 1990. I've since switched to SMT IC's and shrunk the board, added proper silk labeling, and added resistors and connector for the status LEDs.

Status: Working, ready for general use.

Production files:
Proposed Board Layout v1.2.1
Schematic v1.2.1
Gerber files


USB2IEC v2
[Schematic]

[Proposed Board Layout]

This is a project that Peter LaDow and I were working on, which aims to port the sd2iec codebase to the ARM STM32 microcontroller, and of course to provide an actual hardware device to use it on. Initially, the board aims to provide another alternative for solid state storage for the C64. As the code is developed, the added power of the ARM processor should hopefully also replace all of the various X1541 cables, to provide another C64<->PC solution that has as little restriction as possible regarding the host PC's hardware and OS/platform. Future goals include providing for emulation of more than one IEC device at a time within the one unit, full-blown 15x1 emulation, and more. Board design by me, schematic and concept by Peter. For more details on this device, send him an email. Board layout and schematic updated to v0.8 (fixed incorrect footprint for the STM32).

Status: New prototype awaiting testing.

Production files:
Proposed Board Layout v0.8
Schematic v0.8
Gerber files

[The Prototype] At left is the latest prototype (photo by Peter LaDow). This board did require a minor tweak to correct a mismatched footprint, but seems to work so far. The mismatch/tweak is not reflected in the drawing files above yet. More testing to do before updating these images.

QuickScan

[Schematic]

[Board Layout]

[Working Prototype]

Another thing I thought the C64 needed was a way to connect directly to a webcam of some kind. My solution was this simple circuit which hooks to the then-popular Connectix QuickCam. It only works with the original black and white model, parallel interface ("PC" or "Windows" as they called it). Sadly, these are very vard to find today.

Included in the archive below are various demos that let you see what the camera sees, and an experimental "Loader" plugin for Godot that allows you to capture photos into Godot's internal 320x200 4-bit greyscale format. Thanks to Arndt Dettke for helping me replace my lost copy! Most of the programs in the archive include source code as well. See the README.TXT file included in the archive for more details. The current release is 0.1.6, and includes what I believe to be the original sample images as well (saved by Godot as IFFs, and converted to GIFs using David Wood's PC).

Note: A stock C64 takes a significant amount of time to fetch a frame from the camera, and since these cameras use a "leaky" image sensor, the lower part of the image may be washed out on such machines. With an accelerator (SuperCPU, Turbomaster, whatever), frames are fetched far ahead of any such leak-down. This issue doesn't affect the Godot plugin, as it downloads entire frames into memory before any rendering is done, so a stock C64 should be fine.

Board layout and schematic updated to v0.2.3 - critical error in wiring of DSUB connector, rendering my fabbed prototype inoperative. Fixed and tested with new hand-wired prototype, which can be seen at the left.

Status: This design is untested but should work. The hand-wired prototype worked fine.

Production files:
Proposed board layout v0.2.3
Schematic v0.2.3
Gerber files
Programs/Source - Demo/"driver" code and Experimental Godot plugin, released April 7, 2010. (Zip)

[David's C64]

[Quickcam]

At left, you can also find a couple of sample images from David Wood's archives, showing his C64c (with his UHS project prototype) and of course the QuickCam itself (by way of a mirror). The C64 and QuickCam shown were used to acquire these images, effectively self portraits, using the original hand-drawn prototype and a plugin I wrote for Godot (see above).

PowerSID "2400"
[Schematic]

[Proposed Board Layout]

I got the thought in my head a while back that a C64 should be able to handle several SID chips at once, since it already has several other I/O devices. This board is basically the above stereo cartridge, on steroids. It carries sockets for up to 8 SID chips, plus a 4-channel 8-bit DAC chip. The first designs were on paper and in a PCB layout program. This one uses a proper schematic capture-to-PCB workflow, surface-mount parts to get the size down, and a simple mixer and eight-transistor stereo amplifier circuit. The "2400" in the name is a holdover from a design I once had where one could have a four-SID board, the "1200" (referring to it having 12 voices), with an optional add-on board which carried the DAC chip and four more SIDs (or sockets anyway). When combined, they formed the "2400" model. This design is basically a one-board version of that. SID chips themselves are getting pretty hard to find these days, sadly, but maybe SwinSID can remedy that some time in the future. Updated the board layout and schematic to v0.3.1: Re-laid out all traces to allow for thicker signal traces (cheaper to fab that way). Also discovered and fixed a missing power connection. More importantly, there were major uncorrectable errors in the previous 0.2.x series that prevented the prototype from functioning even partly right, so I've re-designed the non-functioning sections using circuitry I'm more familiar with.

Status: No prototype for this design has been made yet.

Production files:
Proposed Board layout v0.3.1
Schematic v0.3.1
Gerber files


1750 REU Clone
[Schematic Page 1]

[Schematic Page 2]

[Proposed Board Layout]

Here is my take on a regular, effectively "stock" 1750 REU, based on the original Commodore 1750 schematics. Starting from those documents, I converted the schematic and created a board layout that's as close to the original 1750 as I felt was practical. Only superficial changes have been made relative to the original designs, i.e. the actual routing of the traces. Everything else should be in exactly the same places as before, and this design should fit fine inside a standard 1750/64/00 case. For those who would use this layout to make a 2MB expanded REU using Andrew Mileski's circuit, I've made sure that RP3 is wired the same as the original 1750, and I've marked the two places that would need to be cut to facilitate that upgrade. The above "signal decoder board" would be ideal for such an upgrade.

Status: Design/proof-of-concept only, no prototype planned.

Production files:
Proposed Board layout v3.0.2
Schematic v3.0.2, page 1
Schematic v3.0.2, page 2
Gerber files
Parts list - plain text (UNIX/ASCII)


MASPlayer 64
[Board Layout]

[Board Layout]

Back in 2001, I started a project to port the Amiga MAS Player project (German Only, English Translation via Google) to the C64 and C128. The chips used therein are no longer made, but they can still be found from various places online, and basically provide a fairly simple interface for decoding MP3's. I recently came across a copy of the original board layout and photograph of my first prototypes, and, having remembered that I never got the damn thing to work to begin with (I'm sure it was due to errors in my design), this find inspired me to redesign it somewhat. It has been given a new board layout, with proper schematic capture based on the original Amiga-specific schematics from the above. Board layout updated to v0.1.3 on Sept. 4, 2010 (tweaked most of the drill sizes, re-did a few traces to compensate, schematic is unchanged). Corrections welcome!

Status: Non-working prototype based on older board design. This design is untested.

Production files:
Proposed Board layout v0.1.3
Schematic v0.1.2
Gerber files


MC68000 PLCC-to-DIP adapter
[Board Layout]

[Board Layout]

This is a very simple PLCC-to-DIP adapter for the MC68000 processor. Nothing fancy, just something to let one plug a PLCC68-packaged processor into a board meant for the DIP variety.

Status:Design only, no prototype planned.

Production files:
Proposed Board layout
Schematic
Gerber files