[Btx] Weitere Seiten von Bildschirmtrix?

Michael Steil mist64 at mac.com
Tue Jan 8 20:51:53 UTC 2019


> http://www.runningserver.com/?page=rs.thelab.bildschirmtrix
> 
> hat noch weitere Seiten, u. a. *655321#.
> 
> Wenn ich ein wenig Zeit finde, versucht ich das mit Hammi mal zu integrieren.

Oh cool. Der Kommentar sagt, daß es sich um eine Rekonstruktion anhand eines Bildes handelt.

Bei "modernen" Seiten, deren Binärcode so nie im BTX war sowie aber auch bei Dumps muß man etwas vorsichtig sein, wenn man sie in die Datenbank meines Servers integriert. Let me elaborate.... :)

Wenn man sich die Dumps des Amiga-Demos ansieht, dann ist klar, daß so eine Datei aus 6 Teilen besteht:
Teil 1 (Bundespost-generiert): Header (Bildschirmgröße und Codier-Modus setzen, evtl. Bildschirm löschen)
Teil 2 (Bundespost-generiert, optional): "Seite wird aufgebaut" in Zeile 24 drucken, falls Teil 3 mehr als ca. 600 Byte hat
Teil 3a (Bundespost-generiert, optional): Paletten-Definition
Teil 3b (Freiform-CEPT vom User, optional): DRCS-Definition, Setzen von Bildschirmfarben
Teil 4 (Bundespost-generiert): Drucken von Zeilen 1 und 24 (Publisher, Preis, Seitennummer)
Teil 5 (Freiform-CEPT vom User): Inhalt der Seite (Text, Cursor-Bewegungen, Farbwechsel etc., keine DRCS- oder Paletten-Definitionen)
Teil 6 (Bundespost-generiert): Wiederholung von Teil 3
Teil 7 (Bundespost-generiert): Footer (Cursor auf Zeile 24 und Blinken anschalten)

(Eine oder zwei Seiten, z.B. die vom "Semmel Verlach" aus dem Amiga-Dump haben die Teile 2 bis 5 zweimal drin, also 1,2,3,4,5,2,3,4,5,6,7... da bin ich noch am Analysieren!)

Teile 1,2, 3a, 4, 6 und 7 sind definitiv von der Bundespost und nicht vom User, weil sie im gesamten Dump identischen Aufbau haben, und weil sie "sicherheitsrelevante" Aufgaben haben: So darf User-CEPT z.B. nicht Zeilen 1 und 24 beschrieben. (Der Post-Server filterte höchstwahrscheinlich User-CEPT-Code, der die Protection von Zeile 1 oder 24 aufheben wollte, das geht recht einfach.)

Deswegen habe ich das Tool cut_btx.c geschrieben (ist im Repo), das die Dateien den Amiga-Dumps zerlegt, und Metadaten draus macht (Palette, Publisher, Preis, ...) und zwei CEPT-Dateien: eine für 3b ("include") und eine für 5 ("content").

Ein Nebeneffekt ist der: Man konnte in BTX jederzeit z.B. durch direkte Anwahl von *200959031# auf die Produktseite zum MPS 1550 Drucker gehen, ohne vorher auf die Commodore-Seite *20095# zu gehen. Tut man das im originalen Amiga BTX Demo, dann sind die Farben und und das Commodore-Logo kaputt: Palette und DRCS wurden nicht gesetzt. Das Dump entstand, indem der Ersteller die Seiten eine nach der anderen annavigiert und die übertragenen Daten gespeichert hat. Der Post-Server hat bei der Hauptseite *20095# DRCS und Palette übertragen, und bei den Folgeseiten die einfach ausgelassen, da der Server ja wußte, daß die noch im Terminal aktiv sind. Hätte man *200959031# aber direkt von *0# aus angesurft, wären DRCS und Palette übertragen worden. Was ich also gemacht habe, ist, bei einigen Seiten in "data" im Repo die "include"-Datei und die palette in den Metadaten nachzutragen. Bei Markt & Technik (*64064#) ist das zum Beispiel passiert. (Bei Commodore noch nicht.)

Zudem besitzen die Seiten des Amiga-Dumps (zwischen den Teilen 3b und 4) CEPT-Sequenzen zum Definieren von Folgeseiten ("Links"), die aber nie so im originalen CEPT waren (das sind Erweiterungen des Amiga-Decoders!), die auch raus müssen und in den Metadaten leben sollen.

Beim Importieren von BTX-Seiten für den neuen Server muß man also etwas vorsichtig sein. Die erwähnte Seite * 655321# hat Links, die in die Metadatei müssen, eine DRCS-Definition, die in die "include"-Datei muß, und Header-Zeilen, die auch in die Metadatei müssen.

Ich beantworte gerne noch weitere Fragen. :)

(...und werde mir auch noch weitere Dumps anschauen, ob da noch was anders ist, und aber auch, wie sich der Code von der Post später geändert hat!)

  Michael


More information about the Btx mailing list