APPLICATIONSPROGRAMMATION ★ GBASIC - 30 neue Grafikbefehle ★

GBasic (CPC Amstrad International)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 ★ 

Diese Programme ermöglichen die Generierung und Verwaltung von 30 neuen, als RSX eingebundenen Grafikbefehlen.

Bei der Programmierung dieser Befehlserweiterung wurde auf einen universellen Einsatz Wert gelegt. Knackpunkt bei dieser Erweiterung ist das einfache Verändern von Grafiken (z.B. spiegeln usw.). Vor allem sollten wirklich neue Befehle geschaffen werden.

Zunächst ihre Fähigkeiten:

  • Einlesen von Linien
  • Ausgabe von Linien
  • Variable Strichbreite
  • Verwaltung eines zweiten Bildschirmspeichers im RAM
  • Raster-Fill

Hier nun die Erklärung der Befehle. Zu erwähnen bleibt nur, daß eventuelle Fehler als abfangbarer ( → ON ERROR GOTO) SYNTAX-ERROR gemeldet werden. In der Anleitung steht ein ! für den geraden Strich vor einem RSX-Befehl und ein # für einen Klammeraffen. Buchstaben wie x/y hinter den Befehlen stehen als Platzhalter für Ausdrücke.

|TDRAW,x,y Zieht in Gedanken einen Strich von der aktuellen Grafikposition zur angegebenen Position x/y ( → DRAW). Nun holt sich der Computer die Farbinformationen der Punkte, die auf dieser gedachten Linie liegen, codiert sie und legt sie zur weiteren Verarbeitung in einen Buffer (Speicherplatz, —BUFFER), der 640 Bytes umfaßt, ab.

  1. GBASIC legt die Farbinformation (entspricht den Farbnum-mern) ab der Stelle 0 im Buffer ab.
  2. GBASIC zieht den Strich nicht immer von der aktuellen Grafikposition zur angegebenen, sondern genaugenommen immer von links nach rechts. So kann es Vorkommen, daß die Daten im Buffer genau spiegelverkehrt sind. (Abhilfe: → DREHE)

|TDRAWR , x , y Dasselbe wie bei TDRAW, nur daß die Koordinaten relativ zur aktuellen Position berechnet werden (→ DRAWR)

|WDRAW , x , y , Bufferpos. Dieser Befehl gibt die Farbinformation die im Buffer ist wieder als Linie auf dem Bildschirm aus. Hierbei zieht er eine Linie von der aktuellen Grafikposition zur angegebenen, legt aber jetzt nicht nur Punkte gleicher Farbe ab, sondern die Farben die im Buffer festgehalten sind. Der 3. Wert (< Bufferpos. >) gibt an. von welcher Stelle im Buffer an die Farben ausgelesen werden sollen. Dieser darf einen Wert von 0-640 annehmen. Auch hier zieht er immer von links nach rechts.

|WDRAWR , x , y, Bufferpos. Macht dasselbe die WDRAW, nur relativ.

|TWDRAW, x1,y1 , x2 , y2, x3 , y3 , x4 , y4 ,Bup Dieser Befehl kombiniert TDRAW und WDRAW.

  1. GBASIC liest eine Linie von x1/y1 nach x2/y2 in den Buffer ein.
  2. Die Farbinformation wird von x3/y3 nach x4/y4 ab Bufferposition Bup wieder abgelegt.

|BUFFER, < Bufferadresse > Legt den Buffer für T/WDRAW an die Adresse < Bufferadresse >. Bei T/WDRAW's wird nun der Buffer an dieser Stelle benutzt. Die Bufferadresse muß > &4000 (> 16384) sein. Doch einige Worte zu den Buffern bei GBASIC:

GBASIC reserviert 1280 (&500) Bytes als Buffer. Zum einen braucht er alle 1280 Bytes beim RASTER-FILL. T/WDRAW — Aktionen greifen auch auf diesen Buffer zurück. Das sind standardmäßig die unteren 640 Bytes, die oberen 640 können aber auch als 2. Aushilfsbuffer benutzt werden. Dieser kann mit diesem Befehl anselektiert werden. (Bufferadressen siehe GTUNER, Merkzettel).

