Endlich ist es soweit, dass Projekt ist erstmal abgeschlossen und ein meiner Meinung anch sch÷nes Ergebniss liegt vor.

Dank Jan Baares fŘr seinen Assemblercode fŘr das Videoterminal und alle anderen die mir geholfen haben
Ausgabe eines Textes auf TV
Programme Seite 7 bis 10

FŘr dieses Super Programm habe ich ein board entworfen:

Text-on-Screen Board (ToS)


Features:

- Mega8 mit Video-Code
- AT90S2313
- Anschluss fŘr Tastatur
- Infrarotempfńnger
- RS232 Řber Max232
- Addlink fŘr Funkverbindung zum PC oder anderem uC
- Statusleds



(Oben) Das ToS-Baord im Gehńuse, gut zu erkennen sind die RS232-Buchse, die Statusleds, der Video-Ausgang, (noch) ein Kabel fŘr die Stromversorgung und der TSOP.
(Unten) Ein Blick auf das innere des Gehńuses, durch einfaches Umstecken einese RS232-Verbinders (2 Kabel) kann hier anch belieben zwischen den verschiedenen Komponenten gewńhlt werden, denn es stehen ja 4 RS232-fńhige Komponenten zu VerfŘgung. Damit wollte ich erreichen, dass das Baord auch fŘr Spńtere Versuche m÷glichst universell bleibt.



NatŘrlich darf dann auch der entsprechende Funk-Adapter fŘr den PC nicht fehlen. Stromversorgung Řber USB. Nun kann mit ToS-Paint schnell ein Bild per FUnk zum Board rŘbergefunkt werden.


Nun habe ich auch endlich die neue Softeware fertig. Diese erlaubt einerseits ein Bild zu zeichenen und zu Schreiben und dieses Direkt an den Mega8 zu Řbertragen, die entsprechenden Video-Daten erzeugt und andereseits wird ein Code erzeugt, der es einem 2. AVR erlaubt ein Bild quasi zu speichern und dann Řber RS232 auszugeben. Der passende Data-Code fŘr den AVR wird dann mit ToS-Paint erzeugt und in diesen eingefŘgt (da, wo bisher "╠╠╠╠╠╠╠╠╠" steht).

Code:
$crystal = 4000000
$baud = 19200
Dim Zeile As String * 28
Dim Zeichen As String * 1
Dim Reihe As Byte
Dim Spalte As Byte
Dim Thestring As String * 15
Dim Number As Byte
Thestring = "┴┬└ßÔÓ╔╩╚ÚŕŔ═╬╠"
Dim Zpz As Byte
Restore Daten
Zpz = 28
For Reihe = 1 To 24
   Read Zeile
   If Reihe = 24 Then Zpz = 27
   For Spalte = 1 To Zpz
      Zeichen = Mid(zeile , Spalte , 1)
      Number = Instr(thestring , Zeichen)
      If Number > 0 Then
         Number = Number + 16
         Print Chr(number);
         Else
         Print Zeichen;
         End If
   Next Spalte
Next Zeile
Do
Loop

Daten:
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Data "╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"
Durch die Speicherung in einem Datenfeld, wurde es m÷glich die Bilddaten kompakt und Řbersichtlich zu speichen. Die einzellnen Character Řber: " chr(15); ch(17)" auszugeben hńtte einerseits zu viel Speicherplatz verbraucht und hńtte nicht zu einer kompakten Form gefŘhrt. Da ich einen AT90S2313 auf dem Baord verwende war es sehr wichtig, dass der Code m÷glcihst Speicheroptimiert ist.



Und hier das entsprechende Fernsehbild:


Motivation das Programm zu schreiben war fŘr mich das Ziel eine einfache Bedienoberflńche fŘr das Board zu entwerfen, da es sonst sehr umstńndlich ist Bilddaten und/oder Text zu erzeugen, der dann auf dem Bildschicrm auch noch richtig formatiert sein soll. Ein zweiter wichtiger Punkt war, dass dieses Programm die erstellten Daten m÷glichst schnell und ohne Umwegezum Mega8 "transportieren" sollte, deshalb habe ich viel Wert darauf gelegt und viel Zeit investiert, um dem Programm eine Funktionierende RS232-Verbindung zum Board zu spendieren. Im Programm kann zwischen allen m÷glichen Baudraten gewechselt werden und selbstverstńnflich kann auch ein andere Com-Port verwendet werden.

Ich wŘrde mich freuen, wenn jemand das ganze mal testet un dich ein par RŘckmeldungen erhalte.

Download des Bascom-Porgramms und von ToS-Paint auf meiner Website (da etwas gro▀):
www.free-webspace.biz/update/

MFG Moritz