GithubHelp home page GithubHelp logo

svenpetersen1965 / c64-diagnostic-rev.-586220-harness Goto Github PK

View Code? Open in Web Editor NEW
161.0 34.0 20.0 104.71 MB

A harness for the Diagnostic Rev. 586220 Test for the Commodore C64

License: GNU General Public License v3.0

G-code 100.00%
commodore c64 diagnostic harness rev-586220

c64-diagnostic-rev.-586220-harness's Introduction

C64-Diagnostic-Rev.-586220-Harness

The Diagnostic Rev. 586220 is a widely accepted test tool for the Commodore C64. It tests the RAM, ROMs and the peripheral chips (VIC, SID, CIA). To test all interfaces, a feedback is required. This is provided by this harness.

Find more information about the cable making involved on my website

Rev. 0

Diagnostic Harness

Diagnostic 586220 running on a C64

This repository contains all eagle files, gerber files, BOM, descriptions and cable drawings. The main documentation is contained in the User Port section.

Depending on where the parts and pcbs are purchased, the price for the complete harness is less than 20€ (2019).

Now, a 3D printed case for the user port and the cassette donge is designed and the stl files etc. are available here.

Diagnostic Harness with cases

Rev. 1

Revision 1 is released now. It fixes the "False OK" of the Control Port test, while the keyboard dongle is inserted. This is a phenomenon, that applies to all sorts of harnesses for Diagnostic Rev. 586220. Please refer to my website

Diagnostic Harness Rev. 1

Extended Keyboard Dongle (do not build, unless you are sure, what it is required for)

A fix for existing harnesses is the extended Keyboard Dongle. It can be combined with Rev. 0 of this harness and all other Harnesses. It only requires a connection to the Cassette Port Dongle. It is not required with Rev. 1 of the harness or later.

Extended keyboard Dongle

Keyboard dongle with 90° header

Some people want to test the C64 mainboard while being mounted. The keyboard cable connector is conflicting here. Some leave out the strain relief. This is not a great solution. A 90° boc pin header can be used insted of the vertical one. This swapps the pins, due to a different orientation. Since the symmetrical pinning of the header and the non-directional properties of the analog switches, this does not matter and is working fine. I only build this kind of KB dongle now.

Keyboard Dongle with 90° pin header

The SMD Version

This version has no functional updates compared to Rev. 2 of the UP PCB and Rev. 1 of the Cassette SMD. Some prefer building SMD assemblies (me included). It is now fully tested.

UP PCB R1v. 2/SMD CP PCB Rev. 1/SMD

Diagnostic test

Recommended Screws

  • For the case, I have used 2.9mm x 9.5mm (self taping) screws for sheet metal (C 2,9x9,5H, DIN 7981).
  • For mounting the optional slide switch: DIN 7985, M2x6
  • For mounting the optional voltmeter: 2.2mm x 4.5mm (self taping) screws for sheet metal (C 2,2x4,5H, DIN 7981).

C128 diagnostics

They keyboard PCB for the C128 is released now and included in this repository.

C128 KB Dongle

Diagnostic Rev. 785260

A cartridge with the Diagnostic Rev. 785260 software is required. I recommend using the Versa64cart for this purpose. Other 8k generic cartridges might also be working. /EXROM and /GAME have to be HIGH/open.

Diagnostic Rev. 785260

The C128D and C128D-CR require a longer cable (1m) between the user port PCB and the Cassette port dongle. Both work with the C128D Diagnostic Rev. 785260. The keyboard ribbon cable should be 90cm for the C128D.

The cassette port ribbon cable requires to be 25cm long for the C128 and 70cm long for the C128D/DCR.

The C128D-CR does not provide +5V at the keyboard D-Sub jack. The keyboard dongle does not work here. A solution needs to be developed.

I have noticed, that not all female D-Sub connectors provide a proper contact with the pin header on the C128 mainboard. Please keep this in mind. The recommended type is Amphenol/FCI DB25S064TLF (Digikey 609-1519-ND, more sources in the BOM v1.1 or later).

You might want to check out the 3D printed dongle case from retrorewind.ca.

SX-64 Diagnostics

Diagnosing an SX/64 requires disconnecting the internal disk drive. A cassette port dongle cannot be used, so the analog switches for testing the control ports need to be switched manually. This is an option with teh User Port PCB Rev. 2.

Also the Keyboard can be tested with the C128 KB dongle and a gender changer.

SX-64

The Diagnostic Rev. 586220++ is capable of detecting the SX-64 Kernal and then skip testing the cassette port.

Other

you might want to check Jeff Birt's case for the harness, too.

Find additional info about the harness on my website.

Jeff Birt provided the information of the cable lengths for C128 diagnostics. This is part of the documentation now.

User Port PCB Rev. 2

The user Port PCB Rev. 2 fits into the User Port Case Rev. 1. It adds an option for the SX-64: Since the SX-64 has no Cassette Port, the Feedbacks for the CVontrol Port are not switched automatically by the software. Rev. 2 allows to switch on the feedbacks manually. A User Port Case for thei option has been made. It incorporates a cut out for a slide switch (standard 19mm hole pitch). This switch can be connected top JP1. For this option the cutpad has to be cut open.

User Port Case SX-64 option

User Port PCB Rev. 3

User Port Rev. 3

The User Port Rev. 3 Dongle (THT and SMD versions in this repository) is providing two LED for voltage intocations (+5V and 9VAC). Further, there are pin headers for measuring those voltages at the user port. The +5V pin header allows connecting a 4 digit "precision" panel meter. I have some trust issues with those panel meters, but they are a nice light show.

