scene.org File Archive

File download

<root>­/­mags­/­suicide/suicide-to-txt.zip

File size:
25 440 bytes (24.84K)
File date:
2019-03-01 17:13:56
Download count:
all-time: 175

Preview

  • BONUS/ dir
  • BONUS/!!!!!SUI.BAS 928B
  • BONUS/MEM-HACK.BAS 2.04K
  • BONUS/SUICIDE.TXT 6.81K
  • SUI2TXT.BAS 3.69K
  • SUI2TXT.EXE 23.82K

file_id.diz

                         - -+-++ SUICIDE HACK ++-+- -

      Interner Aufbau der Texte aus dem Diskmag Suicide Issue #1 bis #11
      -----------+----+--+-++-+++-++++++++++-+++-++-+--+----+-----------

                            - -+-++ Mad/OS ++-+- -


Diese  Dokumentation ist entstanden, als  ich verzweifelt versucht habe, einen
Text  aus dem Suicide zu drucken. Kurz gesagt: Das geht nicht! Also setzte ich
mich  hin  und  zerlegte  die einzelnen  Dateien.  Das  Ergebnis  kann hier in
Textform nachgeschlagen werden.

Die im Suicide Issue #1 enthaltenen Texte sind folgendermaáen codiert:

Offset  L„nge  Beschreibung
00      18     Signatur "SUICIDE TEXT-FILE" sowie das Zeichen 1Ah
18      1      Versionsnummer 01h
19      1      Typ der folgenden Daten (normalerweise 00h fr einfachen Text)
20      n      Daten

Die  ersten  18 Bytes sind bei jeder  Datei gleich. Sie dienen lediglich dazu,
eine  gltige  Datei  zu erkennen. Das  Zeichen  "1A" hat dabei eine besondere
Bedeutung,  da es in Textdateien zum  Markieren des Dateiendes verwendet wird.
Versucht  man z.B. mit dem Befehl  TYPE einen Suicide-Text anzuzeigen, so wird
die  Ausgabe  nach  der Signatur abgebrochen.  Dies  ist durchaus sinnvoll und
beabsichtigt.

Je  nach Versionsnummer sind der Text  und die darin enthaltenen Bilder anders
codiert.  Ich  werde jede Version getrennt  beschreiben, da sie sich teilweise
sehr stark unterscheiden.

Wenn  die Typmarkierung bei Offset 19 den Wert 00h zeigt, so enth„lt die Datei
nur  einen einfachen Text, der sehr  simpel verschlsselt ist. Jedes Byte wird
um  128  erh”ht oder verkleinert, je nachdem.  In Basic l„át sich das z.B. mit
der  Formel  ((Byte+128)  mod  256)  ausdrcken.  Zeilenumbrche  sind als ein
einzelnes Byte 13h abgespeichert.

Wenn die Datei ein Bild enth„lt, dann gilt ein erweiterter Dateiaufbau:

Offset  L„nge  Beschreibung
19      1      Typ 01h fr ein nun folgendes Bild
20      2      L„nge der folgenden PCX-Daten in Byte
22      n      Ein ganz normales PCX-Bild mit 16 Farben inclusive Header
n       n      Text

Der  Text  ist wiederum einfach verschlsselt.  Zus„tzlich enth„lt er an einer
beliebigen  Stelle vier besondere Bytes mit den  Werten 70 81 70 8Ah  (oder in
entschlsselter  Form  AE 01h AE 04h). An  dieser  Stelle wird sp„ter das Bild
eingefgt.

Manchmal  gibt  es auch Dateien, die als  Typ den Wert 03h oder 09h enthalten.
Vermutlich  handelt  es  sich dabei um  eine  spezielle Textsorte mit mehreren
integrierten Bildern.

------------------------------------------------------------------------------

Fr  das Suicide Issue #9 wurde der Dateiaufbau geringfgig ver„ndert. Auf die
Versionsnummer  02h  folgt  nun vor dem  eigentlichen  Text  ein Titel, der im
Diskmag an Stelle des Dateinamens angezeigt wird.

Offset  L„nge  Beschreibung
00      18     Signatur "SUICIDE TEXT-FILE" sowie das Zeichen 1Ah
18      1      Versionsnummer 02h
19      1      L„nge des Titels (Zahl von Null bis maximal 40)
20      40     Titel (berz„hlige Bytes enthalten undefinierte Zeichen)
60      1      Typ der folgenden Daten (normalerweise 00h fr Textdaten)
61      n      Daten

