Versionen des cpc4x:       (c) 1999, Ulrich Cordes
====================

Version 001:               24.3.99
------------

- Grundgerst Makefile

- erste Schritte mit der Z80-Emulation von ....   http://www.......

- Memory-Operationen nur 64 k RAM! Kein ROM o..

- Erste Bildschirm-Versuche mit X11. Nachbildung des Bildschirmspeichers
  und der Bilddarstellung in Mode 1, dabei einen Screenshot der Einschalt-
  meldung des CPCs mit XDrawPoint (...) ausgeben.

Das reicht fr die erste Version



Version 002:               26.3.99
------------

Noch keine CPC-ROMs. Ein kleines Testprogramm, welches einen Snapshot vom
Startbildschirm des CPCs ausgibt ist schon alles.


- Die Funktion XDrawPoint ist sehr langsam, daher wird jetzt CPC-Screen
  als Image erzeugt und bei Expose sowie bei Bedarf mit XPutImage (...)
  ausgegeben.

- Border (Hauptfenster etwas grer als Image)

- Schneller Bildaufbau durch die Gewinnung von X,Y aus einer Tabelle, statt
  wie bisher durch komplizierte Berechnung.

 ..... bisher geht allerdings immer noch nur MODE 1 mit den beiden Farben
    Gelb auf blauem Grund, mehr nicht!



Version 003:               29.3.99
------------

Erste Erfole, das System-ROM sowie das BASIC-ROM des CPC 464 einzubinden.
Der emulierte CPC hngt jedoch in einem Dauer-Reset. Nach der Einschalt-
meldung kommt kein READY sondern ein der Reset.

- Die 16-Bit-IN/OUT-Makros der Z80 Emulation in CodesED.h auf wirkliche
  16 Bit erweitert. 

 ..... bisher geht allerdings immer noch nur MODE 1 mit den beiden Farben
    Gelb auf blauem Grund, mehr nicht!




Version 004:               31.3.99
------------

- Die Anpassung der Makro-Aufrufe zu den Z80-IN-Befehlen in den CodesED.h 
  wurde in der Version 003 von mir fehlerhaft beseitigt. 

- An statt die Aufrufe des Makros in CodesED.h mute das Makro in der
  Codes.h selbst verbessert werden.

- In der mem.h wurde das RdZ80 so korrigiert, da bei einem eingeschaltetem
  ROM 0 das BASIC-ROM ausgelesen wurde und nich wie bisher bei ROM-Nr. 252-255.

Jetzt funktioniert die Emualtion bis zur READY-Meldung





Version 005:               05.4.99
------------

- Der Emulator fhrt jetzt 13333 Befehls-Zyklen aus, bis er die Funktion
  LoopZ80() anspringt. Diese Anzahl erhlt man aus

     BefZykl = SystemTakt / IntFreq

     ===> 4.000.000 / 300

- In der Funktion LoopZ80 wird jetzt die Event-Steuerung des Emulators
  durchgefhrt. Dabei wird die Tastatur ausgewertet und die entsprechenden
  Zeichen an die emulierte Tastaturmatrix geschickt (es gehen noch nicht
  alle Tasten!!)

- Der Emulator ist um einen 50 Hz-Timer ergnzt worden. Dieser wird mit
  jedem 6. Aufruf von LoopZ80() dazu benutzt, den Emualtor in Echtzeit 
  zu synchronisieren. Im allgemeinen kann davon ausgegangen werden, da
  der emulierte CPC (wesentlich) schneller luft als das Original, so da
  der Timer mit jedem 6. LoopZ80()-Aufruf dazu benutzt wird, die Emulation
  zu verzgern. Fr den Anwender scheint die Emualtion demnach in Echtzeit
  zu laufen.

- Mit dieser Version knnen kleine Basic-Programme eingegeben und gestartet
  werden.

Bisher geht immer noch nur Mode 1, dabei hat ein Hochscrollen des Bildschirms
fatale Folgen auf die Bilddarstellung.

Noch keine Floppy-Untersttzung, keine Tape, es funktionieren nur die wichtig-
sten alphanumerischen Tasten.

Ansonst war es bis hierhin ein groer Schritt.




Version 006:               22.4.99
------------

