APPLICATIONSPROGRAMMATION ★ Gesteigerte Effektivität|CPC Magazin) ★

RSX Text-Basic (CPC Magazin)Applications Programmation
★ 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 ★ 

Über 60 neue Befehle bietet unser Topprogramm für Basic-Programmierer. Damit lösen Sie einige Ihrer Probleme ganz einfach.

Hauptanwendungsgebiete von "Text-Basic” sind die Text- und Datenverarbeitung. Das MC-Programm liegt als RSX-Erweiterung vor. Dies ermöglicht zwar ein größeres Anwendungsspektrum für den User, doch setzt die Handhabung der Befehle einige Kenntnisse voraus. So muß z.B. vor allen Integer-Variablen, die zur Abfrage eines Wertes benutzt werden, der Klammeraffe gesetzt werden. Das gleiche Verfahren ist bei den angegebenen Strings zu verwenden (s. DOS-Befehle). Auch ist wichtig, daß die Variablen bereits einmal definiert sind.

Zunächst sollen die einzelnen Befehle, aufgeteilt in acht Gruppen, erläutert werden. Später folgen dann noch einige Tips für eine effektivere Nutzung des Programms.

Die Pointer-Befehle

”Text-Basic” ist mit einem Pointer ausgestattet, wie man ihn bei GEM vorfindet. Der Bildschirm wurde dabei in ein logisches Koordinatensystem mit 80 Ansprechpunkten in der Breite und 200 in der Höhe eingeteilt. Dies dürfte für eine gelungene Menüführung genügen. Der Benutzer-Mode für den Screen ist 2.

|POINT.SET, x, y Setzt den Pointer intern auf die Bildschirmkoordinaten x, y. Dabei ist darauf zu achten, daß die linke obere Ecke den Koordinaten 0, 200 entspricht (s. logisches System).
|POINT.GET,
(@x%, @y%)
Obergibt die Pointer-Koordinaten in (@x%, @y%) hexadezimaler Schreibweise wahlweise dem Screen (0 Parameter) oder den Variablen x% und y%.
|POINT.ONBringt den Pointer an den internen Koordinaten auf den Screen.
|POINT.OFFLöscht den Pointer an den aktuellen Koordinaten. Der alte Hintergrund wird dabei wiederhergestellt.
|POINT.MOVEMittels dieses Befehls ist es möglich, den Pointer mit den durch IPOINT .CODE festgelegten Tasten zu bewegen. Beim Einschalten sind dies die Cursor-Tasten + COPY.
|POINT.CODE,
(links, rechts, oben,
unten, return)
I Legt die Codes für die |POINT.MOVE-Routine fest. Dabei werden ASCII-Codes verwendet. Der Befehl ohne Parameterangabe veranlaßt ihre Ausgabe in der gleichen Reihenfolge. Für den Joystick müßte der Befehl also |POINT.CODE, 8, 9,11, 10, 88 lauten.
|POINT.DELAY,
(wert%)
Legt den Verzögerungswert bei der |POINT.MOVE-Routine fest. Ohne Parameterangabe wird der aktuelle Wert ausgegeben.
|POINT.ADR, adr%Mit diesem Befehl kann die Adresse, an der die Daten zum Pointer liegen, verändert werden. So lassen sich die Pointer-Befehle schnell in Sprite-Befehle umwandeln. Der aktuelle Pointer liegt an der Adresse 94A0 hex und ist 16 x 16 Bit (2 Byte Breite x 16 Byte Höhe) groß. Abgespeichert ist er im Format von links nach rechts, dann die nächste Zeile.

Die Bank-Befehlsreihe

"Text-Basic” verwaltet zwei 80 Zeichen lange Banks, die sich hauptsächlich für die Textverarbeitung nutzen lassen, um z.B. aktuelle Zeilen zwischenzuspeichern. Bank 0 liegt an Adresse 9400 hex und Bank 1 an Adresse 9450 hex.

