Befehle des Menübands überspringen
Zum Hauptinhalt wechseln
SF Software-Beratung

 109 Bytes Maschinensprache und ein kleiner Magnet


Da wir natürlich schon immer ganz genau wissen wollten, wie unsere Maschinen intern funktionierten, besorgten wir uns die zwei Originaldokumentationen vom Hersteller des 6502-Mikroprozessors. Das führte zu unserem ersten selbst gebrannten EPROM: Genau 109 Bytes handgeschriebener Maschinencode (ohne Assembler; Hex-Codes der Handbücher waren angesagt!) ergab eine Routine, die den kompletten Bildschirminhalt schlagartig invertieren (in Negativdarstellung und zurück bringen) konnte.

Mittlerweile hatten wir so viele Kunden und so viele entwickelte Software, dass das Thema Kopierschutz an Bedeutung gewann. Unsere Programme lieferten wir mittlerweile schon in kompiliertem Zustand aus, so dass die Kunden den Quellcode nicht sahen.

Damit auch mit Kopien von Disketten keine Raubkopien gemacht werden konnten, fügten wir Aufrufe in unsere selbst gebrannten EPROMs in unsere Programme ein. Außerdem benutzten wir eine Startdiskette, auf der wir vorher ein paar zufällige Sektoren mit einem Dauermagneten unlesbar gemacht hatten. In (für heutige Ansprüche lächerlich schwach) verschlüsselter Form schrieben wir die Sektornummern der nicht lesbaren Sektoren in eine Datei auf der Diskette. Das Startprogramm lief nur, wenn diese Sektoren nicht, die benachbarten aber sehr wohl lesbar waren (sonst hätte man die Unlesbarkeit durch Herausziehen der Diskette simulieren können).

Das Startprogramm schrieb schließlich das abgefragte Datum - die Commodore-Rechner hatten damals zwar eine Echtzeituhr eingebaut, aber keinen Kalender - in eine nicht sichtbare Stelle des Bildschirmspeichers. Der brauchte nämlich nur 80 Zeilen * 25 Zeichen/Zeile * 1 Byte/Zeichen = 2000 Bytes, hatte aber 2 KBytes = 2.048 Bytes. Die ungenutzten 48 Bytes nutzten wir für unsere Zwecke. Alle anderen Programme starteten nur, wenn in diesen Bytes ein gültiges Datum stand.

Wir waren mal ganz stolz auf das erste unserer Programme, bei dem die 8 KBytes Arbeitsspeicher des PET 2001 nicht mehr ausreichten. Als wir von 8 auf 32 KBytes Arbeitsspeicher "aufstiegen", hatten wir noch gedacht "Jetzt können wir mit Speicher aasen!" Mittlerweile ertappten wir uns aber schon dabei, von 48 oder sogar 64 KByte zu träumen...

< zurück

weiter >