APPLICATIONSDEPLOMBAGE ★ SCHNELLES LADEN VON KASSETTE (HAPPY COMPUTER) ★

Schnelles Laden von Kassette (Happy Computer)Applications Deplombage
★ 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 ★ 

Schnelles Laden von Kassette

Auch mit dem Kassetten-Recorder soll das Laden eines Programms nicht zum Frust werden.

Man muß nur das Aufzeichnungsformat ändern und die Daten in einem Block speichern.

Ein längeres Programm von Kassette zu laden ist zeitaufwendig. Um beispielsweise 20000 Byte mit 2000 Baud zu laden, braucht der Schneider-Computer ungefähr 140 Sekunden. Es gibt viele Tricks, die Baudrate zu ändern (bis zirka 4 000 Baud ist dies mit ausreichender Datensicherheit zu realisieren), aber das eigentliche Problem stellt das Aufzeichnungsformat dar. Die Programme werden nämlich in 2 KByte lange Blöcke zerlegt. Jeder Block hat einen eigenen Kopf (Header), indem Ladeadresse, Länge Name des Programms und so weiter vermerkt sind. Greift man nun direkt auf die Firmware-Routine CAS WRITE zurück, so kann man die Daten ohne Header in einem Block speichern. Die Zeit halbiert sich dann in unserem Beispiel auf 72 Sekunden (bei 2000 Baud).

Zum Laden der Programme benutzt der Schneider eine Firmware-Routine mit dem Namen CAS READ. Auf diese kann man auch direkt zugreifen, so daß die in einem Block gespeicherten Daten wieder korrekt gelesen werden können.

Die beiden Routinen müssen nun an unsere Wünsche angepaßt werden. Listing 1 ist der Basic-Lader für die Routine CAS READ. Sie muß immer vor dem zu ladenden Programm stehen — sinnvollerweise mit dessen Namen. Die Anweisung hierzu lautet: »SPEED WRITE 1:SAVE"Name"«

In Listing 2 finden Sie den Basic-Lader, der die Speicherrou-tine erzeugt. Das Maschinencode-Programm berechnet die tatsächliche Länge des im Speicher stehenden Basic-Programms, lädt die Register des Z80 mit den erforderlichen Werten und ruft die eigentliche Routine CAS WRITE auf. Nachdem Listing 2 einmal gelaufen ist, kann man es löschen und das Programm laden, das man speichern will. Mit »CALL HIMEM + 1« wird die Speicherroutine gestartet und das Programm auf Kassette geschrieben.

Beim Lesen von der Kassette wird zuerst die Laderoutine mit »RUN« geladen und dann automatisch das eigentliche Programm in den Speicher geholt. Dieses muß übrigens von Hand gestartet werden, da dies automatisch nicht möglich ist.

Mit der hier vorgestellten Betriebssystem-Erweiterung kann man übrigens auch jedes Maschinencode-Programm speichern und laden. Man muß nur die Startadresse und die Länge der Routine kennen (mit einem Headreader-Programm leicht zu bestimmen). Zum Laden muß ein freier Speicherplatz vorhanden sein, der mindestens 12 Byte aufnehmen kann. Das Listing 1 muß um die zwei Zeilen aus Listing 3 erweitert werden. Die Variable »begin« steht für den Anfangsplatz des freien Bereichs minus eins. Die Variablen I, h, e und d sind Platzhalter für folgende Werte:

lLowbyte der Startadresse des Maschinencode-Programms
hHighbyte der Startadresse des Maschinencode-Programms
eLowbyte der Länge des Maschinencode-Programms
dHighbyte der Länge des Maschinencode-Programms

Wenn in einem Programm solch eine Maschinencode-Routine nachgeladen werden soll, muß der normale Ladebefehl durch »CALL begin+1« ersetzt werden — und die Daten im entsprechenden Format vorliegen.

Wenn man das ursprüngliche Maschinencode-Programm im Speicher hat, benutzt man die zwei Zeilen aus Listing 4, um das Programm in der neuen Form zu speichern. Die Variablen sind die gleichen wie im Listing 3.

Thomas Dröge, HC

★ PUBLISHER: Happy Computer
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: HAPPY COMPUTER-SCHNEIDER SONDERHEFT
★ AUTHOR: Thomas Dröge
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Schnelles  Laden  von  Kassette    (Happy  Computer-Sonderheft)    GERMANDATE: 2021-03-19
DL: 165
TYPE: ZIP
SiZE: 3Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Applications » Multi Codeur v2
» Applications » Haushaltsbuch (CPC Magazin)
» Applications » Der Schneider Computerkurs
» Applications » Directory auf Ducker
» Applications » Abbreviations For Keywords (Popular Computing Weekly)
» Applications » The Treble A Demo-Maker
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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
Page créée en 569 millisecondes et consultée 795 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.