|BEEK, < Bufferpos. >, #Integervariable Liest den Inhalt der angegebenen Bufferstelle (Buffpos. ,0-640) in die Variable ein. Hierbei wird die Farbinformation an dieser Stelle als INK-Farbstift (wie alle Farben sonst auch) angegeben.

  1. Die Variable muß vom Typ INTEGER sein (—DEFINT oder n%) und schon einen Wert haben. (z.B.1).
    Bsp . :v% =0:|BEEK , 1 , #v%:? v%

|BOKE, < Bufferpos. >, # Integervariable Legt die Farbnummer an der angegebenen Stelle im Buffer ab. Bsp.: |BOKE,1,1

|LEN, # < INT-Variable > Dieser Befehl übergibt eine Zahl (0-640) in die Integervariable. Für den Wert gibt es zwei Bedeutungen:

  • Nach TDRAW: Gibt die Bufferstelle
  • l an, an der die letzte Farbinformation abgelegt wurde.
  • Nach WDRAW: Gibt die Bufferstelle -1 der zuletzt ausgegebenen Farbinfomation aus.

Beachte: Richtige Übergabe der Variablen.

Bsp.: l%=0:|LEN , #l%:? l%

|ENG, < Eng-Zahl >, < Ink-Nummer > Dieser Befehl läßt die Farbinformation im Buffer zusammenrücken. Wie stark dies geschehen soll, hängt vom 1. Parameter ab. Je kleiner er ist, desto stärker wird der Buffer zusammengeschoben. Bei 1 als < ENG-Zahl > wird z.B. jede 2. Farbinformation verschluckt. Allgemein ergibt sich folgender Zusammenhang: Jede < Eng-Zahl > + 1 te Farbinformation wird verschluckt.

Hierbei wird hinten Bufferplatz frei, der mit der < INK-Nummer > aufgefüllt wird.

Bsp.: |ENG,2,0

|BREIT Hier geschieht das Gegenteil wie bei ENG. Der Bufferinhalt wird — vorgeschriebenermaßen — auf das doppelte aufgeblasen. Jeder Farbpunkt wird also verdoppelt.

|WANDEL, < 1.Farbe >, < 2.Farbe > ,A , L Dieser Befehl bearbeitet einen Teil des Buffers. Dieser Teil wird durch A und L beschrieben — dem »A«nfang und der »L«änge des Teilstücks. Diese Art der Teildefinition taucht auch bei anderen Befehlen wieder auf.

Der o.g. Bereich wird nach der 1. Farbe (INK-Farbnummer) durchsucht. Findet er die 1. Farbe, wird diese durch die 2. ausgetauscht und GBASIC sucht weiter.

Beachte: A und L dürfen zusammen nicht > 640 (&280) sein.
Bsp.: |WANDEL,1,2,0,640

  • Alle Farben 1 werden im gesamten Buffer zu Farbe 2.

|DREHE,A,L

Dreht den Teilbereich des Buffers (Anfang, Länge) um.

Bsp.: |DREHE,0,640

Dreht den gesamten Bufferinhalt.

|RECHTS,< Wieviel Punkte > , A , L Der Teilbereich wird um < Wieviel Punkte > nach rechts kopiert/verschoben.

  • Einen Befehl »LINKS« braucht man wegen des 3. Parameters bei WDRAW nicht.
  • Alle der Parameter müssen zusammen < 640 (&280) sein.

Bsp.: |RECHTS,10,0,630

— Verschiebt den gesamten Bufferinhalt um 10 Punkte nach rechts.

|FILL, < Farbe >, A,L Dies ist nicht der RASTER-FILL! Hier wird nur der Teilbereich (A,L) mit der < Farbe > aufgefüllt. Löschen des Buffers: |FILL,0,0,640

|VORNE , Anfang , Farbe , Flagge, # INT-Var Dieser Befehl durchsucht den Bufferinhalt von VORNE nach hinten, am ANFANG angefangen nach der FARBE. Die Stelle wird in der INTeger VARiablen übergeben. Wurde nichts gefunden, steht dort -1. Die FLAGGE gibt an, wie gesucht wird. Wenn:
FLAGGE=1: Die Farbe gefunden wurde FLAGGE=0: Eine andere Farbe gefunden wurde.
Bsp.: v%=0:|VORNE,0,1,0,#v%:? v%
Der Buffer wird von VORNE ab Stelle 0 nach einer FARBE < >1 (FLAGGE=0) gesucht:
Gefunden: v%=Stelle
Nicht gefunden: v%=-1

