Listgeschützte Programme compilieren

GFA Basic-Programme, die mit der PSAVE-Option abgespeichert wurden, sind nicht listbar. Das hat seine Gründe und ist voll akzeptiert, aber manchmal kommt es vor, daß man ein solches Programm compilieren möchte. Der Compiler weigert sich aber, ein ’PSAVE-Programm’ zu bearbeiten, ein klitzekleiner Eingriff schafft dabei Abhilfe.

Im Prinzip muß man dazu nur das erste Byte eines listgeschützten Basic-Programmes von 255 auf 00 ändern.

normales Programm 00 02 71 102 ..
geschützte Programme 255 02 71 102 ..

Das zweite Byte stellt die Versionsnummer des GFA-Basics wieder, im oben angegebenen Beispiel handelt es sich um Version 2.0.

Das Programm öffnet nun das Basic-Programm als Datei und setzt den Dateizeiger auf das erste Element. Dieses wird sodann, falls es sich um ein geschütztes Programm handelt, geändert, und die Datei wieder abgespeichert. Das war’s. Der Compiler akzeptiert das geänderte File und erzeugt ein ablauffähiges Maschinenprogramm.

(HS)


' Modelt das erste Bytes eines listgeschützten GFA-Programms 
' so um, daß es vom Compiler akzeptiert wird.
'
' Listen ist immer noch nur teilweise möglich 
' HS

Fileselect "\*.bas","",Name$

If Exist(Name$)	!	Gibt es das File auf Disk
	Open "U",#1,Name$	!	Schreib/Lese Zugriff
	Seek #1,0	!	Zeiger auf Anfang
	Nixlist=Inp(#1)	!	erstes Byte lesen
	Version=Inp(#1)	!	zweites Byte lesen
	Print "Dies ist ein GFA-Programm Version ";Version
	If Nixlist=0	!	wenn listen
		Alert 1,"Dieses Programm läßt |sich aber listen",1,"Ach so", Dum
	Else
		If Nixlist=255	!	wenn Listschutz
		Alert 2,"Soll ich den Schutz entfernen",1,"Na Klar | Niemals ", Erg
		If Erg=1
			Seek #1,0	!	Zeiger- an Anfang
			Out #1,0	!	Listschutz entfernen
		Endif
	Endif
Endif
Close #1	!	Datei schließen und Schluß
Endif


Aus: ST-Computer 06 / 1987, Seite 18

Links

Copyright-Bestimmungen: siehe Über diese Seite