- Der Emulator kennt jetzt alle drei Bildschirm-Modis und Farbe.
  Dabei hat mir Tim Riemann etwas unter die Arme gegriffen. 
  Es wird etwa 10 mal je Sekunde geprft, ob sich die Farbregister
  des Gate-Arrys verndert haben, und wenn dies der Fall ist, wird  der
  Bildschirm neu gezeichnet. Dies bedeutet, da in dem Fall der Bildschirm
  Pixel fr Pixel neu dargestellt wird.
  Die Einschrnkung auf etwa 10 Farbwechsel je Sekunde ist notwendig, 
  damit der Emulator berhaupt noch luft. Natrlich ist die Bilddarstellung
  bei Spielen, die mit einem hochfrequenten Farbwechsel die Farbauflsung
  erhhen, optisch nicht mehr so ansprechend.

Bisher geht immer noch kein Hardware-Scrolling. Da mache ich mich jetzt aber
schleunigst dran.

Noch keine Floppy-Untersttzung, keine Tape, es funktionieren nur die wichtig-
sten alphanumerischen Tasten.

Aber richtig gut schaut er schon aus, der kleine.





Version 007:               20.6.99
------------

In dieser James-Bond-Version ist es nun endlich gelungen, das langersehnte .....

.... HARDWARE-SCROLLING zu realisieren!!!

Jetzt mache ich mich an die Floppy-Funktionen, damit's hoffentlich bald ein
echter CPC 464 wird.


Version 008:               10.10.99
------------

Nach langen Nchten sind nun endlich auch Diskettenzugriffe implementiert.

Mit den Funktionstasten F3 und F4 knnen nun die vom CPCEMU V 1.x her bekannten
Disketten-Images ausgewhlt und "eingelegt" werden. 

F3 fr Laufwerk A:  und F4 fr Laufwerk B:


Version 009:               14.10.99
------------

Der Emu kann jetzt 128 kByte RAM verwalten.


Version 010:               17.10.99
------------

CP/M Plus luft einigermaen stabil.


Version 011:               04.11.99
------------

Dialoge fr Setup und Disk-Image-Auswahl mit Hilfe von TCL/Tk realisiert.
Hierbei wird die Oberflche nicht direkt in das C-Programm eingebunden, sondern
einfach das TCL/Tk-Skript mit Hilfe der TCL-Shell "wish" aufgerufen.
Ausgewhlte Dateinamen und Parameter werden Dialog-Handledateien gegenseitig
bergeben. Ist TCL/Tk nicht installiert, wird ein normaler Textdialog 
durchgefhrt.

Jetzt bis zu 576 kbyte RAM mglich

Der Speicher fr RAM und ROMs wird jetzt ordendlich mit malloc angefordert
(das Programm wird dadurch kleiner!).

Bis zu sieben Erweiterungs-ROMs waren zwar bisher mglich, knnen jedoch
jetzt komfortabel per Setup-Dialog eingebunden werden.


Version 011b:              09.12.99
-------------

- Sprachen-Unterscheidung der Dialoge (Deutsch/Englisch)


Version 012:               01.02.00
------------

- Einstellung des CPC-Types (464, 664, oder 6128)
- Anpassung der Verzeichnis-Struktur so da der Emulator auch durch ROOT 
  bersetzt und system-global installiert werden kann.


Ein groer Schritt:


Version 0.20:               26.2.00
-------------

- Druckerausgaben werden jetzt in eine PRN-Datei geschrieben. Druckt 
  der CPC das Zeichen chr$(12), also ein Seitenvorschub, oder wird die 
  Taste F9 gedrckt, wird die Druckerdatei geschlossen und zum Drucker 
  gesendet.
- Auswertung von Kommandozeilen-Parametern.
- Neuorganisation der Verzeichnisstruktur und der Makefiles. Cpc4x kann 
  jetzt sowohl vom Endanwender als auch durch den Benutzer root bersetzt 
  werden. Die bersetzung durch root ermglicht eine systemglobale 
  Installation von cpc4x.
- Eine Umfangreiche und hbsche HTML-Dokumentation in deutsch und englisch 
  dank David Mehrmann.

Version 0.22:               21.10.00  (eigentlich Frhrjar 2000 entstanden)
-------------

- Sound-Untersttzung funktioniert jetzt
