<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Das Projekt hat jetzt seinen eigenen BTX-Decoder! Das Herumfummeln mit DOS-Software wird bald ein Ende haben!<div class=""><br class=""></div><div class=""><a href="https://github.com/mist64/btx_decoder" class="">https://github.com/mist64/btx_decoder</a></div><div class=""><img apple-inline="yes" id="775723C6-F0D1-41EA-8723-13901BE9F9EB" src="cid:F7774FD6-DD84-4A23-922D-72FB2B1DBEBF@fritz.box" class=""></div><div class="">Ich habe mir XCept 2.1 und XCept 3.0 angeschaut. Der Decoder-Kern ist bei beiden identisch. 3.0 macht die GUI über Tcl/Tk, 2.1 über Low-Level X11 calls. Beides heute nicht mehr so schick. Da hab ich mir einfach die Dateien layer6.c (Konvertieren des CEPT-Bytestroms in "Screen RAM"), xfont.c (Konvertieren des "Screen RAM" in Pixel) und rawfont.c (Default-Zeichensatz) geschnappt, modernisiert (das war K&R mit so manchem, was heute nicht mehr erlaubt ist), und ein macOS-Frontend drumrum gebaut.</div><div class=""><br class=""></div><div class="">Startet man den Decoder, verbindet er sich im Moment einfach mit unserem öffentlichen Server (der 1200 baud liefert) über TCP.</div><div class=""><br class=""></div><div class="">Der Decoder tut ansich, aber es gibt noch viel zu tun:</div><div class="">* Bildschirm löschen glitcht manchmal. Der Originalcode tat das direkt über X11 calls. Ich hab's umgeschrieben, aber das tut noch nicht immer richtig.</div><div class="">* Die Schrift ist zum Kotzen, ist wohl eine 8x8-Schrift mit Padding. Ich hab letztens das ROM des Commodore 64 BTX Moduls ausgelesen, da sollten wir eine schöne Schrift rauskriegen.</div><div class="">* Der Code ist an manchen Stellen immer noch antik und kann verschönert werden.</div><div class="">* XCept hat Layer 2, also die Fehlerkorrektur in den "ceptd" Server ausgelagert. Nichts davon habe ich importiert. Unser Server über TCP schickt keine Fehlerkorrektur-Frames, also sollte das so passen?</div><div class="">* Telesoftware kann XCept, die Datei müßte man noch importieren. Der Server kann das aber noch nicht, deswegen kann man es nicht testen.</div><div class=""><br class=""></div><div class="">Und der wichtigste Punkt:</div><div class="">* Der Decoder-Kern muß fürs Web kompiliert werden. Das macOS-Frontend habe ich eigentlich nur geschrieben, damit ich den Code bequem debuggen kann. Das Ziel ist es, daß der Decoder im Web läuft. Kennt sich wer damit aus?</div><div class=""><br class=""></div><div class="">Ob es sinnvoll ist, den Decoder auch nativ auf Linux oder Windows zu portieren, weiß ich nicht... Schwierig wäre es auf jeden Fall nicht. Man muß nur layer2getc() und layer2ungetc() implementieren (also von TCP lesen), Tastendrücke in die TCP-Verbindung schreiben, mit Aufrufen von init_fonts() default_colors() und init_layer6() den Decoder initialisieren, und dann in einer Schleife process_BTX_data() aufrufen. In "memimage" sind dann die Pixel (480x240, 24 bit RGB).</div><div class=""><br class=""></div><div class="">  Michael</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>