Forum: Mikrocontroller und Digitale Elektronik attiny 2313 Retrocomputerchen


von Magnou (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag!

Ich hab zuviel über Robotron LC80 und Konsorten im Internet gesurft und 
wollt dann auch mal sowas machen. Voila!

Das Betriebsprogramm belegt etwa den halben Flash, der Rest steht also 
prinzipiell zur Verfügung. Derzeit ist nur eine Page beschreibbar, das 
zu ändern wäre aber schnell zu machen. Da ich nur mittlerweile 
feststellen konnte, dass wohl kaum jemand mehr als 64*4 Hexwerte 
eintippen mag, lass ich's erstmal so. Es ist ja auch schon wieder 
Sonntag geworden...

In ferner Zukunft soll das Betriebsprogramm I/O-Funktionen zur Verfügung 
stellen, aber wegen absoluten Sprüngen etc war mir das erstmal zu 
kompliziert.

Mit folgendem Testprogramm und Variationen (z B. ldi r16, 
DeinWertimKopfberechnen) läuft's. Nur komischerweise setzt es das erste 
Bit nicht, wenn ich 0xFF lade und ausgebe)

[avrasm]
.include "tn2313def.inc"

0FEF   ldi r16, 0xFF
01BB   out DDRD, r16
0ABB   out DDRA, r16
02BB   out PORTD, r16
0BBB   out PORTA, r16
F9CF   rjmp -1
[\avrasm]

Von der Notation her fand war es zuerst etwas verwirrend, da little 
endian etc mir kein Begriff war. Man muss es jetzt so eintippen, wie's 
hier bzw. auch im ihex-File steht.

Und um den zynischsten Kommentaren vorzubeugen:
1. Das Projekt mach keinen Sinn, hat aber trotzdem Spaß gemacht
2. Mit Cast und Pointer in C bin ich mir noch unsicher. Über konkrete 
Tipps freue ich mich.

Schöne Ostern!

von Magnou (Gast)


Angehängte Dateien:

Lesenswert?

Der Code wohnt auf dem Rechner, der den Foto nicht mag ...

von ... (Gast)


Lesenswert?

Wie geb ich da ein Programm ein? Über den Stift? Wo wird das Programm 
gespeichert?

von Magnou (Gast)


Lesenswert?

Ja über den Stift. Die Reisnägel sind Eingänge mit Pull-up, der Stift 
hängt über 100 Ohm an Masse.
Jeder Reisnagel entspricht einem Befehl. Der Befehl 0 lautet Eingabe 
einer Zahl 0-7, Befehl 1 nimmt eine Zahl 8-0xF entgegen. Somit kann man 
über 8 Reisnägel Hexcode tippen.
Die restlichen Befehle lauten:

ein Byte vor
ein Byte zurück
Cursorposition ausgeben
am Cursor 2 Byte einfügen
Run
Code ins Flash schreiben

Editiert wird im Eeprom. Da Eeprom 10* besser hält als Flash kann man 
das machen.

von Klumpfuß Tee Feuergeschrei (Gast)


Lesenswert?

So. Und das ganze jetzt mit Logikgattern. Das wäre dann beeindruckend.

von Eumel (Gast)


Lesenswert?

Klumpfuß Tee Feuergeschrei schrieb:
> So. Und das ganze jetzt mit Logikgattern. Das wäre dann beeindruckend.

Ich finde das Teil auch so ganz schön cool.

von egal (Gast)


Lesenswert?

Magnou schrieb:
> 0FEF   ldi r16, 0xFF

evtl. 0FFF   ldi r16, 0xFF

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.