|WR.MEMORY,
ASCII-Wert, Bank
Füllt die angegebene Bank mit dem ASCII-Wert auf.
|CL.MEMORY, BankLöscht den Inhalt der angegebenen Bank.
|CHANGETauscht den Inhalt der Banks unter einander aus.
|LINE.SAVE, y%,y%Speichert eine Bildschirmzeile mit Bank der Y-Position  in der angegebenen Bank in voller Länge. 
|BNK.PRINT, y%, BankDruckt die Bank auf dem Bildschirm  bei 1, y% aus.
|PP.MEMORY, BankGibt die Bank auf dem Drucker aus.
Dabei ist auf den Treiber und die WIDTH-Größe zu achten.
|BNK.EDIT, x%, y%,Bank I Damit kann man die angegebene Bank auf dem Screen an der Position x%, y% editieren.
|STR.MEMORY,Links%, länge%,
Bank, @name$
Arbeitet ähnlich dem MID$-Befehl.  Hier wird ein String in die Banktrans- feriert. Dabei gibt links% die Position in der Bank an und länge% die zu übertragende String-Länge. Es ist auf eine genaue Anwendung der Parameter zu achten, da keine Überprüfung erfolgt.

Abfrage der Systemvariablen

"Text-Basic” bietet auch die Möglichkeit, viele Systemvariablen abzufragen. Es erweitert damit Basic und verhilft den Programmen zu mehr Effektivität. Werden bei diesen Befehlen keine Parameter angegeben, so erscheint der Wert hexadezimal auf dem Screen.

|G.ZONE, (@zone%)Gibt den Wert aus, der mit dem Ba-sic-Befehl ZONE eingegeben wird. 
|G.PEN,(@pen%) Übergibt die aktuelle Pen-Nummer in pen% oder dem Screen.
|G.PAPER,(@paper%) Übergibt die aktuelle Paper-Nummer in paper% oder dem Screen.
|G.BORDER, (@border1%,@border 2%)Übergibt die zwei möglichen Farben des BORDER-Befehis in border1% und border2% oder dem Screen.
|IG.WIDTH,(@width%)Übergibt die wählbare Druckerbreite, die für Textverarbeitungsprogramme nicht unerheblich ist, in width% oder dem Screen.
|GET.GCURSOR, (@x%, @y%)Übergibt die X- bzw. die Y-Koordinate des laufenden Grafik-Cursors.

Die User-Befehle

Die User-Befehle wurden eingerichtet, damit MC-An-wender ihre Routinen einfacher in den Befehlsvorrat von "Text-Basic” einbinden können. Dazu dienen ab Adresse 9D25 hex drei Patches. Hier muß der User dann nur noch einen JP + Adresse eintragen, und schon ist seine Routine eingebunden.

AdresseInhaltBefehl
9D25 hexDB &C9,00,00|USER1
9D28 hexDB &C9,00,00|USER2
9D2B hexDB &C9,00,00|USER3

Die Befehlsworte lauten also |USER1, |USER2 und |USER3.

Screen- und Grafikbefehle

