APPLICATIONSDIVERS ★ MOUSE BASIC (CPC AMSTRAD INTERNATIONAL) ★

Mouse BASIC (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 ★ 

Hatten Sie nicht schon immer mal das Bedürfnis, Ihre alte Adressverwaltung ein wenig »aufzumotzen« und ein modernes, anwenderfreundliches Pull-Down-Menue einzubauen? Das sollte jetzt kein Problem mehr sein, denn in dieser Ausgabe finden Sie das komfortable Mouse BASIC, welches Ihnen eine Reihe von RSX Befehlen zur Verfügung stellt, ohne die Sie in Zukunft Ihren Rechner gar nicht mehr einschalten wollen.

Mouse BASIC basiert auf einem Zeiger, der mit dem Joystick gesteuert wird. Ein MC Interrupt fragt den Joystick ständig ab, kontrolliert und bewegt diesen auch. Der Benutzer braucht sich letztendlich nicht um die Bewegung des Zeigers zu kümmern. Er muß nur den Interrupt mittels eines Befehls einhängen. Natürlich läßt sich dieser Interrupt auch jederzeit per Befehl wieder ausschalten. Die Text- und Grafikkoordinaten des Mauszeigers können jederzeit abgefragt werden. Sie stehen in festgelegten Speicherstellen.

Pull-Down-Menues

Zur Definition der Pull-Down-Menues muß sich der Benutzer zunächst eine Statuszeile entwerfen, in der die Titel bzw. Überschriften der Menues stehen. Diese Titel befinden sich an festgelegten Positionen innerhalb der Statuszeile. Diese Zeile ist zugleich auch die oberste Zeile des Bildschirms. Die Titel dürfen maximal 10 Buchstaben lang sein. Insgesamt können 6 Menues angelegt werden, die jedoch nicht alle benutzt werden müssen. Erster Schritt ist also das Printen von bis zu 6 Titeln in der ersten Bildschirmzeile. Danach werden die Menueeinträge festgelegt. Diese werden vom Benutzer durch spezielle Befehle mitgeteilt. 5 Einträge pro Menue sind möglich. Maximal können also 30 Menuepunkte angesprochen werden, was für die meisten Anwendungen ausreichen sollte. Die Umrandung des Windows paßt sich automatisch der Anzahl der Menueeinträge an.

Hat man dies alles erledigt, kann man auch schon die fertigen Menues per Befehl darstellen.

Uber RSX-Befehl wird ein MC-Programm aufgerufen, welches das Menue einblendet, den Mauszeiger abfragt, die Auswahl steuert und das Menue danach wieder verschwinden läßt.

Der Hintergrund wird selbstverständlich gespeichert und geht nicht verloren. Der Benutzer kann nun mit dem Menuepfeil die verschiedenen Einträge anwählen. Das Ganze läuft wie unter GEM ab.

Je nach Position des vom Anwender gesteuerten Pfeils wird ein Eintrag invers dargestellt. Entscheidet man sich für einen Menuepunkt, so muß man lediglich noch den Feuerknopf drücken. Das Fenster verschwindet und der Hintergrund wird wieder aufgebaut.

Der Pfeil bleibt erhalten und kann selbstverständlich weitergesteuert werden, da er zeitsparend über den Frame Fly Interrupt kontrolliert wird. Nach der Menueabfrage fahrt das BASIC-Programm fort. Hier kann man nun feststellen, was angewählt wurde und mit ON...GOTO weiterverzweigen.
Beschreibung der Befehle
Alle Befehle sind RSX-Befehle und müssen durch voranstellen von [SHIFT@] gekennzeichnet werden.

1. |PUTB1, (bis zu 5 String variablen)
(PUT BOX 1)

Dieser Befehl definiert die Einträge für Pull-Down-Menue:

1. Jeder String muß 10 Zeichen lang sein, eventuell mit Leerzeichen auffüllen.

2. PUTB2, PUTB3, PUTB4, PUTB5, PUTB6 (siehe PUTB1)

3. |ONMOUSE

Darstellen des Mauszeigers und Einhängen des Interrupts. &9000 : An dieser Speicherstelle schreibt der Interrupt ständig, in welchem Menuesegment sich der Mauszeiger befindet. Bei 0 liegt der Zeiger außerhalb der Statuszeile, bei 1—6 befindet sich der Zeiger in der entsprechenden Menueüber-schrift.

&9004 : An dieser Stelle steht ob der Feuerknopf gedrückt wird.

&9004 = 0 : Feuerknopf aus
&9004 = 1 : Feuerknopf ein

4. |OFFMOUSE

Löschen des Mauszeigers und Aushängen des Interrupts.

5. |GETKO

Es werden die Textkoordinaten des Mauszeigers ermittelt und im Speicher abgelegt.

Adresse &9002 = X-Koordinate Adresse &9003 = Y-Koordinate

6. |GETGKO

Es werden die Grafikkoordinaten ermittelt und im Speicher abgelegt.

Adresse &9005 = LOBYTE X-Koordinate
Adresse &9006 — HIBYTE X-Koordinate
Adresse &9007 = LOBYTE Y-Koordinate
Adresse &9008 = HIBYTE Y-Koordinate

7. |WINDOW,WERT (WERT = 1-6)

Stellt das Menue mit der entsprechenden Nummer dar, steuert die Auswahlfunktion und legt die Nummer des gewählten Eintrags bei &9001 ab.

Textkoordinaten für den Menuetitel

LOCATE 6,1 = 1.Titel
LOCATE 18,1 = 2.Titel
LOCATE 30,1 = 3.Titel
LOCATE 42,1 = 4.Titel
LOCATE 54,1 = 5.Titel
LOCATE 66,1 = 6.Titel

CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEARE: 1986 , 1987
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1987
★ AUTHOR: Markus Wegmann (Wegiware)

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Mouse  BASIC    (CPC  Amstrad  International)    GERMANDATE: 2021-08-12
DL: 146
TYPE: ZIP
SiZE: 9Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Hardware » CPC-MousePack
» Hardware » Puricorp StarMouse
» Hardware » DK'Tronics Mouse Interface (464 & 6128)
» Applications » Keymouse (CPC Amstrad International)
» Hardware » Datel - Genius Mouse
» Applications » Firmware: mouse support ROMs
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/c
Page créée en 289 millisecondes et consultée 1466 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.