|
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, 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. They are NOT authorized for third-party mass-production, sales, etc. DO NOT remove logos, copyright, and other similar markings from these designs. | |||
|
1MB REU clone | |||
| 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. At left is a photo of the current prototype, which has stood up to every test I've thrown at it so far. 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). Status: Seems to be working! More testing is required before I declare it "good". | |||
|
8-Bit Stereo Sampler | |||
| 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.3 (added jumpers to select Digimaster-compatible mode and to force mono, switched to lower-profile User Port connector).
Status: New prototypes are on order (last set needed many modifications, but worked). | |||
|
Simple prototyping cartridge | |||
| 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: Now available for sale! Just $7.95 each. Browse over to the Digital Audio Concepts web store to order yours (plain/non-bussed version only). | |||
|
SID Symphony II | |||
| 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: Now available for sale! Just $39.95 each. Browse over to the Digital Audio Concepts web store to order yours (SID chip and case not included). | |||
| 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 | |||
| 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. At the top, is the schematic, and the image below that is the C64/flat C128 version of the board. The C128-DCR version is the bottom one of the three.
The C64 variant (now at v0.3.1) has been significantly expanded from the previous 0.2.x layouts, and now includes circuitry to decode everything from $D100 to $D7E0, as well as the usual $DE00-$DFE0 and $D420-$D4E0 ranges. This allows the second SID to be placed virtually anywhere in the C64's unused I/O space. Plus, this version 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 is simpler than the C64 layout as it doesn't need to offer as many addressing options (as there is less free I/O space in these machines). You might also be interested in Daniel Mackey's Blog, where he's tracking these projects as well. For information on how to install and use these boards, see the "Documentation/Notes" link, below. Status: Now available for sale! C64/"Flat" C128 variant v0.2.2, just $5.95 to $39.95 each. Browse over to the Digital Audio Concepts web store to order! | |||
|
| 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. The C128-DCR variant from the same series (not pictured here) has also been built and tested. | ||
|
Multi-prototyping cartridge | |||
| 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 | |||
| 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, ready for pre-orders. Browse over to the Digital Audio Concepts web store to reserve yours! | |||
| 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
| |||
| 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 and in use. Schematic - gEDA/Gschem native format
| |||
| At left you can also find a photo of the assembled board, which is now installed into my C128 Tower, in replacement of the old hand-wired prototype. | |||
|
XPander3 | |||
| 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: Now available for sale! Just $30.00 each - browse to Jim Brain's Store to order! | |||
|
USB2IEC v2 | |||
| This is a project that Peter LaDow and I have been 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. Schematic - GEDA/Gschem native format
| |||
| 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
| |||
| 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: Working hand-wired prototype on perfboard. This design is untested but should work. Schematic - gEDA/Gschem native format
| |||
| 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" | |||
| 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. Schematic - GEDA/Gschem native format
| |||
|
Beyond512K REU signal decoder board | |||
| 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. Weise 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 today's printers, so I redrew it at 300 DPI.
Recently, 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. Schematic - GEDA/Gschem native format
| |||
|
1750 REU Clone | |||
| 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. Schematic, page 1 - GEDA/Gschem native format
| |||
|
MASPlayer 64 | |||
| 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. Schematic - gEDA/Gschem native format
| |||
|
MC68000 PLCC-to-DIP adapter | |||
| 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. Schematic - gEDA/Gschem native format
| |||