APPLICATIONSDIVERS ★ Pagemaker Directory ★

Pagemaker Directory/Directory Pagemaker (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 ★ 

Cliquez sur l'image pour l'agrandir

Dem Directory an den Kragen

Ladeanweisungen per CAT auf dem Bildschirm!? Zauberei?! Nein, durch eine kleine Software-"Trickserei" wurde dieses Kunststück erreicht. Wir zeigen Ihnen, wie das möglich ist.

Grundlagen

Um das System, mit dem gearbeitet wird, zu verstehen, muß man sich erst einmal die Funktionsweise des CAT-Befehls klarmachen: Zuerst werden die vier Sektoren in den Speicher gelesen, dann gemäß dem aktuellen USER aussortiert. Sie können also theoretisch zu jedem USER eine Ladeanweisung erstellen. Nun werden die übriggebliebenen Dateinamen alphabetisch geordnet und der aktuelle Bildschirmmodus ermittelt, demzufolge wird errechnet, wie viele Dateinamen auf dem Bildschirm nebeneinander dargestellt werden können. Damit Sie nun Ihre Dateinamen in gewohnter, sortierter Reihenfolge begutachten können, müssen sie entsprechend ausgegeben werden. Gehen wir zum Beispiel von MODE 2, also von vier Spalten, für das Directory aus. Nehmen wir auch einmal an, daß 16 Dateinamen auszugeben sind, dann stehen in der ersten Spalte Nummer 1 bis 4, in der zweiten 5 bis 8 usw. In der ersten Zeile aber werden nebeneinander die Nummern 1, 5, 9 und 13 ausgegeben! Das Betriebssystem leistet also einiges bei der Ausführung des CAT-Befehls.

  • CALL für lesen : &A007
  • CALL für schreiben : &A01C
  • Buffer für Drive : &A100
  • Buffer für Track : &A101
  • Buffer für Sektor-ID : &A102
  • Buffer für Buffer (L): &A103 (H) : &A104

Tabelle I: CALL-Befehle. die im Pacemaker benutzt werden

Der Trick:

Will man sich über dieses System hinwegsetzen, so muß man zu einem Trick, nämlich zu den Steuerzeichen, greifen: Vor jedes Textstück, die ja alphabetisch sortiert werden, einen LOCATE-Befehl setzen, damit die tatsächliche Darstellungsfolge gleich ist. Durch den LOCATE-Befehl gehen natürlich bei jedem Directory-Eintrag von elf (acht und drei) drei Zeichen (Steuerzeichen für LOCATE, x-,y-Koordinate) verloren. Doch es kommt noch schlimmer: CAT gibt nach dem achten Zeichen des Namens einen Punkt aus, der die drei Zeichen der Extension abtrennt. Um diesen Störenfried zu entfernen, wird der Cursor nach dem Punkt ein Zeichen zurückgesetzt (CHR$(8)), damit ersterer einfach überschrieben wird. Somit ist auch das neunte Zeichen vergeben und übrig bleiben sieben. Richtig! CAT teilt einem ja auch die Länge einer Datei in kByte mit. Diese Mitteilungen zu überschreiben, wäre zu kompliziert. Man muß also deren Darstellung verhindern: CHR$(21) schaltet den Bildschirm ab, CHR$(6) wieder an. Das letzte Zeichen eines jeweiligen Eintrags schaltet den Bildschirm ab, das erste des nächsten schaltet ihn wieder an. Es bleiben also noch fünf Zeichen, die genutzt werden können. Nun kommt noch der Luxus, der auch nicht vergebens ist! Will man nämlich verschiedene PEN-Farben benutzten, so reicht eine einmalige PEN-Anweisung nicht aus, denn Silben vorhergehender Wörter, die aufgrund der alphabetischen Sortierung genausogut erst viel später ausgegeben werden können, würden sonst ebenfalls mit der neuen PEN-Farbe dargestellt werden. Bei dem Silbensalat, der beim Pagen entsteht, wäre das Ergebnis sicher zu bunt! Man kann demzufolge nicht umhin, das PEN-Kom-mando in jeden Directory-Eintrag unterzubringen. Fünf minus zwei macht drei! Von den ursprünglich elf Zeichen verbleiben drei, die für den tatsächlichen Text zur Verfügung stehen. Aus diesem Grunde werden Sie auf einer Diskette nicht 16 oder mehr komplette Bildschirmseiten unterbringen, ebensowenig wie auch nur eine Seite auf einer Diskette, die nur noch zirka zehn von den 64 Einträgen frei hat.

Das Programm

Das Programm generiert zuerst ein kurzes Maschinenspracheprogramm. das für das Lesen und Schreiben von Sektoren zuständig ist (siehe Tabelle 1). Nach dem Bildaufbau wird die zu bearbeitende Diskette in Laufwerk A: angefordert, ihre Formatierung festgestellt und die vier Sektoren, die das Directory enthalten, werden in den Speicher ab Adresse &9000 geladen. Nun sucht das Programm freie Directory-Einträge und fragt nach der Usernummer, die den erstellten Einträgen vorangestellt werden soll (0 bis 255). Bei den nun folgenden Parameterabfragen sind optionale mit einer vorherigen J/N-Frage versehen. Wollen Sie den betreffenden Parameter nicht verändern, so drücken Sie "N". Die erwarteten Parameter sind jeweils angegeben. Bei Farbfunktionen.

die zwei INK-Farben erlauben, ist die zweite (in eckigen Klammern) optional, das heißt, sie muß nicht angeben werden. Zwischen den einzelnen Parametern ist ein Leerzeichen und kein Komma zu setzen. Bitte beachten Sie beim LOCATE-Kommando, daß die Spaltenanzahl vom gewählten MODE abhängig ist. Im unteren Fenster werden die momentan freien Plätze angezeigt. Während der Texteingabe läuft nur die Anzeige für freie Zeichen zur Kontrolle mit.
Wollen Sie keine weitere Testzeile eingeben und die erstellte Seite abspeichern, so geben Sie bitte erneut beliebige PEN-und LOCATE-Parameter, allerdings keinen Text ein. Wird ein "leerer" Text übergeben, so verzweigt das Programm zum Abspeichern. Wollen Sie Cursorposition oder PEN-Farbe verändern, so beginnen Sie bitte eine neue Textzeile. Und nun wünschen wir Ihnen viel Spaß mit "Pagemaker".

CD, CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1989
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1989
★ AUTHOR: Ulli Reif
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Pagemaker  Directory    (CPC  Amstrad  International)    GERMANDATE: 2012-12-27
DL: 333
TYPE: ZIP
SiZE: 6Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Applications » Envelop
» Applications » Coluch
» Applications » Piramide Demografica
» Applications » Rsx - Hardcopyroutine Fur Den Prasident 6313 (CPC Amstrad International)
» Applications » Ferret
» Applications » Recherche Documentaire (CPC Revue)
Je participe au site:
» 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
Page créée en 166 millisecondes et consultée 1582 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.