Skip to the content
PCBKitNew board
2 layers25.7 × 76.6 mmOpenKickstartSwitcher, the printed circuit board in 3D

Open Hardware Kickstart Switcher for the Commodore CDTV

Size
25.7 × 76.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
45
Pads
133
Tracks, vias
302, 57
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
5 Feb 2019
Updated
29 Aug 2019

Overview

OpenKickstartSwitcher is an open-source printed circuit board by SukkoPera, from the SukkoPera/OpenKickstartSwitcherCDTV repository on GitHub. It is a 2-layer board of 25.7 × 76.6 mm with 12 parts on 45 nets, routed with 302 tracks and 57 vias.

Its parts include 4 connectors, 3 ICs, 2 resistors and 1 capacitor. It belongs with the retro computing and games boards of this library.

README

README.md

OpenKickstartSwitcher CDTV Edition

OpenKickstartSwitcherCDTV is an Open Hardware Kickstart Switcher for the Commodore CDTV.

Board

Summary

OpenKickstartSwitcherCDTV is a Kickstart switcher for the Commodore CDTV Entertainment System, based on work by Henryk Richter. It is basically the same circuit/board as OpenKickstartSwitcher but tailored in shape to the CDTV.

It allows switching among three or six different Kickstart images stored in an EPROM. The switching can be done through physical switches or by pressing the mouse/joystick buttons at power-up. The latter requires an external add-on board that is another project of mine.

Assembly

Solder all components to the board. Starting with the smaller components might be a good idea, and make sure to solder the pin headers and resistor arrays before the socket. When soldering the resistor arrays, don't push them fully through the holes, as you will need to bend them against the board. No particular order is recommended for the remaining components.

The value of the two single resistors is not critical, 10k is recommended but probably any value between 5k and 50k will do.

My tests show that an SN74HC00 gate works fine. I don't recommend using parts from the HC series though, HCT or LS should be preferred.

The two resistor arrays are not always needed. You might get away without them, depending on the particular EPROM you are using: I have several EPROMs of the same model (but different production batches), and some need the resistors while others don't, so the only way to find out is actual testing. If you decide to install them, they must be of the bussed type and the recommended value is 4.7k. Be aware that these parts are polarized and must be installed with the right orientation!

EPROM Selection and Switch Wiring

The adapter can be used with either 27C800 or 27C160 EPROMs. I recommend using -100F1 EPROMs by ST, but access time is not critical: use 100ns or faster EPROMs if you can, but anything up to 150ns should work reliably.

27C800

With a 27C800 EPROM, the adapter supports 2x256 KB Kickstart images (i.e.: up to version 1.3) and 1x512 KB image (version 2 and later).

To switch between ROMs, you will need two SPDT switches, connected to the SW1/SW2 pads and ground. A ground pad is available on the board, but any ground spot on the mainboard can be used as well, if easier to reach.

ROM Image #Size (KB)SW1SW2
1256LOWLOW
2256HIGHLOW
3512xHIGH