|GRA.PEN, pen%I Setzt Pen für die Grafik.
|GRA.PAPER,paper%Legt Paper für die Grafik im Grafik- fensterfest.
|GRA.MODE, modus%I Legt die Verknüpfungsform von Grafik auf dem Screen fest. Dabei bedeuten
0: —> FORCE-Modus
1: —> XOR-Modus
2: —> AND-Modus
3: —> OR-Modus
|BNK.SET, adr%Speichert den Screen ab adr%.
|BNK.GET, adr%Lädt den Screen ab adr%. Hier ist darauf zu achten, daß der Offset (vergleichbar mit den Scroll-Vorgän-gen auf dem Screén) bei IBNK.GET gleich dem Offset bei IBNK.SET ist. Dies gilt auch für IBNK.CHANGE.
|BNK.CHANGE, adr%Tauscht den aktuellen Screen mit dem abgelegten Screen ab adr%.
|GET.SCR.ADR, x%, y%, (@var%)Übergibt die Adresse der durch x%  und y% festgelegten Koordinaten dem Screen bzw. in var%.
|TRIANGLE, x1%, y1%, x2%, y2%, x3%, y3%Zeichnet ein Dreieck mit den drei angegebenen Koordinaten.
|RECTANGLE, x%, y%, x1 %, y1 %Zeichnet ein Rechteck mit den Koordinaten x%, y% der X-Ausdehnung x1 % und der Y-Ausdehnung y1 %. Eine Farbe muß nicht angegeben werden.
|LINE, x1%, y1%,x2%, y2% Zeichnet eine Linie von x1%, y1% nach x2%, y2%. Dieser Befehl stellt eine Vereinfachung des PLOT: DRAW-Kommandos dar. 
|WIN.SAVE, adr%, links, rechts,  oben, untenI Mit einer der effektivsten Befehle von ”Text-Basic”. Mit ihm kann man bestimmte Bildschirmteile einfach in den Speicher schreiben (adr%) und später wieder einblenden. Die Parameter links, rechts usw. werden dabei genau wie die Parameter beim WINDOW-Befehl gehandhabt. Mögliche Einsatzgebiete der WINDOW-Befehle von "Text-Basic” wären eingeblendete Fenster (z.B. Pull-Down-Menüs oder Helpwindows). Ein entscheidender Vorteil liegt darin, daß man den alten Bildschirminhalt abspeichern, den neuen darauflegen und später den alten wiederholen kann. Bei der Handhabung dieser Befehle ist jedoch Vorsicht geboten, da das Programm bei unzulässiger Parametereingabe ab-stürzen kann.
|WIN.LOAD, adr%, links, rechts, oben, untenWie bei |WIN.SAVE, in diesem Falle aber laden.
|TXT.SCROLL, links, rechts, oben, unten, Status, FarbeI Veranlaßt ein softwarebedingtes Scrolling im Bildschirmbereich, der  durch die Parameter begrenzt wird. Ihre Eingabe erfolgt wie bei IWIN .SAVE. Eine Ausnahme bildet der Parameter Status. Status=0 scrollt den Screen um eine Cursor-Position nach unten, Status < >0 nach oben. Mit Farbe soll angegeben werden, weiche Kombination die nachrük-kenden Bytes annehmen sollen. 
|TXT.COPY Fertigt eine Kopie (Text-Hardcopy) des Screens auf dem Drucker an. Mögliche nichtidentifizierbare Zeichen (> 127 oder <32) werden dabei als CHR$(32) ausgedruckt.

Befehle zur String-Verarbeitung

|STR.EDIT, x%, y% , @name$ Editiert den angegebenen String an der Position x%, y%. Dabei werden später der String-Länge entsprechend viele Zeichen übernommen; sie wird also nicht verändert.
|GET.STRING,@adr%,@länge%,@a$ Übergibt den Variablen adr% und länge% die Adresse und die Länge des Strings a$. Dies ist besonders nützlich für das Transferieren von Strings in den Arbeitsspeicher einer Dateiverwaltung.
|STR.INVERT, x%, y%, @name$Gibt den String name$ an der Posi tion x%, y% invers aus. Einsatzgebiet sind Pull-Down-Menüs.

Speicherspezifische Befehle

|DOKE,adr%,wert%Double POKE. Legt den 16-Bit-Wert wert% ab adr% in der Form Low-Byte, High-Byte ab.
|DEEK, adr%Double PEEK. Gibt den ab adr% abgelegten 16-Bit-Wert in der Form Low-Byte, High-Byte hexadezimal auf dem Screen aus.
|BL.FILL, anfang%, länge%, wert%Füllt den Speicher ab anfang% mit der Länge länge% mit wert%.
|PR.PAGE,adr%,zeilen% Druckt auf dem Screen zeilen% Zeilen ab adr% aus. Ab adr% müssen also ASCII-Codes von Texten stehen.
|CL.PAGE,adr%, zeilen%Löscht zeiien% Zeilen im Speicher ab adr% mit CHR$(32). (SPACE)
|ADR.EDIT, adr%, änge%, x%, y%Bietet die Möglichkeit, den Speicher ab adr% an der Position x, y zu editieren. Dabei gibt länge% die Anzahl von Zeichen an, die später wieder in den Speicher übernommen werden sollen.
|DISPLACE, adr%, adr%+ länge%,adr2%Transferiert einen Block, dessen Anfang adr% und dessen Ende adr% + lätnge% ist. Übertragen wird der Block nach adr2%. Der zweite Parameter ist Länge + Anfang des Blocks, also das Quellblockende. 
|ADR.EXCHANGE, adr%, adr2%, länge%Tauscht einen Block mit der Länge länge% von adr% nach adr2% und umgekehrt. (Exchange-Funktion)
|PR.MEMORY,adr%,y%Druckt auf dem Screen eine Zeile ab adr% mit den Koordinaten 1, y% aus.
|PR.PAGE, adr%, zeilen%Gibt auf dem Drucker zeilen% Zeilen  ab adr% aus. Dabei sind die Hinweise zum Treiber des Printers und die eingestellte Druckbreite (WIDTH) zu beachten.

