Checksummer
Checksummer | |
---|---|
Verleger | Markt & Technik |
Release | 1985 |
Lizenz | Vollversion |
Plattform(en) | C64 |
Genre | Eingabehilfe 64'er-Magazin |
Steuerung | |
Medien | , Listing |
Sprache(n) | |
Information | Versionen 1, 2 und 3 |
Der Checksummer ist ein BASIC-Programm mit einer Maschinenspracheroutine aus dem Computermagazin 64'er, das erstmalig in Ausgabe 01/1985 (Version 1) vorgestellt wurde. Es dient zur kontrollierten und erleichterten Eingabe von BASIC-Programmlistings und erleichtert die Erkennung von Tippfehlern, indem für jede eingegebene Programmzeile eine Prüfsumme berechnet und angezeigt wird, die mit der beim Listing abgedruckten Prüfsumme übereinstimmen muss.
Der Checksummer für den C64 wird vor der Eingabe eines BASIC-Programmlistings geladen und gestartet. Er wird mit POKE 1,53
und durch Drücken von RUN/STOP +RESTORE deaktiviert bzw. mit POKE 1,55
aktiviert. Im aktivierten Zustand verbraucht er keinen Speicherplatz. Nach der Eingabe einer BASIC-Zeile wird auf dem Bildschirm oben links eine Prüfsumme eingeblendet, die im Programmlisting mit <Zahl> gekennzeichnet ist. Dieser Checksummer wurde in den nachfolgenden Ausgaben mehrfach verbessert.
- Checksummer Version 1 ab 01/1985 bzw. 1 Sonderheft 1985
- Checksummer Version 2 ab 04/1985
- Checksummer Version 3 ab 08/1985 bzw. 4 Sonderheft 1985
Checksummer 1 und 2 sind zueinander kompatibel. In Version 3 wurde jedoch der Algorithmus geändert, sodass ältere Listings nicht mit dem neuen Checksummer bzw. neuere Listings nicht mit dem alten Checksummer kompatibel sind.
Ab der 64'er-Ausgabe 06/1994 entfiel das Abtippen von BASIC-Listings, da die Programmservicediskette dem Heft monatlich beigelegt wurde.
Ebenfalls gibt es einen Checksummer für den VC 20. Dieser arbeitet genauso wie die C64-Version. Allerdings wird er im Kassettenpuffer des VC20 abgelegt, sodass dieser durch die Benutzung der Datasette zerstört wird. Dieser Checksummer wird mit SYS 955
aktiviert und mit SYS 58459
deaktiviert.
Für Maschinenspracheprogramme leistet das Programm MSE Vergleichbares.
Technische Details[Bearbeiten | Quelltext bearbeiten]
Checksummer V1 und V2 summieren die Bytes der tokenisierten Zeile inkl. Zeilennummer als 16 Bit-Zahl, mit Ausnahme aller $20 (Leerzeichen), die ignoriert werden. Das Lowbyte ergibt die Prüfsumme. (Beispielimplementierung)
Checksummer V3 rollt jedes Byte vor dem Aufsummieren um eine Anzahl Bits nach links, beginnend bei 0 Bits beim ersten Byte der Zeile, dann jedes Byte ein Bit mehr. Ansonsten entspricht die Berechnung jener der älteren Versionen. (Beispielimplementierung)