Inhaltsverzeichnis:

Atari LED-Würfel - Gunook
Atari LED-Würfel - Gunook

Video: Atari LED-Würfel - Gunook

Video: Atari LED-Würfel - Gunook
Video: This LED pixel art cube looks so interesting in YouTube videos! 2024, November
Anonim
Atari LED-Würfel
Atari LED-Würfel

Überblick

Dieses anweisbare betrachtet die Verwendung des Atari 800-Joystick-Ports für Ausgänge mit einem LED-Würfel als Beispiel.

Einführung

Schon mal einen dieser LED-Würfel gesehen? Sie sind total cool. Haben Sie sich jemals gefragt, ob Ihr Atari etwas Ähnliches tun könnte? Ich auch.

Lieferungen

Ein 8-Bit-Atari - ich benutze einen 800 XL

16-Kanal-Multiplexer - suchen Sie mit Ihrer bevorzugten Suchmaschine nach CD74HC4067

Eine Tonne LEDs - ich habe eine 4x4x4-Matrix gemacht, die 64. verwendet

Drähte

Widerstände

9-polige D-Buchse x 2

Schritt 1: Bauen Sie es

Bau es
Bau es
Bau es
Bau es
Bau es
Bau es

Es genügt zu sagen, dass das Bauen dieser Dinge viel schwieriger ist, als es aussieht (wenn Sie Pfoten anstelle von Fingern haben), und das Reparieren schlechter Verbindungen ist wie eine Schlüssellochoperation mit einem Lötkolben.

Ich werde keine Zeit mit dem Bau der Matrix verbringen, da es Leute gibt, die es so viel besser gemacht haben. Schaut mal rein

www.instructables.com/id/LED-Cube-4x4x4/

oder

www.instructables.com/id/8x8x8-RGB-LED-Cub…

Multiplexen

Das ist das Clevere. 64 LEDs zu haben bedeutet normalerweise 64 Drähte, um sie zu steuern, aber der Atari hat nicht so viele Pins, die zum Schreiben verwendet werden können.

Betreten Sie den Multiplexer!

Der Würfel ist in 16 Spalten und 4 Reihen unterteilt. Jede LED-Spalte teilt sich einen +v-Eingang vom Multiplexer und jede Reihe teilt sich eine 0v. Um eine LED einzuschalten, ermitteln wir, in welcher Spalte sie sich befindet, und schalten die +v-Leitung ein und schalten dann die entsprechende Masse ein.

Es kann jedoch immer nur eine LED gleichzeitig aufleuchten. Wenn Sie zwei oder mehr versuchen, leuchten auch andere LEDs auf.

Beachten Sie, dass Ihr Multiplexer möglicherweise andere Anschlüsse hat als meiner! Überprüfen Sie zuerst Ihre Anweisungen.

Schritt 2: Der Atari-Code - BASIC

Image
Image
Der Atari-Code - 6502 Versammlung
Der Atari-Code - 6502 Versammlung

Joystick-Ports können neben ihrem normalen Betrieb auch schreiben. Es gibt einen kleinen Trick, damit es funktioniert;

1) Poke Port A Kontrolle $D302 mit $38

2) Poke Port A $D300 mit $FF

3) Poke Port A Kontrolle $D302 mit $3C. Dadurch wird Bit 2 aktiviert, sodass wir in den Port schreiben können.

Hier erfahren Sie mehr über die Verwendung der Joystick-Ports als Schnittstelle

www.atariarchives.org/creativeatari/Interf…

Port A ist so aufgebaut, dass die Bits 0 bis 3 sich um Stick 0 kümmern und die Bits 4 bis 7 um Stick 1. Indem wir die Bits 0 bis 3 mit 1 bis 15 stecken, können wir den Multiplexer steuern und eine LED-Spalte einschalten. Wenn wir dann die Bits 4 bis 7 einschalten, können wir eine Zeile steuern. Wo Spalte und Zeile zusammenfallen, leuchtet eine LED auf.

Sie müssen nicht einzelne Zeilen einschalten; durch Kombinieren der Bits 4 bis 7 werden zwei oder mehr Zeilen eingeschaltet. Beachten Sie jedoch, dass andere LEDs, die Sie nicht einschalten möchten, ebenfalls aufleuchten können.

5 GRENZE=60

10 ANSCHLUSS=54016

20 PCTL=54018

30 POKE PCTL, 56

40 POKE-PORT, 255

50 POKE PCTL, 60

60 I=RND(1)*239+16

70 POKE PORT, I

75 FOR WAIT=0 TO LIMIT:NEXT WAIT

90 GOTO 60

Hier passiert nichts Blitzes; der Code setzt Port A zum Schreiben und schaltet dann zufällig eine LED ein. Der Effekt ist ein bisschen wie ein Computer aus einer kitschigen Science-Fiction-Show aus den frühen 80ern.

Schritt 3: Der Atari-Code - 6502 Assembly

Image
Image

Basic ist in Ordnung, um jeweils eine LED einzuschalten, aber die ausgefallenen Dinge passieren, wenn Sie sie schnell ein- und ausschalten, was die Illusion erweckt, dass mehrere LEDs gleichzeitig leuchten. Der Effekt wird als Persistenz des Sehvermögens bezeichnet und beruht darauf, dass die LEDs schneller schalten, als das Auge erkennen kann. Basic ist einfach zu langsam, also ist es Montagezeit.

Dieser Code schaltet die Eck-LEDS ein

10 *=$6000

20 ANSCHLUSS = 54016

30 PCTL = 54018

70 LDA #56

80 STA PCTL

90 LDA #$FF

100 STA HAFEN

110 LDA #60

120 STA PCTL

130 LDY #0

140 HAUPT

150 CLC

160 LDA SEQ, Y

170 STA HAFEN

180 INY

190 CPY #8

200 BNE HAUPT

210 LDY #0

220 JMP HAUPT

310 SEQ

320. BYTE 16, 18, 24, 26

330. BYTE 64, 66, 72, 74

Es gibt einige 'experimentelle' Dateien im Leds.atr-Anhang.

Genießen

Empfohlen: