Checksummer

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Checksummer
MSE
Verleger Markt & Technik
Release 1985
Lizenz Vollversion
Plattform(en) C64
Genre Eingabehilfe 64'er-Magazin
Steuerung Icon tastatur.png
Medien Icon disk525 1.png, Listing
Sprache(n) Sprache:englisch
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)


Das Spiel "Cohan's Land" als BASIC-Listing mit Checksummer im 64'er Sonderheft 04/1986.