|HINTEN , Anfang , Farbe , Flagge, #IN-Var

Durchsucht den Buffer ab ANFANG von HINTEN aus. Die anderen Parameter sind gleich wie bei VORNE.
Bsp.: v%=0:|HINTEN,400,1,1,#v%:? v%
Der Buffer wird ab Stelle 400 von HINTEN nach vorne nach der Farbe 1 (FLAGGE=1) durchsucht.

|SCRDEF, < Adresse >

GBASIC erlaubt es, einen 2.Bildschirmspeicher im RAM zu verwalten. Dieser Befehl legt die Adresse für diesen fest.

  • Die Adresse muß > &4000 sein.
  • Der 2.Bildspeicher sollte durch MEMORY (→Handbuch) geschützt sein.

|SCR1 |SCR2

Diese beiden Befehle erlauben es, zwischen dem normalen Bildschirmspeicher (1, Anfang &C000,immer auf Monitor) und einem 2. Bildschirmspeicher (→SCRDEF, nie von alleine sichtbar) hin und her zu schalten.
|SCR1: Normalbildschirmspeicher
|SCR2: 2. Bildschirmspeicher Was heißt hier aber »schalten«?
Folgende Befehle beziehen sich nun nicht mehr auf den normalen Bildschirmspeicher, sondern auf den mit |SCR , < X > selektierten:
|TDRAW(R); |WDRAW(R); |TWDRAW;|PRASTER und auch:
DRAW(R);PLÖT(R);Textausgabe im TAG-Modus (→Handbuch, TAG, TAGOFF)
Bsp.: MODE 1
MEMORY &4FFF:|SCRDEF,&5000
|SCR2:MOVE 0,0:DRAWR 640,400
|SCR1

So wurde nun ein Strich im 2. Bildspeicher (ab &5000=20480) gemacht. Auf dem Monitor hat sich nichts geregt. Mit |REIN (→) kann nun der 2. Speicher hereingeholt und die Linie bewundert werden.

  1. Es darf keine Grafikausgabe mit IWIDTH auf dem 2. Bildspeicher geben!
  2. Ein Hardware-Scroll (verschieben des gesamten Bildschirmes nach oben oder unten) sollte vermieden werden. Es können Fehler auftreten.

|REIN (,L,R,O,U,X,Y)

Mit diesem Befehl kann man ein Bild (oder nur ein Teil davon) aus dem 2. Bildschirmspeicher in den normalen Speicher herREINkopieren. Hier gibt es zwei verschiedene Formen des Befehls:

a) REIN ohne Parameter: der ganze Bildschirmspeicher wird kopiert.

b) REIN mit 6 Parametern: Hier wird nur ein Teil-Rechteck kopiert. Aus einem beliebig gelegten Rechteck im 2. Bildschirmspeicher werden die Daten in ein gleich großes, aber auch beliebig platziertes Rechteck im 1. Speicher kopiert. GBASIC braucht also Größe und die beiden Positionen der Rechtecke oder Fenster (WINDÖWs). Das Fenster wird wie bei der WINDOW Angabe im Mode 2 definiert: »L«inks,»R«echts,»0«ben,»U«nten

Dies definiert Größe und Platz des Windows im 1. (normalen) Bildspeicher. Für das Fenster, aus dem die Daten kommen (das für den 2. Bildschirmspeicher), brauchen wir nur noch die Koordinaten der linken oberen Ecke:

'Y'-Koor.(1-25)
'X'-Koor.(1-80)

Beachte: Bei Hardware-Scroll gibt es Fehler und Verschiebungen.
Bsp.: |REIN,1,40,1,25,40,1

Holt die rechte Hälfte des Bildschirms aus dem 2. Speicher und kopiert ihn an die linke Hälfte im normalen Speicher.

|RAUS (L,R,O,U,X,Y) Dieser Befehl macht genau das gleiche wie REIN, nur wird hier vom normalen in den 2. Speicher RAUS- kopiert.

