APPLICATIONSDIVERS ★ TURBO SAVE - Es geht auch schneller! ★

Turbosave (CPC Amstrad International)Applications 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 ★ 

Haben Sie sich auch schon einmal darüber geärgert, wie lange es dauert, bis ein Programm von Cassette geladen ist? Und besonders darüber, daß viel Zeit durch die Pausen zwischen den einzelnen Blöcken verloren geht? Wenn ja, dann schafft das folgende Programm »TurboSave« Abhilfe. Bevor Sie aber weiterblättern, weil Sie denken, die Erhöhung der Baudrate ist ein alter Hut, lesen Sie diesen Artikel!

Es gibt schon einige Programme, die die Übertragu ngsge-schwindigkeit (Baudrate) zwischen Cassettenrekorder und dem Computer erhöhen, und damit die Lade- und Speicherzeiten verkürzen. Diese Programme haben bloß den Nachteil, daß für sie eigens ein spezielles Aufzeichnungsverfahren erdacht wurde. Das bedeutet für den Anwender, daß er jedesmal. wenn er etwas speichern oder laden will, eine spezielle Save- bzw. Load-Routine laden muß, wodurch wieder Zeit verloren geht und meistens der Zeitvorteil durch die schnellere Aufzeichnung wieder verliert. Warum aber nicht das eigene Aufzeichnungsverfahren des CPC 464 nutzen? Denn wenn man sich einmal die entsprechenden Routinen im Betriebssystem ansieht, stellt man fest, daß sie bis zu einer Übertragungsrate von 3800 Baud (Bit pro Sekunde) arbeiten können, und daß die Laderoutine auch Blöcke lesen kann, die länger als 2K Byte sind! Man braucht also nur ein Programm, welches die Baudrate hoch setzt und die Abspeichcrroutine so abändert, daß sie die Programme nicht mehr in 2K-Byte-Blöcke »zerstückelt«. Genau diese Aufgabe erfüllt das Programm »TurboSave«. Für die Anwendung müssen Sie also »TurboSave« nur einmal, bevor Sie das Programm, das schnell abgespeichert werden soll, laden und können dann dieses Programm durch ein ganz normales LOAD bzw. RUN" erheblich schneller nach dem Abspeichern wieder laden!!! Diese Kopie besteht dann nämlich nur noch aus 2 Blöcken (der erste Block muß noch 2K-Bytc lang sein, der zweite enthält dann den Rest der Daten), wodurch man die Pausen zwischen den Blöcken spart. Sie kann wahlweise mit 3600 Baud erstellt werden (ca. 1.8 mal zusätzlich schneller als mit SPEED-WRITE

1). Die Handhabung erfolgt nach folgendem Schema:

  1. Tippen Sie den Basiclader ab und speichern ihn dann.
  2. Starten Sie das Basicprogramm (mögliche Fehler in DATAs korrigieren und erneut abspeichern) und speichern damit das eigentliche TurboSave-Maschinenprogramm ab.
  3. Bringen Sie das Programm, welches Sie unter TurboSave auf Cassette abspeichern wollen, in den Speicher (entweder durch Eintippen oder LOAD).
  4. Laden Sie das TurboSave-Maschinenprogramm durch LOAD "TURBOSAVE". Das Programm installiert sich selber und löscht das im Speicher befindliche Programm nicht.

    ACHTUNG: Nie mit RUN" laden, weil der Computer dann »abstürzt« und der Speicher gelöscht wird!

    Die Punkte 3 und 4 sind in der Reihenfolge beliebig.

  5. Wählen Sie die Baudrate:

    SPEED WRITE 0 = 1000 Baud
    SPEED WRITE 1 = 2000 Baud
    USING = 3600 Baud

  6. Speichern Sie das Programm wieder ab. (z.B.: SAVE "PROGRAMM" oder SAVE "BILD"B,&C000,&4000)

    Wenn Sie also ein Basicprogramm unter TurboSave mit 3600 Baud abspeichern wollen und die Punkte 1 und 2 erfüllt ha-ten, geben Sie also nur LOAD "PROGRAMM:LOAD TURBOSAVE :USING:SAVE "PROGRAMM" ein.

