attiny 2313 Retrocomputerchen

Gast #3110183
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!
Angehängte Dateien:
Gast #3110250
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren