Reset-Funktion mittels C64-Tastatur (ATtiny Projekt)
- C64
- Arduino oder Programmer
- ATtiny45 oder 85
- 8poliger IC Sockel
- Litze ca 0.14mm oder ähnlich
- Lochrasterplatine



Einen Reset-Taster nachzurüsten ist keine große Sache. Entweder extern am ❏ Userport, ❏ Expansionsport oder auch am seriellen Port angeschlossene Taster können den C64 zurücksetzen. Interne am Mainboard gelötete Lösungen gibt es ebenfalls. Leider werden diese Taster oft am Gehäuse des C64 angebracht und deshalb Löcher dafür gebohrt. Es gibt aber eine Alternative bei der das Gehäuse nicht beschädigt werden muss und es wird kein externes Zubehör benötigt. Es geht hier um einer internen Reset-Schaltung die über die Tastatur, genauer gesagt per Restore-Taste, ausgelöst wird.
Die Funktion
Nach den Einbau der kleinen Schaltung, wird der C64 mit einem Druck auf die Restore-Taste zurückgesetzt. Um einen versehentlichen Reset zu vermeiden, ist ein Timer eingebaut der dafür sorgt, dass der Reset erst durchgeführt wird wenn die Taste eine vordefinierte Zeit gedrückt wird.
WICHTIG! BITTE LESEN!
Bevor es losgeht, noch der Disclaimer:
- Dieses Projekt sollte als Experiment und nicht als Anleitung gesehen werden.
- Ich übernehme keine Verantwortung für Schäden die direkt oder indirekt durch dieses Projekt entstanden sind. Alles geschieht auf eigene Gefahr.
- Baue diese Hardware nicht wenn du dir dies nicht zumutest. Besser kein Projekt als ein zerstörter C64.
- Bei meinen Tests konnte ich keine Probleme mit der hergestellten Hardware feststellen, was nicht bedeutet, dass bei dir auch alles reibungslos verläuft.
- Immer spannungsfrei arbeiten. Trenne immer die Stromversorgung wenn du an elektrischen Teilen arbeitest.
Die benötigten Teile
• ATtiny85 oder ATtiny45. Wahrscheinlich würde auch ein Attiny25 genügen, was ich aber nicht getestet habe.
• Ein geeigneter Arduino oder einen beliebiger Programmer mit den ein ATtiny programmiert werden kann.
• 8poliger IC Sockel
• Lochrasterplatine
• Litze ca 0.14mm
Ich empfehle die Schaltung zuerst auf ein Experimentierboard zu testen, um die Funktion vor den Einbau überprüfen zu können.
Die Schaltung
Abgesehen von der Spannung (+5V und GND) wird nur eine Verbindung zur Restore-Taste und eine zum RST (Reset) benötigt. Es gibt mehrere Möglichkeiten an den 5V zu gelangen. Ich habe sie von den User-Port genommen. Dieses Projekt wurde an einem C64C Assy 250469 getestet. Soweit mir bekannt, sollten alle Platinen-Varianten des C64C die Lötstellen (für +, GND, Restore und RST) an der selben Stelle haben. Siehe folgende Bilder:


Klicke auf das Bild zum Vergrößern

Klicke auf das Bild zum Vergrößern
Bei der Platine der ersten C64-Variante unterscheidet sich stattdessen die Position der Tastatur-Stiftleiste. Hier kann der Pin der Restore-Taste an der Unterseite der Platine entnommen werden.

Klicke auf das Bild zum Vergrößern
Die Programmierung
Da es sich um eine einfache Funktion handelt, reicht der ATtiny45 oder ATtiny85 vollkommen aus. Dieser muss mit den nötigen Daten bespielt werden. Dafür reicht ein Arduino oder alternativ ein Programmer der das Programmieren von Attiny's unterstützt. Hier wird allerdings nicht gezeigt wie ein ATtiny programmiert wird, denn der Vorgang kann je nach Arduino-Board oder Programmer variieren. Ich verweise stattdessen auf folgende Seiten:
• Für Arduino UNO: heise.de
• Für Arduino Mega 2560: blog.the-jedi.co.uk
• Für Programmer: instructables.com
Der Bootloader sollte auf 1Mhz eingestellt werden.
Haben wir die für uns passende Programmier-Lösung gefunden, spielen wir das Sketch mit der Arduino IDE auf den ATtiny. Sketch hier runtergeladen. Optional kann die Zeit, die die Restore-Taste gedrückt werden muss bis der Reset ausgeführt wird, eingestellt werden. Siehe "Die Zeit-Einstellung".
Die Zeit-Einstellung
Die Restore-Taste muss ca 5 Sekunden lang gedrückt werden. Erst dann wird ein Reset ausgelöst. Soll diese Zeitspanne verringert oder verlängert werden, so muss lediglich ein Wert im Code geändert werden. Und zwar ist das der Wert neben der Variable "minpresstime".

Erhöhe oder verringere diesen Wert nach eigenen Ermessen und programmiere den veränderten Code auf den ATtiny.
Einbau in den C64
Da die ganze Schaltung nur aus einem winzigen IC besteht, ist es sehr leicht diesen im Inneren des C64 zu verstauen. Achte aber, dass dieser nicht lose auf der Platine liegt, sonst besteht Kurzschlussgefahr.

Klicke auf das Bild zum Vergrößern