|CHANGE (L,R,0,U,X,Y) Dieser Befehl ist wieder ähnlich den Befehlen REIN/RAUS; so ist auch die Parameterauswertung gleich. Hier werden aber die Bildschirminhalte gegenseitig ausgetauscht. So wechselt z.B. CHANGE in Reinform die beiden Bildschirmspeicher aus. Das was im 1. Speicher sichtbar war, ist nun im 2. und umgekehrt ist der 2. Speicher nun sichtbar. Bei CHANGE gehen also keine Daten verloren, es wird nichts überschrieben.

|WIDTH,x,y Legt die Größe eines Grafikpunktes bei PLOT(R), DRAW(R), W/TDRAW(R), PRASTER und bei Textausgabe mit TAG fest. Die Größe des Grafikpunktes kann in X-(Breite) und Y-(Höhe)

Koordinaten festgelegt werden. Hiermit kann also die Strichstärke bei DRAW festgelegt werden (!). Wird als X-Koordinate 0 angegeben, so wird die WIDTH-Routine ausgeschaltet (Grafik mit IWIDTH,1,1 ist langsamer als abgeschaltete mit IWIDTH,0,0).

Beachte:

  1. Die WIDTH-Ausgabe darf nicht auf dem 2. Bildschirm erfolgen.
  2. Wenn der Grafikpunkt rechts oder unten über den Bildschirm hinausgeht, wird er links oder oben weitergeführt.
  3. Die Koordinaten sind physikalisch und modeabhängig:
    • Nullpunkt ist immer links unten
    • Y-Koordinaten von 0 bis 199
    • X-Koordinaten modeabhängig:
      MODE 0 0-159
      MODE 0-319 1
      MODE 0-639 2
  4. X- und Y-Koordinaten dürfen bei WIDTH 255 nicht überschreiten.
    Bsp. |IWIDTH, 160,199: PLOT 0,399,0 löscht im MODE 1 die linke Hälfte des Bildschirms.
    |WIDTH,3,3:MOVE 0,0:DRAW 640,400
    Zieht einen diag., dicken Strich

|ENCODE, < Farbnummer >, # < INTeger-Var > Kodiert die Farbnummer in eine Bitmaske und übergibt diese in die Variable. Die Bitmaske wild bei den Befehlen PRASTER und RFILL besonders wichtig bei der RASTER-Definition. Auch bei W/TDRAW's werden die Farben in dieser, übrigens in jedem Mode anderen Bitmaske, in den Buffer eingetragen.

|GMODUS, < 0-4 > Die Schneider haben verschiedene Grafikmodi bei PLOT/DRAW ... :
0: FORCE Mode Normalmodus
1: XOR Mode Invertiert
2: AND Mode
3: OR Mode

und bei GBASIC einen neuen:

4: »NORCE« Mode

Die Grafikmodi müssen unter GBASIC mit diesem Befehl angewählt werden! Veränderungen mit Steuerzeichenfolgen setzen GBASIC außer Gefecht. Der 4. Modus setzt Punkte wie bei FORCE (also normal), außer es wird mit der Farbe 0 geplotet, dann wird nämlich nichts getan. (→ »SHOW«)

Bsp.: |GMODUS,2 AND-Mode einstellen Nun ein umfangreicher Befehl:

|PFEIL, fl, fr, fo, fu ,ascii-links,-rechts,-oben,-unten ,wait, x-step,y-step,@X,@Y,@F Der Befehl läßt einen Pfeil in einem definierten Fenster durch Tastendruck bewegen. Die Routine braucht 3 INT-Variablen. Die Variablen X und Y geben die aktuelle Position an. Sie sind mit physikalischen Koordinaten anzugeben (—WIDTH). Wird die Routine durch Drücken einer falschen Taste, die nicht zur Pfeilsteuerung dient, beendet, so enthalten X und Y die akt. Koordinaten und F den ASCII- Code der zuletzt gedrückten Taste. Welche Tasten den Pfeil steuern, wird auch angegeben: ASCII-Links: ASCII-Code für Pfeil nach links bewegen ASCII-Rechts ...

