APPLICATIONSDIVERS ★ „Unprotect" für den Schneider CPC 464 ★

,,Unprotect'' für den Schneider CPC 464Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Der Schneider CPC 464 bietet die Möglichkeit, mühevoll entwickelte Programme zu schützen. Dazu muß man sie nur mit SAVE“(Programmname)“,P abspeichern. Wenn man aber ein Programm so abgespeichert hat und man stellt einen Fehler fest, was tun? Um diesem Problem abzuhelfen, wurde dieses Programm geschrieben.

Zum Einladen sind folgende Schritte nötig:

  1. Ladeprogramm eintippen oder -laden und starten,
  2. Kassette mit dem einzuladenden Programm ein-legen,
  3. PLAY und irgendeine Taste drücken.

Der Bildschirm wurde in den 80-Zeichen-Modus geschaltet, und am obersten Rand erscheinen zufällig gesetzte Punkte: das Maschinenprogramm. Wenn der Computer das Programm gefunden hat, wird der Bildschirm als Zwischenspeicher benutzt, bis das Programm die Ladevektoren gesetzt hat. Danach wird das Programm in den Speicher geladen, und der Computer meldet sich mit READY zurück. Jetzt muß man auf dem Ziffernblock die Taste 1 drücken. Der Computer gibt drei Zahlen und ein Zeichen aus. Sie bedeuten folgendes:

  1. Zahl: Adresse des 1. Byte des Programms (bei BASIC-Programmen 368),
  2. Zahl: Länge des Programms,
  3. Zahl: Startadresse (nur bei Maschinenprogrammen), Zeichen: Dateityp.

Es gibt folgende Dateitypen:

$ BASIC-Programm, o/o geschütztes BASIC-Programm,

& Binärdatei,

* ASCII-Datei.

Zum Abspeichern muß man nun unterscheiden: Ein BASIC-Programm wird mit SAVE“(Programmname)",A abgespeichert. Für ein geschütztes BASIC-Programm gilt das gleiche.

Eine Binärdatei wird mit SAVE“(Programmname)“, B, (1 .Zahl),(2.Zahl),(3.Zahl, falls ()0) abgespeichert.

Eine ASCII-Datei muß, falls es kein BASIC-Programm im ASCII-Format ist, mit den Dateibefehlen (OPENIN,CLOSEIN,LINE INPUT #9,) geladen werden.

Aber Achtung! Wenn man ein BASIC-Programm geladen hat, sollte man es gleich wieder abspeichern und nochmals laden, da dieses Ladeprogramm nicht die BASIC-Vektoren setzt. Andernfalls wird beim Editieren wahrscheinlich der Computer aussteigen.

Das einzutippende BASIC-Programm sieht folgendermaßen aus:

10 REM * Programm zum Einladen von geschuetzten Basic-und Maschinenprogrammen *
20 FOR i = 128 TO 140:KEY i,"":NEXT
30 KEY 1,"a=49216:?peek(a)+ 256*peek(a + 1),peek(a + 2)+ 256*peek(a +3),peek(a +4)+ 256*peek(a + 5),chr$((peek (a + 6) and 15) + 36)“ + chr$( 13)
100 MODE 2:LOCATE 1,2:FOR i = 1 T0 49:READ a:POKE 49151 + i,a:NEXT :CALL 49152
1000 DATA &11 ,&50,&C0,&CD, &77,&BC,&32,&46,&C0,&11 ,&15, &00,&19,&7E,&32,&40
1010 DATA &C0,&23,&7E,&32,&41,&C0,&23,&23,&7E,&32,&42,&C0, &23, &7E, &32, &43
1020 DATA &C0,&23,&7E,&32,&44,&C0,&23,&7E,&32,&45,&C01 &2A,&40,&C0,&C3,&83,&BC

In Zeile 20 wird Platz für die Definition der Funktionstaste 1 geschaffen.

In Zeile 30 wird die Taste definiert.

Zeile 100 liest da Maschinenprogramm ein.

Ab Zeile 1000 steht das Maschinenprogramm in DATA's.

Das Assembler Source-Listing finden Sie im Kasten.

Das Programm setzt als Puffer einen Teil des Bildspeichers und ruft die Routine CASINOPEN auf. Dabei wird der Programmkopf und der erste 2K-Block eingelesen. Die Routine übergibt in HL die Anfangsadresse des Programmkopfs.

Die zum Wiederabspeichern nötigen Vektoren werden im Bildspeicher ab Adresse C040 abgelegt. Danach holt die Routine die Anfangsadresse der Datei und lädt sie mit CASINDIRECT in den Rechner.

Marc Mustapic, HC

★ PUBLISHER: Mein Home-Computer
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Marc Mustapic

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Unprotect  fur  den  Schneider  CPC  464    (Mein  Home-Computer)    LISTING    GERMANDATE: 2021-02-02
DL: 249
TYPE: PDF
SiZE: 60Ko
NOTE: Uploaded by hERMOL ; 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Waves (Amstrad Action)
» Coding Src's » Muzakology (Computing with the Amstrad)
» Coding Src's » Excat
» Coding Src's » MC-Hinter
» Coding Src's » Stone's Rag
» Coding Src's » Graphic - Screen Rattle (Popular Computing Weekly)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 416 millisecondes et consultée 1294 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.