Sonstige Befehle

|WAIT, wert%Versetzt den Computer in einen Wartezustand. Je größer wert%, desto länger ist die Wartepause. Die Routine läßt sich, wie die meisten von "Text-Basic", mit ESC unterbrechen. Weiterhin werden die Interrupt-Routinen nicht angehalten. Nützlich ist dieser Befehl als Ersatz für Zeitschleifen è la FOR TO NEXT.
|ASK, @status% Dieser Befehl übergibt in die Variable status% den momentanen Druckerempfangsstatus. Dabei bedeutet:
Status = 0 -> nicht bereit
Status = 1 -> bereit
|RES.KBUFFERVeranlaßt eine Leerung des Tastatur-Buffers und ein Zurücksetzen der frei definierbaren Funktionstasten.
|CAPS.MODE, a%, b% Schaltet die CAPSLOCK- sowie die SHIFTLOCK-Funktion entsprehend an oder aus.
a%=CAPSLOCK
b%=SHIFTLOCK
a%=0 —> off  b%=0 —> off
a%=1 —> on b%=1 —> on
|OUTPUT, a%, b%Schaltet die Screen- und Druckerausgabe von ”Text-Basic” wahlweise an oder aus.
a% = Screen b% = Printer
a%=0—> off b%=0 —> off
a%=1 —> on b%=1 —> on
|CURSOR, a%Schaltet den Cursor bei INPUT- und INKEY-Abfragen an oder aus. a%=0 —> Cursor off a%=1 —> Cursor on
|SCRIPT.LOAD, adr%Die Script-Befehlsreihe erlaubt es, verschiedene Zeichensätze in ein Programm einzubauen und auch zu verwalten. Dabei gibt adr% an, von wo der neue Zeichensatz geladen werden soll. An dieser Adresse muß dann ein Zeichensatz mit 1792 Byte ((255-32)*8) stehen. Gemeint sind die Symbolwerte von CHR$(32) bis CHR$(255). Zuvor muß ein SYMBOL AFTER 32 eingegeben werden, da sonst ein "Improper Argument” folgt.
|SCRIPT.SAVE, adr% Speichert den aktuellen Zeichensatz nach adr% ab. (s. SCRIPT.LOAD)
|SCRIPT.INITNotbremse bei der SCRIPT-Befehlsreihe. Holt den Originalzeichensatz aus dem ROM.
|INSTALLNotbremse von "Text-Basic”. Es initialisiert sich bei diesem Kommando neu, was aber nicht heißt, daß das Programm immer zu retten ist. Meistens hilft dieser Befehl jedoch, unkorrekte Werte wieder zu retten. (MONITOR, anf%, Eine Monitorroutine, mit der es mögende0/), status% lieh ist, den Speicher ab anf% bis ende% in hexadezimaler und ASCII-Schreibweise zu listen. Nach jeder Bildschirmseite hält das Programm an. Bei Druck auf ENTER oder ESC bricht die Routine ab, und es wird in den Ready-Modus gesprungen; ansonsten setzt sie ein beliebiger Tastendruck fort. Bei diesem Befehl gibt status% die RAM/ROM-Konfi-guration an. Der Wert status% reicht von 0 bis 3. Dabei bedeuten:

StatusKonfiguration
0 ROMROM on
1 RAMROM on
2 ROMRAM on
3 RAMRAM on

|SPEED.WRITE, wert%Setzt die Cassettenrecorderge-wert% schwindigkeit auf einen fast beliebis gen Wert.

wert%Baud-Rate
00500
11000
21500
32000
42500
53000
63500

|SET.TIMESetzt die Basic-Variable TIME auf. den Wert Null.

Text-Basic-Fehlermeldungen

”Text-Basic" überprüft in den meisten Fällen die Parameter, die vom User übergeben werden. Bei den WINDOW-Befehlen und |STR.MEMORY geschieht dies jedoch nicht. Man sollte also darauf achten, daß nicht nur die Anzahl der übergebenen Parameter korrekt ist, sondern auch der Wert, den sie übermitteln. Falls nicht, so wird eine Fehlermeldung ausgegeben und in den Ready-Modus zurückgesprungen. ”Text-Basic” verwaltet folgende Fehlermeldungen:

  • Error in Sie haben einen fehlerhaften Wert
  • RSX-Parameters oder eine fehlerhafte Anzahl von Parametern übergeben.
  • Bank notfound Sie haben bei der Bank-Befehlsreihe versucht, eine Bank anzusprechen, die nicht existiert. Mögliche Werte für die Banks sind nur 0 und 1. Eine Korrektur des Parameters bringt Abhilfe.

Text-Basic intern

Daten zu Text-Basic
MC-Start 94A0 hex
Memoryab93FF hex (notwendig)
MC-Ende A669 hex
Pointerab94A0 hex  Länge 32 Byte
Bank0ab9400 hex Länge 80 Byte
Bank1ab9450 hex Länge 80 Byte
DruckercodesabA5FC hex Länge 96 Byte
SteuercodesabA5EC hex Länge 16 Byte
Einsprungadresse94E0 hex (CALL-bzw. RSX-Aufruf)

Der Text-Basic-Druckertreiber

"Text-Basic” ist mit einem recht komfortablen Druckertreiber ausgestattet. Insgesamt kann es maximal 16 Schriftarten gleichzeitig verwalten. Da diese jedoch an-bzw. ausgeschaltet werden müssen, sind aber nur acht möglich. Jede Schriftart kann hier als Steuersequenz für den Drucker maximal 6 Byte im Speicher belegen. Damit können sie auch gemischt werden. Die einzelnen Schriftarten sind über spezielle Steuercodes aufzurufen. In der folgenden Tabelle stehen zuerst die Adresse der Steuersequenz, dann der Aufrufcode, gefolgt von den richtigen Codes, die später Verwendung finden.

Adresse
(hex)
CHR$(x)
Aufrufcode
BezeichnungSteuersequenz (6 Byte)
A5FC220NLQon120 01 00 00 00
A602221NLQoff27 120 00 00 00 00
A608222Eliteon27 77 00 00 00 00
A60E223Eliteoff27 80 00 00 00 00
A614208Superon27 83 00 00 00 00
A61A209Superoff27 00 00 00 00 00
A620210Subon27 83 01 00 00 00
A626211Suboff27 84 00 00 00 00
A62C212Italicon27 52 00 00 00 00
A632213Italicoff27 72 00 00 00 00
A638214fetton27 69 00 00 00 00
A63E215fettoff27 53 00 00 00 00
A644199doppelte Breiteonon27 87 00 00 00 00
A64A197doppelte Breiteoffoff27 45 00 00 00 00
A650196schmalon27 15 00 00 00 00
A656198schmaloff27 18 00 00 00 00

