Titelbild Game Hero
Diese Seite verwendet eigene Cookies und Cookies von Dritten damit wir die bestmögliche Bedienbarkeit und Funktionalität bieten können. Wenn Sie auf diesen Seiten surfen, stimmen Sie der Verwendung von Cookies zu. Mehr erfahren OK

Autofire-Funktion für den C64 (ATtiny)

Was wird benötigt?
  • Grundwissen für Arduino oder Programmer
  • Arduino oder einen Programmer
  • Verschiedene Komponenten (Siehe Komponeten-Liste)
Close
LoadingBild wird geladen...
Picture

Einige Joysticks haben bereits ab Werk eine Autofire-Funktion. Diese ist besonders bei Shooter sehr nützlich. Spätestens wenn der Finger schmerzt, sollte an eine Autofire-Funktion gedacht werden. Und wer sowieso einen Arduino besitzt, oder plant einen zu erwerben, kann mit wenig Aufwand und Kosten eine kleine Platine bauen, die am Joystickport angeschlossen wird und die Verwendung von jeden beliebigen Joystick erlaubt. Es muss also weder der Joystick noch der C64 modifiziert werden.

WICHTIG! UNBEDINGT LESEN!
Bevor es losgeht, noch der Disclaimer:
• Dieses Projekt sollte als Experiment und weniger 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. Stecke immer die Stromversorgung aus wenn du an elektrischen Teilen arbeitest.

Die Teile-Liste

In der folgenden Liste sind die Komponenten aufgelistet die benötigt werden wenn das Projekt auf eine Platine gelötet werden soll. Neben den Arduino wird aber eine Experimentierplatine mit ein paar Steck-Litzen empfohlen.

Die LED-Farbe, sowie die Bauart des Poti's und des Tasters können natürlich frei gewählt werden, solange die elektrischen Eigenschaften die selben bleiben.

Attiny85
IC-Sockel, 8-polig
10KΩ Potentiometer
220Ω Widerstand
Leuchtdiode
1N 4007 Gleichrichterdiode
Lochrasterplatine
Drucktaster
D-SUB-Stecker, 9-polig
D-SUB-Buchse, 9-polig
Kupferlitze 1x0,14mm²

Der Schaltplan

Die Komponenten sollten, wie im folgenden Bild zu sehen ist, verbaut werden. Am besten, man probiert das ganze zuerst auf einer Experimentierplatine aus bevor das Ganze am C64 angeschlossen wird. Am Joystick-Port wird der Negative Pol geschaltet, nicht die 5V Leitung. Achte besonders auf die richtige Polung der Gleichrichterdiode.

Wiring
Klicke auf das Bild zum VergrößernWiring
Klicke auf das Bild zum Vergrößern

Am Joystickport benötigen wir, wie im Schema zu sehen ist, die Pins 6, 7 und 8. Damit nachher ein Joystick noch am Port eingesteckt werden kann, löten wir den 9poligen D-SUB Stecker und die Buchse mit den Kontakten zusammen.

D-SUB
Klicke auf das Bild zum Vergrößern

An den Kontakten zwischen Stecker und Buchse löten wir die Litzen an den oben genannten Pins.

Der Attiny85

Natürlich könnte der Arduino selbst die Autofire-Funktion übernehmen, aber die Arbeit übernimmt der Attiny85. Da es sich um eine einfache Funktion handelt, reicht der Attiny85 vollkommen aus. Dieser muss mit den nötigen Daten bespielt werden. Dazu wird ein Programmer benötigt, was in unserem Fall der Arduino übernimmt. Hier wird allerdings nicht gezeigt wie ein Attiny gebrannt wird, denn der Vorgang kann je nach Arduino-Board variieren. Ich verweise stattdessen auf folgende Seiten:

Für Arduino UNO: www.heise.de

Für Arduino Mega 2560: blog.the-jedi.co.uk

Der Bootloader sollte auf 1Mhz eingestellt werden.

Selbstverständlich kann auch ein beliebiger Programmer, wie beispielsweise der USB MiniPro TL866CS verwendet werden.

Für Arduino Mega2560 Besitzer: Zum jetzigen Zeitpunkt (Stand 25.12.17) gibt es offensichtlich Probleme mit der Attiny-Board-Unterstützung. Genauer gesagt: Der Brennvorgang des Bootloaders wird mit einer Fehlermeldung abgebrochen, allerdings nur bei neuere Arduino IDE-Versionen. Bei der Version 1.6.x soll dieses Problem nicht auftreten. Ich habe dieses Problem gelöst, indem ich die Version 1.x der Arduino IDE verwendet habe und damit den Bootloader gebrannt habe. Danach kann der Attiny85 auch mit den neueren Arduino IDE's verwendet werden. Auch der Bootloader lässt sich nun wieder mit neueren Arduino IDE-Versionen brennen. Es bleibt zu hoffen, dass dieses Problem mit einen Patch behoben wird.

Haben wir das geschafft spielen wir das Sketch mit der Arduino IDE auf den Attiny. Dieser kann hier runtergeladen werden.

Experiment Board
Klicke auf das Bild zum Vergrößern

Selbstverständlich können wir alles viel kompakter bauen

Experiment Board
Klicke auf das Bild zum Vergrößern

Oder noch besser: Wir verbauen alles in ein kleines Gehäuse. Das überlassen wir aber den eigenen Geschmack.

Der Funktionstest

Achtung: Spätestens jetzt sollte nochmal alles gründlich auf Fehler durchsucht werden. Denn eine falsche Verdrahtung kann den C64 zerstören!
Um die Funktion zu überprüfen, stecken wir unsere Hardware an einen beliebigen Joystickport und schalten den C64 ein.

Board Test
Klicke auf das Bild zum Vergrößern

Als Test-Software reicht ein Spiel vollkommen aus, oder alternativ das Tool "Joystick Tester". Damit sehen wir ganz genau wenn der Firebutton betätigt wird.

Jetzt betätigen wir den Taster auf der Platine. Die LED sollte nun Blinken. Der Feuerbutton wird im selben Takt wie die LED betätigt. Die Geschwindigkeit der Autofire-Funktion wird mit den Poti eingestellt. Ein weiterer Druck auf den Taster schaltet die Autofire-Funktion wieder aus.

Zurück
- Datenschutz Besucher total: 2309344 Heute: 18