letzter Beitrag von peo2000 am
Instandsetzung und Nachbau eines Kim-1
-
-
So wie ich es sehe, gibt es beim Original auch Leitungen zwischen den Pins (insb. beim Ram und den großen ICs), aber das sind wohl keine Spannungsversorgungsleitungen. Ich werde versuchen, das zu berücksichtigen.
"Leitungen" schon. Es kann auch sein, dass da GND oder VCC durchgeht, wenn damit ein (anderer) Pin eines ICs auf GND oder VCC gelegt wird.
Nur Leitungen zur Versorgung der ICs selbst würde ich da nicht durchführen, wenn es anders geht. Meistens macht man da ja eine Art "(Versorgungs-)Bus" quer über die Platine.
-
Meistens macht man da ja eine Art "(Versorgungs-)Bus" quer über die Platine.
Seit ungefähr 35 Jahren aber -im Computer/Digitalbereich- eigentlich "meistens" ne mindestens vierlagige Multilayer-PCB, mit expliziter Masse-Plane und ebenso Versorgungsplane, auf der eine oder auch mehrere Versorgungsspannungen -kammartig gegeneinander versetzt- dann liegen
Diese kammartigen Strukturen -ich denke mal, das hatte auch kinzi vor dem geistigen Auge oben hinsichtlich GND und Vcc- kann man natürlich bei langsameren Schaltungen auch auf eine Ebene packen und dazwischen dann noch -über kürzere Strecken- Signale dazwischen routen.
-
ralf02 : Machst du das eigentlich derzeit in Vollzeit, ist ja Wahnsinn, wie Du hier Gas gibst. Deine eigene Schätzung von "bis Jahresende" dürfte damit aber auch vom Tisch sein, oder?
Jain - das waren jetzt 2 Wochen Urlaub, der heute leider schon wieder viel zu schnell ging .... aber deutlich vor Jahresende sollte das Projekt schon fertig sein, schätze ich.
-
Nur zur Erinnerung - ich habe aus einer eBay Aktion 50 Stk. MAN72A Displays sehr preiswert erstanden - ca. 1,10€/Stk.
Die gebe ich gerne jeweils im Sechserpack zum Selbstkostenpreis ab, wenn's mal an's Nachbauen des KIM-1 geht.
Ich werde die Teile im Marktplatz einstellen, wenn's soweit ist
-
Morgen sollen die KIM-I/O-Platinen kommen. Bin schon gespannt, wie sie in "live" aussehen und ob sie funktionieren. Ich werde alle Funktionen (insb. RS232) ausgiebig testen und berichten ....
-
So die I/O-Platinen sind da:
Ich habe mal die Steckverbinder draufgesteckt, die passen schonmal alle:
-
irgendwie denkt man bei 1976/1977 nur an KIM1 und an Apple1..
da wurde aber schon richtig viel "anderes" angeboten...
es gibt eine tolle Zeitung von damals... (da ist auch kurz der KIM1 zu sehen.. )
https://archive.org/details/In…n77/mode/2up?view=theater -
Die "Interface" - kannte ich bisher nicht, interessant finde ich auch die alten Werbungen, wie z.B. für den A1 ($666) auf Seite 13 ....
-
($666) auf Seite 13
... und da wundert ihr Euch noch, warum ich da nicht warm mit werde, soviel Knoblauch und Kreuze hab ich nicht parat
und bin schon
-
Der I/O Adapter ist fertig aufgebaut:
Bei Aufbau sind mir noch 2 Sachen aufgefallen, die ich schon korrigiert habe:
- bei der Beschriftung des 3-Pin Jumpers "Audio Lo/Hi" ist nicht ersichtlich, welche Position jetzt Lo und welche Hi ist
- beim 2N2222 habe ich im Silkscreen die "Nase" (Emitter) markiert, sodass zumindest die Metallversion des 2N2222 direkt nach Bestückungsdruck eingesezt werden kann
-
und ?? klappt eine externe Tastatur ?? per RS232 ?
-
... ich bin gerade dabei, im Moment bekomme ich noch keine Verbindung. Ich habe im Terminal 300 Baud, 8N1, keine Flusskontrolle eingestellt. Man soll ja dann am KIM Reset drücken und am Terminal "Rub out" drücken, damit sich der KIM auf die Terminal Geschwindigkeit einstellt. Ich denke "Rub out" müsste DEL / entf. sein ?
Bisher klappts aber noch nicht.
-
Ich habe jetzt in Videos gesehen, dass die "beste" Geschwindigkeit 2400 Baud ist und 8N2 eingestellt werden sollte, damit gehts aber leider auch nicht. Vielleicht doch Pins 2 und 3 an der DB9-Buchse vertauscht ?
-
... Vielleicht doch Pins 2 und 3 an der DB9-Buchse vertauscht ?
8N2 ist ungewöhnlich, aber nicht unmöglich, vermutlich würde ein 8N1-Receiver auch 8N2 akzeptieren...
Aber (hatten wir das nicht schon mal? Deja vu grad irgendwie):
- Warum ist die Receive-Leitung nicht auch über den MAX232 geführt?
(Den 2N2222 hätte man sich glatt sparen können dadurch...)
- TTY Keyb, also das, was am Collector von Q1 hängt, braucht irgendwo nen Pull-Up Widerstand, sonst kanns prinzipiell nicht gehen.
Möglicherweise ist der KIM1 seitig verbaut, auf dem angehängten Plan ist er jedenfalls nicht.
Wider besseres Wissen, auf eigene Gefahr: TTY wurde oft als Synonym für ein Stromschleifen-Interface verwendet, d.h. möglicherweise braucht die SW da auch den return-Path (also Jumper geschlossen)...
-
- Warum ist die Receive-Leitung nicht auch über den MAX232 geführt?
(Den 2N2222 hätte man sich glatt sparen können dadurch...)Hatten wir wirklich schon mal - um den Port des 6532(?) zu schützen. Ein MAX232 treibt aktiv, der 2N2222 wirkt als "Open Collector" mit Pull-Up.
-
Die RS-232 Schaltung ist ja ein Nachbau von der Corsham - Platine. In dem Handbuch dazu steht:
"Connecting an RS-232 Terminal
By default, the KIM “talks” to the user via the keypad and LED display on the main board. To force KIM to communicate via the TTY port, you need to connect a suitable device, set a switch, and do some easy setup steps.
I use a PC for my terminal, using the Windows HyperTerm package. When you configure it, make sure you set the proper COM port. The KIM will auto-baud detect, but I tend to stay at 2400 baud. Make sure you set Hyperterm to 8 data bits, no parity, two stop bits (that’s a bit unusual, but important) and no flow control.
Run a cable from the PC’s COM port to J8 on the I/O board.
Now you’ll need to change the setting of SW2, the small red slide switch near the bottom right of the I/O board. Slide the switch down to the TTY (teletype) position. Once again, turn on your KIM and press the RS button. You won’t see anything on the LEDs, but the KIM monitor is waiting to measure the baud rate. Press either the BACK SPACE or RETURN key on your Hyperterm session, and the KIM should immediately respond.
If you’ve never used a terminal with your KIM, you should reference section 4.3 of the KIM-1 User Manual for a list of commands and examples for using it. The interface is not intuitive initially, but is not hard to learn."
Daher kommen also die 2400 Baud und 8N2. Vielleicht liegt es auch daran, dass auf den heutigen Keyboards der Code für die damalige "Rub out" Taste nicht mehr vorhanden ist ? In einer Anleitung heißt es, man soll DEL drücken, in der Corsham-Anleitung ist von BACKSPACE oder RETURN die Rede. Vielleicht muss ich mal ein anderes Terminalprogramm probieren.
-
Eine weitere Möglichkeit ist natürlich auch, dass etwas von der TTY-Schaltung auf dem KIM-Board defekt ist:
Den Transistor und die Zenerdiode habe ich schon überprüft, die sind okay. Aber es sind ja auch noch 3 ICs beteiligt: 7400, 7404 und 7438. Vielleicht ist einer von denen defekt.
-
Eine weitere Möglichkeit ist natürlich auch, dass etwas von der TTY-Schaltung auf dem KIM-Board defekt ist:
Also wenn das Teilschaltbild hier auf der KIM1 PCB ist und das weiter oben gezeigte auf Deiner I/O-PCB, dann ist der Empfangstransistor ja quasi doppelt, dort Q1 (2N2222), hier Q7.
Q7 hat den erforderlichen Pullup-Widerstand (R17), aber am Eingang A-T ist KIM1-seitig KEIN Pullup, es sei denn, man schliesst -wie oben von mir vorgeschlagen- den Jumper J10 zu TTY-RTN (Keyb) auf der I/O-PCB!
Únd es wird durch die Reihenschaltung von Q1 und Q7 dann gleich zweimal invertiert (allerdings würde auch der MAX232 einmal "logisch" invertieren, wenn er statt Q1 drin wäre), danach kommt aber auch noch U15, d.h. wenn was den 6530/32 beschädigt, dann sicher nicht die Schaltung auf dem I/O-Board, sondern U15, was "gegen" PA7 geschaltet werden könnte, wenn via Programm PA7 auf Ausgang stehen würde. kinzi : sehe ich das richtig?
Insofern würde ich jetzt als Erstes mal J10 schliessen und es damit (und vielleicht auch Hyperterm am PC) nochmals probieren.
8N2 mit Betonung auf ZWEI scheint lt. Anleitung wichtig zu sein, wohl um dem KIM1 die Zeit zur Verarbeitung des eingelesenen Bytes zu geben, bevor (theoretisch) das nächste Byte beginnt. Da die Bitzeit natürlich mit steigender Baudrate kleiner wird, wäre mit Hyperterm auch ein Versuch mit 300Baud sinnvoll.
Wie wir ja vom C64 wissen, sind 2400 Baud schon das Maximum, was mit Bit-Banging bei 1Mhz CPU-Clock noch halbwegs zuverlässig geht...
Wenn das Alles scheitert, würde ich den MAX232 doch dazwischen hängen, aber dann wahlweise den Q1 rauslassen, dann hat man in Summe mal eine Inversion, mal nicht.
Alternativ könnte man auch ohne Max232 den Q1 einfach weglassen und direkt auf Q7 gehen, dieser ist über die Diode und das RC-Glied parallel zur E-B-Strecke übrigens ebenso gegen die bei RS232 üblichen negative Spannung von bis zu 15V geschützt, wie der Q1 über den Spannungsteiler davor auf dem I/O-Board. (die meisten Transistoren können in der E-B Strecke deutlich weniger Sperrspannung als in den anderen Strecken, beim 2N2222 sind es lt DS 5V).
Allerdings würde ich zur Strombegrenzung durch die Antiparalleldiode noch min. ein paar hundert Ohm in Reihe zw. A-T und dem RS232-Eingang von extern dann schalten (die 4.3k sind vermutlich zu viel aufgrund des RC-Glieds an Q7)
Oder alternativ den Spannungsteiler von Q1 beibehalten, also einfach das Signal an Basis Q1 abnehmen und an A-T klemmen, aber dann R47 und C5 parallel zu E-B von Q7 rausnehmen, sonst stimmen die Verhältnisse nicht mehr...
-
Q7 hat den erforderlichen Pullup-Widerstand (R17), aber am Eingang A-T ist KIM1-seitig KEIN Pullup, es sei denn, man schliesst -wie oben von mir vorgeschlagen- den Jumper J10 zu TTY-RTN (Keyb) auf der I/O-PCB!
Insofern würde ich jetzt als Erstes mal J10 schliessen und es damit (und vielleicht auch Hyperterm am PC) nochmals probieren.
Das hatte ich vergessen, in der Corsham-Schaltung sind R und T fest verbunden, statt der festen Verbindung habe ich ja J10 eingefügt und der war bei meinen bisherigen Tests offen. Also habe ich den Jumper geschlossen und mit Teraterm und Hyperterm jeweils alle Geschwindigkeiten von 300 bis 2400 Baud sowie 1 und 2 Stopp-Bits ausprobiert. Leider kein Erfolg.
.... direkt auf Q7 gehen, dieser ist über die Diode und das RC-Glied parallel zur E-B-Strecke übrigens ebenso gegen die bei RS232 üblichen negative Spannung von bis zu 15V geschützt, wie der Q1 über den Spannungsteiler davor auf dem I/O-Board. (die meisten Transistoren können in der E-B Strecke deutlich weniger Sperrspannung als in den anderen Strecken, beim 2N2222 sind es lt DS 5V).
Das wäre ja auch noch eine Möglichkeit, dass etwas mit den Dioden CR5 und CR6 auf dem Kim-Board nicht stimmt - bei den 1N914 im Bereich der PLL-Schaltung hatte ich ja auch eine defekte gefunden. Bei meinem Kim-Board waren übrigens dort, wo normalerweise die R48 und R49 mit jeweils 150 Ohm von den Pins R und S über den Pullup R17 mit Q7 verbunden sind nur ein 10K Widerstand drin und der andere fehlte. Vielleicht ist da im Zusammenhang mit TTY-Basteleien etwas kaputt gegangen. Dass in der RS232-Schaltung ein Fehler ist (außer die Frage mit dem männlichen oder weiblichen DB9-Steckverbinder) kann ich mir nicht vorstellen, denn das habe ich ja 1:1 von der Corsham I/O übernommen und diese Platine wird ja seit 2013 unverändert bis heute verkauft ....
Ich werde also zunächst CR5 und CR6 (1N4001) auf dem Kim-Board austauschen und schauen, ob sich was ändert.