Die Codes sind in der Standardformation auf den DMP-2000 zugeschnitten. Eine Anpassung an andere Druckertypen dürfte aber aufgrund der gegebenen Informationen keine größeren Schwierigkeiten bereiten. Die Druckercodes dürften noch weniger Probleme machen (s. "Text-Basic”-Demo).

Stößt das Programm beim Ausdrucken eines Textes auf eines der angegebenen Steuerzeichen, so werden statt-dessen die ihm zugeordnete Druckersequenz und ein CHR$(32) (SPACE) ausgegeben. Ein Ersatzzeichen läßt sich auch hier frei wählen. Sein ASCII-Code (normal 32 für CHR$(32)) steht im Programm an der Adresse 9F9E hex. Bei allen Drgckroutinen von "Text-Basic” wird auf diese Steuerzeichenmethode geachtet.

Hinweise zum Abspeichern von Text-Basic

  1. Starter abtippen und auf Cassette 1 speichern
  2. MC-Generator abtippen und auf Cassette 2 speichern
  3. Cassette 1 einlegen und mit RUN starten

Nun wird der Maschinencode hinter dem Starter abgespeichert. Sie können auch noch das Demo abtippen und hinter dem MC ablegen.

Allgemeine Hinweise

Bei den meisten Befehlen, die mit dem Screen zu tun haben, wird auf den Mode geachtet, d.h., daß abhängig vom Bildschirmmodus die benutzte Breite des Ausdrucks oder des Einlesens entweder 20, 40 oder 80 Zeichen beträgt. Dies ermöglicht die Verwendung verschiedener Modi. Beim Drucker wird auf diese Technik aber keine Rücksicht genommen. Er gibt immer 80 Zeichen pro angegebener Zeile aus!

”Text-Basic" kann nur im Benutzermodus 1 (40 Zeichen/ Zeile) und 2 (80 Zeichen/Zeile) arbeiten. Außerdem sollte man bei Befehlen, die einen zuvor benutzten rückgängig machen (z.B. IWIN.SAVE und IWIN.LOAD) darauf achten, daß man denselben Modus benutzt hat. Am günstigsten ist sowieso Mode 2, da sich hier eine Dateiverwaltung oder Textverarbeitung mit Editor viel besser realisieren lassen. Man erspart sich in Verbindung mit "Text-Basic” auch eine Menge unnötiger Rechnerei.

Weiterhin funktioniert der Pointer nur in Mode 2. Sprites lassen sich selbstverständlich auch im anderen Mode verfassen, man muß sich dazu aber mit dem Bildschirmaufbau genauestens auskennen.

Noch ein Tip zu den Pointer-Befehlen: Der Pointer ist nicht auf einen bestimmten Bildschirmbereich beschränkt; dies wäre nur auf Kosten der Geschwindigkeit möglich gewesen. Man sollte, da es sonst zu Fabelwerten bei der |POINT.GET-Routine kommt, nicht aus dem Original-Screen fahren.

Auf Cassetten-Speicher- und Laderoutinen wurde bewußt verzichtet, weil dies nur den Programmablauf verlangsamt hätte. Man kann ja mit SAVE "Dateiname”, b, Anfang, Länge seine Texte von Basic aus direkt mit Angabe der Adressen abspeichern. Die |SPEED.WRITE-Routine ist ausreichend schnell.

Hier und da wird man im Zusammenhang mit "Text-Basic” allerdings auf Versuche angewiesen sein. Eine detailliertere Erklärung würde den Rahmen dieses Artikels sprengen (Quellenangabe: Intern für den CPC 464, erschienen im Verlag Data Becker).

Text-Basic-Demo

Dieses Programm soll in etwa die Möglichkeiten von "Text-Basic" wiedergeben. Besonderer Wert wurde hierbei auf die Verdeutlichung der Menüsteuerung gelegt. Dem User müßte es damit möglich sein, seine Menüs in eigene Programme zu integrieren.

Die Beschreibung ist relativ einfach, da fast ausschließlich mit "Text-Basic”-Routinen gearbeitet wurde. Anzuklik-ken sind Objekte in der rechten unteren Ecke. Dies ist bei allen Menüteilen so.

Es besteht die Möglichkeit, entweder die internen Drukkercodes zu ändern (Menüpunkt: PRINTER) odereine kleine Grafikdemo (Menüpunkt: START DEMO) ablaufen zu lassen. Die weitere Benutzung der einzelnen Abschnitte erklärt sich von selbst. Außerdem kann man noch verschiedene Druckercode-Typen erstellen, um sie dann zu laden oder abzuspeichern. Dies ist besonders bei einer Diskettenstation sehr nützlich, da sich dann verschiedene Druk-kercode-Typen per Diskette nachladen lassen. Man ist somit in der Lage, auf nahezu unendlich viele Druckercodes zurückzugreifen.

Der Pointer muß mit dem Joystick bedient werden, was jedoch sehr einfach zu ändern ist (s. Anleitung). Verlassen wird das Programm über den Menüpunkt LEAVING. Nach dem Aufruf von PRINTER und anschließend EX erscheint ein Untermenü. Das folgende erklärt sich von selbst.

Michael Arndt , CPC Magazin

★ PUBLISHER: CPC Magazin
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ TAG: /RSX/PRINT/NLQ/
★ LICENCE: LISTING
★ AUTHOR: Michael Arndt

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-Text-Basic    (CPC  Magazin)    GERMANDATE: 2020-06-13
DL: 37 fois
TYPE: ZIP
SIZE: 8Ko
NOTE: 40 Cyls
.HFE: NON

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Richard Aplin Cruncher Frontend
» Applications » Max Desktop
» Applications » Arkos Disk Writter v1
» Applications » Arkos - Writedsk
» Applications » Speedmaster
» Applications » Home Computer - High Speed Utility

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 235 millisecondes et consultée 308 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.