Das Fenster, in dem sich der Cursor bewegen darf, wird durch 4 Parameter angegeben. Sie beinhalten physikalische Koordinaten:
fl: Fensterbegrenzung links
fr: rechts ; fo: oben ; fu: unten < Wait >, ein Wert von 0—255 erzeugt bei höheren Werten eine Verzögerung des Pfeils.
< X-step > & < Y-step > sagen, in wie großen Schritten der Pfeil in X- bzw. Y-Richtung bewegt wird.

Bsp.: MODE 1:DEFINT x,y,z:x=160:y=100:speed key 20,1: |PFEIL,0,319,199,0,242,243,240,241,0,2,2, #x, #y, #f läßt den Pfeil mit den Cursortasten ab der Bildschirmmitte auf dem ganzen Bildschirm bewegen. Eine andere Taste als die Cursorsteuerung bringt den Abbruch des Befehls.

|ZEIGE , x , y Bildet den Pfeil an der physikalischen Koordinate (→WIDTH) ab. Der Pfeil wirkt invertierend, d.h. einmal an einer Stelle dargestellt, kann er ohne den Hintergrund zu verändern, durch nochmaliges Setzen wieder gelöscht werden.

Bsp.: |ZEIGE,160,100:WHILE INKEY$=‘‘“

malt einen Pfeil und löscht ihn auf Tastendruck wieder.

|RFILL, #raster$ Dieser leistungsfähige Befehl, abgeleitet aus der FILL-Routi-ne im Schneider International (4/86), füllt eine beliebig begrenzte Fläche ab der akt. Grafikposition (mit »MOVE« gesetzt) mit einem bestimmten mehrfarbigen (!) Muster aus. Das Muster, auch Raster genannt, ist im String (in diesem Fall) raster$ enthalten. Das Raster baut normalerweise auf einer 12 xl2 großen Matrix auf. Die Matrixgröße kann in weiten Grenzen mit dem Programm »GTUNER« verändert werden. Einzige Grenze bildet die Stringlänge von 255 Zeichen, in denen die Farbinformationen des Rasters ja abgelegt werden müssen. Und so werden die Daten in den String abgelegt:

