Das Arbeiten mit sequentiellen Dateien beim CPC 464 ist zeitraubend. Eine kurze Maschinenroutine schafft Abhilfe und zusätzlichen Speicherplatz auf unkonventionelle Weise. Bei jedem sequentiellen Datenzugriff mit »OPENIN« und »OPENOUT« legt der CPC einen Puffer an. Dieser ist vier KByte lang und liegt direkt unter HIMEM. Die hier ansässigen Stringvariablen müssen vorher unter viel Zeitaufwand verschoben werden. Das Zeitproblem kann man zwar mit der Formel »OPENIN "dummy " MEMORY HIMEM-1 :CLOSElN« abfangen, wenn Sie jedoch Wert auf einen eigenen Zeichensatz und andere Erweiterungen legen, können Speicherplatzprobleme auftreten. Das Programm »Sequbild« verlegt den Puffer in den Bildschirmspeicher und vermeidet so elegant jedes Debakel. Das erfordert zwei Maschinencode-Routinen, die den Routinen »OPENIN« und »OPENOUT« entsprechen. Nach dem Einlesen ersetzen Sie in Ihrem Programm alle »OPENIN« durch »CALL HIMEM+ 1« und alle »OPENOUT« durch »CALL HIMEM+13«. Eine Eingabedatei wird mit »CALL &BC7A« geschlossen, eine Ausgabedatei mit »CALL &BC8F«. Das eigentliche Programm finden Sie in den Zeilen 10090 bis 10180. Den anschließenden Demonstrationsteil benötigen Sie bei der Verwendung in eigenen Programmen natürlich nicht. Beachten Sie, daß der Zugriff auf sequentielle Dateien den Bildschirminhalt zerstört. Während des Ladens von Diskette (oder Kassette) darf der Bildschirminhalt nicht geändert werden. Dieter Braun/Matthias Rosin , HC ★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 113 millisecondes et consultée 718 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. |
|
|