Analog Switch IC (User Port Dongle)

Originally, the analog switches are 4066. The 74HC4066 was also tested and works perfectly.

BOM Value

The BOM values are calculated in May 2020. The calculation is based on the item prices from reichelt.de. They might differ from distributor to distributor. The edge connector prices are based on ebay shoppings. The calculated prices do not include any shipping fees.

  • User Port PCB plus cables and IEC dongle: 13.38€
  • Cassette Port Dongle: 4.99€
  • Keyboard Dongle: 1.85€
  • C128 Keyboard Dongle: 3.23€

The 3D printed cases and the labels are not included in the price calculation.

c64-diagnostic-rev.-586220-harness's People

Contributors

svenpetersen1965 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c64-diagnostic-rev.-586220-harness's Issues

Harness Rev.3 THT R3 Value

Hi,
das hier ist kein Issue, mehr ein Hinweis zu R3 in der Rev. 3.0 THT Variante.

Ich baue mir gerade Dein Harness in der o.g. Rev. auf und habe bemerkt
das in der Rev. 3.0 Doku und auf dem PCB verschiedene Werte angegeben sind.

Gefunden habe ich:

  • Auf dem PCB Rev. 3.0 steht 316R
  • In der Projekt Doku werden an mehreren Stellen 330R angegeben (Motor Signal, Bestückung)
  • Im "Bill of Material Rev. 3.0" sind wider 316R gelistet

Ich denke der Unterschied zwischen 316 und 330 Ohm ist vernachlässigbar,
vielleicht kannst Du das aber noch in die Doku mit aufnehmen.

Danke das Du das hier alles frei zur Verfügung stellst.

Viele Grüße
Lars

P.S. Das "Issue" kannst Du gerne gleich wieder schliessen.

Control port shows bad on Rev2 harness

Sven, got several of your test Harness builds (in all versions) - but this latest non-SMD version keeps on giving me bad control port on all C64 boards (I have many) - I have replaced the 316Ohm resistor with a pot so I could dial in exactly 316, but to no avail - I have no clue as to why I can't seem to get this version of the harness to not show this (consistent) issue on all boards.....any ideas of what i could try out?

Paddle test indicates false failure on some boards

I ran into a board that kept failing the paddle test and insisted that either the SID or U28 (4066) was bad. The SID was known good, and tested fine in another board. I replaced U28, but the problem persisted. Reading through the original diagnostic cartridge manual, I noticed that Commodore used 110k resistors to pull the 4 POT lines up to +5v. The diagnostic harness here uses 120k resistors (R1,R2,R5,R6) on the user port to achieve the same. On a hunch, I changed these resistors on the user port of the harness to 110k. The diagnostic test is now passing every time without fail for this board.

Thank you Sven for all of your contributions to the retro community!
Dan Goswick

LED is always on on Extended Keyboard Dongle

First off. This is a wonderful project. Thank you so much! I had so much fun building it and testing my growing fleet of C64s and 128s.
I also tried the extended Keyboard version with the single wire connection to the cassette board.

Here I noticed that the LED is always on, even when J2 is disconnected. I have placed R5 and removed R3. So it should be off if the jumper is disconnected.

It seems that R1 is too low. Even with the control line (IC1B Pin 4) pulled to low, there is enough current to turn on Q1. I have tried different values for R2 and R4. And I found that it works well if the resistances are raised by a magnitude. R2 = 10k and R4 = 47k. This gives the same well defined ctrl voltage for the high state (about 4,1V) but not enough current to turn on Q1 on the low state.

Here is a list of values that I've tried for R2 / R4 (also attached):
Ext_Keyboard_LED_fault
UJ2 is the voltage on Pin 5 of IC1B (the signal from J2)
UA is the voltage in Pin 4 of IC1B
UQ is the voltage on the base if Q1

You mentioned in your docs that you started out with R2 = 10k and it didn’t work. I noticed the same thing when R4 = 0. But it works well, if R4 is high enough (at the same ration of R2 / R4 as the current version).

I hope this makes sense. Disclaimer: Electronics is just a hobby of mine. I could be completely on the wrong track.
Regards,
Norbert

Ext_Keyboard_LED_fault.ods

Missing Label on User Port Board

C4 is not marked on the User Port board. I figured it out via process of elimination, but depending on assembly order, it might trip some folks up. My boards came from PCBWay, but I verified in KiCAD.

Resistor values for R1 / R2 / R5 / R6 and R3?

Firstly, thank you Sven for sharing this. I'm looking to build one of these myself but when verifying the resistor values I think I found something odd. The documentation says R3 is a 320 ohm resistor, however in the photo it looks like something different (the others check out).

Looking at Jerzy Sobola's schematic on Zimmers.net R3 is a 300 ohm resistor rather than 320 ohm, he also uses 100k resistors for R1, R2, R5 and R6 rather than 120k.

I'd be very grateful if you or anyone else could help me understand why these are different, thanks in advance.

Modified case files

Diagnostic_Harness_Case_Mods.zip

Attached are modified case designs for the cassette and user port. The two screw posts are moved back and holes added for screws from card edge connector. This should work for both 3mm and #4-40 screws with nuts on the inside.

Also a 'sleeve' to protect the pass through edge connector for cassette port was added. It has keying bumps inside which just add enough friction to keep it in place.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.