Zuerst 12 Mal (oder X-Breite bei anderer Größe) CHR$(1), dann Farbdaten, hier 144 Stellen (oder XY Stellen bei anderer Größe) dann wieder 12 Mal CHR$(1) (→ entspr.: STRING$(12,1)

Wie sind aber die Farbdaten (die 144 Stellen in der Mitte) genauer definiert? Wir gehen einmal davon aus, daß Sie ihr Raster kennen und evtl. schon auf einem karierten Stück Papier notiert haben. Die Farbdaten werden nun aus dem Raster von oben links nach unten rechts zeilenweise geLESEN (so, wie man liest!). Als Farbdaten meine ich die Farbnummer (oder INK-Stift) eines Punktes. Nun habe ich die Farbnummer meines Punktes, muß diese mit IENCODE in eine Bitmaske umwandeln und den erhaltenen Wert mit CHR$ an den String an-hängen:

a%=l(Farbnr.=l):IENCODE,a%, #a%:r$=r:$+chr$(a%) (→ RESIGNER)

Beachte:

  1. Stringübergabe mit Klammeraffen
  2. Ein in einem Mode generiertes Raster ist in anderen Modi nicht gleich.
  3. Bei Speicherknappheit oder sehr komplizierten Figuren läßt RFILL Lücken, die durch nochmaliges Füllen geschlossen werden können.
  4. Die Platzierung des Rasters ist nicht von der Startkoordinate beim Füllen abhängig!
  5. RFILL bleibt beim Füllen im Grafikfenster (→ ORIGIN; CLG)

|PRASTER , x , y, # raster$ Dieser Befehl platziert das Raster an die physikalischen Koordinaten x/y. Raster$ gibt das Raster an. (→ RFILL).
Nun aber zu den Listings (Li.):

Li.1:(GDATA) Dieses Programm liest GBASIC aus den Data's in den Speicher und paßt es automatisch an den Schneider, den Sie haben, an. GBASIC wird dann als Binärdatei »PROBE« abgespeichert. Auf diese Datei greifen nun Listing 2 und 3 zurück.
Li.2:(Gtuner):Mit diesen Listing kann GBASIC noch verändert werden. Hier die einzelnen Menüpunkte:

  1. GBASIC verschieben: Nach Eingabe der End- oder Anfangsadresse wird GBASIC dorthin verschoben. Die akt. End-und Anfangsadresse wird auch oben im Hilfsfenster angezeigt.
  2. Merkzettel: Hier werden, entweder auf Drucker oder Bildschirm, die wichtigsten Daten der aktuellen GBASIC-Version ausgegeben. So auch das Stringformat bei RFILL/PRASTER.
  3. Rastergröße: Hier kann die Rastergröße verändert werden. (→ RFILL).
  4. GBASIC abspeichem: Nach Eingabe des Dateinamens wird GBASIC auf Disk oder Kassette abgespeichert. Wenn man nun GBASIC in einem Programm benutzen will, ist folgendes ins Programm zu schreiben

MEMORY < akt. Anfangsadresse > -1
LOAD“ < Dateiname > “, < akt. Anfangsadr >
CALL

So kann sich jeder sein persönlich gebrauchtes GBASIC zusammenstellen.

Li.3:(SHOW) dieses Programm demonstriert die Fähigkeiten von GBASIC recht eindrücklich. Es muß nicht unbedingt abgetippt werden, dient nur zur Analyse von Programmtechniken mit GBASIC
Li.4:(RESIGNER). Zeigt nochmals den Aufbau eines Rasters als Programm.

GBASIC - INTERN

Hier möchte ich die grobe Funktionsweise des Programmes etwas erläutern. Das Programm entstand schrittweise. Zuerst T/W-DRAW, dann die Verwaltung des 2. Bildschirmspeichers und am Ende der Raster- Fill. Anfangs dachte ich nicht, daß GBASIC so groß werden würde, aber mir fiel schrittweise immer etwas neues ein.

GBASIC arbeitet bei fast allen Funktionen mit der SCR-Write In- direction. Wenn der CPC einen Grafikpunkt (oder mehrere) ausgeben will, so springt er an eine Adresse im RAM, die normalerweise auf den aktuellen Grafikmodus zeigt. Wird nun diese Adresse verbogen, was GBASIC des öfteren tut, so läuft jeder Punkt, der bei: DRAW / PLOT / Textausgabe mit TAG ausgegeben wird, über die eigene Routine.

  1. TDRAW. Der Punkt wird nicht gedruckt, sondern im Buffer festgehalten. Dies, während er eine Linie zieht.
  2. WDRAW. Der Punkt wird gesetzt, nur die Farbe wird aus dem Buffer geholt.
  3. Das Betriebssystem gibt den Punkt u.a. mit der Bildschirmspeicheradresse an. Beim Arbeiten mit dem 2. Bildspeicher wird also nur von dieser Adresse ein Wert abgezogen. Schon landet er im 2. Speicher.
  4. WIDTH. Anstelle eines kleinen Punktes, wird ein entsprechend großer gemacht.

Durch geschicktes Verbiegen der Adressen können diese Funktionen auch gemischt werden (z.B. WIDTH & WDRAW; TDRAW & 2. RAM usw.). Dann kann ich Ihnen nur noch gutes Programmieren und viel Spaß wünschen!

CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL-SONDERHEFT
★ AUTHOR: Dieter BRAUN
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» GBasic    (CPC  Amstrad  International-Sonderheft  5)    GERMANDATE: 2024-03-04
DL: 25
TYPE: ZIP
SiZE: 20Ko
NOTE: 40 tracks
.DSK: √

» GBasic    (CPC  Amstrad  International-Sonderheft  5)    LISTING    GERMANDATE: 2024-03-02
DL: 25
TYPE: PDF
SiZE: 5182Ko
NOTE: Supplied by archive.org ; 7 pages/PDFlib v1.6

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

Lien(s):
» Applications » Label Basic (CPC Amstrad International)
» Applications » Basic Compiler (Software-Team)
» Applications » Basic Program Status Window
» Applications » Ultra-Basic v2
» Applications » BBC Basic
» Applications » Extented Basic v1
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 039 millisecondes et consultée 152 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.