home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-03-20 | 145.7 KB | 3,684 lines |
-
- ▓▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▒▒ ▓▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▒ ▓▓▓▓ ▓▓▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒▒▒▒▒ ▓▓▒▒▒▒▒▓▓▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▓▓ ▓▓▒▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▓▓▓▓▓▓▒▒ ▓▓▒▒ ▓▓▓▓▓▓▓▓▒ ▓▓▒▒ ▒▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▒ ▓▓▒▒▒▒▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒ ▓▓▒▒
- ▓▓▓▓▓▓▒ ▓▓▒▒ ▓▓▓▓▓▓▒ ▓▓▓▓▓▓▓▓▒ ▓▓▒▒ ▓▓▒▒ ▓▓▓▓▓▓▓▓▓▒▒
- ▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒
-
- v1.4
-
-
- D O K U M E N T A T I O N
-
-
- (c) Marco Vieth, März 1996
-
-
-
-
- -------------------------------------------------------------------------------
-
-
-
-
- Inhaltsverzeichnis:
-
- 1. Einführung
- 1.1 Hinweise zur Benutzung dieser Dokumentation
- 1.2 Copyright, Gewährleistungen
- 1.3 Was ist ein CPC ?
- 1.4 Was bietet CPCEMU ?
-
- 2. Installation von CPCEMU
- 2.1 Dateien im CPCEMU-Paket
- 2.2 Voraussetzungen und Installation
- 2.3 Tips zum Speicher und zur Soundkarte
- 2.3.1 Verwenden Sie EMS-Speicher
- 2.3.2 Setzen Sie die BLASTER-Umgebung
- 2.3.3 Setzen Sie die ULTRASND-Umgebung
-
- 3. Unterschiede zum Original
- 3.1 Tastatur
- 3.2 Laden von Programmen, Menüs
- 3.2.1 Laden von Diskette, Menüs
- - Das Disketten-Wechsel-Menü
- - Das Datei-Auswahl-Menü
- 3.2.2 Laden von und Speichern auf Kassette
- 3.2.3 Laden und Speichern von Snapshots
-
- 4. Ändern der Konfiguration
- 4.1 Das Setup-Menü
- 4.2 Die Konfigurations-Datei
- 4.3 Kommandozeilen-Parameter
-
- 5. Datenübertragung CPC <-> PC
- 5.1 Diskette als Medium
- 5.1.1 Das Diskettentransferprogramm CPCTRANS
- 5.1.2 Das Formatier- und Kopierprogramm 22DISK von SYDEX
- 5.2 Parallele Schnittstelle
- - Der parallele Adapter
- 5.3 Serielle Schnittstelle
- 5.4 Sonstige Möglichkeiten
-
- 6. Bezugsquellen, Hilfe bei Problemen, Danksagungen
- 6.1 CPC Software, woher bekommen ?
- 6.2 Neuigkeiten, Erfahrungsaustausch
- 6.3 Wenn Sie Fragen oder Anregungen haben
- 6.4 Andere Amstrad CPC Emulatoren
- 6.5 Pläne für weitere CPCEMU-Versionen
- 6.6 Danksagungen
- 6.7 Geschützte Warenzeichen
-
- 7. Interne Informationen zu CPCEMU
- "Black Box", d.h. mit separatem Inhaltsverzeichnis
-
-
- Anhang:
-
- A.1 Glossar
- A.2 Literaturverzeichnis
- A.3 Index
-
-
- ---------------------------
-
-
-
-
-
- 1. Einführung
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
-
- Willkommen im Reich der Emulatoren!
-
- Was, Sie wollen wissen, was CPCEMU ist? Und was man mit dem merkwürdigen
- Programm anfangen kann, welches bei gelber Schrift auf blauem Grund nach
- jeder Eingabe immer "Syntax Error" schreibt?
-
- Also, um Ihnen langes Suchen zu ersparen:
- CPCEMU emuliert einen Amstrad CPC 464, 664 oder 6128 mit zahlreichen
- Erweiterungen. Das Programm bildet also die Funktionsweise der
- älteren Amstrad-Computer auf Ihrem neuen PC nach.
-
-
- Was das für einen Zweck hat?
- Nun ja, wenn Sie das nicht schon wissen, benötigen Sie CPCEMU nicht.
- Hier noch ein paar Gründe:
- - Nostalgie (och, wie schön war doch mein CPC ...)
- - Bessere Performance gegenüber dem Original
- - Bessere Entwicklungsumgebung
- - Spielen
- - Arbeiten (ja, ein CPC reicht normalerweise für Textverarbeitung)
- - [ ] <- hier können Sie weitere
- Gründe eintragen.
-
-
-
-
- 1.1 Hinweise zur Benutzung dieser Dokumentation
- ================================================
-
-
- Sie sollten zuerst die On-Line-Hilfe ausprobieren (F1), wenn Sie dann
- tiefergehende oder genauere Informationen wollen, können Sie dieses
- lesen...
-
-
- Ich habe versucht, die Dokumentation übersichtlich zu gestalten. Falls Sie
- (nach mehrmaligem Lesen?) doch noch Fragen haben, setzen Sie sich einfach
- mit mir in Verbindung. Natürlich dürfen Sie das auch, wenn Ihnen alles
- klar ist. Siehe Kapitel 6 (Bezugsquellen, ...).
-
- Im Kapitel 1 (Einführung) beschreibe ich Grundlagen zur
- Dokumentation, zum Copyright und zum CPC allgemein.
-
- Im Kapitel 2 (Installation) geht es dann endlich los. Sie erfahren, wie
- man CPCEMU installiert und startet.
-
- In Kapitel 3 (Unterschiede zum Original) führe ich einige Besonderheiten
- auf, die Sie beachten müssen, wenn Sie einen richtigen CPC kennen und
- den Emulator benutzen möchten. Dabei werde ich vor allem auf die Tastatur,
- Disketten, Kassetten und Snapshots eingehen.
-
- In Kapitel 4 (Ändern der Konfiguration) beschreibe ich, wie Sie CPCEMU an
- Ihre Bedürfnisse anpassen und vielleicht doch noch Ihr Lieblingsprogramm
- zum Laufen bringen können.
-
- Kapitel 5 (Datenübertragung CPC <-> PC) sollten Sie lesen, wenn Sie noch
- zahlreiche alte CPC Programme besitzen und nicht wissen, wie Sie diese auf
- den PC bekommen. In diesem Kapitel werden die dafür vorhandenen
- Zusatzprogramme beschrieben.
-
- In Kapitel 6 (Bezugsquellen, Hilfe bei Problemen) verrate ich Ihnen, wie
- Sie immer die neuste Version bekommen können und an wen Sie sich bei Fragen
- wenden dürfen.
-
- Kapitel 7 (Interne Informationen zu CPCEMU) ist für Profis gedacht.
- Der "offizielle" Teil ist vor diesem Kapitel vorbei, denn hier kommt
- das "Letzte".
- Falls Sie wissen möchten, wie man so einen Emulator programmiert und was
- man dabei beachten muß. Außerdem wird hier das in CPCEMU eingebaute
- Debug-Menü erklärt, mit dem Sie *jederzeit* den Prozessor und den Speicher
- analysieren können. Nur-Anwender sollten dieses Kapitel überspringen,
- wenigstens beim ersten Lesen.
-
- Im Anhang A.1 gibt es dann noch ein Glossar, mit Beschreibungen der
- wichtigsten Fachbegriffe, außerdem in A.2 ein Literaturverzeichnis
- und in A.3 einen Index.
-
-
-
- 1.2 Copyright, Gewährleistungen
- ================================
-
- CPCEMU wurde entwickelt von (siehe auch Abschnitt 6.3):
-
- Marco Vieth
- Auf dem Ükern 4
- D-33165 Lichtenau
- Germany
-
-
- CPCEMU ist Freeware, d.h. Sie dürfen das Programm *unentgeltlich* an
- Freunde und Bekannte weitergeben. Betreibern von Mailboxen ist es erlaubt,
- CPCEMU in Ihre Programmsammlungen zum "Downloaden" aufzunehmen.
- Shareware-Händler dürfen dieses Programm mit in Ihren Bestand aufnehmen,
- sofern sie von den Kunden nur eine geringe Kopiergebühr verlangen.
- Die Verbreitung darf nur in dem Archiv CPCEMUxx.xxx erfolgen.
- Im Gegensatz zu Public Domain bedeutet Freeware nicht, das das Programm
- "frei" ist und jeder damit machen kann was er will, sondern das Copyright
- bleibt bei mir!
-
- Gewährleistung:
- Ich lehne jegliche Gewährleistung ausdrücklich ab. Schäden, die durch
- dieses Programm am Computer oder sonstwo entstehen, gehen zu Lasten des
- Benutzers.
- Auch gehe ich keinerlei Verpflichtung bzgl. Updates ein, obwohl ich
- normalerweise möglichst schnell versuche, aufgetretene Fehler zu beseitigen.
-
-
- Wenn Sie von dem Programm begeistert sind, können Sie mich unterstützen.
- Ich bin für jede Rückmeldung und jeden Verbesserungsvorschlag dankbar.
- Auch finanzielle Unterstützung lehne ich natürlich nicht ab.
- Siehe Kapitel 6 (Bezugsquellen, ...)
-
-
-
- 1.3 Was ist ein CPC ?
- ======================
-
- Falls Sie schon wissen, was ein CPC ist, gehen Sie einfach zum
- nächsten Abschnitt über (1.4 Was bietet CPCEMU ?).
-
-
-
-
- Sie sind noch da?
-
- Hier soll nicht der CPC "auseinandergenommen" werden, sondern ich gebe nur
- eine grobe geschichtliche Beschreibung, damit Sie eine Vorstellung davon
- haben, was ein CPC überhaupt ist.
-
-
- CPC ist die Abkürzung für Colour Personal Computer.
- Computer dieser Modellreihe wurden ab 1984 von der englischen Firma Amstrad
- hergestellt und von Schneider in Deutschland vertrieben.
- Es war die Zeit der Homecomputer Commodore C64, Sinclair Spectrum,
- Atari 800XL, ..., als der CPC 464 auf den Markt kam.
- Er hatte genausoviel RAM wie der Commodore C64 (nämlich 64 KB),
- ein eingebautes Kassettenlaufwerk und Locomotive BASIC 1.0.
- Es folgte der CPC 664 mit eingebautem 3" Diskettenlaufwerk und leicht
- erweitertem Locomotive BASIC 1.1.
- 1985 kam dann der CPC 6128 mit 128 KB RAM und ansonsten gleichen
- Merkmalen wie der CPC 664 auf den Markt.
- Die 3" Disketten waren zwar sündhaft teuer, dafür aber stabiler als die
- damals gängigen 5.25" Disketten (etwa wie die heutigen 3.5").
- Außerdem war eine deutliche Geschwindigkeitssteigerung im Vergleich zur
- Kassette zu bemerken, nicht wie beim C64...
- Alle drei Modelle wurden wahlweise mit Farb- oder Grünmonitor ausgeliefert,
- wobei das Computernetzteil im Monitor integriert war.
- Inzwischen gab es noch 2-3 andere Modelle (die CPC+ Modelle), darauf werde
- ich aber nicht eingehen.
- Das BASIC war mit etwa 178 Befehlen leistungsfähig und schnell. Man konnte
- damit Grafik, Sound und sogar Interruptbehandlung programmieren, ohne
- auf PEEKs und POKEs ausweichen zu müssen.
- Das Softwareangebot hat sich im Laufe der Jahre auch stark erweitert.
-
-
-
-
- 1.4 Was bietet CPCEMU ?
- ========================
-
- Es folgt eine Kurzübersicht darüber, was CPCEMU bietet. Erst im Laufe
- der Dokumentation wird erklärt, was das alles bedeutet.
-
- CPC-Grafik in 3 Bildschirmmodi (X x Y x Farben):
- Modus 0: 180x200x16
- Modus 1: 320x200x4
- Modus 2: 640x200x2
- (Mit VESA-BIOS kann diese Grafik in einer Auflösung von 640x400x16
- bis 1280x1024x16 dargestellt werden, abhängig von Ihrem Monitor
- und Ihrer Grafikkarte.)
-
- Sound wahlweise über PC-Lautsprecher, Soundblaster (3 Kanal, Stereo),
- oder GUS (Gravis Ultrasound Spectrum)
-
- Speicher:
- ROM: OS, BASIC, AMSDOS, bis zu circa 13 Zusatzroms (mit EMS)
- RAM: 64KB, 128KB, bis zu 576KB Dk'tronics kompatibles RAM (mit EMS)
-
- Diskette: Spezielle Disketten-Abbilder, mit der Endung .DSK
-
- Kassette: Normale Dateien unter DOS, z.B. CPC BASIC- und Binärdateien
- mit den Endungen .BAS bzw .BIN .
-
- Snapshots: Es lassen sich Schnappschüsse von laufenden Programmen
- erzeugen, um sie später wieder fortsetzen zu können. Snapshots
- haben normalerweise die Endung .SNA .
-
- Geschwindigkeit: Auf einem 386/33 mit EMS-Speicher ist CPCEMU normalerweise
- schneller als das Original. Durch einen Realtime-Modus kann der
- Emulator auf exakte CPC-Geschwindigkeit abgebremst werden.
- Dieser Realtime-Modus funktioniert aber erst richtig auf einem
- 486DX2/66.
-
-
-
-
- 2. Installation von CPCEMU
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- In diesem Kapitel erfahren Sie, was Sie für CPCEMU benötigen, wie Sie
- das Programm installieren und starten. Außerdem gebe ich kurz Tips zum
- Speicher und zur Soundkarte.
- Umkonfigurationen werden erst später im Kapitel 4 (Konfiguration)
- beschrieben.
-
-
-
- 2.1 Dateien im CPCEMU-Paket
- ============================
-
- Sie haben das CPCEMUxx.xxx-Paket mit den folgenden Dateien erhalten:
- (In Klammern steht das Verzeichnis, in dem die Datei nach der Installation
- steht.)
-
- COPYMATE.ROM ein ROM mit einem Kopierprogramm (ROM)
- CPC464.BAT startet einen CPC 464
- CPC464.ROM das ROM (Firmware+BASIC) eines CPC 464 (ROM)
- CPC664.BAT dito, nur CPC 664
- CPC664.ROM (ROM)
- CPC6128.BAT dito, nur CPC 6128
- CPC6128.ROM (ROM)
- CPCADOS.ROM das AMSDOS für alle CPCs (ROM)
- CPCEMU.CFG die Konfigurationsdatei für alle CPCs (oder CPCEMU0.CFG)
- CPCEMU.DAT Daten-Datei für CPCEMU
- CPCEMU.DBF Datenbank mit Pokes
- CPCEMU.EXE der Emulator
- CPCEMU.HLP die On-Line-Hilfe, erscheint bei F1
- CPCEMU.MSG Die Meldungsdatei (unbedingt notwendig)
- CPCEMU_D.TXT deutsche Dokumentation (diese Datei)
- CPCEMU_E.TXT englische Dokumentation
- CPCEMU_F.TXT französische Dokumentation (Einführung)
- CPCPARA.BAS Locomotive-BASIC-Programm für parallelen Adapter (UTILITY)
- CPCPD1.DSK ein Disketten-Abbild mit Beispiel-Public-Domain (DISC)
- CPCREC.BAS Locomotive-BASIC-Programm zum Empfangen (UTILITY)
- CPCT0.BAT Batch-Datei zu CPCTRANS.EXE (Beispiel) (UTILITY)
- CPCTRANS.CFG Konfigurationsdatei für CPCTRANS
- CPCTRANS.EXE Transfer von Disketten-Abbildern (UTILITY)
- CPMDISKS.DEF Datei mit Formatdefinitionen für 22DISK (UTILITY)
- FILE_ID.DIZ Wie dieses Programm heißt
- INSTALL.BAT Installationsdatei
- PCPARA.EXE Die PC-Seite für den parallelen Adapter (UTILITY)
- README_D.TXT deutsches Liesmich
- README_E.TXT englisches Liesmich
- README_F.TXT französisches Liesmich
- README_S.TXT spanisches Liesmich
- ROMGET.BAS Locomotive-BASIC-Programm zum Abspeichern von ROMs (UTILITY)
- SNA2GIF.EXE ein Snapshot nach GIF-Konverter: CPC-Bilder abspeichern
-
-
- Es sind auch die orginalen Amstrad-ROMs dabei.
- Die Firmware ist Copyright von Locomotive Software, das BASIC ist
- Copyright von Amstrad.
- Amstrad und Locomotive haben mir erlaubt, die ROMs dabeizulegen.
-
-
-
- 2.2 Voraussetzungen und Installation
- =====================================
-
- Sie benötigen mindestens (nach oben wie immer keine Grenzen)
- - PC AT 386 mit VGA-Grafikkarte
- - MS-DOS, möglichst mit EMS, oder
- Novell DOS (DRDOS) oder
- OS/2 2.x DOS-Box.
- - Falls Sie Programme aus ZIP-Archiven starten wollen, brauchen Sie zum
- Entpacken das Programm PKUNZIP in Ihrem DOS-Suchpfad.
-
-
- Die Installation selber ist ganz einfach:
- Kopieren Sie das Archiv CPCEMUxx.xxx auf Ihre Festplatte und entpacken es
- z.B. durch 'PKUNZIP CPCEMUxx.ZIP'. Rufen Sie INSTALL.BAT auf, um ein paar
- Unterverzeichnisse zu erzeugen. Danach starten Sie einfach CPC464.BAT,
- CPC664.BAT oder CPC6128.BAT, je nachdem, was für einen CPC Sie am liebsten
- mögen. Nach der Konfiguration drücken Sie <RETURN> und es erscheint
- der wohlbekannte CPC Eröffnungsbildschirm mit gelber Schrift auf blauem
- Grund. Mit F12 verlassen Sie den Emulator wieder. Mit F1 erreichen Sie die
- On-Line-Hilfe, die Sie auch auf Deutsch umschalten können.
- Am besten probieren Sie das jetzt sofort einmal aus, und lesen anschließend
- hier weiter ...
-
-
-
- Vielleicht war Ihnen der CPC doch nicht so wohlbekannt, weil dort "Amstrad"
- anstatt "Schneider" in der Einschaltmeldung stand. Um das zu ändern, müssen
- Sie sich allerdings bis Kapitel 4 (Ändern der Konfiguration) gedulden.
- Dort wird auch beschrieben, wie Sie eine "deutschere" Tastatur einstellen
- können.
-
- Falls irgendwelche schwerwiegenden Fehler beim Start auftreten, landen
- Sie im sogenannten Debug-Menü, welches Sie mit 'q' <RETURN> wieder
- verlassen können.
- In solchen Fällen ist es manchmal nützlich, den Initialisierungsvorgang
- in eine Datei umzuleiten, z.B. durch 'CPCEMU > INIT.TXT'. Dann können
- Sie sich später das Problem in aller Ruhe ansehen.
-
-
-
-
- 2.3 Tips zum Speicher und zur Soundkarte
- =========================================
-
-
- Hier zwei Tips, falls Sie eine besonders schnelle Emulation haben wollen
- oder Ihre Soundkarte nicht erkannt wird.
-
-
- 2.3.1 Verwenden Sie EMS-Speicher
- ---------------------------------
-
- Sie sollten auf Ihrem PC möglichst echten oder emulierten EMS-Speicher
- haben (EMS=Expanded Memory System). Dadurch wird die Emulation besonders
- unter BASIC erheblich beschleunigt. Simuliertes EMS ist zu langsam.
- Alles was Sie dazu brauchen, ist ein EMM (Expanded Memory Manager) nach
- dem LIM 4.0 Standard (LIM EMS 4.0).
- Beim Start des Emulators wird dann "EMS xxx Bytes ok." angezeigt.
- Falls dort nicht "Sorry, using conventional memory" steht, dann
- wird EMS benutzt.
-
- Beispiel unter OS/2 2.x (Einstellungen im Setup des Fensters):
- EMS_FRAME_LOCATION = auto
- EMS_HIGH_OS_MAP_REGION = 32 (oder mehr)
- EMS_LOW_OS_MAP_REGION = 0 (oder mehr)
-
- Beispiel unter DOS in der CONFIG.SYS-Datei:
- DEVICE=C:\DOS\HIMEM.SYS
- DEVICE=C:\DOS\EMM386.EXE 1024
- ...
-
-
- 2.3.2 Setzen Sie die BLASTER-Umgebung
- --------------------------------------
-
- Damit CPCEMU Ihre Soundblaster-Soundkarte benutzt, müssen Sie die
- BLASTER-Umgebungsvariable entsprechend setzen. Starten Sie dazu das
- Programm 'SET-ENV.EXE' (oder 'SBTEST.EXE'), das dem Softwarepaket Ihrer
- Soundkarte beiliegen sollte. Oder schreiben Sie in Ihre AUTOEXEC.BAT
- die folgende Zeile, eventuell leicht modifiziert:
- SET BLASTER=A220 I7 D1 T3
-
- Mit folgender Bedeutung:
- A setzt die Basis-Adresse (0x220)
- I setzt die Interrupt-Nummer IRQ (7)
- D setzt den DMA-Kanal (1)
- T setzt die Version der Soundkarte:
- 1 : Soundblaster 1.0/1.5
- 2 : Soundblaster Pro
- 3 : Soundblaster 2.0/2.5
- 4 : Soundblaster Pro 3/Pro 4.0
- 5 : Soundblaster Pro (Microchannel)
- 6 : Soundblaster 16
-
- Bei den Versionen 2, 4, 5 und 6 erfolgt die Soundausgabe in Stereo.
-
- Es gibt noch einige zusätzliche Parameter, die aber ignoriert werden:
- H setzt den 16-Bit-DMA-Kanal für 16-Bit Karten
- M setzt die Basis-Adresse des Soundblaster-Mixers (224)
- P setzt die Port-Adresse für MIDI (330)
-
-
- Wenn Sie keinen Sound hören, nehmen Sie A388 (anstatt A220). Dieses
- funktioniert für die Media Vision Pro Audio Spectrum 16 und vielleicht
- auch anderen Soundkarten, die Soundblaster-Emulation verwenden.
- (Joe Cotroneo)
-
-
-
-
- 2.3.3 Setzen der ULTRASND-Umgebung:
- ------------------------------------
-
- Damit CPCEMU Ihre GUS (Gravis Ultrasound Spectrum) benutzt, müssen
- sie die ULTRASND-Umgebungsvariable entsprechend setzen.
-
-
-
-
- 3. Unterschiede zum Original
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- In diesem Kapitel erläutere ich einige Besonderheiten, die CPCEMU vom
- Original unterscheiden. Da wäre zunächst die Tastatur, insbesondere die
- Belegung der Funktionstasten, dann das Laden von Diskette und Kassette.
-
-
-
- 3.1 Tastatur
- =============
-
- Vielleicht ist Ihnen bei den ersten Experimenten schon aufgefallen, daß
- manche Tasten andere Zeichen auf dem Bildschirm hervorrufen.
- Das muß so sein! Um eine "deutschere" Tastaturbelegung zu bekommen,
- gedulden Sie sich bis Kapitel 4 (Konfiguration von CPCEMU).
- Außerdem haben Sie vielleicht bemerkt, daß die PC Funktionstasten nicht
- den CPC Funktionstasten entsprechen und "wirres Zeug" aufrufen.
- Vielleicht suchen Sie auch schon vergeblich die COPY Taste.
- Ich versichere Ihnen, es sind wirklich alle Tasten vom CPC irgendwo
- vorhanden.
- Hier wird das Geheimnis gelüftet:
-
- - ALT, ALTgr : COPY auf dem CPC
-
- - PAUSE-Taste : hält den PC an, bis sie erneut gedrückt wird. Falls also
- die PC-Funktionstasten nicht mehr reagieren, haben Sie vielleicht die
- PAUSE-Taste gedrückt.
-
- - Keypad (Zehnerblock) : Je nach Zustand von "NUM-LOCK" erfüllt das Keypad
- verschiedene Funktionen. Bei "NUM-LOCK an" erreichen Sie die CPC-
- Funktionstasten, sonst können Sie Joystickbewegungen ausführen.
- Wollen Sie einen analogen PC-Joystick benutzen, erfordert das eine
- Konfiguration und Sie müssen sich bis Kapitel 4 (Ändern der
- Konfiguration) gedulden.
-
- Der Vollständigkeit halber sei noch erwähnt:
- - Bild hoch/runter: Verschiebt den gesamten CPC Bildschirm
- (Fragen Sie mich nicht, wofür das gut sein soll.)
-
- Und natürlich die Funktionstasten:
- F1 : Die Online-Hilfe-Taste. Zu Beginn vielleicht die wichtigste Taste
- überhaupt.
- F2 : Wechsel zwischen CPC-Bildschirm (Standard-Sicht) und Meldungs-
- Bildschirm (der mit dem roten Rahmen). Auf diesem Bildschirm werden
- manchmal Kontrollmeldungen angezeigt.
- F3 : Einlegen einer Diskette, siehe Abschnitt 3.2.1
- F4 : Soundausgabe ein/aus
- F5 : Laden eines Snapshots (Schnappschusses), siehe Abschnitt 3.2.3
- F6 : Speichern eines Snapshots, siehe Abschnitt 3.2.3
- F7 : Setup-Menü, siehe Abschnitt 4.1
- F8 : Hard-Reset, wie eine Reset-Taste am CPC. Benutzen Sie diese Taste,
- falls CTRL/SHIFT/ESC nicht mehr funktioniert.
- F9 : reserviert für zukünftige Verwendung
- F10 : Debug-Menü, wird im Kapitel 7 (Interne Informationen zu CPCEMU)
- erläutert. Falls Sie einmal aus Versehen darin landen, drücken Sie
- 'r' für R)un oder 'q' für Q)uit.
- F11 : reserviert für zukünftige Verwendung
- F12 : sofortiger Abbruch des Emulators
-
-
-
-
- 3.2 Laden von Programmen, Menüs
- ================================
-
- In diesem Abschnitt erfahren Sie, wie Sie Programme von Diskette, Kassette
- oder aus Snapshots (Schnappschüssen) laden. Natürlich werden auch
- die entsprechenden Funktionen zum Abspeichern erklärt.
- Im folgenden Abschnitt wird zusätzlich erklärt, wie Sie in den Menüs
- Optionen ändern und auswählen.
-
-
-
- 3.2.1 Laden von Diskette, Menüs
- --------------------------------
-
- Normalerweise ist nach dem Start des Emulators das sogenannte AMSDOS
- (Amstrad DOS) aktiv, d.h. alle Befehle zum Laden/Speichen sprechen die
- Diskette an.
- Sie brauchen nicht immer eine richtige CPC-Diskette in Ihr PC-Laufwerk
- legen, abgesehen davon, daß Sie vielleicht nur 3" CPC-Disketten haben.
- Um eine vernünftige Geschwindigkeit zu erreichen, befinden sich die
- CPC-Disketten in sogenannten Disketten-Abbildern. Diese Dateien
- dürfen sich irgendwo auf der Festplatte (oder auch einer High-Density-
- Diskette) befinden.
-
- Hier einige BASIC-AMSDOS-Befehle:
- - CAT <RETURN> : Es erscheint der Katalog
-
- - Durch 'RUN"<Dateiname>"' laden und starten Sie ein Programm.
- Sie dürfen die letzten Anführungsstriche auch weglassen. Dieser Befehl
- funktioniert sowohl für BASIC-Programme mit der Endung .BAS als auch
- für die meisten binären Programme mit der Endung .BIN .
-
- Hier eine einfache Möglichkeit, ein Programm zu starten:
- 1. Tippen Sie den Dateinamen ein, z.B. 'DISC', *nicht* <RETURN>
- 2. Halten Sie die CTRL-Taste fest und drücken Sie Cursor-links
- (dadurch wandert der Cursor in die 1. Spalte)
- 3. Halten Sie die CTRL-Taste immer noch fest und drücken sie die ENTER-
- Taste auf dem Zehnerblock
- (es erscheint RUN"DISC und das Programm wird gestartet)
-
- - LOAD"<Dateiname>" lädt ein Programm, ohne es zu starten.
- BASIC-Programme lassen sich dann mit LIST auflisten und durch RUN
- starten. Binäre Programme lassen sich in den meisten Fällen nicht mit
- LOAD laden. Versuchen Sie, vorher einen MEMORY-Befehl anzugeben, z.B.
- 'MEMORY &1fff'.
-
- - SAVE"<Dateiname>" speichert ein BASIC-Programm. Für Binärdateien sind
- mehrere Parameter nötig, z.B. speichert
- 'SAVE"<Dateiname>",b,&c000,&4000' den Bildschirminhalt.
-
- - MERGE"<Dateiname>" gibt es auch noch und fügt ein BASIC-Programm an
- ein schon im Speicher vorhandenes an.
-
-
- Speziell vom AMSDOS werden noch folgende Erweiterungs-Befehle angeboten,
- die durch einen senkrechten Strich eingeleitet werden:
- - |A, |B zur Wahl des Laufwerks (geht auch mit |DRIVE,0 bzw. 1)
- - |DIR,"<Dateimuster>" zum Anzeigen des Inhaltsverzeichnisses.
- Wichtig: Auf einem CPC 464 folgendes eingeben:
- a$="<Dateimuster>" : |DIR,@a$
- - |ERA,"<Dateiname>" zum Löschen einer Datei.
- Wichtig: Auf einem CPC 464 folgendes eingeben:
- a$="<Dateiname>" : |ERA,@a$
- - |REN,"<neuer Name>","<alter Name>" zum Umbenennen einer Datei.
- Wichtig: Auf einem CPC 464 folgendes eingeben:
- a$="<neuer Name>" : b$="<alter Name>" : |REN,@a$,@b$
- - |TAPE um auf Kassette umzuschalten, wird im nächsten Abschnitt
- erläutert.
- - |DISC um auf Diskette umzuschalten.
- Es gibt auch noch ein paar andere Befehle, die nicht so wichtig sind.
-
-
-
- Das Disketten-Wechsel-Menü
- --------------------------
-
- Bisher konnten Sie immer nur eine Diskette benutzen, nämlich diejenige,
- die schon die ganze Zeit im Laufwerk "liegt". Um eine andere
- Diskette einzulegen, drücken Sie F3. Es erscheint das Menü
-
- Insert_Disk
- Drive 0
- Side_Select 0
- Write_Protected 0
-
- Mit den Cursortasten <hoch/runter> wählen Sie eine Zeile aus. Sie
- können dazu auch direkt Buchstaben eingeben (zurück mit <DEL>).
- Ändern Sie Zahlen durch <Cursor links/rechts> oder durch Direkteingabe.
- <RETURN> in einer beliebigen Zeile (z.B. in der ersten)
- übernimmt die Änderungen, durch <ESC> würden sie verworfen.
- "Drive" ist das gewünschte Laufwerk (0=A, 1=B); "Side Select" ist ein
- Seitenauswahl-Schalter für doppelseitige Formate, bei einseitigen
- Formaten hat er keine Auswirkung.
- Mit "Write Protected" versehen Sie die Diskette mit einem Schreibschutz
- (0=Nein, 1=Ja, mit Schreibschutz).
-
-
-
- Das Datei-Auswahl-Menü
- ----------------------
-
- Drücken Sie <RETURN>, dann erscheint ein Disketten-Inhaltsverzeichnis.
- Wählen Sie eine neue Diskette aus, mit den Methoden, wie oben
- beschrieben.
- Falls schon eine Diskette im Laufwerk liegt, brauchen Sie diese nicht
- vorher herauszunehmen, wie im richtigen Leben. Das passiert hier
- automatisch. Unten auf dem Bildschirm wird so eine Diskette aber
- angezeigt.
- Es werden immer höchstens 15 Dateinamen auf einmal angezeigt, bei mehr
- Dateinamen steht unten "[]".
- - <POS1> geht zum ersten Dateinamen, <ENDE> zum letzten
- - <Bild hoch/runter> blättert seitenweise durch die Dateinamen
- - <RETURN> übernimmt den angewählten Dateinamen, <ESC> bricht ab.
- Auch hier wählen Sie die Namen direkt an, wenn Sie Anfangsbuchstaben
- drücken.
-
- Falls Sie die Maussteuerung bevorzugen, bedeutet "[]" <Bild hoch>,
- "[]" <Bild runter>, "[<]" <Cursor links>, "[>]" <Cursor rechts> und
- [ok] ist <Return>. "[■]" ist <ESC>.
- Um eine Zeile zu markieren, benutzen Sie die rechte Maustaste.
-
- ".." ist das Eltern-Verzeichnis; [A], [B], ... sind die verfügbaren
- Laufwerke. Bitte wählen Sie nur Diskettenlaufwerke, wenn auch eine
- Diskette darin liegt, ansonsten kann es zu Komplikationen kommen.
-
- Es ist auch möglich, Disketten aus ZIP-Archiven einzulegen. Dazu wählen
- Sie ein ZIP-Archiv mit <RETURN>, worauf das Inhaltsverzeichnis wie ein
- normales Verzeichnis angezeigt wird. Wählen Sie dann eine Datei aus
- einem ZIP-Verzeichnis, wird sie automatisch in eine temporäre Datei
- entpackt. Dazu benötigen Sie das Programm PKUNZIP im CPCEMU-Verzeichnis
- oder im DOS-Suchpfad. Die temporären Dateien werden automatisch gelöscht,
- sobald sie nicht mehr gebraucht werden. Etwaige Änderungen werden
- *nicht* an dem ZIP-Archiv durchgeführt. Wenn Sie also auf einer Diskette
- aus einem Archiv etwas speichern und anschließend eine andere einlegen,
- ist der neue Inhalt wieder weg. Wenn Sie Disketten in Archiven ändern
- wollen, entpacken Sie diese vor dem Start von CPCEMU.
-
-
- Wie Sie selber Disketten-Abbilder erzeugen, erfahren Sie im
- Kapitel 5 (Datenübertragung CPC <-> PC).
-
-
-
-
- 3.2.2 Laden von und Speichern auf Kassette
- -------------------------------------------
-
- Was ist überhaupt eine Kassette für CPCEMU?
- Nun, Dateien auf Kassette sind irgendwelche Dateien in den normalen
- DOS-Verzeichnissen. Nach dem Befehl '|TAPE' sprechen die BASIC-Befehle
- zum Laden/Speichern die Kassette an. Aber nur diejenigen, die nicht mit
- "|" beginnen. So können Sie also die im
- vorherigen Abschnitt beschriebenen
- Befehle CAT, RUN", LOAD", SAVE", MERGE" auf die Kassette anwenden.
- Hier dürfen Sie sogar den Dateinamen weglassen, es erscheint dann das
- Dateiauswahl-Menü, welches Sie schon aus dem letzten Abschnitt kennen.
- Bei SAVE"" können Sie entweder eine bestehende Datei überschreiben oder
- in der letzten Zeile bei "(new name)" einen neuen Namen eingeben.
-
- Natürlich können Sie auch hier Programme aus ZIP-Archiven laden,
- das Speichern wird ignoriert.
-
- So eine schöne Kassette haben Sie nur mit dem Emulator.
-
-
-
- 3.2.3 Laden und Speichern von Snapshots
- ----------------------------------------
-
- Snapshots sind Schnappschüsse, in denen nicht nur der aktuelle
- Speicherinhalt, sondern auch die internen Zustände der anderen
- Hardwarebausteine festgehalten werden, z.B. von der CPU.
- Zu jeder Zeit können Sie das laufende Programm als Snapshot abspeichern
- und später wieder laden, um es an genau der Stelle fortzusetzen, wo es
- abgebrochen wurde.
- Mit F6 speichern Sie ein Snapshot. Sie legen dabei fest, ob
- es ein 64K oder ein 128K Snapshot sein soll. 128K Snapshots sind
- natürlich nur sinnvoll, wenn auch die zweite Speicherbank benutzt wird.
- Setzen Sie in dem Fall "128K Snapshot = 1", wobei 1=Ja bedeutet.
-
- Die Dateiauswahl erfolgt wie schon bei Diskette beschrieben, mit den
- zusätzlichen Kommentaren zur Kassette (3.2.1 und 3.2.2).
-
- Später können Sie ein Snapshot mit F5 wieder laden.
-
-
-
-
-
- 4. Ändern der Konfiguration
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- In diesem Kapitel erfahren Sie, wie Sie CPCEMU an Ihre Bedürfnisse anpassen
- können. Es werden sowohl das Setup-Menü als auch die Konfigurationsdatei
- und die Kommandozeilen-Parameter beschrieben.
-
-
-
- 4.1 Das Setup-Menü
- ===================
-
- Dieses ist die einfachste Methode, Einstellungen von CPCEMU zu ändern.
- Fast alle Einstellungen lassen sich im Setup-Menü ändern und auch
- abspeichern.
- Nur wenn sie Pfade ändern oder zusätzliche ROMs benutzen wollen,
- müssen Sie sich mit der Konfigurationsdatei vertraut machen, die ich
- im Abschnitt 4.2 beschreibe.
-
- Wie bei der Beschreibung der Tastatur schon angedeutet, erreichen Sie das
- Setup-Menü mit der Funktionstaste F7.
- Es erscheint ein umfangreiches Menü, welches in mehrere Abschnitte
- unterteilt ist:
-
-
- Menüpunkt: Wert: Deutsche Übersetzung:
- -----------------------------------------------------------------------
- ___Emulation
- Emulation_Delay 0 Emulations-Verzögerung
- Emulation_Speed 1 Emulations-Geschwindigkeit
- Interrupt_Frequency 300 Interrupt-Frequenz
- Interrupt_Resume 1 Interrupts nachholen
- Realtime 0 Realtime-Modus
-
- ___Screen
- Colour_Screen 1 Farbbildschirm
- Multimode_Update 0 Multimodes auffrischen
- Palette_Change 1 Paletten-Änderung
- Screen_Offset 0 Bildschirmverschiebung
- Video_Mode 0 Video-Modus
- Vsync_Position 5 VSYNC-Position
-
- ___Sound
- Sound_Enabled 1 Sound erlaubt
- Sound_Device 2 Sound-Ausgabegerät
- Sb_Delay 35 Sound-Verzögerung
- Sb_Delay0 6 Sound-Verzögerung 0
-
- ___Control
- Joy0_Calibrate Joystick 0 kalibrieren
- Joy1_Calibrate Joystick 1 kalibrieren
- Kbd_Language 0 Tastaturlayout
- Mouse_Enabled 1 Maus erlaubt
-
- ___Ppi_Settings
- Company_Name 7 Firmenname
- Ppi_50Hz 1 PPI-50-Hz-Bit
- Ppi_Exp_Signal 1 PPI-Expansions-Bit
-
- ___Misc
- Amsdos_Disabled 0 AMSDOS verboten
- Amsdos_Speedup 1 AMSDOS-Beschleunigung
- Break_Mask 3 Break-Maske
- Ems_Enabled 1 EMS erlaubt
- Language 0 Sprache
- Tape_Bypass 1 Kassetten-Umleitung
- CPC-Type 2 CPC-Type
-
- Lade_Konfiguration
- Restart_Emulation Emulation neu starten
- Speichere_Konfiguration
- Poke-Datenbank
- Dos-Shell
- Fortsetzen
-
-
- Die Menüpunkte wählen Sie genauso an, wie schon bei 3.2.1 (Laden von
- Diskette) beschrieben. Sie sind auch in der Online-Hilfe beschreiben.
-
-
- Emulation_Delay (Abbremsen der Emulation)
- Mit dieser Option bremsen Sie die Emulation ab, falls sie zu schnell
- ist. 0 bedeutet keine Verzögerung, 100 ist eine geringe Verzögerung,
- 300 entsprechend mehr.
-
- Emulation_Speed (Emulations-Geschwindigkeit)
- Geschwindigkeit der Emulation.
- 0 = langsame Z80-Emulation
- 1 = schnelle Z80-Emulation
-
- Interrupt_Frequency (Interrupt-Frequenz)
- Hiermit ändern Sie die Frequenz, mit der Interrupts
- (Unterbrechnugen) generiert werden. Auf einem richtigen CPC sind das
- immer 300 Hertz. Wenn Sie diesen Wert erhöhen, laufen die meisten
- Programme schneller ab, es bleibt aber weniger Rechenzeit zwischen den
- Interrupts übrig. Falls Sie einen langsameren Rechner besitzen, ist es
- bei manchen Programmen sinnvoll, diesen Wert zu verringern,
- vielleicht auf 100 bis 200. Mögliche Werte sind 18 bis etwa 600.
- Weitere Informationen finden Sie im Kapitel 7.
-
- Interrupt_Resume (Interrupts nachholen)
- Noch so eine Option, die man nicht erklären kann, ohne weiter auszuholen.
- Lassen Sie sie am besten so, wie sie ist.
- Ohne EMS (Expanded Memory) ist sie auf 0, d.h. Interrupts können schon
- mal vergessen werden. Das ist natürlich nicht wünschenswert,
- aber bei 1 würde die Emulation zu langsam.
- Mit EMS ist diese Option = 1, d.h. es wird versucht, keine Interrupts
- auszulassen.
- Wichtig:
- CP/M Plus scheint nur mit EMS und trotzdem ausgeschalteter Option
- zu laufen !
- Weitere Informationen finden Sie im Kapitel 7.
-
- Realtime (Realtime-Modus)
- Schaltet den Realtime-Modus an, bei dem der Emulator Warteschleifen
- einlegt, um so schnell wie ein richtiger CPC zu sein.
-
- Colour_Screen (Farbbildschirm)
- Emulation eines Grün- oder Farbmonitors, indem die Farbpalette
- angepaßt wird.
-
- Multimode_Update (Multimodes auffrischen)
- Falls Programme mehrere Bildschirmmodi gleichzeitig auf dem Bildschirm
- verwenden, sollten Sie diese Option anschalten. Dann versucht CPCEMU,
- Bildschirmmodus-Änderungen auch anzuzeigen.
- Standardmäßig ist diese Option ausgeschaltet, da sie nicht immer richtig
- funktioniert.
-
- Palette_Change (Paletten-Änderung)
- Falls Sie diese Option auf 0 setzen, werden Farben nicht mehr geändert.
- Das ist sinnvoll, wenn Sie vor lauter Farbflimmern nichts mehr erkennen.
- Bei einem Hardware-Reset durch die Funktionstaste F8 wird diese
- Option automatisch wieder gesetzt.
- Tip: Wenn Sie Farbänderungen verboten haben und völlig falsche Farben
- dargestellt werden, drücken Sie einfach 2 mal F2.
-
- Screen_Offset (Bildschirmverschiebung)
- Gibt die Anzahl der Zeilen an, um die der Bildschirm verschoben werden
- soll. Diese Option wird normalerweise nicht benötigt.
- Den gleichen Effekt können Sie auch mit den Tasten <Bild hoch> und
- <Bild runter> erreichen. Mögliche Werte reichen von 0=keine Verschiebung
- bis etwa 25 Zeilen Verschiebung.
-
- Video_Mode (Video-Modus)
- Video-Modus der VGA-Karte setzen.
- 0 = 640x200x16 (Standard)
- 1 = 640x350x16
- 2 = 640x480x16
- und falls Sie ein VESA-BIOS besitzen, meistens:
- 3 = 800x600x16
- 4 = 1024x768x16
- 5 = 1280x1024x16
- ...
- WARNUNG:
- Schalten Sie Modi >= 3 nur ein, wenn Ihr Monitor diese unterstützt!
- Falls er merkwürdige Geräusche von sich gibt, sofort ausschalten!
- Dieses sollte aber nur bei älteren Monitoren passieren.
-
- Vsync_Position (VSYNC-Position)
- Diesen Wert brauchen Sie normalerweise nicht zu verändern, es kann aber
- auch nichts Schlimmes passieren, wenn Sie es dennoch tun.
- Bei einem Monitor erfolgt einmal pro Bildaufbau der vertikale
- Strahlenrücklauf. Während dieser Zeit ist normalerweise ein bestimmtes
- Bit gesetzt, das sogenannte VSYNC-Bit (vertical synchronisation).
- Hiermit bestimmen Sie die Position, an der dieses Bit gesetzt
- sein soll. Mögliche Werte sind 0 bis 5 .
- Weitere Informationen finden Sie im Kapitel 7.
-
- Sound_Enabled (Sound erlaubt)
- Schaltet die Soundausgabe ein/aus, wobei 1=ein, 0=aus bedeutet.
- Stattdessen können Sie auch die Funktionstaste F4 drücken.
- Sound_Device (Sound-Ausgabegerät)
- Setzt das Sound-Ausgabegerät.
- 0 = keins
- 1 = PC-Lautsprecher
- 2 = Soundblaster
- 3 = Soundblaster Pro
- 4 = GUS (Gravis Ultrasound), dank Ulrich Doewich
-
- Sb_Delay (Sound-Verzögerung)
- Setzt eine Verzögerungszeit, die nach jedem Schreibzugriff auf
- die Soundkarte gewartet wird. Bei geringeren Werten (z.B. 0) wird die
- Soundausgabe beschleunigt. Falls Probleme mit Ihrer Soundkarte auftreten
- sollten, lassen Sie diesen Wert auf 35.
- Sb_Delay0 (Sound-Verzögerung 0)
- Eine andere Verzögerungszeit für die Soundblaster-Karte.
- Lassen Sie diese auf 6.
-
- Joy0_Calibrate (Joystick 0 kalibrieren)
- Sie kennen es sicher von anderen Programmen, daß Sie einen analogen
- PC Joystick zuerst kalibrieren müssen. Wählen Sie diesen Menüpunkt mit
- <RETURN>, bewegen Sie dann den Joystick erst nach links oben, dann nach
- rechts unten.
- Es werden einige Parameter angezeigt. Falls Sie den Joystick immer
- betriebsbereit haben wollen, übernehmen Sie diese Parameter in die
- sogenannte Konfigurationsdatei (siehe nächster Abschnitt).
- Sie müssen die Kalibrierung allerdings wiederholen, wenn Sie z.B.
- die Taktfrequenz ändern.
-
- Joy1_Calibrate (Joystick 1 kalibrieren)
- Wie Joy0_Calibrate, nur für Joystick 1.
-
- Kbd_Language (Tastaturlayout)
- Mit dieser Option wählen Sie eine andere Tastaturbelegung.
- 0 = UK, d.h. Normaleinstellung
- 1 = GR, also "deutschere" Tastatur. Es ist leider nicht möglich,
- eine vollständig deutsche Tastenbelegung zu haben, da man Zeichen
- mit SHIFT nicht in Zeichen ohne SHIFT umwandeln kann.
- Auf jeden Fall sind aber 'Z' und 'Y' vertauscht, zusätzlich ein
- paar sonstige Zeichen.
- 2 = FR, also "französischere" Tastatur. Nachdem ich eine "deutschere"
- Tastenbelegung eingeführt hatte, wollten die Franzosen natürlich
- auch eine eigene haben. Hier gibt es die gleichen Probleme wie
- bei der deutschen.
-
- Mouse_Enabled (Maus erlaubt)
- Erlaubt die Benutzung einer Maus zur Menüauswahl.
-
- Company_Name (Firmenname)
- Firmenname auf dem Eröffnungsbildschirm.
- 0 = Isp
- 1 = Triumph
- 2 = Saisho
- 3 = Solavox
- 4 = Awa
- 5 = Schneider
- 6 = Orion
- 7 = Amstrad
-
- Ppi_50Hz (PPI-50-Hz-Bit)
- Der CPC wird mit
- 0 - 60 Hz, oder mit
- 1 - 50 Hz (Standard in Deutschland,Frankreich)
- betrieben werden.
- Dazu wird bei einem Reset das Bit 4 des Port B PPI abgefragt und der
- CRTC entsprechend initialisiert.
- Sollte auf 50 Hz bleiben.
-
- Ppi_Exp_Signal (PPI-Expansions-Bit)
- Erweiterungskarten können dieses Signal setzen.
- Beim CPC 464 normalerweise gesetzt, wenn eine Floppy angeschlossen ist.
- Beim CPC 6128 immer gesetzt.
-
- Amsdos_Disabled (AMSDOS verboten)
- Verbietet die Initialisierung des AMSDOS. Das ist sinnvoll, wenn Sie
- viele Programme von Kassette laden möchten, ohne vorher immer den
- Befehl '|TAPE' eingeben zu müssen.
- Natürlich könnten Sie auch einfach die entsprechende ROM_BLOCK-Zeile
- mit dem AMSDOS-ROM kommentieren (mit ROM_BLOCK legen Sie die zu
- ladenden ROMs fest), dann wäre aber gar kein AMSDOS ROM mehr vorhanden.
- So bleibt es für bestimmte Befehle noch erreichbar.
-
- Amsdos_Speedup (AMSDOS-Beschleunigung)
- Erlaubt eine AMSDOS-ROM-Modifikation, bei der Diskettenzugriffe
- beschleunigt werden. Dies wird durch Minimieren der Motor-Wartezeiten
- erreicht, die für den Emulator natürlich unnötig sind.
-
- Break_Mask (Break-Maske)
- Nur für Debugging-Zwecke. Durch die Maske in der Konfigurationsdatei
- (3) werden Fehlermeldungen bei unzulässigen Befehlen unterdrückt.
- Ändern Sie diesen Wert möglichst nicht!
-
- Ems_Enabled (EMS erlaubt)
- Erlaubt der Benutzung von EMS-Speicher (Expanded Memory System).
- Falls kein EMS-Speicher vorhanden ist oder zu wenig zur Verfügung steht,
- wird automatisch konventioneller Speicher benutzt.
- Weitere Informationen zur EMS-Speichernutzung finden Sie in 2.3.1 und
- im Kapitel 7.
- Language (Sprache)
- Sprache, in der Hilfstexte angezeigt werden.
- Möglich sind
- 0=UK (Englisch)
- 1=GR (Deutsch)
- 2=FR (Französisch)
- 3=SP (Spanisch)
-
- Tape_Bypass (Kassetten-Umleitung)
- Falls Sie die "Kassette" verwenden möchten, muß diese Option auf
- "YES" stehen.
- Weitere Informationen zum TAPE-Bypass finden Sie im Kapitel 7.
-
- CPC_Type (CPC-Typ)
- Setzt den gewünschten CPC-Typ
- 0 = CPC 464
- 1 = CPC 664
- 2 = CPC 6128
- 3 = CPC 464+ (?)
- 4 = CPC 6128+ (?)
- 5 = unbekannt
- Um die Typen 3 oder 4 zu benutzen, müssen Sie zuerst entsprechende
- ROM-Abbilder in CPCEMU.CFG eintragen.
-
- Lade_Konfiguration
- Läd eine Konfigurations-Datei, welche mit "Save_Configuration"
- abgespeichert wurde. Manche Parameter wirken erst, wenn Sie
- "Restart_Emulation" wählen.
-
- Restart_Emulation (Emulation neu starten)
- Wenn Sie eine Konfiguration mittels "Load_Configuration" geladen
- haben, können Sie den Emulator mit diesen Werten neu starten.
-
- Speichere_Konfiguration
- Speichert die aktuelle Konfiguration.
- Die Haupt-Konfiguration "CPCEMU.CFG" läßt sich nicht überschreiben.
-
- Poke-Datenbank
- Falls Sie gerade ein Spiel spielen und nicht weiterkommen, wählen
- Sie diesen Menüpunkt. Falls das Spiel sich in der Übersicht befindet,
- wählen Sie es aus und Sie bekommen eine Erleichterung, zum Beispiel
- unendliche Leben.
- Sie können die Liste (CPCEMU.DBF) auch um eigene Pokes erweitern.
- Der Aufbau der Datei steht in Kapitel 7.
-
- DOS-Shell
- Öffnet eine DOS-Shell mit viel freiem Speicher, die Sie durch Eingabe
- von 'EXIT' wieder verlassen können.
-
- Fortsetzen
- Werte übernehmen und Programm fortsetzen.
- Die geänderten Werte werden übernommen und die Emulation wird
- fortgesetzt. Den gleichen Effekt bekommen Sie auch, wenn Sie auf
- einem beliebigen Menüpunkt (mit Zahl) <RETURN> drücken.
-
-
-
-
-
- 4.2 Konfigurationsdatei
- ========================
-
- Mit einer Konfigurationsdatei können Sie CPCEMU auch konfigurieren.
- Beim Start liest CPCEMU standardmäßig die Konfigurationsdatei CPCEMU.CFG.
- Der Aufbau dieser Datei soll jetzt beschrieben werden, so daß Sie selber
- leicht z.B. eigene ROMs einbinden können, die Tastatur dauerhaft
- umstellen, ...
-
- Werfen wir einmal einen Blick in die CPCEMU.CFG Datei:
-
- ;CPCEMU.CFG - The Configuration File for CPCEMU
- ;...
- ;
- ;configuration for CPC 464, 664, 6128, 464+, 6128+
- ;
- SHOW_CONFIG=1 ;should the configuration be displayed?
- ROM_PATH = ".\ROM" ;path to ROM images
- ...
-
-
- Schon an diesen paar Zeilen läßt sich der einfache Aufbau erkennen:
- Kommentare beginnen mit einem Semikolon (";").
- Optionen werden geändert, indem ein Schlüsselwort (hier
- SHOW_CONFIG, ROM_PATH) gefolgt von "=" gefolgt von einem <Wert> stehen.
- <Wert> kann je nach Schlüsselwort eine Zeichenkette
- oder auch ein numerischer Wert sein. Numerische Werte können nicht nur
- in dezimaler Form, sondern auch in hexadezimaler ("0x") oder binärer ("%")
- Zahlendarstellung angegeben werden.
-
- Sie brauchen also nur die Bedeutung der Schlüsselwörter zu kennen, um
- die Optionen leicht mit einem Texteditor an Ihre Bedürfnisse anzupassen.
-
- Die meisten Schlüsselwörter kennen Sie schon aus dem Setup-Menü.
- Zuerst eine alphabetische Übersicht, dann Erklärungen zu
- den speziellen:
-
- #ENDIF
- #IFCPC
- AMSDOS_DISABLED AMSDOS abschalten
- AMSDOS_SPEEDUP AMSDOS-Beschleunigung
- BREAK_MASK Unterbrechungs-Maske
- COLOUR_SCREEN Farbbildschirm
- COMPANY_NAME Firmenname
- CPC_TYPE CPC-Typ
- DRIVE_A Laufwerk B
- DRIVE_B Laufwerk B
- EMS_ENABLED EMS erlaubt
- EMULATION_DELAY Emulations-Verzögerung
- EMULATION_SPEED Emulations-Geschwindigkeit
- HELP_FILE Hilfs-Datei
- INTERRUPT_FREQUENCY Interrupt-Frequenz
- INTERRUPT_RESUME Interrupts nachholen
- JOY0_CALIBRATE Joystick 0 kalibrieren
- JOY1_CALIBRATE Joystick 1 kalibrieren
- KBD_LANGUAGE Tastatur-Layout
- LANGUAGE Sprache
- MOUSE_ENABLED Maus erlaubt
- MULTIMODE_UPDATE Multimodes sofort auffrischen
- PALETTE_CHANGE Palettenänderungen
- POKE_DATABASE Poke-Datenbank
- PPI_50HZ PPI-50Hz-Bit
- PPI_EXP_SIGNAL PPI-Expansions-Signal-Bit
- PRINTER Drucker
- RAM_SIZE RAM-Größe
- REALTIME Echtzeit-CPC
- ROM_BLOCK ROM-Block
- ROM_PATH ROM-Pfad
- SB_DELAY Soundblaster-Verzögerung
- SB_DELAY0 Soundblaster-Verzögerung 0
- SCREEN_OFFSET Bildschirm-Verschiebung
- SHOW_CONFIG Zeige Konfiguration
- SNAPSHOT Schnappschuß
- SOUND_DEVICE Sound-Ausgebegerät
- SOUND_ENABLED Soundausgabe erlaubt
- TAPE_BYPASS Kassetten-Umleitung
- TAPE_PATH Kassetten-Pfad
- TMP_PATH Temporäres Verzeichnis
- VIDEO_MODE Video-Modus
- VSYNC_POSITION Vertikale Sync-Position
-
-
- - #ENDIF, #IFCPC
- Diese Steuerbefehle ermöglichen eine bedingte Konfiguration je nach
- gewünschtem CPC:
- #IFCPC <CPC-Typ> ... #ENDIF
- Als <CPC-Typ> sind alle 4 Typen wie bei "CPC_TYPE" zulässig.
- Somit kommen Sie mit einer Konfigurationsdatei für alle CPCs aus.
- In den Batch-Dateien CPC464.BAT, CPC664.BAT, CPC6128.BAT wird der
- gewünschte CPC durch Kommandozeilen-Parameter gewählt. Diese werden im
- nächsten Abschnitt beschrieben.
-
-
- - DRIVE_A = "<Pfad+Dateiname>"
- Setzt den Pfad, wo sich die Disketten-Abbilder befinden.
- Geben Sie als Pfad einen Dateinamen an, wird diese "Diskette" beim
- Start des Emulators automatisch in Laufwerk A "gelegt".
- Im Abschnitt 3.2.1 habe ich das Laden von und Speichern auf Diskette
- beschrieben.
-
- - DRIVE_B = "<Pfad+Dateiname>"
- Ist das gleiche wie DRIVE_A, nur für Laufwerk B.
-
- - JOY0_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
- Hier geben Sie eine Joystick-Kalibrierung für Ihren Analog-Joystick an.
- Benutzen Sie die Werte, die nach der Joystick-Kalibrierung
- im Setup-Menü angezeigt werden (siehe Abschnitt 4.1).
- Dies ist ein Schlüsselwort, dem 4 Werte zugewiesen werden, diese
- müssen Sie auch immer angeben. Vier Nullen bedeutet nicht kalibriert.
-
- - JOY1_CALIBRATE = <xcen>, <ycen>, <xdead>, <ydead>
- Genauso wie JOY0_CALIBRATE.
-
- - POKE_DATABASE = "<Pfad+Dateiname>"
- Setzt die Poke-Datenbank-Datei (CPCEMU.DBF).
-
- - PRINTER = "<Pfad+Dateiname>"
- Hier legen Sie eine Drucker-Datei fest, in die
- Druckerausgaben umgeleitet werden. Beim jedem Start des Emulators wird
- sie gelöscht. Nachdem Sie den Emulator verlassen haben, schicken Sie
- diese Datei mit 'COPY <Dateiname> prn:' zu Ihrem Drucker.
-
- - ROM_BLOCK = <ROM-Nummer>, "<Dateiname>", <ROM-Position>
- Beschreibt, was für ein ROM geladen werden soll.
- Sie müssen diese Zeile für jedes zu ladende ROM wiederholen.
- Jedes ROM besitzt dabei eine Größe von 0x4000 Bytes.
- Die maximale Anzahl der ROMs ist etwa 20, wenn Sie EMS-Speicher haben.
- - <ROM-Nummer> ist die Nummer die das ROM bekommen soll,
- d.h., mit der es durch 'OUT &DF00,num' ausgewählt wird.
- 0 = Vordergrund-ROM (z.B. BASIC)
- 1 - 251 = Hintergrund-ROMs. Auf einem CPC 664/6128 werden
- die ROMs 1-15 bei einem Reset automatisch
- initialisiert (bei einem CPC 464 nur 1-7).
- Das AMSDOS ROM hat immer die Nummer 7.
- 255 = Lower-ROM (z.B. OS, hat nur im Emulator diese
- Nummer.)
- - <Dateiname> ist die Datei, in der sich das ROM-Abbild im
- Verzeichnis ROM_PATH befindet.
- - <ROM-Position> ist die Positon des ROMs innerhalb der Datei,
- 0 bedeutet 0.ROM, 1 bedeutet 1.ROM, usw...
- Es ist also möglich, mehrere ROMs in einer Datei zu haben.
- Bei den Einträgen
- ROM_BLOCK = 255, "CPC6128.ROM", 0
- ROM_BLOCK = 0 , "CPC6128.ROM", 1
- befinden sich also Lower-ROM und Vordergrund-ROM direkt nacheinander
- in derselben Datei.
-
- - ROM_PATH = "<Pfadname>"
- Setzt den Pfad, wo sich die ROM-Abbilder befinden, aus denen CPCEMU
- beim Start die ROMs liest. Die Konfigurationsdatei setzt das
- Verzeichnis .\ROM .
- Die ROMs selber werden mit dem Schlüsselwort ROM_BLOCK festgelegt.
-
- - SHOW_CONFIG = {1, 0}
- Erlaubt das Anzeigen der Konfigurations-Übersicht beim Start des
- Emulators.
-
- - SNAPSHOT = "<Pfad+Dateiname>"
- Setzt den Pfad, wo sich die Snapshots befinden.
- Geben Sie als Pfad einen Dateinamen an, wird dieser Snapshot automatisch
- gestartet.
- Im Abschnitt 3.2.3 habe ich das Laden und Speichern von Snapshots
- beschrieben.
-
- - TAPE_PATH = "<Pfadname>"
- Setzt den Pfad, wo sich die "Kassetten"-Dateien befinden. Die
- Konfigurationsdatei setzt das Verzeichnis ".\TAPE".
- Im Abschnitt 3.2.2 habe ich das Laden von und Speichern auf Kassette
- beschrieben.
-
- - TMP_PATH = "<Pfadname>"
- Setzt den Pfad, in dem CPCEMU temporäre Dateien erzeugt. Dieser wird
- hauptsächlich benötigt, wenn Sie aus einem ZIP-Archiv Dateien auswählen
- und CPCEMU diese mit PKUNZIP entpackt.
-
-
-
-
- 4.3 Kommandozeilen-Parameter
- =============================
-
- Wie bei vielen anderen Programmen üblich, können Sie auch bei CPCEMU
- Kommandozeilen-Parameter angeben. Zur Zeit sind jedoch nur einige wenige
- möglich.
-
- Rufen Sie CPCxxx.BAT einfach mit den folgenden Optionen auf:
- /f : startet die schnelle Emulation (Standardeinstellung)
- /s : startet eine langsame Emulation, die Sie normalerweise nicht
- benötigen.
- /d : startet den Debug-Modus, sehen Sie im Kapitel 7 nach.
- /x : verbietet EMS Benutzung
- /c <Datei> : gibt eine andere Konfigurationsdatei an, falls nicht
- die Standard-Datei CPCEMU.CFG benutzt werden soll.
- Siehe vorherigen Abschnitt.
- /t <type> : definiert den gewünschten CPC 464, 664 oder 6128
- durch /t 0, /t 1 bzw. /t 2.
-
- /h : zeigt einen Hilfsbildschirm an
-
- Wenn Sie eine unbekannte Option angeben, wird automatisch "/d" verwendet.
- Anstatt dem "/" können Sie auch das UNIX-übliche "-" verwenden.
-
-
-
-
-
-
- 5. Datenübertragung CPC <-> PC
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- Was nützt Ihnen der schönste Emulator, wenn Sie keine Programme dafür
- haben oder keine Möglichkeit sehen, die Programme von Ihrem CPC zum
- PC zu bekommen?
- Im Kapitel 6 (Bezugsquellen) sind auch einige Quellen aufgeführt, wo
- Sie CPC-Software bekommen können.
- In diesem Kapitel soll es darum gehen, wie Sie eigene CPC-Software auf
- den PC transferieren.
- Für die verschiedenen Möglichkeiten (Diskette, über parallele oder
- serielle Schnittstelle) werden auch Hilfsprogramme vorgestellt.
-
-
-
- 5.1 Diskette als Medium
- ========================
-
- Dies ist meistens die einfachste und schnellste Möglichkeit, die
- CPC-Software auf den PC zu bekommen.
- Sie brauchen dazu nur einen CPC mit Zweitlaufwerk in richtiger Größe.
- Richtige Größe bedeutet dabei, daß die Disketten von der Größe her
- in Ihr PC-Laufwerk passen müssen. Ansonsten könnten Sie versuchen,
- ein 3" Laufwerk an den PC anzuschließen.
- Der PC wird dann mit einem Zusatzprogramm überredet, die
- CPC-Diskettenformate zu lesen.
- Dieses Zusatzprogramm heißt CPCTRANS.
-
-
- 5.1.1 Das Diskettentransferprogramm CPCTRANS
- ---------------------------------------------
-
- Ich habe CPCTRANS geschrieben, um Disketten-Abbilder aus
- CPC-Disketten zu erstellen. Es werden sowohl die normalen CPC-Formate
- als auch das doppelseitige VORTEX-Format gelesen.
- CPCTRANS ist nicht dafür gedacht, kopiergeschützte Formate zu übertragen!
- Wenn Sie CPCTRANS ohne Parameter aufrufen, erhalten Sie eine kurze
- Übersicht.
- Rufen Sie CPCTRANS ähnlich wie den DOS COPY-Befehl auf:
- 'CPCTRANS <Quelle> <Ziel> <Optionen>'.
- Beispiele:
- 'CPCTRANS B: DISK1.DSK' kopiert die Diskette im Laufwerk B in
- das Disketten-Abbild DISK1.DSK. Falls diese nicht existiert,
- wird sie neu erzeugt.
- 'CPCTRANS DISK1.DSK B:' kopiert das Disketten-Abbild zurück
- auf die Diskette im Laufwerk B.
-
- Der erste Befehl funktioniert nur für das DATA-Format.
- Für andere Formate müssen Sie eine Option angeben:
- /f 0 : DATA-Format (Standard)
- /f 1 : DATA-Format, doppelseitig
- /f 2 : SYSTEM-Format
- /f 3 : SYSTEM-Format, doppelseitig
- /f 4 : VORTEX-Format, doppelseitig
- /f 5 : unbekannt, CPCTRANS versucht es selber zu erkennen.
- /f 6 : +3DOS
- Beachten Sie das Leerzeichen zwischen "/f" und der Zahl.
- Beim doppelseitigen DATA- und SYSTEM-Format wählen Sie die Seite A oder B
- im Disketten-Menü (3.2.1).
-
- Beim Zurückschreiben eines Disketten-Abbildes muß die Diskette
- schon mit dem richtigen Format formatiert sein! Dazu können Sie
- 22DISK benutzen, was im nächsten Abschnitt beschrieben wird.
-
- Wollen Sie die B-Seite einer Diskette kopieren, wählen Sie Seite B
- durch die Option "/s 1".
- Durch 'CPCTRANS B: DISK1.DSK /s 1' wird also nur die B-Seite der
- Diskette kopiert, mit 'CPCTRANS DISK1.DSK B: /s 1' wird sie wieder
- zurückgeschrieben.
-
- Durch die Option '/v' schalten Sie "verify" ein, d.h. es wird
- überprüft, ob die Daten korrekt kopiert wurden. Das ist zwar ein
- bißchen langsamer, erhöht aber die Sicherheit.
-
- Mit der Option '/t <Anzahl>' geben Sie an, wieviele Spuren (tracks)
- kopiert werden sollen. Normalerweise werden immer 40 Spuren kopiert,
- nur beim VORTEX-Format sind es 80.
-
- Eine Besonderheit ist die Option '/q' (Quick-Format). Hiermit
- formatieren Sie ein Disketten-Abbild, anstatt den Inhalt
- einer Diskette hineinzukopieren.
- Trotzdem müssen Sie als ersten Parameter ein gültiges Laufwerk angeben,
- auch wenn es nicht benutzt wird.
- Beispiel:
- 'CPCTRANS a: SYSTEM.DSK /f 2 /q' formatiert SYSTEM.DSK als
- SYSTEM-Format-Diskette.
-
-
-
- 5.1.2 Das Formatier- und Kopierprogramm 22DISK von SYDEX
- ---------------------------------------------------------
-
- Dieses Programm ist als Shareware erhältlich. Durch geeignete
- Definitionen können Sie sämtliche CP/M-Formate benutzen!
- Leider sind gerade die CPC-Formate in der Prüfversion von 22DISK nicht
- enthalten. Deshalb habe ich diese Formate in der Datei CPMDISKS.DEF
- definiert. Sie befindet sich auch im UTILITY-Verzeichnis.
- Was können Sie mit 22DISK machen?
- Sie können einzelne Dateien zwischen DOS und den Fremdformaten hin- und
- herkopieren, Disketten formatieren und so weiter.
- Kopieren Sie die CPC-Dateien einfach in das TAPE-Verzeichnis, und
- lesen Sie im Abschnitt 3.2.2 nach, wie Sie Programme von Kassette laden.
-
-
-
- 5.2 Parallele Schnittstelle
- ============================
-
- Falls Sie noch einen CPC ohne Zweitlaufwerk besitzen, haben Sie die
- Möglichkeit, den Datentransfer über die parallele Schnittstelle zu
- tätigen.
- Ursprünglich hatte Gilles Molinari diese Idee und auch Turbo-Pascal
- Programme dazu geschrieben. Nur gehören Sie vielleicht zu den Benutzern,
- die keinen Turbo-Pascal Compiler auf den CPC haben, somit könnten Sie
- damit nicht viel anfangen. Ich habe sie deshalb in Locomotive-BASIC
- umgeschrieben und durch die zusätzliche Richtung PC->CPC ergänzt.
- Es ist also möglich, Programme vom CPC zum PC und umgekehrt zu übertragen!
- CPC und PC werden dabei an den Druckerschnittstellen gekoppelt.
- Wenn Sie einen CPC 6128 haben und sich die Anschlüsse mal genauer ansehen,
- werden Sie feststellen, daß Sie mit einem parallelen PC-Druckerkabel die
- beiden Computer hervorragend verbinden können! Doch tun Sie es noch nicht,
- lesen Sie erst weiter.
- Wenn Sie einen Amstrad CPC 6128 ohne Centronics-Buchse oder einen
- CPC 464/664 haben, benutzen Sie das Diagramm am Ende des Abschnitts.
-
- Zwei kleine Hürden müssen Sie überwinden:
- 1. Einen kleinen Adapter bauen
- 2. Ein kurzes Programm in den CPC eintippen
-
- Warten Sie! Blättern Sie nicht gleich weiter!
-
- Beide Schritte sind ganz einfach, denn
- 1. geht auch OHNE LÖTEN und
- 2. ist wirklich ziemlich kurz (etwa 30 Zeilen BASIC)
-
- Zu 2.
- Das Programm, was Sie brauchen, heißt CPCREC.BAS und befindet sich im
- UTILITY-Verzeichnis. Es ist in ASCII-Form abgespeichert, so daß Sie
- es problemlos ausdrucken und in Ihren CPC eintippen können.
- Es erfüllt in etwa die Aufgabe eines dünnen Seiles, das Sie durch ein
- Rohr schicken, um ein dickes Tau nachziehen zu können.
- Das dünne Seil ist hier CPCREC.BAS und empfängt (receive) Programme
- vom PC. Mit diesem "Progrämmchen" holen Sie das Programm CPCPARA.BAS
- (das dicke Tau) auf Ihren CPC. Damit können Sie sowohl Programme
- empfangen als auch senden. CPCREC.BAS brauchen Sie dann nicht mehr.
- Auf der PC-Seite haben Sie die ganze Zeit PCPARA.EXE.
- Natürlich sind auch diese beiden Programme im UTILITY-Verzeichnis.
-
-
- Doch bevor Sie CPCREC.BAS eintippen, kommen wir zu 1.
-
-
- Der parallele Adapter
- ---------------------
-
- Sie brauchen also einen Adapter zwischen dem PC-Druckerkabel und dem
- PC-Druckeranschluß.
- Am einfachsten geht das mit einer RS-232 Wiring-Box, die einen 25pin
- D-Sub Stecker und eine 25pin D-Sub Buchse hat. Durch Stecken von
- kurzen Drahtbrücken realisieren Sie damit beliebige Verbindungen zwischen
- den beiden Seiten. Normalerweise wird so eine Box - wie ihr Name
- schon sagt - zur Anpassung von RS-232 Schnittstellen benutzt. Serielle
- Verbindungen scheinen nämlich nie auf Anhieb zu funktionieren.
- Bei unserem Adapter benutzen Sie die Box einfach "andersherum", d.h.
- der Stecker kommt an den PC, in die Buchse kommt dann das PC-Druckerkabel.
-
- Stecken wir die Box eben zusammen:
-
- Stecker für den PC- Buchse für das Drucker-
- Druckeranschluß (links): kabel (rechts):
-
- Pin 2 --------------- Pin 11
- Pin 10 --------------- Pin 8
- Pin 11 --------------- Pin 1
- Pin 12 --------------- Pin 7
- Pin 13 --------------- Pin 6
- Pin 15 --------------- Pin 5
- Pin 19 --------------- Pin 19
-
-
- Wie Sie sehen, brauchen Sie nicht alle 25 Drahtbrücken sondern nur 7.
- Meine Wiring-Box habe ich bei einem Elektronik-Versand für 13 DM bekommen.
-
- Sie können es natürlich auch günstiger haben, indem Sie eine sogenannte
- Jumper-Box verwenden, bei der Sie die Drahtbrücken festlöten müssen.
- Diese sollte etwa 7 DM kosten.
- Noch günstiger sind Stecker, Buchse, Adapter-Gehäuse und ein paar Drähte.
- Das hat mich etwa 3 DM gekostet.
-
-
- Sie haben jetzt mit dem Adapter die beiden Computer verbunden und das
- "Progrämmchen" CPCREC.BAS in den CPC eingetippt.
- Wie geht es nun weiter?
-
- 1. Auf dem CPC: CPCREC.BAS starten (nachdem Sie es abgespeichert haben)
- 2. Auf dem PC : 'PCPARA /s CPCPARA.BAS' starten.
-
- Jetzt wird es kritisch, denn wenn auf dem PC keine Fehler gemeldet werden,
- ist alles gut verlaufen, das Programm ist auf dem CPC.
- Falls der PC überhaupt nichts sendet und nur eine Fehlermeldung ausgibt,
- ist die Verbindung wahrscheinlich nicht in Ordnung.
- Falls er etwas sendet ("Sending block xx"), aber zwischendurch Fehler
- auftreten, ist Ihr PC vielleicht zu schnell oder zu langsam. Die Richtung
- PC->CPC ist nämlich ziemlich zeitkritisch.
- Auf meinem 386/33 darf ich kein EMS installiert haben, sonst ist es zu
- langsam. Auf einem besonders schnellen Computer könnte es aber nötig
- Sein, die Taktfrequenz herunterzuschalten. Benutzen Sie es unter DOS,
- nicht unter OS/2 oder Windows.
-
- Wenn es überhaupt nicht klappen sollte, benachrichtigen Sie mich.
- In der Zwischenzeit könnten Sie das etwas längere CPCPARA.BAS eintippen,
- die Richtung CPC->PC funktioniert nämlich immer, auch unter OS/2, da das
- nicht viel anders ist als ausdrucken. Der PC spielt dabei den Drucker.
-
- Ich nehme an, daß Sie jetzt CPCPARA.BAS auf Ihrem CPC haben.
- Übertragen Sie Dateien vom CPC zum PC folgendermaßen:
- 1. Auf dem PC: 'PCPARA /r' eingeben.
- 2. Auf dem CPC: CPCPARA starten, Menüpunkt S)end wählen, und nacheinander
- die zu übertragenden Dateien eingeben. (Rufen Sie 'PCPARA /r' für jede
- zu übertragende Datei erneut auf, CPCPARA hingegen läuft in einer
- Endlosschleife.)
-
-
- Sie benutzen also PCPARA folgendermaßen:
- - PCPARA /r : startet PCPARA im Empfangsmodus
- - PCPARA /s <Datei> : sendet die <Datei> zum CPC, falls Sie als
- Datei 'TRM:' angeben, bekommen Sie ein Terminal.
-
- Bei den meisten Programmen im UTILITY-Verzeichnis bekommen Sie übrigens
- eine Übersicht über die Optionen, wenn Sie nur den Dateinamen eingeben.
-
-
- WARNUNG:
- Auch wenn der Aufbau ganz simpel ist, kann ich doch nicht
- garantieren, daß Sie dabei nicht irgend etwas kaputtmachen. Wenn z.B.
- nachher Ihr CPC-Druckerport defekt ist, dann ist das schade und wohl
- eher ein dummer Zufall. Wahrscheinlich wäre er auch dann kaputtgegangen,
- wenn Sie nur Ihren Drucker angeschlossen hätten.
- Ich kenne z.B. einen ehemaligen CPC-Benutzer, dessen Tastatur mal nicht
- mehr funktionierte. Nach der Reperatur sagte man ihm, er dürfe den
- Joystick auch nicht bei angeschaltetem Computer einstöpseln!
- (Also ich mache das immer ?!?)
- Also:
- Der Adapter wurde nicht nur von mir schon mehrfach erfolgreich nachgebaut.
- Und auch Benutzer, die "mal vergessen" haben, den Adapter zwischen der
- Verbindung anzubringen, berichten von keinen Problemen.
-
-
-
- Diagramme von David Chapeau, falls Ihr CPC keinen Centronics-Anschuß hat:
-
- 34 <- - - - - - - - 18 \
- ______________________ |
- | ________________ | |
- | |________________| | - | ---> Buchse für CPC-Druckeranschluß
- |______________________| |
- |
- 17 < - - - - - - - - 1 |
- |
- |||||||||||||||||| |
- |||||||||||||||||| \
- |||||||||||||||||| > "CPC 464/664 nach DMP 2160"-Kabel
- |||||||||||||||||| /
- |||||||||||||||||| |
- |
- 1 - - - - - - - - > 18 |
- ________________________ |
- \ ______________ / |
- \ |______________| / - | ---> Centronics-Stecker
- \__________________/ |
- |
- 19 - - - - - - - -> 36 /
-
-
-
- 18 < - - - - - - - - 1 \
- ________________________ |
- \ ______________ / |
- \ |______________| / - | ---> Centronics-Buchse
- \__________________/ |
- |
- 36 <- - - - - - - - 19 |
- |
- |||||||||||||||||| |
- |||||||||||||||||| \
- |||||||||||||||||| > PC Parallel Adapter
- |||||||||||||||||| /
- |||||||||||||||||| |
- |
- 1 - - - - - - - - > 13 |
- ________________________ |
- \ .................. / |
- \ ................ / - | ---> Sub-D Stecker zum PC (LPT1)
- \__________________/ |
- |
- 14 - - - - - - - -> 25 /
-
-
- 13 < - - - - - - - - 1 \
- ________________________ |
- \ .................. / |
- \ ................ / - | ---> Sub-D Buchse
- \__________________/ |
- |
- 25 <- - - - - - - - 14 |
- |
- |||||||||||||||||| |
- |||||||||||||||||| \
- |||||||||||||||||| > RS-232 "Wiring-Box"
- |||||||||||||||||| /
- |||||||||||||||||| |
- |
- 1 - - - - - - - - > 13 |
- ________________________ |
- \ .................. / |
- \ ................ / - | ---> Sub-D Stecker zum PC (LPT1)
- \__________________/ |
- |
- 14 - - - - - - - -> 25 /
-
-
-
- Drucker Centronics Centronics Sub-D Sub-D Sub-D
- (Buchse) (Stecker) (Buchse) (Stecker) (Buchse) (Stecker)
-
- 1 --------- 1 1 --------- 1 11 --------- 2
- . . 8 --------- 10
- . . 1 --------- 11
- . . 7 --------- 12
- 17 --------- 17 14 --------- 14 6 --------- 13
- 18 --------- 19 19 --------- 19 5 --------- 15
- . 21 --------- 20 19 --------- 19
- . 23 --------- 21
- . 25 --------- 22
- 34 --------- 35 27 --------- 23
- 29 --------- 24
- 30 --------- 25
- 31 --------- 16
- 32 --------- 15
- 33 --------- 18
- 36 --------- 17
-
-
-
- Übertragungsgeschwindigkeit CPCPARA -> PCPARA (v1.1):
-
- Mit der eingebauten Statistik wurden folgende Übertrangungsraten
- für einen 0x4000 Byte-Block vom CPC zum PC gemessen:
-
- Quelle auf dem CPC: Bytes/s: bit/s:
- -----------------------------------------------------------
- Datei von Diskette: 1600 12800
-
- Block aus dem Speicher: 2240 17920
-
- Block aus Speicher,keine Int. 2445 19560
- (poke &b941,&c9 auf CPC 6128)
-
- Das Senden eines Blocks wurde in BASIC folgendermaßen realisiert:
- defstr a:a="test.$$$":call sstr,@a
- a=string$(&80):for i=1 to &80:call sstr,@a:next:call sbyte,0:stop
-
-
- Weitere Informationen zum parallelen Adapter finden Sie im Kapitel 7.
-
-
-
-
- 5.3 Serielle Schnittstelle
- ===========================
-
-
- Falls Sie eine serielle Schnittstelle am CPC haben, können Sie die
- Daten natürlich auch seriell übertragen.
-
-
-
- 5.4 Sonstige Möglichkeiten
- ===========================
-
- Es gibt auch abenteuerlichere Methoden, an seine Software zu kommen.
-
- - 3" Diskettenlaufwerk an den PC anschließen. Manche (ältere) Modelle
- sollen direkt an den 5.25"-Anschluß passen.
-
- - Mit Hilfe des Spectrum+3 (oder so) die 3" Disketten einlesen, in das
- Spectrum-Format konvertieren und mit einem Hilfsprogramm auf den PC
- übertragen. Dieses Hilfsprogramm soll dem Spectrum-Emulator Z80 von
- Gerton Lunter beiliegen.
-
- - Als es noch nötig war, irgendwie an die ROMs zu kommen, hat mir ein
- Benutzer von seiner Methode berichtet:
- Er hat den ROM-Chip aus dem CPC ausgebaut und anstatt des VGA-BIOS in
- seine Grafikkarte eingesetzt. Mit einem kleinen Programm konnte er
- dann den Inhalt auslesen.
-
- - Vielleicht finden Sie noch Ihre eigene Methode?
-
-
-
-
-
- 6. Bezugsquellen, Hilfe bei Problemen, Danksagungen
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- In diesem Kapitel erfahren Sie, woher Sie CPC-Software beziehen können und
- an wen Sie sich bei weiteren Fragen wenden können.
- Außerdem erwähne ich noch einige andere Amstrad-Emulatoren.
-
-
- 6.1 Sie möchten CPC Software ?
- ===============================
-
- Kein Problem. Wenn Sie Internet-Zugang oder ein Modem haben.
- Wie für die Spectrum-Emulatoren gibt es mittlerweile auch für den
- (oder die) CPC-Emulator(en) "anonyme" Archive, von denen Sie per FTP,
- oder WWW Software bekommen können.
-
-
-
-
- - ftp.nvg.unit.no : /pub/cpc, thanks to Arnt Gulbrandsen for
- creating the site, and to Noel Llopis to maintain it,
- ROMs, CPC programs, emulators, send what you have in /pub/cpc/incoming
-
- - sunshine.informatik.uni-wuerzburg.de : /pub/joscho/cpcemu
- mirror of ftp.nvg.unit.no. Any questions, remarks and additions to
- joscho@informatik.uni-wuerzburg.de
- If you have problems connecting to Norway you can try this.
-
- - ftp.ibp.fr : /pub/amstrad, thanks to Remy Card, all questions about
- this site should be directed to roussin@blaise.ibp.fr
- All the files comes from 'Genesis the 8bit generation BBS' (see
- below),
-
- - ftp.demon.co.uk:/pub/cpm, thanks to Paul Martin
- specific amstrad CP/M related files
- Paul Martin (pm@nowster.demon.co.uk) will send anyone, who can give
- him proof that they own an original Amstrad CP/M Plus disk, the binary
- ROM images of his "CP/M Plus ROMs" for free.
-
- - oak.oakland.edu : /Simtel/msdos/emulator/cpcemu13.zip
-
- - other Simtel mirrors as :
- ftp.ibp.fr : /pub3/pc/SimTel/msdos/emulator/
- ftp.demon.co.uk : /simtel/msdos.
-
-
-
- FTP
- ---
-
- - ftp.nvg.unit.no:/pub/cpc, Arnt Gulbrandsen hat das Archiv
- bereitgestellt und Noel Llopis verwaltet es.
- Eines der größten Archive mit CPC-Programmen.
- Eigene Programme können Sie unter /pub/cpc/incoming ablegen.
-
- - sunshine.informatik.uni-wuerzburg.de:/pub/joscho/cpcemu
- Ein Mirror von ftp.nvg.unit.no. Fragen, Bemerkungen und Ergänzungen
- richten Sie bitte an joscho@informatik.uni-wuerzburg.de.
- Wenn Sie Verbindungsprobleme nach Norwegen haben, können Sie es hier
- versuchen.
-
- - ftp.ibp.fr:/pub/amstrad, dank Remy Card. Alle Fragen zu diesem
- Archiv richten Sie bitt an roussin@blaise.ibp.fr.
- Alle Dateien kommen von 'Genesis the 8bit generation BBS' (siehe unten).
-
- - ftp.demon.co.uk:/pub/cpm, dank Paul Martin
- Hauptsächlich Amstrad CP/M-Programme.
- Paul Martin ist bereit, Ihnen seine "CP/M Plus ROMs" zuzuschicken,
- falls Sie das originale Amstrad CP/M Plus haben.
- Sie müssen das natürlich irgendwie beweisen.
-
-
- - oak.oakland.edu : /Simtel/msdos/emulator/cpcemu14.zip
-
- - Weitere Simtel-Mirrors;
- ftp.ibp.fr : /pub3/pc/SimTel/msdos/emulator/
- ftp.demon.co.uk : /simtel/msdos
- ftp.uni-paderborn.de
-
-
- WWW
- ---
-
- - Amstrad Action homepage at http://www.futurenet.co.uk/
-
- - http://www.cm.cf.ac.uk/User/K.E.W.Thacker/Amstrad/index.html
-
-
- BBS
- ---
-
-
- - Aspects 2:250/107 : +44 617920260, England
-
- - Genesis the 8bit generation, 2:320/220, +33 1 39 50 54 11, Frankreich
-
- - Razormaid, 2:246/6009, +49 711 4204329, Deutschland
-
- - Beavis'n'Butthead BBS 2453/407, Deutschland
-
-
-
- 6.2 Sie möchten immer auf dem laufenden bleiben ?
- ==================================================
-
-
- Sie möchten immer die neuste Version von CPCEMU haben?
- Sie möchten informiert werden, wenn eine neue veröffentlicht wird?
-
- Mittlerweile gibt es eine eigene CPC-Newsgruppe !
- Sie heißt
-
- comp.sys.amstrad.8bit.
-
- Dort finden Diskussionen rund um den CPC (und eben auch CPCEMU) statt.
- Hier können Sie natürlich ganz unverbindlich Ihre Erfahrungen austauschen.
-
- Es ist auch ein FAQ (frequently asked questions, häufig gestellte Fragen)
- zu dieser Newsgroup verfügbar.
-
- Falls Sie keine Möglichkeit haben, die Newsgruppe zu lesen, schreiben
- Sie mir kurz eine E-Mail, um in eine "Mailing-List" aufgenommen zu werden.
- Sie werden dann immer über Neuerungen informiert.
- Meine Adresse steht im nächsten Abschnitt.
- Mit normaler Post können Sie bei mir (oder bei David, siehe unten)
- natürlich auch nachfragen, aber nicht das Rückporto vergessen.
- Falls Sie mir eine Anerkennung zukommen lassen haben, fühle ich mich
- normalerweise verpflichtet, Ihnen mindestens 1 bis 2 Mal die neuste
- Version zukommen zu lassen.
-
-
-
- 6.3 Wenn Sie Fragen oder Anregungen haben
- ==========================================
-
-
- Dann wenden Sie sich direkt an mich:
-
- Marco Vieth
- Auf dem Ükern 4
- D-33165 Lichtenau
- Germany
-
- Tel. 05292/1366
-
- Internet: ali@uni-paderborn.de
-
- Wie Sie vielleicht schon wegen der Internet-Adresse vermuten,
- studiere ich an der Uni Paderborn, und zwar Informatik im
- 11. Semester (WS 95/96).
-
-
-
- Falls Sie Englisch sprechen oder schreiben, können Sie sich
- auch an David Cantrell wenden:
-
- David Cantrell
- 116, London Road
- Bexhill-on-sea
- East Sussex
- TN39 4AA
- England
-
- Phone: +44-1424-221015
-
- Internet: david@integration.co.uk
-
-
- David hat mir angeboten, mich bei der "Flut von Anfragen" zu unterstützen.
- Er hat das Firmware-Manual für den CPC eingescannt und überarbeitet,
- so daß es jetzt jedem in einer elektronischen Form zur Verfügung steht.
-
-
- Ich akzeptiere jede Form von Unterstützung, ob ideell oder finanziell.
- (30 DM bis 50 DM wären angemessen.)
- Normalerweise ist auf die Post (wenigstens) soviel Verlaß, daß Geldscheine
- in zugeklebten Briefen auch ankommen.
- (Die "Unglücksfälle", die manchmal bei "Wie bitte ?" vorgestellt werden,
- sind hoffentlich nur die Ausnahme. Wenn z.B. ein Güterwaggon vollbeladen
- mit Postsendungen monatelang in einem Ausbesserungswerk vergessen
- wurde ...)
- Falls Sie den bargeldlosen Zahlungsverkehr bevorzugen:
- Marco Vieth, Sparkasse Paderborn, BLZ: 47250101, Kto.Nr: 54111091
-
- Auch wenn Sie mir kein Geld schicken, beantworte und berücksichtige ich
- normalerweise alle Ihre Fragen und Anregungen (und David sicher auch).
-
-
-
- 6.4 Andere Amstrad CPC Emulatoren
- ==================================
-
- Noch Anfang 1994 hätte ich gesagt, CPCEMU ist der einzige Emulator für den
- Amstrad CPC. Mittlerweile sind mir jedoch drei andere bekannt:
-
- - SIMCPC:
- Vermutlich der erste CPC-Emulator überhaupt.
- CPC-Emulator für PC/XT/AT (c) 1989, 90 by GHE, Aachen
- Nur schwarzweiß, aber mit zusätzlichen ROMs;
- insgesamt nur eine "Bierlaune".
-
- - CPC2PCxx:
- Wird seit Oktober 1993 von Paco Lopez aus Spanien entwickelt.
- Ist jetzt auf einigen Archiven verfügbar. Ist vollständig im Protected
- Mode und benutzt dasselbe Disketten-Format wie CPCEMU.
-
- - CPE:
- In Entwickung von Bernd Schmidt aus Aachen. Durch einen speziellen
- 50 Hertz Bildschirm-Modus werden einige Farbbalken exakt nachgebildet.
- Außerdem werden Multi-Modes und Overscan unterstützt.
- Mit einer Spezialversion im 256-Farben-Modus werden exakte Farbbalken
- mit mehr als 50 Hertz dargestellt.
- Mittlerweile gibt es die Version v4.7.
-
-
-
- 6.5 Pläne für weitere CPCEMU-Versionen
- =======================================
-
- - Overscan
- - Bessere Multi-Modes
- - Bildschirm zentrieren in höheren Auflösungen
- - Schnelles Hardware-Scrolling
- - wählbare Bildschirmvergrößerung
- - auf amerikanischen Tastaturen fehlt "<>", ALTgr
- - Expansions-Port des CPC nachbilden
- - direktes Laden von CPC-Disketten
- - Laden von CPC-Kassetten über die Druckerschnittstelle oder über
- eine Soundblaster-Karte
- - Übertragen von Disketten mit dem parallelen Adapter
- - Änderung der Soundblaster-Lautstärke
- - Besserer Sound (eventuell mit Geräuschen)
- - Digiblaster-Emulation
- - Joystick-Tasten selber definieren
- - Maus als Joystick benutzen
- - automatische Erkennung von .SNA und .DSK
- - den Expansions-Port emulieren
-
-
- Vielleicht wird es nie eingebaut, da ich erst einmal meine Diplomarbeit
- schreiben muß und nebenbei ein wenig "richtig" arbeite...
-
-
-
- 6.6 Danksagungen
- =================
-
- - Besonderen Dank an Jürgen Weber, der mir nicht nur sehr viele Tips
- gegeben und Verbesserungsvorschläge gemacht hat, sondern vor allem die
- schnelle Z80-Emulation aus seinem CP/M-Emulator ZSIM beigesteuert hat.
-
- Jürgen G. Weber
- Wiesentalstraße 1
- 74523 Schwäbisch Hall
- Federal Republic of Germany
-
- Email: weberj@dia.informatik.uni-stuttgart.de
-
-
- - Außerdem Dank an Bernd Schmidt. Da Bernd einen eigenen Emulator schreibt,
- standen wir oft vor denselben Problemen. Nur wer selber versucht, einen
- solchen Emulator zu schreiben, kann ermessen, welche Details überall
- Probleme bereiten. Es gibt eben keine Dokumentation zum CPC, in der die
- gesamte Spezifikation enthalten ist. Das meiste muß durch Probieren
- herausgefunden werden.
-
- - Dank an Ulrich Doewich, der die Sound-Ausgabe für Gravis UltraSound
- eingebaut und die englische Dokumentation dorchgelesen hat.
- Ulrich entwickelte ein ähnliches Tool wie CPCTRANS. Halten Sie Ausschau
- nach CPDREAD, dem "Copy-Protected-Disk-Reader", der auch
- kopiergeschützte Disketten lesen kann.
-
- - Dank an Emmanuel Roussin für seinen unermüdlichen Einsatz für
- den CPC. Er hat wesentlich bei der Erstellung der Newsgruppe
- mitgewirkt und mir monatelang sein Multiface II geliehen, damit
- ich es doch in den Emulator einbaue.
-
- - Dank auch an Arnt Gulbrandsen, aus dessen JPP-Quellcode ich die
- Ideen für den Keyboard-Handler und die Joystickabfrage bekam.
- JPP ist übrigens ein sehr guter Spectrum-Emulator.
-
- - Dank an Martin Zacho für die Joystick Routine.
-
- - Dank an Fernando J. Echevarrieta Fernandez, der als erster
- herausfand, daß Version v0.8 keinen CPC 664 emulierte.
-
- - Dank an Gilles Molinari für das Transferprogramm für den parallelen
- Adapter.
-
- - Dank an Paul Martin, der die englische Dokumentation zu Version 1.0
- korrigiert hat.
-
- - Dank an Mark Haigh-Hutchinson, der durchgesetzt hat, daß Spiele der
- Firma Vortex nun legal in einem Archiv verfügbar sein dürfen.
-
- - Dank an Martin Young für seine außergewöhnlichen Ideen, einen Z80 zu
- emulieren.
-
- - Dank an Linh Hsiesh für zahlreiche Verbesserungsvorschläge, wovon die
- meisten mittlerweile realisiert sein dürften.
-
- - Dank an Fred Harris für den Brief, den er wegen der ROMs an AMSTRAD
- geschrieben hatte.
-
- - Dank an Amstrad, insbesondere an Cliff Lawson, daß ich das BASIC-ROM
- benutzen darf. Natürlich bleibt das Copyright bei Amstrad.
-
- Amstrad plc, Brentwood House,
- 169 Kings Road, Brentwood,
- Essex CM14 4EF
-
- - Dank an Richard Clayton von Locomotive, daß ich das Firmware-ROM benutzen
- darf. Natürlich bleibt das Copyright bei Locomotive Software.
-
- - Und Dank an die vielen anderen Benutzer, die mir Verbesserungs-
- vorschläge geschrieben haben oder sonstige Ideen hatten. Ohne sie
- wäre CPCEMU vermutlich nicht einmal bis Version 1.0 gekommen.
-
-
-
- 6.7 Geschützte Warenzeichen
- ============================
-
- CP/M, CP/M 2.2 und DRDOS sind von Digital Research,
- MS-DOS ist von Microsoft,
- IBM PC, PC-XT, PC-AT und OS/2 sind von International Business Machines,
-
- CPC, AMSDOS sind von Amstrad,
- BORLAND C, TASM (Turbo Assembler) sind von Borland,
- 22DISK ist von SYDEX
- Soundblaster ist von Creative Labs
- ...
-
-
-
- ------------------------------------------------------------------------------
-
-
-
-
- 7. Interne Informationen zu CPCEMU
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
-
- Dieses Kapitel soll ein paar Hintergrundinformationen liefern und die
- Frage beantworten, WARUM muß ich jetzt dies und das machen.
- Auch wird das leistungsfähige Debug-Menü erklärt und die Datenformate
- zu den Disketten-Abbildern und den Snapshots aufgeführt.
- Ich gebe hier also Informationen, die Sie als Anwender von CPCEMU
- nicht unbedingt wissen müssen. Allerdings können sie manchmal ganz
- nützlich sein.
- Ich habe diese Informationen absichtlich an das Ende, noch nach den
- geschützten Warenzeichen gesetzt, damit die relative "relative
- Bedeutungslosigkeit" deutlich wird.
- Wenn Sie keinen Spaß an unverständlichen Sätzen und unstrukturierten
- Informationen haben, dann lesen Sie nicht weiter!
-
-
-
- WARNUNG: Weiterlesen auf eigene Gefahr!
-
-
-
-
-
- 7.1 Inhaltsverzeichnis zu Kapitel 7
- ====================================
-
- 7.2 Interne Übersicht über die Leistungsmerkmale von CPCEMU
- 7.2.1 Die Z80-CPU (Der Prozessor)
- 7.2.2 Das Gate-Array (Der "Hilfsprozessor")
- 7.2.3 Das PAL (Programmable Logic Array)
- 7.2.4 Der CRTC 6845 (Cathode Ray Tube Controller)
- 7.2.5 Die PIO 8255 (Programmable Input-Output)
- 7.2.6 Der PSG (Programmable Sound Generator)
- 7.2.7 Der FDC (Floppy Disc Controller)
- 7.2.8 Die Centronics-Druckerschnittstelle
-
- 7.3 Das Debug-Menü
- - Aufbau des Debug-Menüs
- - Vorbemerkungen
- - Übersicht über die Kommandos
- - Registermanipulationen
-
- 7.4 Die Speicherverwaltung
- 7.4.1 Noch einmal zur EMS-Konfiguration
- 7.4.2 Realisierung des Bankings
-
- 7.5 ROM-Modifikationen
- 7.5.1 ROM-Bypass für die Kassette
- 7.5.2 Modifikationen am AMSDOS-ROM
-
- 7.6 Verschiedenes
- 7.6.1 Noch einmal: Die Konfigurationsdatei
- 7.6.2 Der parallele Adapter
- - Richtung CPC->PC
- - Richtung PC->CPC
- 7.6.3 CPCTRANS
-
- 7.7 Aufbau einiger CPCEMU-Dateien
- 7.7.1 Disketten-Abbilder
- - Der Disketten-Informationsblock
- - Der Spur-Informationsblock
- 7.7.2 Snapshot-Dateien
- 7.7.3 AMSDOS-Header
- 7.7.4 Poke-Datenbank
-
- 7.8 Interne History
-
-
-
-
-
- 7.2 Interne Übersicht über die Leistungsmerkmale von CPCEMU
- ============================================================
-
-
- Wie kompatibel ist CPCEMU wirklich?
-
-
-
- 7.2.1 Die Z80-CPU (Der Prozessor)
- ----------------------------------
-
- + Es werden alle Z80-Befehle emuliert, auch sogenannte illegale Befehle.
- Es gibt eine langsame Z80-Emulation in C und eine schnelle Emulation in
- Assembler von Jürgen Weber.
- Durch die COCPU-Technik, bei der jeder Befehl von den beiden
- Emulationsarten gleichzeitig ausgeführt wird und danach die Register
- verglichen werden,
- wurden zahlreiche Fehler gefunden. Natürlich wurde dies nur während der
- Programmentwicklung benutzt. Die langsame Z80-Emulation können Sie vom
- Debug-Menü aus aktivieren.
- + Nur dem Emulator bekannte Zusatzbefehle der Form ED FC xx, darunter auch
- der User-Break ED FC FC USER &BCFC.
-
- - kein exaktes Timing der Befehle
-
-
-
- 7.2.2 Das Gate-Array (Der "Hilfsprozessor")
- --------------------------------------------
-
- + alle 32 Farben des CPC (27 verschiedene)
- + alle 3 Bildschirmmodi (X x Y x Farben):
- Modus 0 = 160x200x16
- Modus 1 = 320x200x4
- Modus 2 = 640x200x2
- + einfache Multi-Modes
- + ROM-Banking (16KB OS, 16KB BASIC, 16KB AMSDOS, und sonstige Zusatzroms)
-
- - Farbbalken flimmern
-
-
-
- 7.2.3 Das PAL (Programmable Logic Array)
- -----------------------------------------
-
- Das PAL ist zwar logisch über die gleiche Adresse wie das Gate-Array zu
- programmieren, hardwaretechnisch aber davon getrennt.
-
- + RAM-Banking (128 KB, bis zu 576 KB), mit EMS oder konventionellem
- Speicher.
- Mit emuliertem EMS ist es recht flott, da die die Umschaltung per
- Hardware geschieht. Sie können eine Dk'tronics kompatible
- Speichererweiterung mit bis zu 576 KB RAM benutzen.
-
- - Ohne EMS ist RAM Banking sehr langsam, da Speicherblöcke vertauscht
- werden müssen. Außerdem haben Sie ohne EMS höchstens 128 KB RAM zur
- Verfügung.
-
-
-
- 7.2.4 Der CRTC 6845 (Cathode Ray Tube Controller)
- --------------------------------------------------
-
- + Bildschirmstart, -offset für Hardware-Scrolling
- + verschiedene Bildschirmgrößen von 0x0 bis 80x25 mittels
- CRTC-Register 1 und 6
- + unterschiedliche Zeichengrößen (1..7) mit CRTC-Register 9
- + für Multi-Modes werden noch einige andere Register benötigt.
-
- - Overscan wird noch nicht unterstützt.
-
-
- 7.2.5 Die PIO 8255 (Programmable Input-Output)
- -----------------------------------------------
-
- + Keyboard (über den PSG)
- + VSYNC-Emulation: Bit zwischen zwei Interrupts während des Bildaufbaus
- gesetzt, die Position legen Sie fest.
- + Kassetten besonders schnell durch ROM-Bypass der den Zugriff auf
- beliebige DOS-Dateien ermöglicht.
-
- - VSYNC-Bit ist zu lange gesetzt
- - Kassetten-Bits werden nicht emuliert, somit können Sie die meisten
- Kassetten-Kopierprogramme nicht einsetzen, die direkt auf die Ports
- zugreifen.
-
-
- 7.2.6 Der PSG AY 3-8912 (Programmable Sound Generator)
- -------------------------------------------------------
-
- + Entweder über den PC Lautsprecher (schrecklich, da 3 Kanäle auf
- einen gemischt werden müssen und die Lautstärke nicht geändert
- werden kann) oder eine Soundblaster-Karte. Von der Soundblaster-Karte
- wird nur der Adlib-kompatible FM-Teil benutzt.
-
- - keine Digital-Sounds möglich oder zu langsam.
- Die Geräusche des PSG haben auf der Soundblaster keine Entsprechung,
- deshalb wurden sie nicht realisiert.
-
-
- 7.2.7 Der FDC 765 (Floppy Disc Controller)
- -------------------------------------------
-
- + Alle notwendigen FDC-Kommandos, um die Laufwerke A und B zu
- steuern (dazu gehören Sektor lesen/schreiben, Spur suchen,
- Sektor-ID lesen, ... ; Spur formatieren wird unterdrückt. )
- Sehr flexible Disketten-Formate (bis zu 18 Sektoren pro Spur).
- Darunter auch doppelseitige Formate, z.B. VORTEX.
-
- - Komplizierte kopiergeschützte Formate werden intern nicht verarbeitet.
-
-
-
- 7.2.8 Die Centronics-Druckerschnittstelle
- ------------------------------------------
-
- + Druckerausgabe auch mit 8-Bit-Druckerpatch, wird auf die durch
- PRINTER definierte Datei umgeleitet.
-
-
-
-
- 7.3 Das Debug-Menü
- ===================
-
- Von sowas hätte ich damals auf dem CPC nur geträumt!
- Es wird der komplette CPU-Zustand des Z80 angezeigt und Sie können ihn
- modifizieren. Der Speicher kann "gedumped",
- disassembliert oder modifiziert werden, Speicherauszüge
- (Programme) lassen sich laden oder speichern.
- Und das Interessanteste:
- Sie können die Code-Ausführung im Single-Step-Mode verfolgen!
- (Ähnlich wie bei einem richtigen Debugger).
-
-
- Aufbau des Debug-Menüs
- ----------------------
-
- R)un T)race S)tep A)ssem D)ump I)nput L)oad saV)e fiN)d F)ast Q)uit
- AF=0000 BC=0000 DE=0000 HL=0000 IX=0000 IY=0000 SP=0000 PC=0000 IR=0000
- AF'=0000 BC'=0000 DE'=0000 HL'=0000 IFF1=0 IFF2=0 IMD=0 NZ NC PO P
- 0000 : 01 89 7F LD BC,&7F89
- -f->
-
- In der ersten Zeile werden die verfügbaren Kommandos angezeigt
- (die Großbuchstaben). In den beiden nächsten Zeilen
- stehen die aktuellen Inhalte der Register. Darunter steht der
- disassemblierte aktuelle Befehl an Position PC.
- In der letzten Zeile wartet ein Prompt auf Ihre Eingabe.
- ('f' zeigt an, daß Sie gerade die Fast-CPU benutzen.)
-
-
- Vorbemerkungen
- --------------
-
- In eckige Klammern eingeschlossene Parameter sind optional [opt.].
- Zahleneingaben alle hexadezimal, z.B. <Adresse> = 0000 bis ffff.
- "<ret>" zeigt an, daß Sie in einem speziellen Modus sind und
- <RETURN> drücken sollen, um fortzufahren. <String><RETURN>
- verläßt diesen Modus (d.h. z.B. b<RETURN>).
- Kommandos bestehen aus einem Buchstaben, meistens gefolgt von
- einer optionalen Adresse. Zwischen Kommando-Buchstabe und
- dieser Adresse muß dann ein Leerzeichen oder Tab stehen.
- Ohne Angabe einer Adresse wird als Standard-Wert PC (Programmzähler)
- angenommen.
-
-
- Übersicht über die Kommandos
- ----------------------------
-
- R)un:
- r [<Adresse>] : startet die Emulation ab PC oder der optional
- angegebenen Adresse.
- Beispiele:
- -f-> r startet die Emulation ab PC
- -f-> r 100 setzt PC auf 0x100 und startet die Emulation
-
- T)race (Trace into):
- t [<Adresse>] : führt wirklich nur den aktuellen Befehl aus,
- mit <RETURN> den nächsten; <string><RETURN> beendet den
- Trace-Modus.
- Alle Einzelschrittbefehle werden von der Slow-CPU ausgeführt
- (selbst wenn "-f->" angezeigt wird), da in der Fast-CPU kein
- Zähler mehr existiert.
- S)tep (Step over):
- s [<Adresse>] : führt den aktuellen Befehl aus, eigentlich
- alle Befehle, bis PC auf dem direkt nachfolgenden Befehl
- steht, was z.B. bei einem 'Ret' recht lange dauern kann.
- In diesem Fall hilft (wie immer) F10.
- Alle Einzelschrittbefehle werden von der Slow-CPU ausgeführt
- (selbst wenn "-f->" angezeigt wird), da in der Fast-CPU kein
- Zähler mehr existiert.
-
- A)ssemble (eigentlich Disassemble):
- a [<Adresse>] : disassembliert die nächsten 16 Befehle, mit
- <RETURN> die nächsten; <string><RETURN> beendet den
- Disassemble-Modus.
-
- D)ump:
- d [<Adresse>] : zeigt einen Hex-Ascii-Speicherauszug der nächsten
- 256 Bytes ab PC oder Adresse an, <RETURN> die nächste Seite;
- <string><RETURN> beendet den Dump-Modus.
-
- I)nput (Speicherstellen modifizieren):
- i [<Adresse>] : zeigt die Speicherstelle mit aktuellem Inhalt an,
- der durch <RETURN> bestätigt oder durch <hexzahl><RETURN>
- verändert werden kann. Verlassen wird der Input-Modus mit
- einer ungültigen Zahl, z.B. -1<RETURN>.
-
- L)oad (Laden eines Speicherbereichs):
- l [<Adresse>] : fragt nach dem Dateinamen <Name> und lädt dann
- die Datei <Name> aus dem Verzeichnis TAPE_PATH nach <Adresse>
- Ein AMSDOS-Header wird erkannt.
- Siehe Anhang "Aufbau des AMSDOS-Headers".
- Falls Sie bei dem Dateinamenprompt nur <RETURN> eingeben,
- erscheint das schon bekannte Dateiauswahl-Menü.
- Beispiele:
- -f-> l<RETURN> demo<RETURN> :
- lädt Datei 'demo' an den aktuellen PC
- -f-> l a000<RETURN> myprog<RETURN> :
- lädt Datei 'myprog' nach 0xA000
-
- saV)e (Speichern eines Speicherbereichs):
- v [<Adresse>] : fragt nach dem Dateinamen <Name> und der Länge
- des Speicherbereichs. Dieser wird dann ab <Adresse> (oder eben PC)
- abgespeichert, und zwar im Verzeichnis TAPE_PATH als Binärdatei,
- d.h. mit AMSDOS-Header.
- Siehe Anhang "Aufbau des AMSDOS-Headers".
- Beispiel:
- -f-> v<RETURN> demo<RETURN> 4000<RETURN> :
- speichert "demo" ab PC mit der Länge 0x4000.
-
- fiN)d (Suchen einer Bytefolge):
- n : Wie bei I)nput muß zuerst eine Bytefolge eingegeben werden, nach der
- gesucht werden soll. Dabei kann '??' (oder '?') als Platzhalter
- für ein beliebiges Byte eingesetzt werden. Das macht natürlich nur
- Sinn innerhalb einer Bytefolge.
- Es werden dann die gerade aktiven 64KB Speicher durchsucht und alle
- Adressen ausgegeben, wo diese Bytefolge beginnt.
-
- F)ast (Z80-Emulationsart wählen):
- f : Wechselt zwischen der schnellen Z80-Emulation (entwickelt in
- Assembler von Jürgen Weber, Standardeinstellung) und der
- langsamen (in C geschriebenen).
- Das Prompt-Symbol wechselt dann zwischen "-f->" für schnell
- (fast) und "-s->" für langsam (slow).
- Alle r, s, t-Kommandos beziehen sich dann auf die gewählte
- Z80-Emulationsart.
-
- Q)uit (Beenden des Programms):
- q : beendet den Emulator.
-
-
- Registermanipulationen
- ----------------------
-
- Neben den Buchstabenkommandos gibt es auch Befehle zum Setzen
- der Register mit der Syntax: '<Register>=<Hex-Wert>'
- Beispiele:
- - af=345 : setzt Register AF auf 0x0345
- - pc=a000 : setzt Programmzähler auf 0xA000
-
-
- Sie können auch einfach '<Register><Leerzeichen><Hex-Wert>' schreiben
- Alle Z80-Register lassen sich verändern, also
- AF, BC, DE, HL, IX, IY, SP, PC, IR, AF', BC', DE', HL',
- zusätzlich IFF1, IFF2 und IMD.
-
-
-
-
-
-
- 7.4 Die Speicherverwaltung
- ===========================
-
-
- 7.4.1 Noch einmal zur EMS-Konfiguration
- ----------------------------------------
-
- Sie brauchen einen Expanded Memory Manager nach dem LIM 4.0 Standard
- (LIM EMS 4.0). Dieser Memory-Manager muß sogenannte erweiterte EMS-Seiten
- bieten. CPCEMU benötigt 6 solcher Seiten an zusammenhängenden Adressen.
-
- Unter OS/2 2.x wurde Ihnen vorgeschlagen, die folgenden Einstellungen
- zu benutzen:
-
- EMS_FRAME_LOCATION = auto
- EMS_HIGH_OS_MAP_REGION = 32 (oder mehr)
- EMS_LOW_OS_MAP_REGION = 0 (oder mehr)
-
-
- Was bedeuten die Einstellungen?
- Die Low-Region bezeichnet EMS-Seiten im konventionellen Speicher.
- Falls CPCEMU dortige EMS-Seiten benutzen soll, müssen mindestens
- 6*16KB = 84KB vorhanden sein.
-
- Die High-Region bezeichnet EMS-Seiten im Speicher oberhalb von
- 640K, der zum Standard-Rahmen von 64KB hinzugenommen wird,
- muß also mindestens 2*16KB = 32KB sein.
-
-
- Unter DOS wurde Ihnen vorgeschlagen, folgende Zeilen in CONFIG.SYS
- zu benutzen:
- DEVICE=C:\DOS\HIMEM.SYS
- DEVICE=C:\DOS\EMM386.EXE 1024
- ...
-
- Die 1024 kann auch vergrößert oder verkleinert werden, je nach
- Hauptspeicher Ihres Rechners.
-
- Erläuterungen:
- EMM386 bietet zahlreiche zusätzliche Seiten im konventionellen
- Speicher. Die Untergrenze dieser Seiten kann mit der Option
- /B=<Segment> geändert werden (Standard ist 4000).
- Mit /P<Nummer>=<Segment> soll es auch möglich sein, einzelnen
- physikalischen Seiten andere Segmente zuzuweisen.
-
-
-
- 7.4.2 Realisierung des Bankings
- --------------------------------
-
-
- Banking wird auf einigen Heimcomputern benutzt, die RAM und ROM
- an der gleichen Adresse haben. Lesezugriffe adressieren das ROM,
- Schreibzugriffe das RAM.
- Der Amstrad CPC hat 64K RAM und 16K ROM im Bereich 0-3FFF und
- ein weiteres ROM an C000-FFFF:
-
- 0 RAM 0000-3fff
- 1 RAM 4000-7fff
- 2 RAM 8000-bfff
- 4 RAM c000-ffff
- L ROM 0000-3fff
- U ROM c000-ffff
-
- Die wesentliche Idee ist, verschiedene Segmente zum Lesen und
- Schreiben zu haben.
- Bei jedem Lesezugriff wird ein Lese-Offset zu der gewünschten
- Adresse addiert, das gleiche wird mit einem Schreib-Offset
- für das Schreiben gemacht.
-
-
- Zustand 0 Zustand 1
-
- block 5 M L c 0 <
- block 4 M W C c C c | vertauscht beim
- block 3 M W 8 b c W 8 a c | Zustands-
- block 2 M W 4 b c W 4 a c | wechsel
- block 1 M W 0 b W L a c <
- block 0 M U b W U a
-
-
- (M = konventioneller Speicher oder physikalische EMS-Seiten)
-
- a = Lrom ei, Urom ei
- b = Lrom di, Urom ei
- c = Lrom ei, Urom di
- W = Lrom di, Urom di
-
- Um zwischen den beiden Zuständen zu wechsen, müssen nur die
- '0' und 'L' Blöcke vertauscht werden.
- Für RAM Banking muß eine neue '0' mit der alten vertauscht
- werden. UROM Auswahl geschieht durch Kopieren des neuen ROMs
- nach 'U'.
-
- Mit EMS Speicher wird das gesamte Banking von der Hardware
- (oder deren Emulation) übernommen. Dieses erhöht die
- Geschwindigkeit besonders in BASIC und CP/M Plus.
- Jetzt verstehen Sie, warum 6 zusammenhängende physikalische
- EMS-Seiten notwendig sind und der Standard-Rahmen mit 4 Seiten
- nicht reicht.
-
-
-
-
- 7.5 ROM-Modifikationen
- =======================
-
-
- 7.5.1 ROM-Bypass für die Kassette
- ----------------------------------
-
- Nach dem Befehl '|TAPE', oder wenn Sie das AMSDOS-ROM ausgeschaltet
- haben, wird die "Kassette" angesprochen. Kassettenzugriffe werden
- dabei in Dateizugriffe auf die einzelnen Dateien eines speziellen
- Verzeichnisses umgeleitet.
- Realisiert wird diese Umleitung mittels eines "ROM-Bypass".
-
- Durch 'TAPE_BYPASS=1' schalten Sie den ROM-Bypass der TAPE-Vektoren
- ein. Falls ein bekanntes ROM vom CPC 464/664/6128 gefunden wurde,
- wird das ROM automatisch modifiziert.
- Der Bypass ist nötig, wenn Sie Kassetten-Dateien benutzen möchten.
-
- Es wurden Spezialbefehle eingeführt, die eine bestimmte
- Funktion des Emulators aufrufen. Diese Befehle werden direkt
- in das ROM eingetragen, so daß das Patchen der RAM-Vektoren
- auch weiterhin möglich ist.
- Als Befehle wurden eingeführt:
- ED FC xx USER &BCxx (nur gültig für einige RAM-Vektoren)
- Entspricht einem Call-Befehl zu einer internen Funktion,
- wobei für xx folgende Werte gültig sind:
- 65 : CASSETTE INIT (BC65)
- 77 : CASSETTE IN OPEN (BC77)
- 7A : CASSETTE IN CLOSE
- 7D : CASSETTE IN ABANDON
- 80 : CASSETTE IN CHAR
- 83 : CASSETTE IN DIRECT
- 86 : CASSETTE RETURN
- 89 : CASSETTE TEST EOF
- 8C : CASSETTE OUT OPEN
- 8F : CASSETTE OUT CLOSE
- 92 : CASSETTE OUT ABANDON
- 95 : CASSETTE OUT CHAR
- 98 : CASSETTE OUT DIRECT
- 9B : CASSETTE CATALOG
-
- Zusätzlich gibt es noch den User-Break-Befehl
- ED FC FC USER &BCFC , der die Emulation sofort anhält.
-
-
-
- 7.5.2 Modifikationen am AMSDOS-ROM
- -----------------------------------
-
- - Durch 'AMSDOS_DISABLE=1' verbieten Sie die Initialisierung des AMSDOS.
- Dann werden die
- Kassetten-kompatiblen Befehle nicht von AMSDOS gepatched.
- (Es werden also weiterhin die TAPE-Vektoren verwendet.)
- Das ist nötig, wenn ein Programm zwischendurch das AMSDOS-
- ROM initialisiert, aber ohne |TAPE-Befehl von Kassette
- weiterladen soll.
- (Realisiert durch 'POKE &CCF2,&18: POKE &CCF3,&05' im
- AMSDOS-ROM.)
- Die Sektorbefehle bleiben unbeeinflußt, sie gehen immer
- auf Diskette.
-
- - 'AMSDOS_SPEEDUP=1' führt eine AMSDOS-ROM-Modifikation durch, bei
- der die Motor-Wartezeiten minimiert werden, um einen
- schnelleren Disk-Zugriff zu ermöglichen.
- (Die Sachen werden ja von DOS gesteuert, somit brauchen wir
- die Warteschleifen nicht.)
- (Folgende Speicherstellen im AMSDOS-ROM werden verändert:
- POKE &C5D4,&01 :'Zeit für Motor-Hochlauf
- POKE &C5D8,&01 :'Zeit bei Spur-Formatieren
- POKE &C5D9,&01 :'kürzer warten
- POKE &C5DA,&01 :'kürzer warten
- POKE &C602,&01 :'nur 1 Versuch bei Fehler
- POKE &C784,&01 :'schnelles Spur suchen
- POKE &C7E2,&01 :'schnelles Spur suchen )
-
-
-
-
-
- 7.6 Verschiedenes
- ==================
-
-
-
- 7.6.1 Noch einmal: Die Konfigurationsdatei
- --------------------------------------------
-
- Wie Sie vielleicht noch wissen, werden Kommentare durch ein
- Semikolon ';' eingeleitet, der Rest der Zeile wird dann ignoriert.
- Blanks, Tabs, Newlines, ';' dienen als Trennsymbole und können
- beliebig zwischen Schlüsselwörtern und Werten eingesetzt werden.
- Die meisten Definitionen besitzen die syntaktische Form
- <Schlüsselwort> '=' <Wert> {T}
- Dabei ist {T} eine Folge von mindestens einem Trennsymbol.
- Beispiel:
- ROM_PATH = ".\ROM"
-
- Eine <Zahl> kann dezimal, hexadezimal (0x) oder binär (%) angegeben
- werden.
- <Pfad-Name> darf bis zu 80 Zeichen,
- <Dateiname> darf bis zu 20 Zeichen lang sein.
-
- Hier noch einige Ergänzungen zu ausgewählten Schlüsselwörtern:
-
- BREAK_MASK = <Zahl> (3)
- Nur für Debugging-Zwecke.
- Einige Ereignisse unterbrechen die normale Emulation. Mit
- dieser Maske verbieten Sie solche Ereignisse.
- Nicht unüberlegt verändern!
- Lassen Sie alle Bits gesetzt, bis auf diejenigen, deren
- Ereignisse Sie verbieten wollen.
- b2 = 0 -> verbietet Anzeigen von Port-Fehlern (mit 3)
- Die Bedeutung der Bits kann sich in Zukunft ändern!
-
-
-
-
-
-
- 7.6.2 Der parallele Adapter
- ----------------------------
-
- Zuerst einmal der Aufbau des Adapters, jetzt mit Funktionsweise:
-
- PC D-SUB Cent. CPC Funktion
- -------------------------------- ---------------------------
- GND 19 ---- 19 GND GND
- BUSY 11 <--- 1 -STROBE Synchro (Daten verfügbar)
- -ACK 10 <--- 8 D6 |
- PE 12 <--- 7 D5 | Daten
- SELECT 13 <--- 6 D4 |
- -ERROR 15 <--- 5 D3 |
- D0 2 ---> 11 BUSY Synchro (empfangsbereit)
-
-
- Richtung CPC->PC
- ----------------
-
- Für diese Richtung ist der Adapter normalerweise gedacht. Im Prinzip
- funktioniert das Senden auf dem CPC genauso, wie das Ausdrucken auf
- einen Drucker. Wenn der PC Nicht-BUSY anlegt, legt der CPC ein
- Nibble (Teil eines Bytes auf 4 Bits) auf den Port, setzt STROBE als
- Zeichen, daß etwas da ist und löscht es danach wieder. Der PC braucht
- also nur BUSY zu löschen (mittels D0), auf STROBE zu warten (über BUSY)
- dann das Nibble übernehmen (über die Einabeleitungen Drucker->PC)
- und BUSY zu setzen.
- Frage: Warum kann man denn nicht 8 Bits auf einmal übertragen?
- Antwort:
- 1. Der PC-Druckerport müßte auf Eingabe programmiert werden, das geht
- nicht mit jedem und
- 2. Der CPC hat nur einen 7-Bit Druckerport
-
-
- Richtung PC->CPC
- ----------------
-
- Ich habe mir gedacht, daß es auch möglich sein müßte, Daten in die
- andere Richtung zu verschicken. Leider hat der CPC am Druckerport
- nur ein einziges Eingangssignal, nämlich das BUSY-Signal. Es würde
- also nichts bringen, einen besseren Adapter für diese Richtung bauen
- zu wollen. Also kann man auch gleich den Adapter nehmen, den man schon
- hat, und ein geschicktes Protokoll entwickeln.
- Immerhin funktioniert eine serielle Schnittstelle auch nur mit einer
- Datenleitung für jede Richtung.
- Doch: Bei seriellen Schnittstellen wird die Synchronisation
- normalerweise mit einem Quarz erreicht. Es muß auf beiden Seiten exakt
- dieselbe Übertragungsrate eingestellt sein (z.B. 1200 Baud).
- Softwaremäßig ist das schlecht zu realisieren.
- Was tun?
- Die Idee ist, den Geschwindigkeitsvorteil des PC gegenüber dem CPC
- auszunutzen. Jedes Byte wird in 8 Bit zerlegt und seriell übertragen,
- indem der PC den Zustand der BUSY-Leitung richtig setzt.
- Während dieser 8 Bit gibt der CPC die Geschwindigkeit vor und der
- PC muß sich danach richten. Der CPC schreibt die Bit-Anforderung mit
- einem Assembler-Befehl. Der PC muß jetzt schnell reagieren, und
- die BUSY-Leitung entsprechend des nächsten Bits setzen, denn schon
- mit dem übernächsten Assembler-Befehl wird der CPC dieses lesen wollen.
- Damit nicht immer die Interrupts ausgeschaltet bleiben müssen,
- erfolgt zuvor für jedes Byte ein "Verbindungsaufbau". Der CPC sagt
- "Schick mir mal was rüber!" und der PC antwortet "Na gut, ich warte
- jetzt, bis Du was haben willst.", indem er das BUSY-Signal wechselt.
- Die ganze Geschichte ist durch Timer abgesichert, damit kein Computer
- hängt, weil er auf irgendein Signal wartet, was dummerweise nicht
- kommt. Sie können die Programme also immer durch ESC bzw CTRL-BREAK
- abbrechen.
-
-
-
-
-
- 7.6.3 CPCTRANS
- ---------------
-
- Eine noch nicht erwähnte Option ist "/d 0" und "/d 1". Bei 1
- wird der Double-Step Modus gesetzt, d.h. 80-Spur-Laufwerke
- springen immer 2 Spuren weiter, wenn sie 40-Spur Disketten
- bearbeiten. Die Option sollte unnötig sein, da CPCTRANS bei
- 5.25" 360KB Formaten auf 80 Spur-Laufwerken automatisch
- Double-Step einschaltet.
-
- Normalerweise ist es ganz einfach, mit dem BIOS Sektoren zu
- lesen und zu schreiben. Leider ist das BIOS aber nicht in der Lage,
- B-Seiten von Disketten mit Kopfseite=0 zu verarbeiten.
- Deshalb mußte ich die FDC-Routinen selber programmieren,
- wobei der Floppy-Teil des MINIX-Source-Codes als Vorlage diente.
- Leider enthält der MINIX-Code einige Fehler, und das Timing
- wurde an den kritischen Stellen durch simple Warteschleifen realisiert,
- die vermutlich für einen 8086 Prozessor ausreichten.
-
-
-
-
- 7.7 Aufbau einiger CPCEMU-Dateien
- ==================================
-
-
- 7.7.1 Disketten-Abbilder
- -------------------------
-
- Disketten-Abbilder bestehen aus einem 0x100-Byte langen
- Disketten-Informationsblock und für jede Spur aus einem
- 0x100-Byte langen Spur-Informationsblock, an den sich die
- Daten der Spur (zu jedem Sektor) anschließen.
- Das neue erweiterte Disketten-Format ist hauptsächlich für
- kopiergeschützte Disketten gedacht. Änderungen für das
- erweiterten Format habe ich mit *E* gekennzeichnet
- (aus unserem "Extended DISK Format Proposal, Rev.5").
-
-
-
- Der Disketten-Informationsblock
- -------------------------------
- Byte (Hex): Bedeutung:
- 00 - 21 "MV - CPCEMU Disk-File\r\nDisk-Info\r\n"
- (als Kennung nur "MV - CPC" erforderlich)
- *E* "EXTENDED CPC DSK File\r\n\Disk-Info\r\n"
- *E* (als Kennung nur "EXTENDED" erforderlich)
- 22 - 2F unbenutzt (0)
- *E* DSK-Ersteller (Name des Utilities) (keine abschließende \0 !)
- 30 Anzahl Spuren (40, 42, vielleicht 80)
- 31 Anzahl Köpfe (1 oder 2)
- 32 - 33 Spurgröße (einschließlich 0x100-Bytes Spur-Info)
- Bei 9 Sektoren * 0x200 Bytes + 0x100 Byte Spur-Info
- also 0x1300.
- *E* unbenutzt (0)
- 34 - FF unbenutzt (0)
- *E* High-Bytes der Spurgrößen für alle Spuren
- (genauso berechnet wie 32-33 beim normalen Format).
- Für einseitige Formate enthält die Spurtabelle nur die
- Spurgrößen einer Seite, ansonsten alternierend für zwei
- Seiten.
- Spurgröße=0 bedeutet, der Track ist unformatiert.
- Spurgröße wird berechnet aus Tabelleneintrag * 256.
- Beachten Sie, daß die 256-Bytes der SPur-Info mit
- eingeschlossen sind.
-
-
- Der Spur-Informationsblock (für jede Spur)
- ------------------------------------------
- Byte (Hex): Bedeutung:
- 00 - 0C Track-Info\r\n
- 0D - 0F unbenutzt (0)
- 10 Spur-Nummer (0 bis Spuranzahl-1)
- 11 Kopf-Nummer (0)
- 12 - 13 unbenutzt (0)
- Format-Spur-Parameter:
- 14 BPS (Bytes pro Sektor) (2 für 0x200 Bytes)
- 15 SPT (Sektoren pro Spur) (9, max. 18 möglich)
- 16 GAP#3 Format (Lücke beim Formatieren: 0x4E)
- 17 Filling-Byte (Füllbyte beim Formatieren: 0xE5)
- Sektor-Information (jeweils für jeden Sektoren):
- 18+i Spurnummer \
- 19+i Kopfnummer | Sektor-ID-Informationen
- 1A+i Sektornummer |
- 1B+i BPS /
- 1C+i Status 1 Fehlercode (0)
- 1D+i Status 2 Fehlercode (0)
- 1E+i,1F+i unbenutzt (0)
- *E* Sektorlänge in Bytes (Little-Endian-Notation).
- Dies ermöglicht verschieden große Sektoren auf einer Spur.
- Die Länge wird berechnet aus (0x0080 << wirkliche_BPS).
-
-
- Anmerkungen:
- In der Reihenfolge der Sektor-ID's müssen nach der Spur-Info
- die Sektordaten kommen. Es dürfen keine Spuren, Sektoren
- ausgelassen werden.
- Bei doppelseitigen Formaten alternieren die Spuren, z.B.
- Spur 0 Kopf 0, Spur 0 Kopf 1, Spur 1 ...
- CPCTRANS dient zum Kopieren von CPC-Disketten in dieses Format.
-
-
- 7.7.2 Snapshot-Dateien
- -----------------------
-
- Snapshot-Dateien bestehen aus einem 0x100-Byte Header mit
- angehängtem Speicherauszug.
-
- Der Snapshot Header:
- Byte (Hex): Bedeutung:
- 00 - 07 'MV - SNA' (als Kennung)
- 08 - 0F unbenutzt (0)
- 10 Snapshot Version (2, früher 1)
- 11 - 1A Z80-Register AF, BC, DE, HL, R, I
- 1B - 1C Z80-Flags IFF0, IFF1 (0=disabled, 1=enabled)
- 1D - 24 Z80-Register IX, IY, SP, PC
- 25 Z80 Interrupt Modus IMD (0 - 2)
- 26 - 2D Z80-Register AF', BC', DE', HL'
- 2E Gate Array: Ink-Nummer-Register
- 2F - 3F Gate Array: Ink-Wert-Register (0, 1, ..., 15, 16)
- 40 Gate Array: Multi-Konfigurations-Register
- 41 Gate Array: RAM-Konfigurations-Register
- 42 CRTC: Adreß-Register
- 43 - 54 CRTC: Daten-Register (0, 1, ..., 17)
- 55 Upper ROM Nummer
- 56 - 59 PIO: Port A, Port B, Port C, Port CTRL
- 5A PSG: Adreß-Register
- 5B - 6A PSG: Daten-Register (0, 1, ..., 15)
- 6B - 6C Speicherauszug-Größe (64K oder 128K)
- (die folgenden Parameter existieren erst ab Version 2.0 :)
- 6D CPC Typ, auf dem der Speicherauszug generiert wurde
- (0=CPC 464, 1=CPC 664, 2=CPC 6128, 3 = unbekannt)
- 6E Interrupt-Nummer (0..5), der zuletzt aufgetretene
- Interrupt während eines Bildaufbauzyklus.
- 6F - 74 6 Multi-Modes, d.h. Bildschirmmodi (0..2) während der
- Interrupts 0..5.
- 75 - FF unbenutzt (0), evtl. später für Emulator-Konfiguration
-
-
-
- 7.7.3 AMSDOS-Header
- --------------------
-
- Byte (Hex): Bedeutung:
- 00 User (0 , mögliche Werte 0-15)
- 01 - 0F Dateiname+Endung (evtl. mit Nullen aufgefüllt)
- 10 Blocknummer (0)
- 11 Letzter-Block-Flag (0)
- 12 Datei-Typ (0=BASIC, 1=geschütztes BASIC, 2=Binär,...)
- 13 - 14 Blocklänge (0)
- 15 - 16 Ladeadresse (0-FFFF)
- 17 Erster-Block-Flag (0)
- 18 - 19 Logische Länge (0-FFFF)
- 1A - 1B Einsprungadresse (0-FFFF)
- 1C - 3F Frei für den Benutzer (0)
- 40 - 42 wirkliche Dateilänge (1-FFFFFF)
- 43 - 44 Prüfsumme über Bytes 00-42
- 45 - 7F unbenutzt (zufällige Werte aus dem Sektorpuffer)
-
- Anmerkungen:
- Der Header wird jeder nicht-ASCII-Datei vorangestellt.
- Er wird anhand der Prüfsumme erkannt.
- Bytes 00 - 3F stammen aus der "Kassettenzeit", in der Dateien
- in Blöcke aufgeteilt wurden.
- Unbedingt notwendig sind die Bytes 12, 15-16, 1A-1B, 40-42, 43-44 .
-
-
-
- 7.7.4 Poke-Datenbank:
- ----------------------
-
- Ein Eintrag (ein Poke, eine Zeile) besteht aus 7 Teilen, jeder Teil in
- Anführungsstrichen eingeschlossen und mittels Komma abgetrennt.
- 1. Folgenummer (1 Zeichen 0-F):
- Der erste Eintrag besitzt die Nummer 0 und kann ausgewählt werden.
- Falls ein Programm mehrere Pokes gleichzeitig benötigt, müssen die
- Folgeeinträge mit 1,2,... numeriert werden.
- 2. Programmname (bis 20 Zeichen)
- 3. Beschreibung (bis 20 Zeichen)
- 4. Typ (1 Zeichen):
- Für was für eine Programmversion der Poke ist ('t'=Tape, 'd'=disk,
- 'a'=all), wird im Moment noch ignoriert.
- 5. Adresse des Pokes (4 Zeichen, hexadezimal):
- Die Speicherstelle, die geändert werden soll.
- 6. Byte für den Poke (2 Zeichen, hexadezimal oder '??'):
- Bei '??' soll der Benutzer einen Wert eingeben, z.B. gewünschte
- Anzahl der Leben.
- 7. Altes Byte (2 Zeichen, hexadezimal oder '??'):
- Dies ermöglicht festzustellen, ob der Poke korrekt eingesetzt werden
- kann. Falls das Byte an der Adresse damit nicht übereinstimmt, wird
- eine Warnung ausgegeben. Bei '??' findet keine Überprüfung statt.
-
- Beispiel:
- "0","Devils Crown","inf oxygen","t","863b","00","??"
- "1","","","t","863c","00","??"
- "2","","","t","863d","00","??"
-
- Der "unendliche-Sauerstoff"-Poke für das Programm "Devils Crown"
- besteht aus drei Teilen. Alte Werte sind nicht bekannt, deshalb ist
- altes Byte='??'. Name und Beschreibung brauchen in Folgeeinträgen
- nicht wiederholt zu werden.
-
-
-
-
-
- 7.8 Interne History
- ====================
-
-
- Z80EMU (nur ein Z80 mit kaum CPC)
- ---------------------------------
-
- - v1.0 (1991)
- erste Version in Pascal (nur eine Z80-Emulation)
- - v1.2 (12.8.1992 - 16.8.1992)
- erste Version in C (mit TPTC umgewandelt). Z80-Probleme: P-Flag bei
- ADD HL..., DAA, ldir; Z-Flag bei BIT... Z,S-Flags bei Rotate; ROMs
- möglich
- - v1.3 (18.8.1992)
- Port-Adressierung im Lo-Byte war falsch. Neues Speichermanagement
- (128 KB RAM, 32 KB ROM)
- - v2.0 (18.8.1992 - 22.8.1992)
- Implementierung der COCPU-Technik, um Fehler zu finden (mit separatem
- Speicher für die COCPU). Z80-Probleme: H-Flag gesetzt nach AND... ;
- CPI... setzt N-Flag. Bildschirmfarben Farben Blau und Gelb (vorher
- schwarzweiß)
- - v2.1 (25.8.1992 - 27.8.1992)
- Alle Pens, Farben des CPCs in allen Modi; nur auf den sichtbaren
- Bildschirm wird geschrieben. COCPU-Fehler: Alle (ix+zz) mit negativer
- Distanz waren falsch! Vergessen, "signed char" zu nehmen.
- - v2.2 (30.8.1992 - 3.9.1992)
- Neue Keyboard-Routine, Farbänderung ohne Flackern (Warten auf HSYNC).
- Einführung eines "Not-ROM" mit COPYMATE.
- - v2.3 (15.9.1992 - 19.9.1992)
- FDC-Emulation zum Laden von Sektoren. COCPU-Fehler: LD XH... war LD H...
- - v2.3b (19.9.1992)
- Screen-Update nur auf Blöcken 0..3 (nicht 4..7); Port FCxx gleich wie
- FBxx (für CP/M Plus). Da wußte ich noch nicht, daß OUTI... das
- B-Register pre-dekrementiert.
- - v2.4 test (25.10.1992)
- Nur R-Register-Emulation, falls gewünscht (per "DEFINE"); Screen-Update
- jetzt jeden n-ten Interrupt und nicht für jedes Byte einzeln, was in den
- Speicher geschrieben wird. (Noch sehr langsam, da in C). Neue
- Speicherverwaltung mit Blöcken nur ab Segmentstart.
- - v2.5 test (31.10.1992)
- Geänderte Speicherzuweisung. Endlich Hardware-Scrolling und verschiedene
- Bildschirmgrößen möglich.
- - v2.6 test (5.11.1992)
- Neue Keyboard-Routine von Arnt Gulbrandsen, endlich alle Tasten
- erreichbar; Screen-Update in Assembler.
- - v2.7 test
- Versucht, die schnelle Emulation von Jürgen Weber einzubinden, klappt
- noch nicht.
- - v2.8
- Verbesserter Screen-Update: Nur Bereiche, die sich verändert haben,
- werden auf den Bildschirm gebracht.
- - v2.9
- Timer-Handler mit 300 Interrupts. Fast-Emulation läuft, wenn kein ROM
- (Banking) benötigt wird.
-
- CPCEMU (endlich ein CPC)
- ------------------------
- - v0.2 (23.12.1992), Nachfolger von Z80EMU v2.9
- Nach nahezu 4 Stunden mit dem Turbo-Debugger endlich den Grund gefunden,
- warum sich die fast-Emulation aufhängte: ES anstatt DS gepushed.
- - v0.3 (28.12.1992 - 29.12.1992)
- N-Flag bei INI,OUTI setzen. CPI im fast-Z80 setzte falsche Flags. RL(HL)
- benutzte Read-Segment(DS) anstatt Write-Segment(ES). LD A,R produziert
- jetzt Zufallszahlen; Alle Kassettenroutinen bis auf CASSETTE IN CHAR.
- - v0.4 (1.1.1993)
- IN A,(n): A nach b8..b15 (anstatt B); RAM-Konfiguration 0xc3: 0,3,2,7
- (für CP/M Plus). KC-Compact (ein CPC-Kompatibler aus der ehem.DDR)
- benutzt Port EE00 - EE3D, nur wofür?
- - v0.5 (28.1.1993 - 8.2.1993)
- INIR,... R-Register-Erhöhung abhängig von B, nicht von BC. Endlich
- CASSETTE IN CHAR (falscher Patch beim CPC 6128 eingetragen).
- - v0.6 (23.3.1993 - 24.5.1993)
- Ein Amerikaner hat Jürgen darauf aufmerksam gemacht, daß die OUTI-
- Befehle das B-Register pre-dekrementieren! C-Teile jetzt auch im
- 386er-Code (mit Borland C++ v3.1) Disetten-Abbilder jetzt mit Endung
- ".DSK". CPCREAD.PAS korrigiert (vergessen, Kopfseite mit 0 zu
- initialisieren) und in CPCREAD.C umgewandelt. PIO-8255-PORT-Adressierung
- flexibilisiert (kann auch lesen, wenn Port auf Ausgabe geschaltet ist...)
- - v0.7 (26.7.1993 - 29.8.1993) (inoffiziell)
- Source völlig überarbeitet, modularisiert. Konfigurationsdatei
- eingeführt, jetzt mehrere ROMs möglich. Änderung des Firmennamens von
- Schneider auf Amstrad. (Können Sie jetzt selber einstellen.) Fehler im
- RAM-Banking beseitigt. Neue Dokumentation in Deutsch.
- - v0.8 (30.8.1993 - 9.9.1993)
- Slow-Emulation: Parity-Befehle durch Tabelle nicht nur für die Parität
- beschleunigt. Z80: ED xx mit illegalem xx wird ignoriert. Neue
- Dokumentation jetzt auch in Englisch.
- - v0.8a (10.9.1993 - 15.9.1993)
- Fataler Fehler in der Fast-Emulation: Wenn ein DD CB xx - Befehl
- ausgeführt wurde und gerade ein Interrupt auftrat, wurde der Befehl
- ignoriert!
- - v0.8b (16.9.1993 - 21.9.1993)
- "real"-VSYNC eingebaut, falls "VSYNC_CT" = 0. PIO Port A Problem
- korrigiert: OUT &F400,xx mit Port A im Eingabemodus wurde ignoriert.
- Neue Joystickroutine von Martin Zacho.
- - v0.8c (22.9.1993 - 13.12.1993)
- Dokumentation mit "ispell" überprüft. Emulation startete nicht, falls
- "USE_JOYSTICK=1" und kein Joystick angeschlossen war (PUSH AX an
- falscher Stelle). Slow-Emulation: DAA korrigiert (Klammern fehlten seit
- v0.8). Falscher Patch für CPC 664 in der Interrupt-Routine. Dieser Patch
- ersetzte EI durch NOP, um das EI-Problem zu umgehen (Interrupts erst
- einen Befehl später erlauben). Jetzt für alle CPCs.
- - v0.8d (14.12.1993 - 29.12.1993)
- FDC-Emulation für doppelseitige Formate umgeschrieben. CPCTRANS ersetzt
- altes CPCREAD und erlaubt Lesen von VORTEX-Disketten mit dem Patch
- 720KB.COM. Außerdem können Disketten-Abbilder jetzt auf Diskette
- zurückgeschrieben werden. Neues Datei-Auswahl bei F3; einige Port-
- Adressen Aliases eingeführt, z.B. &7000 - &7f00, um das Gate Array
- anzusprechen, &0c00,&1c00,&2c00,&3c00,&bc00 für den CRTC. R-Register
- Emulation eingeschaltet.
- - v0.9 alpha (30.12.1993 - 20.1.1994)
- EMS Speichernutzung möglich durch spezielle EMS/UMB-Konfiguration.
- Konfigurationsdatei um Binärzahlen erweitert. RAM-Banking Adressierung
- korrigiert: Der Emulator akzeptierte &d0-&ff als &c0-&c7. Jetzt bis zu
- 576 KB RAM mit EMS.
- - v0.9b (21.1.1994 - 31.1.1994)
- EMS-Benutzung vereinfacht durch erweitertes EMS (oder LIM EMS 4.0) mit
- mehr als 4 physikalischen EMS Seiten. Dateiauswahl jetzt auch bei 'l'
- (Debug Menü), RUN" .
- - v0.9c (1.2.1994 - 29.4.1994)
- Bißchen schrecklicher PC-Lautsprecher Sound (Ausschalten mit F4).
- Dateiauswahl auch bei 'v'; korrigierte englische Dokumentation;
- Soundblaster-Sound (noch verbesserungswürdig); neues CPCTRANS mit
- Kommandozeilen-Parameter und direktem FDC-Zugriff; paralleler Adapter
- getestet und die Software verbessert. Fast-Z80: inc/dec (hl), (ix+n)
- für RAM unter ROM korrigiert. Jetzt mit Bild hoch/runter übergroße
- Bildschirme verschieben; Teil von Overscan-Bildschirmen wird angezeigt.
- Jetzt möglich: 64K-'Snapshots'.
- - v0.9d (30.4.1994 - 12.5.1994)
- Interrupts während DI werden nicht mehr vergessen, und sie werden nicht
- mehr direkt nach einem EI-Befehl erlaubt. Neue Farb-Funktionen: ohne
- Schnee unter OS/2. Fast-Z80: beschleunigtes Code-Holen.
-
- - v1.0 (13.5.1994 - 20.5.1994)
- Verbesserter Screen-Part: Jetzt auch andere Zeichengrößen von 1 bis 8
- möglich. Dateiauswahl auch bei SAVE" , Schnellauswahl durch Drücken von
- Anfangsbuchstaben. Verbessertes CPCTRANS mit Verify-Option. Neues
- Setup-Menü, wenn Sie F7 drücken. Darin können Sie z.B. Farbflimmern
- unterdrücken.
-
- - v1.0a (21.5.1994 - 9.6.1994)
- Setup-Menü verbessert: jetzt neben den Cursor-Tasten auch direkte
- Eingaben möglich. Nahezu deutsche Tastenbelegung, einfache
- Verzögerungsoption (delay). Kein "Müll" mehr bei verkleinertem
- Bildschirm (d.h. die Teile vom größeren Bildschirm werden korrekt
- gelöscht). Fast-Z80-Teil verbessert: schnellere RRA,RLA, ..., schnellere
- CP xx Befehle. Weitere illegale Befehle eingefügt (ED xx). Außerdem
- fehlten die undokumentierten Befehle LD D,XH und LD YL,YH (im
- CoZ80-Modus aufgefallen)! CPDR,CPIR mit BC=0 korrigert (0 heißt nämlich
- auf einem Z80 65536, aber es ist 0 bei dem 80x86-REPE-Präfix!).
- DAA-Flags korrigiert. Neue Software für den parallelen Adapter: Jetzt
- auch Senden zum CPC möglich. Dank an Bernd Schmidt, der anmerkte, daß
- ein Interrupt das R-Register um 1 erhöht. Außerdem konnte mit seiner
- Hilfe die Emulation des PIO-Port-C Registers verbessert werden.
-
- - v1.1a (10.6.1994 - 16.8.1994)
- Eine neue Ära von CPCEMU hat begonnen: Amstrad hat die ROMs freigegeben!
- Ein guter Anlaß, die Dokumentation umzuschreiben... Änderungen an der
- Konfigurationsdatei: ROM_BLOCKS -> ROM_BLOCK, DISC_BYPASS ->
- DISABLE_ADOS, keine Leerzeichen mehr vor und nach '=' nötig. Änderungen
- am Sound-Teil, Grafik-Teil: vertikale Größe durch VGA-CRTC.
- Joystick-Kalibrierung jetzt im Setup-Menü, TAPE-Routinen beim Speichern
- verbessert. FDC-Teil verbessert: jetzt läuft auch COPYMATE. Wechseln von
- Nicht-DATA-Disketten ohne "Read Error" möglich (es wurde immer Spur 0
- gesucht). Eine weitere Verzögerung in CPCTRANS, ich hoffe, Sie müssen
- jetzt nicht mehr die Turbo-Taste betätigen; Formatieren von Disketten-
- Abbildern. Nochmal PIO-Port-C korrigiert: er wird nach OUT &F700,n
- gelöscht. Größere Änderungen an der Konfigurations-Datei: Jetzt mit
- bedingter Konfiguration (#IFCPC, #ENDIF). Einige Schlüsselwörter
- verändert (VSYNC_CT -> /, DISC_PATH -> /, SNAP_PATH -> SNAPSHOT, DRV_A ->
- DRIVE_A, DRV_B -> DRIVE_B).
- Laden von Programmen aus ZIP-Archiven. Sie brauchen PKUNZIP dazu.
-
- - v1.1b (17.8.1994 - 2.9.1994)
- Multi-Modes eingeführt, d.h. verschiedene Bildschirmmodi gleichzeitig.
- Dazu wird der Bildschirmaufbau in bis zu 6 Teile zerlegt, es erfolgt also
- eine teilweise Auffrischung bei jedem Interrupt. Klappt noch nicht immer.
- Jetzt möglich: 128K Snapshots, zusätzlich für Multi-Modes erweitert.
- CPCPARA verbessert: jetzt können Sie Binärdateien mit Header
- kopieren. Vollkommen neugeschriebene, hoffentlich besser verständliche
- Dokumentation. Erkennung des CPC 6128 Plus eingebaut. Noch mehr
- Port-Aliases eingebaut.
-
- - v1.2 (3.9.1994 - )
- Diese Version wurde veröffentlicht. Es wurden hauptsächlich ein paar
- Änderungen an dem Hilfesystem vorgenommen.
-
- - v1.2a (27.9.1994 - ) (war verfügbar als UPD12A.ZIP)
- Datei-Auswahl: Nur die verfügbaren Laufwerke werde angezeigt.
- Und: Mit dem Treiber ANSI.SYS war der Hintergrund von Texten
- manchmal schwarz.
- TMP_PATH: Ein Laufwerk ohne Pfad angeben.
- DOS-Shell (F7): CPCEMU wird vorher ins XMS, EMS oder auf Festplatte
- ausgelagert, somit haben Sie viel Speicher im DOS-Shell. (Diese
- Neuerung wurde vom Public Domain Program SWAP300.ZIP von Marty Del
- Vecchio übernommen.)
- Bildschirm-Auffrischung konnte falsch sein, wenn die Bildschirmbreite
- nicht durch 4 teilbar war.
- Eine andere CPCEMU-Version für noch höhere Geschwindigkeit: C2.EXE.
- Diese Version benutzt eine andere Speicherverwaltung mit zwei
- 64KB EMS-Fenstern für Lesen bzw. Schreiben. Aber es funktioniert
- nur mit EMS.
- Die ROMs sind auch (c) von Locomotive Software, nicht nur von Amstrad.
- - v1.2b ( )
- Auf Soundblaster Pro Karten wurde kein Stereo-Sound ausgegeben, obwohl
- es angezeigt wurde. Falls keine Soundblaster-Karte gefunden wurde,
- gab es überhaupt keinen Sound, bis USE_SB=0 geändert wurde.
- Schneller-Z80: Einige Wort-Zugriffe in Byte-Zugriffe umgeändert.
- Ist zwar ein bischen langsamer, aber der Computer hängt sich nicht bei
- jedem Zugriff an 0xffff auf.
- Schneller-Z80: Problem bei EI HALT DI korrigiert: Bei einem Interrupt
- wurde die Adresse von HALT 'gepushed' anstatt der von DI.
- Englische Dokumentation korrigiert.
- Verbessertes CPCPARA und PCPARA v1.1: Adapter-Test, wesentlich höhere
- Geschwindigkeit CPC->PC: Etwa 1600 Bytes pro Sekunde, von Diskette
- lesend! (486/66), Statistik. Jetzt kannst Du 16KB in 10 Sekunden
- übertragen! Dank an Klaus Weber, der anmerkte, das es zu langsam war.
- In PCPARA wurde nach jedem empfangenen Halbbyte mittels DELAY(1)
- eine Millisekunde gewartet. Dies ist überflüssig.
-
- - v1.2c (28.2.1995 - ) (war verfügbar als UPD12C.ZIP)
- CPCEMU umgeschrieben von C in C++. Dies erlaubt Inline-Funktionen
- und bessere Schnittstellen, um den Überblick behalten zu können.
-
- - v1.2d (16.3.1995 - ) (nur für Leser der 'mailing list')
- Schneller-Z80: Interne Änderungen, die unsichtbar für den Benutzer
- bleiben, außer einer kleinen Geschwindigkeitssteigerung. Alle Variablen
- werden jetzt im DATA-Segment anstatt im CODE-Segment gehalten.
- Endlich der unbedingt notwendige Modus für schnelle Computer eingeführt:
- 'Realtime-CPC' (Auswählbar im Setup-Menüoder mit REALTIME=1).
-
- - v1.3 (16.4.1995 - )
- Poke-Datenbank zum einfachen 'Poken', französische Dokumentation,
- FDC-Format-Befehl (Re-formatieren von Disketten-Abbildern derselben
- Größe), neues Menüsystem mit Mausunterstützung (MOUSE=1),
- Disketten-Abbilder mit read-only DOS Attribut einlegen (als read-only),
- Debug-Menü: Suchfunktion ('find') eingebaut.
-
- - v1.3a (30.4.1995 - ) (war verfügbar als UPD13A.ZIP)
- Mit Version v1.3 lief Boulder Dash nicht mehr, obwohl es mit v1.2 noch
- funktionierte. Der Interrupt Modus 2 des Z80 wurde falsch simuliert
- (PUSH/POP vergessen). Auch in der langsamen Z80-Emulation funktionierte
- es wegen eines ähnliche Fehlers nicht.
- CPCTRANS: Option -f 6 erlaubt.
-
- - v1.3b (20.5.1995 - ) (ist verfügbar als UPD13B.ZIP)
- Einige Benutzer beschwerten sich, daß der Soundblaster-Sound seit
- Version 1.3 nicht mehr funktionierte.
-
- - v1.4 (v1.3c)
- GUS-Soundunterstützung von Ulrich Doewich; On-Line-Hilfe in Deutsch,
- Englisch, Französisch und Spanisch; komplette französische Dokumentation;
- Unterstützung für 2 Joysticks; VESA-Videomodes für hohe Auflösungen;
- Setup-Menü und Konfigurationsdatei überarbeitet;
- Konfigurationen laden und speichern vom Setup-Menü aus;
- verbesserte FDC-Routinen für Fremdformate; Erweitertes Disketten-Format;
- Benutzerdefinierte Farben und Tasten;
- CPCTRANS überarbeitet; neues SNA2GIF (v1.1);
- Schnelle Z80-Emulation: manchmal wurde nach einem Reset der Bildschirm
- nicht komplett gelöscht (Problem bei HALT);
-
-
-
- CPCEMU wurde in C++ und Assembler geschrieben. Zum Kompilieren wurden
- Borland C 3.1 mit 386er Optimierung und TASM benutzt. Zur Fehlersuche
- habe ich den Turbo Debugger benutzt.
- Die Farben wurden mit dem Programm VGAMETER von J. Stephen Shattuck, Jr.
- ausgewählt, indem sie mit denen eines CPCs verglichen wurden, der an
- einen Scart-Fernseher angeschlossen war.
-
-
-
- ------------------------------------------------------------------------
-
-
-
- (Ab hier dürfen Sie wieder gefahrlos weiterlesen.)
-
-
-
- Anhang
- ≡≡≡≡≡≡
-
-
-
- A.1 Glossar
- ≡≡≡≡≡≡≡≡≡≡≡≡
-
- Hier werden einige Computer-Fachbegriffe erläutert. Ich erhebe keinen
- Anspruch auf Vollständigkeit oder präzise Definitionen. Die meisten
- Begriffe sind im Blickwinkel des CPC erklärt.
- Referenzen habe ich mit "»" markiert.
-
-
- 386/33 (AT 386/33)
- Kurzbezeichnung für einen »PC AT mit 80386 Prozessor, der mit 33 MHz
- getaktet wird. Wegen der "hohen" »Taktfrequenz kann man davon
- ausgehen, daß es sich um einen 386DX mit echtem 32-Bit Datenbus handelt
- und nicht um die Sparversion 386SX mit einem 16-Bit Datenbus.
-
- AMSDOS (Amstrad DOS)
- Von »Amstrad entwickeltes »DOS, speziell für die »CPC-Computer.
-
- Amstrad
- Englischer Computerhersteller, der die »CPC-Computer entwickelt hat.
-
- Archiv
- Archive sind Sammlungen von »Dateien.
- Auch: Eine Datei, in der mehrere andere Dateien enthalten sind.
- In »ZIP-Archiven werden die einzelnen Dateien vorher komprimiert (gepackt).
-
- ASCII (Abkürzung für: American Standard Code of Information Interchange)
- Auf einem Computer werden alle Buchstaben, Ziffern und Sonderzeichen
- intern durch Zahlen repräsentiert. Die meisten Computer benutzen ASCII,
- bei dem der Buchstabe 'A' z.B. durch die Zahl 65 repräsentiert wird.
- »PC und »CPC benutzen auch ASCII. Im »Locomotive-BASIC läßt sich ein
- BASIC-Programm durch den Befehl SAVE"<Dateiname>",A in ASCII-Form
- abspeichern.
-
- Basis-Adresse
- Diese müssen Sie bei vielen Programmen im »Setup festlegen, wenn Sie
- eine Soundkarte haben. CPCEMU findet diese Einstellung über die
- »Umgebungsvariable.
-
- BASIC (Abkürzung für: beginners all purpose symbolic instruction code)
- Weitverbreitete und sehr einfach zu lernende Programmiersprache für
- Heim- und Personalcomputer. Früher wurde zu jedem Computer ein
- eigenes BASIC ausgeliefert, es gab also viele BASIC-Dialekte.
- Moderne BASIC-Dialekte wurden durch Elemente strukturierte Programmierung
- erweitert, so daß nicht mehr unbedingt "Spaghetticode" programmiert
- werden muß. Auch die »CPCs wurden mit einem BASIC ausgeliefert, dem
- sogenannten Locomotive-BASIC von der gleichnamigen Firma.
-
- BASIC-Datei
- Siehe »Datei.
-
- Batch-Datei (Stapel-Datei)
- Eine Batch-Datei enthält Befehle, die Sie normalerweise über die
- Tastatur eingeben. Rufen Sie eine solche Datei auf, werden die
- Befehle automatisch ausgeführt, als hätten Sie sie der Reihe nach
- eingegeben.
-
- BBS
-
- Bildschirmmodus, -modi
-
- Binärdatei
- Siehe »Datei.
-
- BLASTER-Umgebungsvariable
- Siehe »Umgebungsvariable.
-
- C64
- Ein von der Firma Commodore entwickelter Heimcomputer mit 64KB »RAM,
- der sehr populär war. Vor allem durch das riesige Softwareangebot war
- er lange Zeit der Computer überhaupt. Später wurde er als Spielcomputer
- durch den Commodore AMIGA abgelöst, konnte sich aber trotz überholter
- Technik noch lange behaupten.
-
- CPC (Abkürzung für: Colour Personal Computer)
- Ein von der Firma »Amstrad entwickelter Personalcomputer, den es in
- mehreren Modellen gab. Lesen Sie noch einmal die Einleitung.
-
- CPC-Druckerport
- Die Centronics-Schnittstelle zum Anschluß eines Druckers an den »CPC.
- Leider haben die Entwickler des CPC hier zu viel gespart und die
- Schnittstelle nur mit 7 Datenbits ausgerüstet. Durch legen einer
- Drahtbrücke konnte sie aber leicht auf 8 Bit erweitert werden. Dazu
- wurde der Kassettenport mißbraucht, der beim Ausdrucken normalerweise
- nicht benötigt wird.
-
- CPC-Firmware-Manual
- Ein Buch über den »CPC, wo vor allem die Betriebssystem-Einsprünge
- des »CPC erklärt werden.
-
- CPC-Newsgruppe
- Eine Newsgruppe speziell für den »CPC. Sie heißt comp.os.amstrad.8bit
- und existiert seit August 1994.
-
- CP/M Plus (Abkürzung für: control program for microcomputers)
- Betriebssystem der Firma Digital Research hauptsächlich für 8-Bit
- Mikrocomputer. Vor MS-DOS war es recht weit verbreitet.
- CP/M Plus (CP/M 3.0) war der Nachfolger von CP/M 2.2 und wurde mit dem
- »CPC 6128 ausgeliefert.
-
- CTRL/SHIFT/ESC (control/shift/escape)
- "Dreifingergriff" auf dem »CPC, um einen Reset auszulösen. Er entspricht
- der Resetkombination CTRL/ALT/Entf. auf einem PC. Manche Programme
- blockieren jedoch diesen Reset, so daß Sie entweder den Computer
- ausschalten oder den Resetknopf drücken müssen. Die CPCs hatten keinen
- Resetknopf, man konnte sich aber leicht einen bauen. In CPCEMU ist die
- Funktionstaste F8 der Resetknopf.
-
- Cursor (deutsch: Blinker)
- Zeichen auf dem Bildschirm, das die aktuelle Schreibposition anzeigt.
- Es gibt auch Cursortasten, mit denen man dieses Zeichen steuern kann.
-
- D-Sub
- Eine spezielle Form von Steckverbindern
-
- Datei (englisch: file)
- Sammlung von zusammengehörigen Daten. Auf dem »CPC gibt es Dateien
- verschiedenen Typs, z.B. die BASIC-Dateien mit BASIC-Programmen und
- normalerweise der Endung .BAS, ASCII-Dateien mit beliebigem Text
- und Binärdateien mit beliebigen Bytes und normalerweise der Endung .BIN.
- Binärdateien können Maschinenprogramme oder andere Daten enthalten.
-
- Dk'tronics
- Englische Firma, die Hardware-Erweiterungen für den »CPC herausgebracht
- hat, unter anderem auch Speichererweiterungen.
-
- DMA (Abkürzung für: Direct Memory Access)
- Direkter Zugriff auf den Arbeitsspeicher unter Umgehung des Prozessors.
- Wird z.B. bei Diskettenlaufwerken eingesetzt, aus Sparsamkeitsgründen
- beim »CPC aber nicht.
- Auch die Soundblaster-Karte kann einen DMA-Kanal benutzen, durch den sie
- die digitalen Sounddaten bekommt.
-
- DOS (Abkürzung für: disk operating system)
- Diskettenorientiertes Betriebssystem. Z.B. AMSDOS, DRDOS, MS-DOS.
- Heute wird DOS als Synonym für MS-DOS verwendet.
-
- DOS-Suchpfad
- Der Pfad durch die Unterverzeichnisse, den »DOS benutzt, um eine Datei
- zu finden. Er wird durch die Umgebungsvariable PATH festgelegt.
-
- DRDOS
- MS-DOS-kompatibles »DOS der Firma Digital Research.
-
- Email (Abkürzung für: Electronic Mail)
- Die Benutzung eines Computers als Briefkasten.
-
- EMM (Abkürzung für: Expanded Memory Manager)
- Ähnlich wie »EMS.
-
- EMS (Abkürzung für: Expanded Memory System)
- Speichererweiterung für den »PC, um die 640KB-Speichergrenze zu umgehen.
- Durch Banking werden in einem sogenannten EMS-Speicherfenster andere
- Speicherseiten eingeblendet.
- EMS wurde von den 3 Firmen Lotus Intel Microsoft entwickelt, deshalb
- heißt es auch LIM-EMS.
- Es gibt Hardware-, emuliertes und simuliertes EMS.
- Spezielle Speicherkarten stellen Hardware-EMS zur Verfügung. Es wurde
- hauptsächlich bei PC XT eingesetzt. Emuliertes EMS gibt es auf PC AT
- mit mindestens 80386 Prozessor, da der Paging-Mechanismus für das Banking
- benutzt wird. Diese Form bietet EMM386.EXE und sollte bei CPCEMU
- eingesetzt werden.
- Bei simuliertem EMS werden die Speicherseiten kopiert, was für CPCEMU
- zu langsam ist.
-
- Emulator
- Das System, welches ein anderes »emuliert.
-
- Emulieren
- Nachbildung eines Systems (aus Hard- und/oder Software) durch ein anderes.
- Das nachbildende System führt mit den gleichen Daten die gleichen
- Funktionen aus und kommt zu den gleichen Ergebnissen.
- CPCEMU emuliert einen »CPC auf einem »PC.
-
- Formatdefinitionen
- Definitionen von Disketten-Formaten.
-
- FTP (Abkürzung für: File Transfer Protocol)
- Ein Protokoll, mit dem man Dateien über Rechnernetze kopieren kann.
- Auch das Programm, das dieses Protokoll benutzt, heißt FTP.
-
- Hardware
- Die Teile eines Computers, die "anfaßbar" sind, also z.B. angeschlossene
- Geräte wie Drucker, Monitor; intern der Prozessor und andere
- »Hardwarebausteine.
-
- Hardwarebausteine
- Bausteine, Chips im Innern des Computers, z.b. Prozessor, Speicherchips,
- Diskettencontroller, Ein-/Ausgabebausteine, ...
- Im CPC gibt es neben dem Z80-Prozessor das Gate-Array, den CRTC 6845
- zur Bildschirmadressierung, den PIO 8255 zur Ein-/Ausgabe, den
- Soundchip PSG AY 3-8912, den Diskettencontroller FDC 765, ...
-
- Hardware-Scrolling
- Verschieben des Bildschirminhalts, bei dem nicht der Speicherinhalt vom
- Prozessor kopiert werden muß, sondern wo ein Hardwarebaustein
- mithilft, so daß nur der Bildschirmstart verändert werden braucht.
-
- Initialisieren
- Vorbelegen von Speicherzellen mit bestimmten Werten, damit z.B.
- Variablen einen definierten Inhalt haben.
-
- Internet
- Ein Internet ist ein aus mehreren Teilnetzen bestehendes Rechnernetz.
- Hier ist *das* Internet gemeint, ein weltweites Netzwerk zur Kommunikation.
-
- Interrupt (Unterbrechung)
- Falls der Prozessor ein Signal mit höherer Priorität bekommt, bricht
- er das laufende Programm ab und führt ein spezielles Interrupt-Programm
- aus. Nachdem dieses beendet ist, macht er mit dem unterbrochenen
- Programm weiter. Auf dem PC gibt es verschiedene Interrupt-Signale.
- diese werden ausgelöst, wenn z.B. eine Taste gedrückt wurde, ein
- Timer abgelaufen ist, Daten von der seriellen Schnittstelle empfangen
- werden (z.B. wenn die Maus bewegt wird), die Soundkarte mit dem
- Abspielen eines digitalen Klanges fertig ist und neue Daten braucht, ...
- Der Z80 im »CPC wird 300 mal pro Sekunde unterbrochen.
-
- Interrupt-Nummer IRQ (IRQ=Abkürzung für: Interrupt Request)
- Auf dem PC haben verschiedene »Interrupts verschiedene Nummern.
- Der Tastaturinterrupt hat z.B. die Nummer 9, der Timer-Interrupt die
- Nummer 8. Wenn Sie eine Taste drücken, stellt die Tastatur eine
- Interrupt-Anforderung (IRQ), damit der Prozessor die Tastennummer
- abholt.
-
- Jumper-Box
- Eine Adapter-Box zum Stecken beliebiger Verbindungen mittels Drahtbrücken
- zwischen zwei Anschlüssen. Die Drahtbrücken müssen festgelötet werden.
- Siehe auch »Wiring-Box.
-
- Keyboard-Handler
- Dieses Programm wird aufgerufen, wenn Sie eine Taste drücken und
- ein »Interrupt generiert wurde.
-
- Kommandozeilen-Parameter
- Parameter, die Sie in der Kommandozeile zusammen mit dem Dateinamen
- angeben.
-
- Konfiguration
- Hier: Ein Programm an seine Bedürfnisse anpassen.
- Wie im »Setup können Sie dies auch in der Konfigurations-Datei tun.
-
- LIM-Standard (Abkürzung für: Lotus Intel Microsoft)
- Die von Lotus Intel Microsoft entwickelte Speichererweiterung mit
- der Abkürzung »EMS.
-
- Locomotive
- Englische Firma, die das »BASIC der »CPCs entwickelt hat.
-
- Mailing-List
- Ein Service von mir, bei dem ich Ihre E-Mail-Adresse in einer Liste
- aufnehme, so daß ich Sie über Neuigkeiten informieren kann. Ich
- verschicke dann die Neuigkeit an alle Teilnehmer, die auf der
- Liste stehen.
-
- Microchannel
- Spezielle Bus-Architektur.
-
- MS-DOS (Abkürzung für: Microsoft Disk Operating System)
- Ein Betriebssystem, das von der amerikanischen Firma Microsoft für
- 16-Bit-Prozessoren (8086) entwickelt wurde. Es ist das erfolgreichste
- Betriebssystem für den PC und wird auch immer noch auf den 32-Bit-
- Prozessoren 80386 und 80486 eingesetzt.
-
- Multi-Modes
- Programmiertechnik, bei der der Bildschirmmodus während des Bildaufbaus
- geändert wird. Auf dem »CPC entstehen Zonen, in denen man in manchen
- Bereichen hohe Auflösung mit wenigen Farben und in anderen Bereichen
- niedrige Auflösung mit vielen Farben hat.
-
- Multiface II (Abkürzung für: Multipurpose Interface)
- Eine Hardwareerweiterung für den CPC, die es erlaubt, Programme zu
- jeder Zeit anzuhalten, zu analysieren und abzuspeichern.
- Es wurde von der englischen Firma Romantic Robot entwickelt.
-
- OS (Abkürzung für: Operating System, deutsch: Betriebssystem)
- Ein Programm, was man braucht, um einen Computer zu benutzen.
- Es bietet grundlegende Funktionen für Anwendungsprogramme. Neue
- Betriebssysteme erlegigen z.B. so komplizierte Aufgaben wie
- Scheduling (Rechenzeit-Zuteilung) in Multitasking-Systemen, ...
-
- OS/2 DOS-Box
- Ein Fenster unter dem 32-Bit Betriebssystem OS/2 von IBM, in dem Sie
- »DOS-Programme starten können. Die sogenannte DOS-Kompatibilitäts-Box.
-
- Overscan
- Der Rahmen um die beschreibbare Fläche auf dem Bildschirm.
- Auf dem PC ist er ziemlich schmal, es läßt sich aber die Randfarbe
- ändern, z.B. in CPCEMU durch 'BORDER 10'. Auf dem CPC ist der Rahmen
- ziemlich breit, so daß man nach Möglichkeiten untersucht hat, auch
- diesen Rand zu benutzen. Durch einen Programmiertrick ist es möglich,
- den gesamten Bildschirm zu beschreiben. Auch diese Programmiertechnik
- wird meistens mit Overscan bezeichnet.
-
- Parameter
- Variable mit einer festen Bedeutung, die über den Programmablauf
- entscheidet.
-
- PC (Abkürzung für: Personal Computer)
- Computer mit einem Mikroprozessor als Prozessor. Meistens als Synonym
- für den IBM-PC mit 8086 oder 8088 Prozessor.
- PC AT (advanced technology) sind Computer mit 80286, 80386 oder 80486
- als Prozessor.
-
- PEEKs und POKEs:
- »BASIC-Befehle, um Speicherstellen auszulesen 'PEEK(<Adresse>)' oder
- zu verändern 'POKE <Adresse>,<Wert>'. Programme mit vielen PEEKs
- und POKEs sind kaum zu verstehen, sind aber manchmal notwendig,
- um die Beschränkungen des BASIC zu durchbrechen, besonders wenn
- das BASIC nicht so umfangreich ist.
-
- PKUNZIP
- Programm der Firma PK-Software zum Entpacken von »ZIP-Dateien.
-
- RAM (Abkürzung für: Random Access Memory, also Schreib- ,Lesespeicher)
- Speicherbaustein. Arbeitsspeicher des Computers.
- Die CPC-Computer haben 64KB RAM (Kilo-Bytes) oder 128 KB. Durch
- Hardwareerweiterungen anderer Firmen konnten sie auf bis zu 576 KB RAM
- erweitert werden.
-
- ROM (Abkürzung für: read-only-memory, deutsch: Nur-Lese-Speicher)
- Speicherbaustein. Speicher, der vom Prozessor nur gelesen aber nicht
- verändert werden kann. Nach dem Einschalten eines Computers sofort
- vorhanden. Die »CPC-Computer haben z.B. 16KB ROM für das »OS,
- 16KB für das »BASIC und 16KB für das »AMSDOS.
-
- ROM-Abbild
- Datei, in denen sich der Inhalt eines »ROM befindet. Wenn Sie ein
- ROM auslesen und in einer Datei abspeichern, dann haben Sie ein
- ROM-Abbild.
-
- RS-232
- Serielle »Schnittstelle zum Anschluß von Bildschirmen und Druckern an den
- Computer (RS 232 C).
-
- Schneider
- Deutscher Unterhaltungselektronik-Hersteller, der die CPCs in Deutschland
- vertrieben hat.
-
- Schnittstelle (englisch: Interface)
- Anschlußstelle eines Computers zu einem Gerät oder eines Programme zu
- einem anderen Programm. Es gibt also Hard- und Software-Schnittstellen.
- Die sogenannte Centronics-Schnittstelle ist eine parallele Schnittstelle,
- bei der die Bytes parallel, d.h. nebeneinander übertragen werden.
- Bei einer seriellen Schnittstelle müssen die Bytes Bit für Bit nacheinander
- übertragen werden.
-
- Setup (deutsch "aufsetzen")
- Darin werden verschiedene Festlegungen gemacht, die den Programmablauf
- beeinflussen, z.B. Angabe der Soundkarte, ob Sie einen Joystick benutzen
- wollen, ...
-
- SIMTEL
- Ein großes Software-Archiv in den USA.
- Das SimTel-Software Archiv wird von "Coast to Coast Telecommunications,
- Inc. (CCT)" auf einem ihrer Rechner im Internet als "SimTel.Coast.NET"
- unterhalten. Dieses Archiv wird regelmäßig zu anderen Orten kopiert
- (mirrored). Eine Kopie (mirror=engl. Spiegel) befindet sich in der
- "Oakland University", im Internet als "OAK.Oakland.Edu". Natürlich gibt
- es auch in Deutschland SimTel-"mirrors", z.B. "ftp.uni-paderborn.de".
-
- Snapshots (deutsch: Schnappschuß)
- Ein Speicherauszug erweitert um Zustände der »Hardwarebausteine.
- Er enthält eine komplette momentane Zustandsbeschreibung des Computers.
- Wenn der Snapshot geladen wird, wird der Computer in genau diesen
- Zustand zurückversetzt und macht dort weiter, wo der Snapshot
- erstellt wurde. Somit ist es ähnlich einem richtigen Schnappschuß,
- nur von Innern des Computers.
-
- Software
- Die Programme bei einem Computersystem.
-
- Soundblaster
- Die Soundkarte der Firma Creative Labs.
-
- Spectrum
- Der Sinclair Spectrum ist ein Homecomputer, der von der Firma Sinclair
- entworfen wurde.
-
- Taktfrequenz
- Takt, mit dem der Prozessor versorgt wird. Er bestimmt wesentlich die
- Geschwindigkeit des Prozessors. Heutige 486DX2/66 Prozessoren werden
- z.B. intern mit 66 MHz getaktet.
- Der Z80A im »CPC wird mit 4 MHz getaktet, wovon effektiv 3.3 MHz
- übrigbleiben, weil er immer regelmäßig auf die Bildschirmauffrischung
- warten muß.
-
- Turbo-Pascal Compiler
- Pascal ist eine höhere Programmiersprache, die strukturiertes
- Programmieren fördert und heute an vielen Schulen eingesetzt wird.
- Wenn man von Pascal redet, meint man meistens Turbo-Pascal, obwohl
- dieses nur ein erweitertes Pascal der Firma Borland ist. Der Turbo-Pascal
- Compiler ist besonders schnell, da er die Übersetzung in
- Maschinensprache in einem Durchgang erledigt.
-
- Utility
- Nützliches Hilfsprogramm.
-
- VGA (Abkürzung für: Video Graphics Array)
- Grafikstandard auf dem PC. Nachfolger von CGA (Colour Graphics
- Adapter), MCGA (Multi Colour Graphics Adapter) und EGA (Enhanced
- Graphics Adapter). Wurde zu SVGA (Super-VGA) mit noch höheren Auflösungen
- erweitert.
-
- VGA-BIOS (Abkürzung für: VGA Basic Input Output Operating System)
- Das Betriebssystem für die »VGA-Grafikkarte
-
- Windows (deutsch: "Fensters"?)
- Ein Betriebssystem-Aufsatz für »DOS.
-
- Wiring-Box (deutsch: Kabelbox)
- Ein Adapter mit zwei Steckern, zwischen denen mittels Drahtbrücken
- verschiedene Verbindungen hergestellt werden können.
- Im Gegensatz zur Wiring-Box müssen bei einer »Jumper-Box die
- Drahtbrücken festgelötet werden.
-
- Z80
- Ein von der Firma Zilog entwickelter 8-Bit Prozessor. Ist ein Ableger
- von Intels 8080 und war sehr weit verbreitet.
- Im »CPC ist der Z80A eingebaut, der mit einer »Taktfrequenz von 4 MHz
- arbeitet.
-
- Z80-Befehle
- Maschinenbefehle, die der »Z80 (-Prozessor) versteht. Eigentlich sind das
- nur Zahlenfolgen, um sich die Befehle besser merken zu können, wurden
- sogenannte Mnemonics eingeführt, die von einem Assembler in
- Binärcode übersetzt werden. Der Befehl "LD A,B" lädt z.B. Register A
- mit dem Inhalt von Register B und wird mit dem Code 0x78 übersetzt.
-
- Zahlendarstellung (bei Stellenwertsystemen)
- Je nach gewählter Basis gibt es verschiedene Darstellungen für eine Zahl.
- Am bekanntesten ist die dezimale Zahlendarstellung mit der Basis 10
- und den Ziffern 0..9.
- Computer verwenden die binäre Darstellung (Basis 2) mit den Ziffern 0
- und 1. Bei Programmieren beliebt ist die hexadezimale Darstellung
- zur Basis 16, weil 16 eine Potenz von 2 ist (2 hoch 4). Die Darstellungen
- lassen sich dann ganz einfach ineinander umrechnen. Außerdem
- benötigen ein Byte nur 2 Ziffern, wenn man es hexadezimal aufschreibt
- (0..9,A..F).
-
- ZIP
- Ein spezielles Verfahren zum Komprimieren (Packen) von Dateien.
- Die »Archive haben dann die Endung ZIP.
-
-
-
-
-
- A.2 Literaturverzeichnis
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
-
- Unentbehrlich für jeden CPC-Anfänger ist das CPC-Benutzerhandbuch:
- - Spital Ivor und Perry, Roland und Poel, William und Lawson,Cliff:
- CPC 6128 Benutzerhandbuch, Schneider Computer Division 1985,
- Originalausgabe (c) 1985 (in meinem Exemplar steht übrigens 1895)
- by AMSOFT, AMSTRAD Consumer Electronics plc and Locomotive
- Software Ltd.
-
- Ein hervorragend kommentiertes ROM-Listing und einleitende Kapitel,
- die besonders die Softwareseite des CPC berücksichtigen, bietet:
- - Janneck, Jörn W. und Mossakowski,Till: ROM-Listing CPC 464/664/6128,
- Markt & Technik Verlag 1986
-
- Lieblos zusammengeschustert und dürftig kommentiert dagegen, mit
- Schwerpunkt Hardware ist:
- - Brückmann, Englisch, Gertis: CPC 464 Intern mit kommentiertem
- ROM-Listing, Data Becker 1985
-
- Gut zum C lernen, mit vielen Übungsaufgaben, ist:
- - Kellay, Al and Pohl, Ira: A Book on C, Second Edition, 1990 by
- Benjamin/Cummings Publishing Company, Inc.
-
- Das C++ Standardwerk:
- - Stroustrup, Bjarne: Die C++ Programmiersprache, 2. Auflage,
- Addison-Wesley, 1992
-
- Ein schönes C++ Buch:
- - Eckel, Bruce: C++ Inside & Out, 1993 by Osborne McGraw-Hill
-
- Tips, wie man ein verständliches und gutes Handbuch schreibt, bietet:
- - Boedicker, Dagmar: Handbuch-Knigge, Software Handbücher schreiben
- und beurteilen. Wissenschaftsverlag 1990
-
-
-
-
-
- A.3 Index (Stichwortverzeichnis)
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
-
- Die Zahlen hinter den Stichworten geben das Kapitel an, wo das Stichwort
- erklärt wird oder vorkommt.
-
- (noch nicht vollständig)
-
- #ENDIF 4.2
- #IFCPC 4.2
- 22DISK 5.1.2
- Adapter, parallel 5.2
- AMSDOS_DI 4.2
- AMSDOS_SPDUP 4.2
- BLASTER-Umgebung 2.3.2
- BREAK_MASK 4.2
- COLOUR 4.2
- CPC 1.3
- CPC-Newsgruppe 6.2
- CPCEMU.CFG 4.2
- CPCPARA.BAS 5.2
- CPCREC.BAS 5.2
- CPCTRANS.EXE 5.1.1
- Debug-Menü 7.3
- DELAY 4.2
- Diskette 3.2.1
- Disketten-Abbilder 3.2.1
- DRIVE_A 4.2
- DRIVE_B 4.2
- EMS_EI 4.2
- EMS-Speicher 2.3.1
- Funktionstasten 3.1
- INT_FREQ 4.2
- INT_RESUME 4.2
- JOY_CALIBRATE 4.2
- Kassette 3.2.2
- KBD_LANGUAGE 4.2
- Konfigurationsdatei 4.2
- Menüs 3.2.1
- Multi-Mode 4.1
- MULTIMODE 4.2
- PCPARA.EXE 5.2
- PIO_PORT_B 4.2
- PRINTER 4.2
- RAM_SIZE 4.2
- ROM_BLOCK 4.2
- ROM_PATH 4.2
- SBLASTER 4.2
- SB_DELAY 4.2
- Setup-Menü 4.1
- SHOW_CONFIG 4.2
- SNAPSHOT 4.2
- Snapshot 3.2.3
- SOUND 4.2
- Soundblaster 2.3.2
- TAPE_BYPASS 4.2
- TAPE_PATH 4.2
- Tastatur 3.1
- TMP_PATH 4.2
- VSYNC-Bit 4.1
-
-
- ------------------------------------------------------------------------------
- logout
- ------
-