Allgemeiner Hinweis.

TurboSave benutzt den Speicherbereich, in dem sonst die Texte des KEY-Kommandos abgelegt werden. Deshalb darf diese Punktion, während man mit TurboSave arbeitet, nicht benutzt werden, weil sich sonst der Computer »aufhängt« Das Programm kann durch

POKE &BC98,&CF:POKE &BC99,&EA:POKE &BC9A,&A4:POKE &AC07,&C9

deaktiviert werden. TurboSave kann auch bei angeschlossenem Diskettenlaufwerk genutzt werden, wenn man folgende regel beachtet: Vor dem Laden des Programms muß ein TAPE-(bzw. CAS bei Vortex) Befehl gegeben werden. Nach dem Laden darf kein derartiges Kommando mehr gegeben werden.

Erklärungen zum Assemblerlisting:

Damit ein im Speicher befindliches Programm nicht durch das Laden gelöscht wird, hat es einen Autostartmechanismus, der folgendermaßen funktioniert: Zuerst wird durch das Kommando LOAD ein Maschinenprogramm in den Bereich ab &BB00 geladen. An dieser Stelle befinden Sich normalerweise Sprungtabellen (Vektoren), die dazu dienen, es Programmen möglich zu machen, die im RAM laufen, auf Routinen zuzugreifen, die im ROM stehen, der parallel zum RAM hegt. Deshalb wird dieser Bereich von sonst keinem anderen Programm überschrieben. Diese Vektoren werden auch vom Basic genutzt, können aber für den Zeitraum des Einlesens genutzt werden. Nach dem Lesen springt das Basic den Vektor CAS IN CLOSE (&BC7A) an, an dessen Stelle sich jetzt aber ein Sprung zu der Autostartroutine befindet. Nachdem der untere (Lower) ROM eingeschaltet und der Basic-ROM (oberer: Upper ROM) ausgeschaltet worden ist, wird die Routine CAS IN CLOSE nachgeholt. Die Ersatzroutine, die die Routine CAS IN CLOSE ersetzt, wird nun in den KEY-Speicher (&B468) geladen. Diese Ersatzroutine verhindert das »Zerstückeln« in 2K-Byte-Blöcke, was sonst durch die normale Routine geschieht. Der ERROR-Vektor des Basic, der vor jedem Syntax-Error angesprungen wird, wird auf die Routine "baud" »verbogen«, um den USING-Befehl zum Umschalten auf 3600 Baud benutzen zu können. Damit das Basic wieder läuft, wird in das Benutzerfeld des Headers (Vorspann mit Name usw. eines Programms auf Cassette) gesprungen, um von dort die Vektoren wieder herzustellen und den CAS OUT DIRECT-Vektor (&BC98) auf die Ersatzroutine zu legen. Um das Abschlußprogramm im Benutzerfeld des Headers zur Verfügung zu stellen und weil die Vektoren nur kurzzeitig überschrieben werden dürfen, bedarf es einer besonderen Save-Routine ab &8000, die vom Basiclader aus gestartet werden kann. Dieser Routine werden die Autostartroutine ab &6000, die Ersatzroutine ab &7000 und der »künstliche« Header, dem Abschlußteil ab &8100 zur Verfügung gestellt.

CPCAI 8601

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1986
★ AUTHOR: Helge Schulz
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» TurboSave    (CPC  Amstrad  International)    GERMANDATE: 2020-04-28
DL: 170
TYPE: ZIP
SiZE: 5Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Coding Src's » A Very Moving Experience (Sean McManus and Amstrad Computer User)
» Coding Src's » 3D Shape Rotator (Amstrad Action)
» Coding Src's » Graphic (Mark Holmes/Amstrad Action)
» Coding Src's » Snake (Amstrad Computer User)
» Coding Src's » Demospiel Meteor (Compute Mit)
» Coding Src's » Sound to Light (Amstrad Action)
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/c
Page créée en 327 millisecondes et consultée 1494 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.