Hallo Besucher, der Thread wurde 214k mal aufgerufen und enthält 2771 Antworten

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.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • 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 :-)

    In der Zeitschrift für Assyriologie übersetzte H. Zimmern 1896 einen fast 3000 Jahre alten Text, der in den Ruinen der Bibliothek des Assurbanipal in Ninive gefunden wurde, aus der Keilschrift ins Deutsche. Auf dem Tontäfelchen hatte der Umanu (Weisheitsvermittler) Shaggil-kinam-ubib notiert:

    ,Schaust du hin, so sind die Menschen insgesamt blöde.‘

    Das fasst im Prinzip alles ganz gut zusammen.“

  • 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

  • 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

  • ... 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.

  • ... 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.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • 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:


    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.