Die beim CPC 6128 zur Verfügung stehenden zweiten 64KB sind, neben der Anwendung unter CP/M+, zur Speicherung von Daten und Bildern vorgesehen. Schon so mancher Hobbyprogrammierer wird diesen Speicherbereich als Datenbank genutzt haben. Dabei hat sich dann auch sicher die Frage ergeben, wie die einzelnen Datensätze möglichst komfortabel auf Diskette abgelegt werden können. Leider ist dabei die sehr langsame Methode zu verwenden, die die einzelnen Datensätze ausliest und in einer sequentiellen Datei auf Disc speichert. Dabei kann mitunter schon einmal, bei ungünstiger Speicherkonfigu-ration, bis zu einer Minute Zeit vergehen. Dieses Ärgernis kann jedoch recht gut umgangen werden, indem man die Daten als Maschinendatei ablegt. MC-Programme haben die Eigenschaft, von Diskette in Rekordzeit geladen zu werden. Da die Banks des 6128 unter Basic nicht ohne weiteres angesprochen werden können, bedient man sich des SCREENCOPY-Bcfehls, der ja im Bankmanager implementiert ist. Dieser RSX-Befehl dient dazu, den Bank-Bereich mit Adressen anzusprechen. Da es sich jetzt allerdings um keine reinen Bildschirmin-halte wie z.B. Bilder handelt, sondern um eine mit BANK-OPEN eröffnete Pseudo-Datei, stört SCREENCOPY herzlich wenig. Die Syntax:" SCREENCOPY, > Ziel <, >Quelle < "wobei 1 immer der gegenwärtige Bildschirmspeicher und 2,3,4 und 5 je ein Viertel der Pseudo-Datei darstellt. Das Geheimnis, aus dem BANK-Bereich nun eine Binärdatei zu zaubern, liegt darin, daß man jedes Viertel der Datenbank in den Bildschirmspeicher kopiert und jedes Bild als Screendump auf Diskette speichert. Dieses Verfahren bewirkt eine enorme Geschwindigkeitssteigerung, da nun nicht mehr auf jeden einzelnen Datensatz zugegriffen werden muß. Das beim Übertragen eines Datei-Viertels auf dem Bildschirm entstehende Bild erscheint als ein rein zufälliges Muster, in Wirklichkeit repräsentiert aber jedes Pixel auf dem Monitor eine Information Ihrer Datei. Ein Zeitvergleich: Die gesamten 64K sind bei der hier erläuterten Methode in gut 20 Sekunden gespeichert bzw. geladen. Anders als bei der herkömmlichen Methode, liegt die BANK-Datei auf Diskette nun nicht mehr in einem Riesen-64K-Block, sondern in vier 16K-Blöcken, da SCREENCOPY ja aus der Pseudo-Datei vier Bildschirme erstellt (CAT zeigt 17K-Blöcke an, da die Kilobyte-Zahl aufgerundet wird). Der einzige Nachteil dieses Verfahrens ist lediglich die Inanspruchnahme des Bildschirmspcichcrs, so daß beim Speichern und Laden der BANK-Datei entweder ein vier mal änderndes Muster erscheint, bzw. der Schirm beim Ausschalten der INK-Farbe schwarz bleibt. Listing 1 zeigt die Anwendung in einem Demoprogramm, bei dem zunächst der BANK-Bereich mit einem Teststring aufgefüllt wird. Gleich danach wird der BANK-Speicher in vier Blöcken auf Diskette geschrieben. Listing 2 zeigt, wie die abgespeicherten Blöcke w ieder eingelesen und weiter verarbeitet werden. CPCAI 8610 ★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 744 millisecondes et consultée 1611 foisL'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. |
|
|