|
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. You may also be interested in my C128 Tower page for the big project I'm constantly tinkering with. All projects on this page are released to the public doman unless otherwise noted. Firefox users: Your browser automatically scales large images down to fit your screen, but this leads to low quality renderings with these line-art drawings. You'll need to click again on the low-quality image to see the high-quality version. 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. | ||||||||
|
Simple internal Stereo SID board | |||||||||
| This is a simple dual-SID board. Nothing fancy, it just provides a
proper way to mount a second SID inside your C64 or C128 without
resorting to the old piggyback hack. Addressing is accomplished by
wiring the "SID2_CS" pin to an appropriate signal inside the machine. A
couple of minor cosmetic changes were made to the v0.1.1 layout
(twice...) to move and resize the holes for Audio_Out and SID2_CS, but
no functional changes were made. The result of those changes is shown
here as v0.1.3. The schematic is still at v0.1.1, as no changes needed
to be made to that file.
Note: Does not fit stock C128-DCR's because one of the power supply mounts is in the way. I'll lay out a suitable board for this computer as soon as possible. Status: WORKING. The v0.1.1 design went well, and now six of the v0.1.3 PCB's have been fabricated thanks to the fine people at Olimex. One of these has been built, but has not yet been used, though it should work just fine. See also, DMackey's Blog, where he's tracking this project as well. Schematic - gEDA/Gschem native format
| |||||||||
| Pictured at the left is one of the working v0.1.1 prototypes, which I was using in my flat C128 (pictured), along with a couple of unpopulated PCB's. Don't mind the soldered pins on the SID chips - they've gone through a lot over the years (such as the old piggy-back hack) and required a few broken-off pins to be repaired. In the C128 installation photo, the brown wire and microclip from the SID board connect to pin 12 of U3 to put SID #2 at $D700. The little wire loop on U3 is there because the only microclip I had handy at the time was too big to get in under the chip's leg. The two-pin connector for the audio was there because had intended to move this prototype into my 128 tower (I'll be using a newer board design instead). For detailed build notes and "interesting" situational uses, see the "Documentation/Notes" link above. This particular unit has since been given better wiring and a finer-tipped micro-clip, and is currently for sale on eBay. | |||||||||
|
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.
Status: Working prototype from older board design. This design is untested. Schematic - GEDA/Gschem native format
| |||||||||
|
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 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 hand-wired to female a user port connector (two
legs of the chip were actually soldered directly to of the edge
connector's mounting pins). I noticed a minor error with the resistors
in the A/C coupling circuit in v0.1.1, and fixed them.
Status: Working prototype from older hand-wired design. This design is untested. Schematic - GEDA/Gschem native format
| |||||||||
|
QuickScan
| |||||||||
| Another thing the C64 needed was a way to connect to a camera of
some kind. Videobyte II was okay, as was ComputerEyes, but nothing
existed for webcams, so I came up with this simple circuit to hook up a
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.
At left, you can also find a few sample images. The upper image is the only photo I have of the original prototype, hanging off the end of a User Port extender cable on my C128. The second image is a C64C I also used for testing (with David Wood's "UHS" project on top). The third is of the QuickCam I had at the time. These images were all taken with that camera and the prototype pictured (of course :-) ), and captured with a plugin I wrote for Godot (see below). The interface was lost over the years, and the camera eventually died, however on 19 Apr 2010 I was lucky enough to get another working camera thanks to a post I found on Craigslist. Hopefully I'll be able to get new prototypes of the interface made soon. Wanted: A source for black and white parallel Connectix Quickcams! If you have new old stock (or a bunch of used ones) just lying around, please contact me! I'd like to get them out to other Commodore owners to use with this interface. Status: Working prototype from older board design. This design is untested. Schematic - gEDA/Gschem native format
Included in the archive above 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: The CCD used in these cameras is "leaky", so when you tell the camera to expose a frame, the image data must be downloaded from the camera as quickly as possible. In practice, the limit is about 15 seconds before the captured image starts to wash out, and it will begin doing so even while you download. In the highest resolution demo mode, a stock C64 needs about 18 seconds to get the data off the camera and render it, so the bottom 20% or so of the image will show this faded effect. The higher resolution modes were written with a SuperCPU or similar in mind, and no fading occurs with one of those in place. As far as I recall, this issue doesn't affect the Godot plugin, as it downloads entire 320x200 frames into memory before any rendering is done, so any stock C64 should be fine. | |||||||||
|
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. Save for minor changes to some
of the connectors, the schematic for this version is a combined version
of the two hand-drawn schematics [1], [2] on the Tower page,
and as far as I am able to tell, is identical to those. Minor changes
from 0.2.1 were made to make some traces route better, thicken a few
traces, and correct some undersized capacitor footprints.
Status: Working prototype on hand-wired perfboard. This design is untested. Schematic - gEDA/Gschem native format
| |||||||||
|
MAS Player | |||||||||
| 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. Corrections welcome!
Status: Non-working prototype based on older board design. This design is untested. Schematic - gEDA/Gschem native format
| |||||||||
|
Simple Stereo SID cartridge | |||||||||
| The counterpart to the internal stereo SID board at the top of this
page, this one provides a plug-in solution similar to CMD's SID Symphony
cartridge. 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: it can also be moved to any other 32-byte slot within the selected
page ($Dx00/20/40/60...) by changing the jumpers 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 prototyping board,
below. 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. Changes from
0.1.1 and previous include realizing I was using a more powerful (and
expensive) DC-DC converter than the SID needed, so I've scaled it back a
bit.
:-)
Status: Design only, no prototype yet. Schematic - gEDA/Gschem native format
| |||||||||
|
PowerSID | |||||||||
| 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. Most of the 74xx logic in the old
version has swapped out for smaller surface-mount versions. Proper low-power
final amplifiers have been added and the mixing circuitry has been improved.
Status: Design only, no prototype yet. Schematic - GEDA/Gschem native format
| |||||||||
|
Simple prototyping cartridge | |||||||||
| This is a simple prototyping board for the C64/C128 expansion port.
The concept is similar to the "8-bit baby", but this one is specific to
the C64 and C128. I sized it to fit Commodore-branded cartridge cases
(e.g. Simons' BASIC, Sea Wolf, etc.), but inexpensive clones of these
cases are plentiful now, and should fit as well. Plated holes are on a
0.1" grid, 39 mil drill, 70 mil diameter pads (increased from 28 mil
drill and 60 mil pads in the first non-numbered revision). The first
two rows of holes are of course wired to the edge connector in a simple
straight-across pattern. Since this is just a blank with no active
circuitry, there's no need for a schematic.
Status: Design only, no prototype yet. Proposed Board layout - gEDA/PCB native format
| |||||||||
|
1750 REU Clone | |||||||||
| Back in the mid 80's, Commodore released a series of RAM expanders for the
C64 and C128 - the 1700, 1764, and 1750. They provided what then was quite a
large amount of RAM. Over the years, other companies have produced their own
clones of these devices, with the most recent being CMD. After they left the
Commodore field, that was it - no more 17xx-compatible REUs. None of the
various REU design documents appear to have ever made it out of the vaults,
except for the original
1750 schematics that Commodore had first created. Here then is my take on
a 1750 REU. Schematics were converted over from the originals and tweaked
slightly to work with Gschem, and the board was laid out to match the original
1750 as closely as is practical. Changes from the original are only cosmetic
in nature, except for some of the resistor packs, which may have a different
signal layout than the original did. That said, for those who would use this
layout to make a 2MB expanded REU, I made sure that RP3 is wired the same as
the original, and I've marked the two places that would need to be cut to
facilitate that upgrade.
Status: Design only, no prototype yet. Schematic, page 1 - GEDA/Gschem native format
| |||||||||