(x = Don't Care)

So, basically:

  • If SW2 is HIGH, the 512 KB Kickstart image is selected, regardless of SW1.
  • If SW2 is LOW, SW1 controls which one of the two 256 KB images is enabled: LOW selects the first one, and HIGH selects the second one.

You can also use a single ON-OFF-ON DPDT switch, just wire ground to the middle pins, SW1 and SW2 on one side and SW2 on the other.

As SW1/SW2 will both read as HIGH if left unconnected, the 512 KB Kickstart will be selected if no switches are wired.

You can fully ignore the A19 pad on the bottom side of the board, when using a 27C800 EPROM.

27C160

With a 27C160 EPROM, the adapter supports up to 4x256 KB Kickstart images and 2x512 KB images.

You will need to solder an additional switch to the A19 pad on the bottom side of the board. VCC and GND pads are provided nearby so that you can also solder a pull-up/down resistor.

ROM Image #Size (KB)SW1SW2A19
1256LOWLOWLOW
2256HIGHLOWLOW
3512xHIGHLOW
4256LOWLOWHIGH
5256HIGHLOWHIGH
6512xHIGHHIGH

IMPORTANT: ALWAYS TURN YOUR CDTV OFF BEFORE MOVING THE SELECTION SWITCHES.

Flashing Notes

When flashing the EPROM, make sure that the ROM images you are using are exactly 262144 or 524288 bytes long, and just concatenate them. Take care to use the correct byte ordering, as the Amiga hardware expects 16-bit words to be stored in the big-endian format (which is NOT the format UAE expects them in, for the record). On Unix-like systems you can use the conv=swab option of dd to change the byte ordering.

27C800s and 27C160 are 42-pin EPROMs and most programmers only support chips up to 40 pins. This is the case with the popular TL866 programmer, for instance. You can get around this limitation with an adapter PCB. There are at least two open designs of such an adapter:

I have only used the latter and found it to be working fine.

Installation

Once your OpenKickstartSwitcherCDTV is assembled and programmed, the rest of the installation should be pretty straightforward:

  • Open your CDTV.
  • Identify the Kickstart chip.
  • Carefully remove it.
  • Plug OpenKickstartSwitcher in its place, making sure to match the correct orientation.
  • Drill some holes into the back of your CDTV (or wherever you prefer) and screw some switches in there.
  • Solder wires to switches.
  • Close your CDTV.

Of course, if you use OpenAmigaMouseTrigger there is no need to drill any holes.

DiagROM

The excellent DiagROM by chucky can be used with OpenKickstartSwitcherCDTV, even though not all functions work on a CDTV.

Normally it is distributed as a 512 KB image, but most of the space is unused, so I have created a 256 KB version of DiagROM 1.0 by simply truncating the image. It is NOT GUARANTEED TO WORK, but it looks fine to me. It can be downloaded here.

License

The OpenKickstartSwitcherCDTV documentation, including the design itself, is copyright © SukkoPera 2018-2019.

OpenKickstartSwitcherCDTV is Open Hardware licensed under the CERN OHL v. 1.2.

You may redistribute and modify this documentation under the terms of the CERN OHL v.1.2. This documentation is distributed as is and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES whatsoever with respect to its functionality, operability or use, including, without limitation, any implied warranties OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE or infringement. We expressly disclaim any liability whatsoever for any direct, indirect, consequential, incidental or special damages, including, without limitation, lost revenues, lost profits, losses resulting from business interruption or loss of data, regardless of the form of action or legal theory under which the liability may be asserted, even if advised of the possibility or likelihood of such damages.

A copy of the full license is included in file LICENSE.pdf, please refer to it for applicable conditions. In order to properly deal with its terms, please see file LICENSE_HOWTO.pdf.

The contact points for information about manufactured Products (see section 4.2) are listed in file PRODUCT.md.

Any modifications made by Licensees (see section 3.4.b) shall be recorded in file CHANGES.md.

The Documentation Location of the original project is https://github.com/SukkoPera/OpenKickstartSwitcherCDTV/.

Support the Project

Since the project is open you are free to get the PCBs made by your preferred manufacturer, however in case you want to support the development, you can order them from PCBWay through this link:

PCB from PCBWay

You get cheap, professionally-made and good quality PCBs, I get some credit that will help with this and other projects. You won't even have to worry about the various PCB options, it's all pre-configured for you!

Also, if you still have to register to that site, you can use this link to get some bonus initial credit (and yield me some more).

Again, if you want to use another manufacturer, feel free to, don't feel obligated :). But then you can buy me a coffee if you want:

Buy Me a Coffee at ko-fi.com

Get Help

If you need help or have questions, you can join the official Telegram group.

Thanks

Thanks to Henryk Richter, Aldo PRS and screwbreaker.

Parts

12
QtyValueFootprintReferences
210kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1, R2
29x4k7OpenKickstartSwitcher:R_Array_SIP10_OnSideRN1, RN2
1100nCapacitor_THT:C_Disc_D7.0mm_W2.5mm_P5.00mmC1
17400Package_DIP:DIP-14_W7.62mm_SocketU3
1Conn_01x03OpenKickstartSwitcher:SolderJumperJ4
1Conn_01x04OpenKickstartSwitcher:Solderable_PinHeader_1x04J2
1KS_SOCKETOpenKickstartSwitcher:DIP-40_DualHeaderStripsU1
1LOGOlogo:logoJ98
1M27C800OpenKickstartSwitcher:DIP-42_SocketU2
1OSHW_LOGOw_logo:Logo_copper_OSHW_6x6mmJ99

Questions

How big is the OpenKickstartSwitcher PCB?

It measures 25.7 × 76.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the OpenKickstartSwitcher use?

12 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the OpenKickstartSwitcher KiCad files?

From the SukkoPera/OpenKickstartSwitcherCDTV repository on GitHub, at the commit this page was made from: the board is OpenKickstartSwitcher.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the OpenKickstartSwitcher design in my own project?

Its repository states no licence, so its author keeps all rights: ask SukkoPera before reusing the design.

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696