Die  Typmarkierung  bei Offset 60 enth„lt  normalerweise  den Wert 00h. Darauf
folgt eine beliebige Anzahl Text, der erst am Dateiende endet. Der Text selbst
ist sehr einfach verschlsselt. Von jedem ASCII-Wert werden 128 abgezogen bzw.
addiert.  So  ergibt beispielsweise das Leerzeichen  den Wert 160, aus einem A
wird  der  Wert  193 und aus einem  á  wird der Wert 97. Zeilenumbrche werden
durch  ein einzelnes "Return" markiert, das  verschlsselt als Zeichen 141 er-
scheint.

Wenn  jedoch beim Offset 60 der Wert 01h  erscheint, so folgt vor dem Text ein
normales PCX-Bild mit 16 Farben.

Offset  L„nge  Beschreibung
60      1      Typ 01h fr ein nun folgendes PCX-Bild
61      2      L„nge der folgenden PCX-Datei in Byte
63      n      ein ganz normales PCX-Bild mit 16 Farben
n       n      Text

Der  Text  enth„lt auáerdem an einer  beliebigen Stelle (oft gleich am Anfang)
vier  Bytes mit den Werten 70 81 70 8Ah.  Diese dienen als Platzhalter fr die
Stelle, an der das Bild eingefgt wird.

Das  Suicide Issue #9 enth„lt insgesamt sieben Texte mit integrierten Bildern:
ASM95.SUI,  DBASE.SUI,  GEBABBEL.SUI,  OCR.SUI,  PANTASIE.SUI,  SIMON2.SUI und
TURBKURS.SUI

------------------------------------------------------------------------------

Die  Textversion  03h  wird  ausschlieálich beim  Suicide  Issue  #10  und #11
verwendet. Der Sinn dieser Žnderung ist mir nicht ganz klar, vermutlich hat es
etwas mit der Decodierungs-Geschwindigkeit zu tun.

Offset  L„nge  Beschreibung
00      18     Signatur "SUICIDE TEXT-FILE" sowie das Zeichen 1Ah
18      1      Versionsnummer 03h
19      2      Zwei Nullbytes
21      40     Irgendwelcher Schrott (kann ignoriert werden)
61      1      Ein Nullbyte
62      n      Textdaten

Die  Textdaten  sind „hnlich simpel kodiert  wie bei der letzten Version. Auch
hier muá zu jedem Byte der Betrag 128 addiert oder subtrahiert werden. Nur die
Zeilenumbrche  werden  anders gespeichert. Das  ASCII-Zeichen 20 (kodiert als
94h)  muá in Leerzeichen umgewandelt werden.  Nach genau 80 Zeichen sollte ein
Zeilenumbruch  erfolgen. Man kann immer gleich  80 Zeichen aus der Datei lesen
und  umwandeln. Das letzte Zeichen in einer  solchen Zeile ist immer ein Leer-
zeichen - nach der letzten Zeile folgen keine weiteren Daten.

Eine weitere Žnderung: S„mtliche Umlaute sind im ANSI-Format (Windows) gespei-
chert.

Suicide  Issue  #10 enth„lt kein einziges  Bild. Das Suicide Issue #11 enth„lt
wieder  sechs  Texte  mit  Bildern:  atomtest.sui,  descent2.sui,  dinfo2.sui,
hexen.sui, italien.sui und telekom.sui

------------------------------------------------------------------------------

Das  Suicide  Issue #12 ist die einzige  Ausgabe,  in der die Textdateien nach
Version  4  codiert  sind. Mir ist  es  bisher nicht gelungen, die eigentliche
Textverschlsselung  zu  durchschauen.  Aber  ich  arbeite  daran.  Der Header
besitzt in etwa folgenden Aufbau:

Offset  L„nge  Beschreibung
00      18     Signatur "SUICIDE TEXT-FILE" sowie das Zeichen 1Ah
18      1      Versionsnummer 04h
19      1      00h
20      1      Beim Text Adressen.Sui steht hier 0Fh, bei allen anderen 00h

------------------------------------------------------------------------------

Die  letzte Ausgabe Suicide Issue #13  verwendet wiederum eine anders kodierte
Textverschlsselung  mit  der Versionsnummer 5.  Diese  weist vermutlich keine
groáen  Unterschiede zur Version 4 auf. Scheinbar wird eine Art Zufallszahlen-
generator verwendet, oder die einzelnen Zeichen werden miteinander verrechnet.
An der Dekodierung arbeite ich noch.


                            - -+-++ Mad/OS ++-+- -
                        - -+-++ Dezember 1998 ++-+- -