home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / cpc / cpcemu / cpcemu_d.txt < prev    next >
Text File  |  1995-04-16  |  143KB  |  3,467 lines

  1.  
  2.     ▓▓▓▓▓▓▒  ▓▓▓▓▓▓▓▓▒▒      ▓▓▓▓▓▓▒   ▓▓▓▓▓▓▓▓▒  ▓▓▓▓    ▓▓▓▓▒▒  ▓▓▒▒     ▓▓▒▒
  3.   ▓▓▒▒▒▒▒▒   ▓▓▒▒▒▒▒▓▓▒▒   ▓▓▒▒▒▒▒▒    ▓▓▒▒▒▒▒▒   ▓▓▒▓▓  ▓▓▒▓▓▒▒  ▓▓▒▒     ▓▓▒▒
  4.  ▓▓▒▒        ▓▓▒▒   ▓▓▒▒  ▓▓▒▒         ▓▓▒▒▒      ▓▓▒▒ ▓▓▒▒ ▓▓▒▒  ▓▓▒▒     ▓▓▒▒
  5.  ▓▓▒▒        ▓▓▓▓▓▓▓▓▒▒   ▓▓▒▒         ▓▓▓▓▓▓▓▓▒  ▓▓▒▒ ▒▒▒  ▓▓▒▒  ▓▓▒▒     ▓▓▒▒
  6.  ▓▓▒▒        ▓▓▒▒▒▒▒▒     ▓▓▒▒         ▓▓▒▒▒▒▒▒   ▓▓▒▒      ▓▓▒▒  ▓▓▒▒     ▓▓▒▒
  7.   ▓▓▒▒       ▓▓▒▒          ▓▓▒▒        ▓▓▒▒       ▓▓▒▒      ▓▓▒▒  ▓▓▒▒     ▓▓▒▒
  8.     ▓▓▓▓▓▓▒  ▓▓▒▒            ▓▓▓▓▓▓▒   ▓▓▓▓▓▓▓▓▒  ▓▓▒▒      ▓▓▒▒   ▓▓▓▓▓▓▓▓▓▒▒
  9.     ▒▒▒▒▒▒▒  ▒▒▒▒            ▒▒▒▒▒▒▒   ▒▒▒▒▒▒▒▒▒  ▒▒▒▒      ▒▒▒▒   ▒▒▒▒▒▒▒▒▒▒
  10.  
  11.                                                                       v1.3
  12.  
  13.  
  14.                                   D O K U M E N T A T I O N
  15.  
  16.  
  17.                                   (c) Marco Vieth, April 1995
  18.  
  19.  
  20.  
  21.  
  22. -------------------------------------------------------------------------------
  23.  
  24.  
  25.  
  26.  
  27. Inhaltsverzeichnis:
  28.  
  29.        1.  Einführung
  30.            1.1  Hinweise zur Benutzung dieser Dokumentation
  31.            1.2  Copyright, Gewährleistungen
  32.            1.3  Was ist ein CPC ?
  33.            1.4  Was bietet CPCEMU ?
  34.  
  35.        2.  Installation von CPCEMU
  36.            2.1  Dateien im CPCEMU-Paket
  37.            2.2  Voraussetzungen und Installation
  38.            2.3  Tips zum Speicher und zur Soundkarte
  39.              2.3.1  Verwenden Sie EMS-Speicher
  40.              2.3.2  Setzen Sie die BLASTER-Umgebung
  41.  
  42.        3.  Unterschiede zum Original
  43.            3.1  Tastatur
  44.            3.2  Laden von Programmen, Menüs
  45.              3.2.1  Laden von Diskette, Menüs
  46.                - Das Disketten-Wechsel-Menü
  47.                - Das Datei-Auswahl-Menü
  48.              3.2.2  Laden von und Speichern auf Kassette
  49.              3.2.3  Laden und Speichern von Snapshots
  50.  
  51.        4.  Ändern der Konfiguration
  52.            4.1  Das Setup-Menü
  53.            4.2  Die Konfigurations-Datei
  54.            4.3  Kommandozeilen-Parameter
  55.  
  56.        5.  Datenübertragung CPC <-> PC
  57.            5.1  Diskette als Medium
  58.              5.1.1  Das Diskettentransferprogramm CPCTRANS
  59.              5.1.2  Das Formatier- und Kopierprogramm 22DISK von SYDEX
  60.            5.2  Parallele Schnittstelle
  61.              - Der parallele Adapter
  62.            5.3  Serielle Schnittstelle
  63.            5.4  Sonstige Möglichkeiten
  64.  
  65.        6.  Bezugsquellen, Hilfe bei Problemen, Danksagungen
  66.            6.1  CPC Software, woher bekommen ?
  67.            6.2  Neuigkeiten, Erfahrungsaustausch
  68.            6.3  Wenn Sie Fragen oder Anregungen haben
  69.            6.4  Andere Amstrad CPC Emulatoren
  70.            6.5  Pläne für weitere CPCEMU-Versionen
  71.            6.6  Danksagungen
  72.            6.7  Geschützte Warenzeichen
  73.  
  74.        7.  Interne Informationen zu CPCEMU
  75.            "Black Box", d.h. mit separatem Inhaltsverzeichnis
  76.  
  77.  
  78.        Anhang:
  79.  
  80.        A.1  Glossar
  81.        A.2  Literaturverzeichnis
  82.        A.3  Index
  83.  
  84.  
  85. ---------------------------
  86.  
  87.  
  88.  
  89.  
  90.  
  91. 1.  Einführung
  92. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  93.  
  94.  
  95. Willkommen im Reich der Emulatoren!
  96.  
  97. Was, Sie wollen wissen, was CPCEMU ist?  Und was man mit dem merkwürdigen
  98. Programm anfangen kann, welches bei gelber Schrift auf blauem Grund nach
  99. jeder Eingabe immer "Syntax Error" schreibt?
  100.  
  101. Also, um Ihnen langes Suchen zu ersparen:
  102.         CPCEMU emuliert einen Amstrad CPC 464, 664 oder 6128 mit zahlreichen
  103.         Erweiterungen. Das Programm bildet also die Funktionsweise der
  104.         älteren Amstrad-Computer auf Ihrem neuen PC nach.
  105.  
  106.  
  107. Was das für einen Zweck hat?
  108. Nun ja, wenn Sie das nicht schon wissen, benötigen Sie CPCEMU nicht.
  109. Hier noch ein paar Gründe:
  110.         - Nostalgie (och, wie schön war doch mein CPC ...)
  111.         - Bessere Performance gegenüber dem Original
  112.         - Bessere Entwicklungsumgebung
  113.         - Spielen
  114.         - Arbeiten (ja, ein CPC reicht normalerweise für Textverarbeitung)
  115.         - [                                  ] <- hier können Sie weitere
  116.                                                   Gründe eintragen.
  117.  
  118.  
  119.  
  120.  
  121. 1.1  Hinweise zur Benutzung dieser Dokumentation
  122. ================================================
  123.  
  124.   Ich habe versucht, die Dokumentation übersichtlich zu gestalten. Falls Sie
  125.   (nach mehrmaligem Lesen?) doch noch Fragen haben, setzen Sie sich einfach
  126.   mit mir in Verbindung. Natürlich dürfen Sie das auch, wenn Ihnen alles
  127.   klar ist. Siehe Kapitel 6 (Bezugsquellen, ...).
  128.  
  129.   Im Kapitel 1 (Einführung) beschreibe ich Grundlagen zur
  130.   Dokumentation, zum Copyright und zum CPC allgemein.
  131.  
  132.   Im Kapitel 2 (Installation) geht es dann endlich los. Sie erfahren, wie
  133.   man CPCEMU installiert und startet.
  134.  
  135.   In Kapitel 3 (Unterschiede zum Original) führe ich einige Besonderheiten
  136.   auf, die Sie beachten müssen, wenn Sie einen richtigen CPC kennen und
  137.   den Emulator benutzen möchten. Dabei werde ich vor allem auf die Tastatur,
  138.   Disketten, Kassetten und Snapshots eingehen.
  139.  
  140.   In Kapitel 4 (Ändern der Konfiguration) beschreibe ich, wie Sie CPCEMU an
  141.   Ihre Bedürfnisse anpassen und vielleicht doch noch Ihr Lieblingsprogramm
  142.   zum Laufen bringen können.
  143.  
  144.   Kapitel 5 (Datenübertragung CPC <-> PC) sollten Sie lesen, wenn Sie noch
  145.   zahlreiche alte CPC Programme besitzen und nicht wissen, wie Sie diese auf
  146.   den PC bekommen. In diesem Kapitel werden die dafür vorhandenen
  147.   Zusatzprogramme beschrieben.
  148.  
  149.   In Kapitel 6 (Bezugsquellen, Hilfe bei Problemen) verrate ich Ihnen, wie
  150.   Sie immer die neuste Version bekommen können und an wen Sie sich bei Fragen
  151.   wenden dürfen.
  152.  
  153.   Kapitel 7 (Interne Informationen zu CPCEMU) ist für Profis gedacht.
  154.   Der "offizielle" Teil ist vor diesem Kapitel vorbei, denn hier kommt
  155.   das "Letzte".
  156.   Falls Sie wissen möchten, wie man so einen Emulator programmiert und was
  157.   man dabei beachten muß. Außerdem wird hier das in CPCEMU eingebaute
  158.   Debug-Menü erklärt, mit dem Sie *jederzeit* den Prozessor und den Speicher
  159.   analysieren können. Nur-Anwender sollten dieses Kapitel überspringen,
  160.   wenigstens beim ersten Lesen.
  161.  
  162.   Im Anhang A.1 gibt es dann noch ein Glossar, mit Beschreibungen der
  163.   wichtigsten Fachbegriffe, außerdem in A.2 ein Literaturverzeichnis
  164.   und in A.3 einen Index.
  165.  
  166.  
  167.  
  168. 1.2  Copyright, Gewährleistungen
  169. ================================
  170.  
  171.   CPCEMU wurde entwickelt von:
  172.  
  173.          Marco Vieth
  174.          Auf dem Ükern 4
  175.          33165 Lichtenau
  176.          Germany
  177.  
  178.  
  179.   CPCEMU ist Freeware, d.h. Sie dürfen das Programm *unentgeltlich* an
  180.   Freunde und Bekannte weitergeben. Betreibern von Mailboxen ist es erlaubt,
  181.   CPCEMU in Ihre Programmsammlungen zum "Downloaden" aufzunehmen.
  182.   Shareware-Händler dürfen dieses Programm mit in Ihren Bestand aufnehmen,
  183.   sofern sie von den Kunden nur eine Kopiergebühr verlangen.
  184.   Die Verbreitung darf nur in dem Archiv CPCEMUxx.xxx erfolgen.
  185.   Im Gegensatz zu Public Domain bedeutet Freeware nicht, das das Programm
  186.   "frei" ist und jeder damit machen kann was er will, sondern das Copyright
  187.   bleibt bei mir!
  188.  
  189.   Gewährleistung:
  190.   Ich lehne jegliche Gewährleistung ausdrücklich ab. Schäden, die durch
  191.   dieses Programm am Computer oder sonstwo entstehen, gehen zu Lasten des
  192.   Benutzers.
  193.   Auch gehe ich keinerlei Verpflichtung bzgl. Updates ein, obwohl ich
  194.   normalerweise möglichst schnell versuche, aufgetretene Fehler zu beseitigen.
  195.  
  196.  
  197.   Wenn Sie von dem Programm begeistert sind, können Sie mich unterstützen.
  198.   Ich bin für jede Rückmeldung und jeden Verbesserungsvorschlag dankbar.
  199.   Auch finanzielle Unterstützung lehne ich natürlich nicht ab.
  200.   Siehe Kapitel 6 (Bezugsquellen, ...)
  201.  
  202.  
  203.  
  204. 1.3  Was ist ein CPC ?
  205. ======================
  206.  
  207.   Falls Sie schon wissen, was ein CPC ist, gehen Sie einfach zum
  208.   nächsten Abschnitt über (1.4  Was bietet CPCEMU ?).
  209.  
  210.  
  211.  
  212.  
  213.   Sie sind noch da?
  214.  
  215.   Hier soll nicht der CPC "auseinandergenommen" werden, sondern ich gebe nur
  216.   eine grobe geschichtliche Beschreibung, damit Sie eine Vorstellung davon
  217.   haben, was ein CPC überhaupt ist.
  218.  
  219.  
  220.   CPC ist die Abkürzung für Colour Personal Computer.
  221.   Computer dieser Modellreihe wurden ab 1984 von der englischen Firma Amstrad
  222.   hergestellt und von Schneider in Deutschland vertrieben.
  223.   Es war die Zeit der Homecomputer Commodore C64, Sinclair Spectrum,
  224.   Atari 800XL, ..., als der CPC 464 auf den Markt kam.
  225.   Er hatte genausoviel RAM wie der Commodore C64 (nämlich 64 KB),
  226.   ein eingebautes Kassettenlaufwerk und Locomotive BASIC 1.0.
  227.   Es folgte der CPC 664 mit eingebautem 3" Diskettenlaufwerk und leicht
  228.   erweitertem Locomotive BASIC 1.1.
  229.   1985 kam dann der CPC 6128 mit 128 KB RAM und ansonsten gleichen
  230.   Merkmalen wie der CPC 664 auf den Markt.
  231.   Die 3" Disketten waren zwar sündhaft teuer, dafür aber stabiler als die
  232.   damals gängigen 5.25" Disketten (etwa wie die heutigen 3.5").
  233.   Außerdem war eine deutliche Geschwindigkeitssteigerung im Vergleich zur
  234.   Kassette zu bemerken, nicht wie beim C64...
  235.   Alle drei Modelle wurden wahlweise mit Farb- oder Grünmonitor ausgeliefert,
  236.   wobei das Computernetzteil im Monitor integriert war.
  237.   Inzwischen gab es noch 2-3 andere Modelle (die CPC+ Modelle), darauf werde
  238.   ich aber nicht eingehen.
  239.   Das BASIC war mit etwa 178 Befehlen leistungsfähig und schnell. Man konnte
  240.   damit Grafik, Sound und sogar Interruptbehandlung programmieren, ohne
  241.   auf PEEKs und POKEs ausweichen zu müssen.
  242.   Das Softwareangebot hat sich im Laufe der Jahre auch stark erweitert.
  243.  
  244.  
  245.  
  246.  
  247. 1.4  Was bietet CPCEMU ?
  248. ========================
  249.  
  250.   Es folgt eine Kurzübersicht darüber, was CPCEMU bietet. Erst im Laufe
  251.   der Dokumentation wird erklärt, was das alles bedeutet.
  252.  
  253.   Grafik in 3 Bildschirmmodi (X x Y x Farben):
  254.        Modus 0: 180x200x16
  255.        Modus 1: 320x200x4
  256.        Modus 2: 640x200x2
  257.  
  258.   Sound wahlweise über PC-Lautsprecher oder Soundblaster (3 Kanal, Stereo)
  259.  
  260.   Speicher:
  261.        ROM: OS, BASIC, AMSDOS, bis zu circa 13 Zusatzroms (mit EMS)
  262.        RAM: 64KB, 128KB, bis zu 576KB Dk'tronics kompatibles RAM (mit EMS)
  263.  
  264.   Diskette: Spezielle Disketten-Abbilder, mit der Endung .DSK
  265.  
  266.   Kassette: Normale Dateien unter DOS, z.B. CPC BASIC- und Binärdateien
  267.        mit den Endungen .BAS bzw .BIN .
  268.  
  269.   Snapshots: Es lassen sich Schnappschüsse von laufenden Programmen
  270.        erzeugen, um sie später wieder fortsetzen zu können. Snapshots
  271.        haben normalerweise die Endung .SNA .
  272.  
  273.   Geschwindigkeit: Auf einem 386/33 mit EMS-Speicher ist CPCEMU normalerweise
  274.        schneller als das Original. Durch einen Realtime-Modus kann der
  275.        Emulator auf exakte CPC-Geschwindigkeit abgebremst werden.
  276.  
  277.  
  278.  
  279.  
  280. 2.  Installation von CPCEMU
  281. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  282.  
  283. In diesem Kapitel erfahren Sie, was Sie für CPCEMU benötigen, wie Sie
  284. das Programm installieren und starten. Außerdem gebe ich kurz Tips zum
  285. Speicher und zur Soundkarte.
  286. Umkonfigurationen werden erst später im Kapitel 4 (Konfiguration)
  287. beschrieben.
  288.  
  289.  
  290.  
  291. 2.1  Dateien im CPCEMU-Paket
  292. ============================
  293.  
  294.   Sie haben das CPCEMUxx.xxx-Paket mit den folgenden Dateien erhalten:
  295.   (In Klammern steht das Verzeichnis, in dem die Datei nach der Installation
  296.   steht.)
  297.  
  298.   COPYMATE.ROM   ein ROM mit einem Kopierprogramm (ROM)
  299.   CPC464.BAT     startet einen CPC 464
  300.   CPC464.ROM     das ROM (Firmware+BASIC) eines CPC 464 (ROM)
  301.   CPC664.BAT     dito, nur CPC 664
  302.   CPC664.ROM     (ROM)
  303.   CPC6128.BAT    dito, nur CPC 6128
  304.   CPC6128.ROM    (ROM)
  305.   CPCADOS.ROM    das AMSDOS für alle CPCs (ROM)
  306.   CPCEMU.CFG     die Konfigurationsdatei für alle CPCs (oder CPCEMU0.CFG)
  307.   CPCEMU.DBF     Datenbank mit Pokes
  308.   CPCEMU.HLP     eine Hilfe-Datei, erscheint bei F1
  309.   CPCEMU.EXE     der Emulator
  310.   CPCEMU_D.TXT   deutsche Dokumentation (diese Datei)
  311.   CPCEMU_E.TXT   englische Dokumentation
  312.   CPCEMU_F.TXT   französische Dokumentation (Einführung)
  313.   CPCPARA.BAS    Locomotive-BASIC-Programm für parallelen Adapter (UTILITY)
  314.   CPCPD1.DSK     ein Disketten-Abbild mit Beispiel-Public-Domain (DISC)
  315.   CPCREC.BAS     Locomotive-BASIC-Programm zum Empfangen (UTILITY)
  316.   CPCT0.BAT      Batch-Datei zu CPCTRANS.EXE (Beispiel) (UTILITY)
  317.   CPCTRANS.EXE   Transfer von Disketten-Abbildern (UTILITY)
  318.   CPMDISKS.DEF   Datei mit Formatdefinitionen für 22DISK (UTILITY)
  319.   FILE_ID.DIZ    Wie dieses Programm heißt
  320.   INSTALL.BAT    Installationsdatei
  321.   PCPARA.EXE     Die PC-Seite für den parallelen Adapter (UTILITY)
  322.   README_D.TXT   deutsches Liesmich
  323.   README_E.TXT   englisches Liesmich
  324.   ROMGET.BAS     Locomotive-BASIC-Programm zum Abspeichern von ROMs (UTILITY)
  325.  
  326.   Es sind auch die orginalen Amstrad-ROMs dabei.
  327.   Die Firmware ist Copyright von Locomotive Software, das BASIC ist
  328.   Copyright von Amstrad.
  329.   Amstrad und Locomotive haben mir erlaubt, die ROMs dabeizulegen.
  330.  
  331.  
  332.  
  333. 2.2  Voraussetzungen und Installation
  334. =====================================
  335.  
  336.   Sie benötigen mindestens (nach oben wie immer keine Grenzen)
  337.   - PC AT 386 mit VGA-Grafikkarte
  338.   - MS-DOS, möglichst mit EMS,  oder
  339.     Novell DOS (DRDOS)  oder
  340.     OS/2 2.x DOS-Box.
  341.   - Falls Sie Programme aus ZIP-Archiven starten wollen, brauchen Sie zum
  342.     Entpacken das Programm PKUNZIP in Ihrem DOS-Suchpfad.
  343.  
  344.  
  345.   Die Installation selber ist ganz einfach:
  346.   Kopieren Sie das Archiv CPCEMUxx.xxx auf Ihre Festplatte und entpacken es
  347.   z.B. durch 'PKUNZIP CPCEMUxx.ZIP'. Rufen Sie INSTALL.BAT auf, um ein paar
  348.   Unterverzeichnisse zu erzeugen. Danach starten Sie einfach CPC464.BAT,
  349.   CPC664.BAT oder CPC6128.BAT, je nachdem, was für einen CPC Sie haben
  350.   wollen. Nach der Konfiguration drücken Sie <RETURN> und es erscheint
  351.   der wohlbekannte CPC Eröffnungsbildschirm mit gelber Schrift auf blauem
  352.   Grund. Mit F12 verlassen Sie den Emulator wieder.
  353.   Am besten probieren Sie das jetzt sofort einmal aus, und lesen anschließend
  354.   hier weiter ...
  355.  
  356.  
  357.  
  358.   Vielleicht war Ihnen der CPC doch nicht so wohlbekannt, weil dort "Amstrad"
  359.   anstatt "Schneider" in der Einschaltmeldung stand. Um das zu ändern, müssen
  360.   Sie sich allerdings bis Kapitel 4 (Ändern der Konfiguration) gedulden.
  361.   Dort wird auch beschrieben, wie Sie eine "deutschere" Tastatur einstellen
  362.   können.
  363.  
  364.   Falls irgendwelche schwerwiegenden Fehler beim Start auftreten, landen
  365.   Sie im sogenannten Debug-Menü, welches Sie mit 'q' <RETURN> wieder
  366.   verlassen können.
  367.   In solchen Fällen ist es manchmal nützlich, den Initialisierungsvorgang
  368.   in eine Datei umzuleiten, z.B. durch 'CPCEMU > INIT.TXT'. Dann können
  369.   Sie sich später das Problem in aller Ruhe ansehen.
  370.  
  371.  
  372.  
  373.  
  374. 2.3  Tips zum Speicher und zur Soundkarte
  375. =========================================
  376.  
  377.  
  378.   Hier zwei Tips, falls Sie eine besonders schnelle Emulation haben wollen
  379.   oder Ihre Soundkarte nicht erkannt wird.
  380.  
  381.  
  382.   2.3.1  Verwenden Sie EMS-Speicher
  383.   ---------------------------------
  384.  
  385.     Sie sollten auf Ihrem PC möglichst echten oder emulierten EMS-Speicher
  386.     haben (EMS=Expanded Memory System). Dadurch wird die Emulation besonders
  387.     unter BASIC erheblich beschleunigt.  Simuliertes EMS ist zu langsam.
  388.     Alles was Sie dazu brauchen, ist EMM (Expanded Memory Manager) nach dem
  389.     LIM 4.0 Standard (LIM EMS 4.0).
  390.     Beim Start des Emulators wird dann "EMS xxx Bytes ok." angezeigt.
  391.     Falls dort nicht "Sorry, using conventional memory" steht, dann
  392.     wird EMS benutzt.
  393.  
  394.     Beispiel unter OS/2 2.x (Einstellungen im Setup des Fensters):
  395.         EMS_FRAME_LOCATION = auto
  396.         EMS_HIGH_OS_MAP_REGION = 32     (oder mehr)
  397.         EMS_LOW_OS_MAP_REGION = 0       (oder mehr)
  398.  
  399.     Beispiel unter DOS in der CONFIG.SYS-Datei:
  400.         DEVICE=C:\DOS\HIMEM.SYS
  401.         DEVICE=C:\DOS\EMM386.EXE 1024
  402.         ...
  403.  
  404.  
  405.   2.3.2  Setzen Sie die BLASTER-Umgebung
  406.   --------------------------------------
  407.  
  408.     Damit CPCEMU Ihre Soundkarte benutzt, müssen Sie die BLASTER-
  409.     Umgebungsvariable entsprechend setzen. Starten Sie dazu das Programm
  410.     'SET-ENV.EXE' (oder 'SBTEST.EXE'), das dem Softwarepaket Ihrer
  411.     Soundkarte beiliegen sollte. Oder schreiben Sie in Ihre AUTOEXEC.BAT
  412.     die folgende Zeile, eventuell leicht modifiziert:
  413.         SET BLASTER=A220 I7 D1 T3
  414.  
  415.         Mit folgender Bedeutung:
  416.         A setzt die Basis-Adresse (0x220)
  417.         I setzt die Interrupt-Nummer IRQ (7)
  418.         D setzt den DMA-Kanal (1)
  419.         T setzt die Version der Soundkarte:
  420.           1 : Soundblaster 1.0/1.5
  421.           2 : Soundblaster Pro
  422.           3 : Soundblaster 2.0/2.5
  423.           4 : Soundblaster Pro 3/Pro 4.0
  424.           5 : Soundblaster Pro (Microchannel)
  425.  
  426.     Bei den Versionen 2, 4 und 5 erfolgt die Soundausgabe in Stereo.
  427.  
  428.  
  429.  
  430.  
  431.  
  432. 3.  Unterschiede zum Original
  433. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  434.  
  435. In diesem Kapitel erläutere ich einige Besonderheiten, die CPCEMU vom
  436. Original unterscheiden. Da wäre zunächst die Tastatur, insbesondere die
  437. Belegung der Funktionstasten, dann das Laden von Diskette und Kassette.
  438.  
  439.  
  440.  
  441. 3.1  Tastatur
  442. =============
  443.  
  444.   Vielleicht ist Ihnen bei den ersten Experimenten schon aufgefallen, daß
  445.   manche Tasten andere Zeichen auf dem Bildschirm hervorrufen.
  446.   Das muß so sein! Um eine "deutschere" Tastaturbelegung zu bekommen,
  447.   gedulden Sie sich bis Kapitel 4 (Konfiguration von CPCEMU).
  448.   Außerdem haben Sie vielleicht bemerkt, daß die PC Funktionstasten nicht
  449.   den CPC Funktionstasten entsprechen und "wirres Zeug" aufrufen.
  450.   Vielleicht suchen Sie auch schon vergeblich die COPY Taste.
  451.   Ich versichere Ihnen, es sind wirklich alle Tasten vom CPC irgendwo
  452.   vorhanden.
  453.   Hier wird das Geheimnis gelüftet:
  454.  
  455.   - ALT, ALTgr  : COPY auf dem CPC
  456.  
  457.   - PAUSE-Taste : hält den PC an, bis sie erneut gedrückt wird. Falls also
  458.     die PC-Funktionstasten nicht mehr reagieren, haben Sie vielleicht die
  459.     PAUSE-Taste gedrückt.
  460.  
  461.   - Keypad (Zehnerblock) : Je nach Zustand von "NUM-LOCK" erfüllt das Keypad
  462.     verschiedene Funktionen. Bei "NUM-LOCK an" erreichen Sie die CPC-
  463.     Funktionstasten, sonst können Sie Joystickbewegungen ausführen.
  464.     Wollen Sie einen analogen PC-Joystick benutzen, erfordert das eine
  465.     Konfiguration und Sie müssen sich bis Kapitel 4 (Ändern der
  466.     Konfiguration) gedulden.
  467.  
  468.   Der Vollständigkeit halber sei noch erwähnt:
  469.   - Bild hoch/runter: Verschiebt den gesamten CPC Bildschirm
  470.     (Fragen Sie mich nicht, wofür das gut sein soll.)
  471.  
  472.   Und natürlich die Funktionstasten:
  473.   F1  : Die Hilfe-Taste. Zu Beginn vielleicht die wichtigste Taste überhaupt.
  474.   F2  : Wechsel zwischen CPC-Bildschirm (Standard-Sicht) und Meldungs-
  475.         Bildschirm (der mit dem roten Rahmen). Auf diesem Bildschirm werden
  476.         manchmal Kontrollmeldungen angezeigt.
  477.   F3  : Einlegen einer Diskette, siehe Abschnitt 3.2.1
  478.   F4  : Soundausgabe ein/aus
  479.   F5  : Laden eines Snapshots (Schnappschusses), siehe Abschnitt 3.2.3
  480.   F6  : Speichern eines Snapshots, siehe Abschnitt 3.2.3
  481.   F7  : Setup-Menü, siehe Abschnitt 4.1
  482.   F8  : Hard-Reset, wie eine Reset-Taste am CPC. Benutzen Sie diese Taste,
  483.         falls CTRL/SHIFT/ESC nicht mehr funktioniert.
  484.   F9  : reserviert für zukünftige Verwendung
  485.   F10 : Debug-Menü, wird im Kapitel 7 (Interne Informationen zu CPCEMU)
  486.         erläutert. Falls Sie einmal aus Versehen darin landen, drücken Sie
  487.         'r' für R)un oder 'q' für Q)uit.
  488.   F11 : reserviert für zukünftige Verwendung
  489.   F12 : sofortiger Abbruch des Emulators
  490.  
  491.  
  492.  
  493.  
  494. 3.2  Laden von Programmen, Menüs
  495. ================================
  496.  
  497.   In diesem Abschnitt erfahren Sie, wie Sie Programme von Diskette, Kassette
  498.   oder aus Snapshots (Schnappschüssen) laden. Natürlich werden auch
  499.   die entsprechenden Funktionen zum Abspeichern erklärt.
  500.   Im folgenden Abschnitt wird zusätzlich erklärt, wie Sie in den Menüs
  501.   Optionen ändern und auswählen.
  502.  
  503.  
  504.  
  505.   3.2.1  Laden von Diskette, Menüs
  506.   --------------------------------
  507.  
  508.     Normalerweise ist nach dem Start des Emulators das sogenannte AMSDOS
  509.     (Amstrad DOS) aktiv, d.h. alle Befehle zum Laden/Speichen sprechen die
  510.     Diskette an.
  511.     Sie brauchen nicht immer eine richtige CPC-Diskette in Ihr PC-Laufwerk
  512.     legen, abgesehen davon, daß Sie vielleicht nur 3" CPC-Disketten haben.
  513.     Um eine vernünftige Geschwindigkeit zu erreichen, befinden sich die
  514.     CPC-Disketten in sogenannten Disketten-Abbildern. Diese Dateien
  515.     dürfen sich irgendwo auf der Festplatte (oder auch einer High-Density-
  516.     Diskette) befinden.
  517.  
  518.     Hier einige BASIC-AMSDOS-Befehle:
  519.     - CAT <RETURN> : Es erscheint der Katalog
  520.  
  521.     - Durch 'RUN"<Dateiname>"'  laden und starten Sie ein Programm.
  522.       Sie dürfen die letzten Anführungsstriche auch weglassen. Dieser Befehl
  523.       funktioniert sowohl für BASIC-Programme mit der Endung .BAS als auch
  524.       für die meisten binären Programme mit der Endung .BIN .
  525.  
  526.       Hier eine einfache Möglichkeit, ein Programm zu starten:
  527.       1. Tippen Sie den Dateinamen ein, z.B.  'DISC', *nicht* <RETURN>
  528.       2. Halten Sie die CTRL-Taste fest und drücken Sie Cursor-links
  529.       (dadurch wandert der Cursor in die 1. Spalte)
  530.       3. Halten Sie die CTRL-Taste immer noch fest und drücken sie die ENTER-
  531.       Taste auf dem Zehnerblock
  532.       (es erscheint RUN"DISC   und das Programm wird gestartet)
  533.  
  534.     - LOAD"<Dateiname>" lädt ein Programm, ohne es zu starten.
  535.       BASIC-Programme lassen sich dann mit LIST auflisten und durch RUN
  536.       starten. Binäre Programme lassen sich in den meisten Fällen nicht mit
  537.       LOAD laden. Versuchen Sie, vorher einen MEMORY-Befehl anzugeben, z.B.
  538.       'MEMORY &1fff'.
  539.  
  540.     - SAVE"<Dateiname>" speichert ein BASIC-Programm. Für Binärdateien sind
  541.       mehrere Parameter nötig, z.B. speichert
  542.       'SAVE"<Dateiname>",b,&c000,&4000' den Bildschirminhalt.
  543.  
  544.     - MERGE"<Dateiname>" gibt es auch noch und fügt ein BASIC-Programm an
  545.       ein schon im Speicher vorhandenes an.
  546.  
  547.  
  548.     Speziell vom AMSDOS werden noch folgende Erweiterungs-Befehle angeboten,
  549.     die durch einen senkrechten Strich eingeleitet werden:
  550.     - |A, |B zur Wahl des Laufwerks (geht auch mit |DRIVE,0 bzw. 1)
  551.     - |DIR,"<Dateimuster>" zum Anzeigen des Inhaltsverzeichnisses.
  552.       Wichtig: Auf einem CPC 464 folgendes eingeben:
  553.            a$="<Dateimuster>" : |DIR,@a$
  554.     - |ERA,"<Dateiname>" zum Löschen einer Datei.
  555.       Wichtig: Auf einem CPC 464 folgendes eingeben:
  556.            a$="<Dateiname>" : |ERA,@a$
  557.     - |REN,"<neuer Name>","<alter Name>" zum Umbenennen einer Datei.
  558.       Wichtig: Auf einem CPC 464 folgendes eingeben:
  559.            a$="<neuer Name>" : b$="<alter Name>" : |REN,@a$,@b$
  560.     - |TAPE  um auf Kassette umzuschalten, wird im nächsten Abschnitt
  561.       erläutert.
  562.     - |DISC  um auf Diskette umzuschalten.
  563.     Es gibt auch noch ein paar andere Befehle, die nicht so wichtig sind.
  564.  
  565.  
  566.  
  567.     Das Disketten-Wechsel-Menü
  568.     --------------------------
  569.  
  570.     Bisher konnten Sie immer nur eine Diskette benutzen, nämlich diejenige,
  571.     die schon die ganze Zeit im Laufwerk "liegt". Um eine andere
  572.     Diskette einzulegen, drücken Sie F3. Es erscheint das Menü
  573.  
  574.                      Insert Disk
  575.                      Drive              0
  576.                      Side Select        0
  577.                      Write Protected    0
  578.  
  579.     Mit den Cursortasten <hoch/runter> wählen Sie eine Zeile aus. Sie
  580.     können dazu auch direkt Buchstaben eingeben (zurück mit <DEL>).
  581.     Ändern Sie Zahlen durch <Cursor links/rechts> oder durch Direkteingabe.
  582.     <RETURN> in einer beliebigen Zeile (z.B. in der ersten)
  583.     übernimmt die Änderungen, durch <ESC> würden sie verworfen.
  584.     "Drive" ist das gewünschte Laufwerk (0=A, 1=B); "Side Select" ist ein
  585.     Seitenauswahl-Schalter für doppelseitige Formate, bei einseitigen
  586.     Formaten hat er keine Auswirkung.
  587.     Mit "Write Protected" versehen Sie die Diskette mit einem Schreibschutz
  588.     (0=Nein, 1=Ja, mit Schreibschutz).
  589.  
  590.  
  591.  
  592.     Das Datei-Auswahl-Menü
  593.     ----------------------
  594.  
  595.     Drücken Sie <RETURN>, dann erscheint ein Disketten-Inhaltsverzeichnis.
  596.     Wählen Sie eine neue Diskette aus, mit den Methoden, wie oben
  597.     beschrieben.
  598.     Falls schon eine Diskette im Laufwerk liegt, brauchen Sie diese nicht
  599.     vorher herauszunehmen, wie im richtigen Leben. Das passiert hier
  600.     automatisch. Unten auf dem Bildschirm wird so eine Diskette aber
  601.     angezeigt.
  602.     Es werden immer höchstens 15 Dateinamen auf einmal angezeigt, bei mehr
  603.     Dateinamen steht unten "[]".
  604.     - <POS1> geht zum ersten Dateinamen, <ENDE> zum letzten
  605.     - <Bild hoch/runter> blättert seitenweise durch die Dateinamen
  606.     - <RETURN> übernimmt den angewählten Dateinamen, <ESC> bricht ab.
  607.     Auch hier wählen Sie die Namen direkt an, wenn Sie Anfangsbuchstaben
  608.     drücken.
  609.  
  610.     Falls Sie die Maussteuerung bevorzugen, bedeutet "[]" <Bild hoch>,
  611.     "[]" <Bild runter>, "[<]" <Cursor links>, "[>]" <Cursor rechts> und
  612.     [ok] ist <Return>. Letzteres erreichen Sie auch mit der rechten
  613.     Maustaste (Doppelklick gibt es nicht). "[■]" ist <ESC>.
  614.  
  615.     ".." ist das Eltern-Verzeichnis; [A], [B], ... sind die verfügbaren
  616.     Laufwerke. Bitte wählen Sie nur Diskettenlaufwerke, wenn auch eine
  617.     Diskette darin liegt, ansonsten kann es zu Komplikationen kommen.
  618.  
  619.     Es ist auch möglich, Disketten aus ZIP-Archiven einzulegen. Dazu wählen
  620.     Sie ein ZIP-Archiv mit <RETURN>, worauf das Inhaltsverzeichnis wie ein
  621.     normales Verzeichnis angezeigt wird. Wählen Sie dann eine Datei aus
  622.     einem ZIP-Verzeichnis, wird sie automatisch in eine temporäre Datei
  623.     entpackt. Dazu benötigen Sie das Programm PKUNZIP im CPCEMU-Verzeichnis
  624.     oder im DOS-Suchpfad. Die temporären Dateien werden automatisch gelöscht,
  625.     sobald sie nicht mehr gebraucht werden. Etwaige Änderungen werden
  626.     *nicht* an dem ZIP-Archiv durchgeführt. Wenn Sie also auf einer Diskette
  627.     aus einem Archiv etwas speichern und anschließend eine andere einlegen,
  628.     ist der neue Inhalt wieder weg. Wenn Sie Disketten in Archiven ändern
  629.     wollen, entpacken Sie diese vor dem Start von CPCEMU.
  630.  
  631.  
  632.     Wie Sie selber Disketten-Abbilder erzeugen, erfahren Sie im
  633.     Kapitel 5 (Datenübertragung CPC <-> PC).
  634.  
  635.  
  636.  
  637.  
  638.   3.2.2  Laden von und Speichern auf Kassette
  639.   -------------------------------------------
  640.  
  641.     Was ist überhaupt eine Kassette für CPCEMU?
  642.     Nun, Dateien auf Kassette sind irgendwelche Dateien in den normalen
  643.     DOS-Verzeichnissen. Nach dem Befehl '|TAPE' sprechen die BASIC-Befehle
  644.     zum Laden/Speichern die Kassette an. Aber nur diejenigen, die nicht mit
  645.     "|" beginnen. So können Sie also die im
  646.     vorherigen Abschnitt beschriebenen
  647.     Befehle CAT, RUN", LOAD", SAVE", MERGE" auf die Kassette anwenden.
  648.     Hier dürfen Sie sogar den Dateinamen weglassen, es erscheint dann das
  649.     Dateiauswahl-Menü, welches Sie schon aus dem letzten Abschnitt kennen.
  650.     Bei SAVE"" können Sie entweder eine bestehende Datei überschreiben oder
  651.     in der letzten Zeile bei "(new name)" einen neuen Namen eingeben.
  652.  
  653.     Natürlich können Sie auch hier Programme aus ZIP-Archiven laden,
  654.     das Speichern wird ignoriert.
  655.  
  656.     So eine schöne Kassette haben Sie nur mit dem Emulator.
  657.  
  658.  
  659.  
  660.   3.2.3  Laden und Speichern von Snapshots
  661.   ----------------------------------------
  662.  
  663.     Snapshots sind Schnappschüsse, in denen nicht nur der aktuelle
  664.     Speicherinhalt, sondern auch die internen Zustände der anderen
  665.     Hardwarebausteine festgehalten werden, z.B. von der CPU.
  666.     Zu jeder Zeit können Sie das laufende Programm als Snapshot abspeichern
  667.     und später wieder laden, um es an genau der Stelle fortzusetzen, wo es
  668.     abgebrochen wurde.
  669.     Mit F6 speichern Sie ein Snapshot. Sie legen dabei fest, ob
  670.     es ein 64K oder ein 128K Snapshot sein soll. 128K Snapshots sind
  671.     natürlich nur sinnvoll, wenn auch die zweite Speicherbank benutzt wird.
  672.     Setzen Sie in dem Fall "128K Snapshot = 1", wobei 1=Ja bedeutet.
  673.  
  674.     Die Dateiauswahl erfolgt wie schon bei Diskette beschrieben, mit den
  675.     zusätzlichen Kommentaren zur Kassette (3.2.1 und 3.2.2).
  676.  
  677.     Später können Sie ein Snapshot mit F5 wieder laden.
  678.  
  679.  
  680.  
  681.  
  682.  
  683. 4.  Ändern der Konfiguration
  684. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  685.  
  686. In diesem Kapitel erfahren Sie, wie Sie CPCEMU an Ihre Bedürfnisse anpassen
  687. können. Es werden sowohl das Setup-Menü als auch die Konfigurationsdatei
  688. und die Kommandozeilen-Parameter beschrieben.
  689.  
  690.  
  691.  
  692. 4.1  Das Setup-Menü
  693. ===================
  694.  
  695.   Dieses ist die einfachste Methode, Einstellungen von CPCEMU zu ändern.
  696.   Allerdings können Sie über dieses Menü bei weitem nicht alle Einstellungen
  697.   ändern. Wenn Sie z.B zusätzliche ROMs benutzen wollen, müssen Sie sich
  698.   mit der Konfigurationsdatei vertraut machen, die ich im Abschnitt 4.2
  699.   beschreibe.
  700.  
  701.   Wie bei der Beschreibung der Tastatur schon angedeutet, erreichen Sie das
  702.   Setup-Menü mit der Funktionstaste F7.
  703.   Es erscheint folgendes Menü:
  704.  
  705.        Menüpunkt:                Wert:  Deutsche Übersetzung:
  706.   -----------------------------------------------------------------------
  707.        Realtime                   0     (realtime-modus)
  708.        Sound                      1     (Soundausgabe)
  709.        Colour                     1     (Farbmonitor)
  710.        Screen offset (ymove)      1     (Bildschirmverschiebung)
  711.        Set VSYNC position         1     (Position des VSYNC)
  712.        Allow palette change       1     (Farbänderungen erlauben)
  713.        Multi Mode                 1     (Multi-Modus)
  714.        Interrupt Frequency        300   (Interrupt-Frequenz)
  715.        Don't forget INTs (CPM+ 0) 0     (keine Interrupts auslassen)
  716.        Delay                      0     (Verzögerung)
  717.        Soundblaster Delay         1     (Verzögerung für Soundblaster)
  718.        Keybrd Language (UK GR FR) 0     (Länderwahl für Tastatur)
  719.        Mouse                      1     (Maus benutzen)
  720.        Calibrate Joystick               (Joystick kalibrieren)
  721.        Poke Database                    (Poke-Datenbank für Spiele)
  722.        DOS Shell                        (DOS Shell)
  723.        Continue                         (Emulation fortsetzen)
  724.  
  725.  
  726.   Die Menüpunkte wählen Sie genauso an, wie schon bei 3.2.1 (Laden von
  727.   Diskette) beschrieben.
  728.  
  729.   - Realtime (realtime-Modus ein/aus)  (0)
  730.     Schaltet den Realtime-Modus an, bei dem der Emulator Warteschleifen
  731.     einlegt, um so schnell wie ein richtiger CPC zu sein.
  732.  
  733.   - Sound (Sound ein/aus)  (1)
  734.     Schaltet die Soundausgabe ein/aus, wobei 1=ein, 0=aus bedeutet.
  735.     Stattdessen können Sie auch die Funktionstaste F4 drücken.
  736.  
  737.   - Colour (Grün- oder Farbmonitor)  (1)
  738.     Wählt eine grüne oder eine bunte Farbdarstellung. Farbig = 1.
  739.  
  740.   - Screen Offset (Bildschirmverschiebung)  (0)
  741.     Gibt die Anzahl der Zeilen an, um die der Bildschirm verschoben werden
  742.     soll. Diese Option wird normalerweise nicht benötigt.
  743.     Den gleichen Effekt können Sie auch mit den Tasten <Bild hoch> und
  744.     <Bild runter> erreichen. Mögliche Werte reichen von 0=keine Verschiebung
  745.     bis etwa 25 Zeilen Verschiebung.
  746.  
  747.   - Set VSYNC position (Position des VSYNC setzen)  (5)
  748.     Diesen Wert brauchen Sie normalerweise nicht verändern, es kann aber
  749.     auch nichts Schlimmes passieren, wenn Sie es dennoch tun.
  750.     Bei einem Monitor erfolgt einmal pro Bildaufbau der vertikale
  751.     Strahlenrücklauf. Während dieser Zeit ist normalerweise ein bestimmtes
  752.     Bit gesetzt, das sogenannte VSYNC-Bit (vertical synchronisation).
  753.     Hiermit bestimmen Sie die Position, an der dieses Bit gesetzt
  754.     sein soll. Mögliche Werte sind 0 bis 5 .
  755.     Weitere Informationen finden Sie im Kapitel 7.
  756.  
  757.   - Allow palette change (Farbänderungen erlauben)  (1)
  758.     Falls Sie diese Option auf 0 setzen, werden Farben nicht mehr geändert.
  759.     Das ist sinnvoll, wenn Sie vor lauter Farbflimmern nichts mehr erkennen.
  760.     Bei einem Hardware-Reset durch die Funktionstaste F8 wird diese
  761.     Option automatisch wieder gesetzt.
  762.     Tip: Wenn Sie Farbänderungen verboten haben und völlig falsche Farben
  763.     dargestellt werden, drücken Sie einfach 2 mal F2.
  764.  
  765.   - Multi Mode  (0)
  766.     Falls Programme mehrere Bildschirmmodi gleichzeitig auf dem Bildschirm
  767.     verwenden, sollten Sie diese Option anschalten. Dann versucht CPCEMU,
  768.     Bildschirmmodus-Änderungen auch anzuzeigen.
  769.     Standardmäßig ist diese Option ausgeschaltet, da sie nicht immer richtig
  770.     funktioniert.
  771.  
  772.   - Interrupt Frequency (Interrupt-Frequenz)  (300)
  773.     Hiermit ändern Sie die Frequenz, mit der Interrupts
  774.     (Unterbrechnugen) generiert werden. Auf einem richtigen CPC sind das
  775.     immer 300 Hertz.  Wenn Sie diesen Wert erhöhen, laufen die meisten
  776.     Programme schneller ab, es bleibt aber weniger Rechenzeit zwischen den
  777.     Interrupts übrig. Falls Sie einen langsameren Rechner besitzen, ist es
  778.     bei manchen Programmen sinnvoll, diesen Wert zu verringern,
  779.     vielleicht auf 100 bis 200. Mögliche Werte sind 18 bis etwa 600.
  780.     Weitere Informationen finden Sie im Kapitel 7.
  781.  
  782.   - Don't forget ints (CPM+ 0) (Keine Interrupts auslassen)  (0 oder 1)
  783.     Noch so eine Option, die man nicht erklären kann, ohne weiter auszuholen.
  784.     Lassen Sie sie am besten so, wie sie ist.
  785.     Ohne EMS (Expanded Memory) ist sie auf 0, d.h. Interrupts können schon
  786.     mal vergessen werden. Das ist natürlich nicht wünschenswert,
  787.     aber bei 1 würde die Emulation zu langsam.
  788.     Mit EMS ist diese Option = 1, d.h. es wird versucht, keine Interrupts
  789.     auszulassen.
  790.     Wichtig:
  791.     CP/M Plus scheint nur mit EMS und trotzdem ausgeschalteter Option
  792.     zu laufen !
  793.     Weitere Informationen finden Sie im Kapitel 7.
  794.  
  795.   - Delay (Verzögerung)  (0)
  796.     Mit dieser Option bremsen Sie die Emulation ab, falls sie zu schnell
  797.     ist. 0 bedeutet keine Verzögerung, 100 ist eine geringe Verzögerung,
  798.     300 entsprechend mehr.
  799.  
  800.   - Soundblaster Delay (Verzögerung für Soundblaster)  (1)
  801.     Setzt eine Verzögerungszeit, die nach jedem Schreibzugriff auf
  802.     die Soundkarte gewartet wird. Bei geringeren Werten wird die
  803.     Soundausgabe beschleunigt. Falls Probleme mit Ihrer Soundkarte auftreten
  804.     sollten, setzen Sie diesen Wert auf etwa 35 .
  805.  
  806.   - Keyboard Language (Länderwahl für Tastatur)  (0)
  807.     Mit dieser Option wählen Sie eine andere Tastaturbelegung.
  808.     0 = UK, d.h. Normaleinstellung
  809.     1 = GR, also "deutschere" Tastatur. Es ist leider nicht möglich,
  810.         eine vollständig deutsche Tastenbelegung zu haben, da man Zeichen
  811.         mit SHIFT nicht in Zeichen ohne SHIFT umwandeln kann.
  812.         Auf jeden Fall sind aber 'Z' und 'Y' vertauscht, zusätzlich ein
  813.         paar sonstige Zeichen.
  814.     2 = FR, also "französischere" Tastatur. Nachdem ich eine "deutschere"
  815.         Tastenbelegung eingeführt hatte, wollten die Franzosen natürlich
  816.         auch eine eigene haben. Hier gibt es die gleichen Probleme wie
  817.         bei der deutschen.
  818.  
  819.   - Mouse (Maus)  (1)
  820.     Erlaubt die Benutzung einer Maus zur Menüauswahl
  821.  
  822.   - Calibrate Joystick (Joystick kalibrieren)
  823.     Sie kennen es sicher von anderen Programmen, daß Sie einen analogen
  824.     PC Joystick zuerst kalibrieren müssen. Wählen Sie diesen Menüpunkt mit
  825.     <RETURN>,  bewegen Sie dann den Joystick erst nach links oben, dann nach
  826.     rechts unten.
  827.     Es werden einige Parameter angezeigt. Falls Sie den Joystick immer
  828.     betriebsbereit haben wollen, übernehmen Sie diese Parameter in die
  829.     sogenannte Konfigurationsdatei (siehe nächster Abschnitt).
  830.     Sie müssen die Kalibrierung allerdings wiederholen, wenn Sie z.B.
  831.     die Taktfrequenz ändern.
  832.  
  833.   - Poke Database (Poke-Datenbank)
  834.     Falls Sie gerade ein Spiel spielen und nicht weiterkommen, wählen
  835.     Sie diesen Menüpunkt. Falls das Spiel sich in der Übersicht befindet,
  836.     wählen Sie es aus und Sie bekommen eine Erleichterung, zum Beispiel
  837.     unendliche Leben.
  838.     Sie können die Liste (CPCEMU.DBF) auch um eigene Pokes erweitern.
  839.     Der Aufbau der Datei steht in Kapitel 7.
  840.  
  841.   - DOS Shell
  842.     Öffnet eine DOS-Shell, die Sie durch Eingabe von 'EXIT' wieder
  843.     verlassen können.
  844.  
  845.   - Continue (fortsetzen)
  846.     Hiermit werden die geänderten Werte übernommen und die Emulation wird
  847.     fortgesetzt. Den gleichen Effekt bekommen Sie auch, wenn Sie auf
  848.     einem beliebigen Menüpunkt <RETURN> drücken (außer bei Joystick
  849.     kalibrieren).
  850.  
  851.  
  852.  
  853.  
  854.  
  855. 4.2  Konfigurationsdatei
  856. ========================
  857.  
  858.   Kommen wir zu der wichtigsten Methode, CPCEMU zu konfigurieren.
  859.   Beim Start liest CPCEMU standardmäßig die Konfigurationsdatei CPCEMU.CFG.
  860.   Der Aufbau dieser Datei soll jetzt beschrieben werden, so daß Sie selber
  861.   leicht z.B. eigene ROMs einbinden können, die Tastatur dauerhaft
  862.   umstellen, ...
  863.  
  864.   Werfen wir einmal einen Blick in die CPCEMU.CFG Datei:
  865.  
  866.     ;CPCEMU.CFG - The Configuration File for CPCEMU
  867.     ;...
  868.     ;
  869.     ;configuration for CPC 464, 664 and 6128
  870.     ;
  871.     SHOW_CONFIG=YES          ;should the configuration be displayed?
  872.     ROM_PATH = .\ROM         ;path to ROM images
  873.     PIO_PORT_B = %00111110   ;use %00111010 for "Schneider"
  874.  
  875.  
  876.   Schon an diesen paar Zeilen läßt sich der einfache Aufbau erkennen:
  877.   Kommentare beginnen mit einem Semikolon (";").
  878.   Optionen werden geändert, indem ein Schlüsselwort (hier
  879.   SHOW_CONFIG, ROM_PATH und PIO_PORT_B) gefolgt von "=" gefolgt von einem
  880.   <Wert> stehen. <Wert> kann je nach Schlüsselwort eine Zeichenkette
  881.   oder auch ein numerischer Wert sein. Numerische Werte können nicht nur
  882.   in dezimaler Form, sondern auch in hexadezimaler ("0x") oder binärer ("%")
  883.   Zahlendarstellung angegeben werden. Anstatt %00111110 können Sie also
  884.   auch 62 oder 0x3e schreiben.
  885.  
  886.   Sie brauchen also nur die Bedeutung der Schlüsselwörter zu kennen, um
  887.   die Optionen leicht mit einem Texteditor an Ihre Bedürfnisse anzupassen.
  888.  
  889.   Zuerst einmal alle Schlüsselwörter alphabetisch sortiert:
  890.     #ENDIF, #IFCPC, AMSDOS_DI, AMSDOS_SPDUP, BREAK_MASK, COLOUR, DELAY,
  891.     DRIVE_A, DRIVE_B, EMS_EI, INT_FREQ, INT_RESUME, JOY_CALIBRATE,
  892.     KBD_LANGUAGE, MOUSE, MULTIMODE, PIO_PORT_B, PRINTER, RAM_SIZE,
  893.     REALTIME, ROM_BLOCK, ROM_PATH, SBLASTER, SB_DELAY, SHOW_CONFIG,
  894.     SNAPSHOT, SOUND, TAPE_BYPASS, TAPE_PATH, TMP_PATH
  895.  
  896.  
  897.   Es folgt die Bedeutung der Schlüsselwörter:
  898.   (Die Werte in Klammern sind Standardwerte, wenn das Schlüsselwort nicht
  899.   in der Konfigurationsdatei vorkommt.)
  900.  
  901.   - #ENDIF, #IFCPC
  902.     Diese Steuerbefehle ermöglichen eine bedingte Konfiguration je nach
  903.     gewünschtem CPC:
  904.       #IFCPC 464  ... #ENDIF
  905.       #IFCPC 664  ... #ENDIF
  906.       #IFCPC 6128 ... #ENDIF (Standard)
  907.     Somit kommen Sie mit einer Konfigurationsdatei für alle CPCs aus.
  908.     In den Batch-Dateien CPC464.BAT, CPC664.BAT, CPC6128.BAT wird der
  909.     gewünschte CPC durch Kommandozeilen-Parameter gewählt. Diese werden im
  910.     nächsten Abschnitt beschrieben.
  911.  
  912.   - AMSDOS_DI = {YES,NO}               (NO)      (AMSDOS disable)
  913.     Verbietet die Initialisierung des AMSDOS. Das ist sinnvoll, wenn Sie
  914.     viele Programme von Kassette laden möchten, ohne vorher immer den
  915.     Befehl '|TAPE' eingeben zu müssen.
  916.     Natürlich könnten Sie auch einfach die entsprechende ROM_BLOCK-Zeile
  917.     mit dem AMSDOS-ROM kommentieren (mit ROM_BLOCK legen Sie die zu
  918.     ladenden ROMs fest), dann wäre aber gar kein AMSDOS ROM mehr vorhanden.
  919.     So bleibt es für bestimmte Befehle noch erreichbar.
  920.  
  921.   - AMSDOS_SPDUP = {YES,NO}            (YES)     (AMSDOS Speedup)
  922.     Erlaubt eine AMSDOS-ROM-Modifikation, bei der Diskettenzugriffe
  923.     beschleunigt werden. Dies wird durch Minimieren der Motor-Wartezeiten
  924.     erreicht, die für den Emulator natürlich unnötig sind.
  925.  
  926.   - BREAK_MASK = <Zahl>                (0xffff)
  927.     Nur für Debugging-Zwecke. Durch die Maske in der Konfigurationsdatei
  928.     (0xfffb) werden Fehlermeldungen bei unzulässigen Befehlen unterdrückt.
  929.     Ändern Sie diesen Wert möglichst nicht !
  930.  
  931.   - COLOUR = {YES,NO}                  (YES)
  932.     Erlaubt die Benutzung einer farbigen Palette. Anstatt eines Grünmonitors
  933.     haben Sie dann einen Farbmonitor.
  934.     Diese Option kann auch im Setup-Menü geändert werden.
  935.  
  936.   - DELAY = <Zahl>                     (0)
  937.     Entspricht der gleichen Einstellung im Setup-Menü. Mit dieser Option
  938.     bremsen Sie die Emulation ab. 0=keine Verlangsamung, 100=ein wenig
  939.     langsamer.
  940.  
  941.   - DRIVE_A = <Pfad+Dateiname>         ()
  942.     Setzt den Pfad, wo sich die Disketten-Abbilder befinden.
  943.     Geben Sie als Pfad einen Dateinamen an, wird diese "Diskette" beim
  944.     Start des Emulators automatisch in Laufwerk A "gelegt".
  945.     Im Abschnitt 3.2.1 habe ich das Laden von und Speichern auf Diskette
  946.     beschrieben.
  947.  
  948.   - DRIVE_B = <Pfad+Dateiname>         ()
  949.     Ist das gleiche wie DRIVE_A, nur für Laufwerk B.
  950.  
  951.   - EMS_EI = {YES,NO}                  (YES)     (EMS enable)
  952.     Erlaubt der Benutzung von EMS-Speicher (Expanded Memory System).
  953.     Falls kein EMS-Speicher vorhanden ist oder zu wenig zur Verfügung steht,
  954.     wird automatisch konventioneller Speicher benutzt.
  955.     Weitere Informationen zur EMS-Speichernutzung finden Sie in 2.3.1 und
  956.     im Kapitel 7.
  957.  
  958.   - INT_FREQ = <Zahl>                  (300)     (Interrupt Frequency)
  959.     Hiermit ändern Sie die Frequenz, mit der Interrupts (Unterbrechnugen)
  960.     generiert werden. Diese Option können Sie auch im Setup-Menü ändern
  961.     (siehe Abschnitt 4.1).
  962.  
  963.   - INT_RESUME = {YES,NO}              (YES)     (Interrupt resume)
  964.     Entspricht der Option "Don't forget INTs (CPM+ 0)" im Setup-Menü.
  965.     Bitte lesen Sie es dort nach.
  966.  
  967.   - JOY_CALIBRATE = <xcen> <ycen> <xdead> <ydead>       ( 0 0 0 0 )
  968.     Hier geben Sie eine Joystick-Kalibrierung für Ihren Analog-Joystick an.
  969.     Benutzen Sie die Werte, die nach der Joystick-Kalibrierung
  970.     im Setup-Menü angezeigt werden (siehe Abschnitt 4.1).
  971.     Dies ist ein Schlüsselwort, dem 4 Werte zugewiesen werden, diese
  972.     müssen Sie auch immer angeben. Vier Nullen bedeutet nicht kalibriert.
  973.  
  974.   - KBD_LANGUAGE = {UK, GR, FR}        (UK)      (Keyboard Language)
  975.     Hier legen Sie hier dauerhaft fest, was für eine Tastenbelegung Sie
  976.     haben wollen. Wie schon im Setup-Menü gibt es UK (England, entspricht 0),
  977.     GR (Deutschland, entspricht 1) und FR (Frankreich, entspricht 2).
  978.  
  979.   - MOUSE = {YES, NO}                   (YES)
  980.     Erlaubt die Mausbenutzung in den verschiedenen Menüs.
  981.     Für den CPC kann die Maus noch nicht benutzt werden.
  982.  
  983.   - MULTIMODE = {YES, NO}               (NO)
  984.     Hier erlauben Sie die Benutzung sogenannter Multi-Modes.
  985.     Auch diese Option können Sie während des Programmablaufs im Setup-Menü
  986.     ändern.
  987.  
  988.   - PIO_PORT_B = <Zahl>                (%00111110)
  989.     Durch ein paar Lötbrücken kann man aus einem Amstrad-CPC einen
  990.     Schneider-CPC und noch viele andere machen. Außerdem wurde eine
  991.     Bildwiederholfrequenz von 50 oder 60 Hertz festgelegt (im Emulator
  992.     immer 70 Hertz).
  993.     Um einen Schneider-CPC zu haben, setzen Sie einfach den Wert
  994.     %00111010 (oder 0x3A) ein.
  995.     Der Firmenname ist in den Bits b3,b2,b1 verschlüsselt:
  996.         Isp (000), Triumph(001), Saisho(010), Solavox(011),
  997.         Awa(100), Schneider(101), Orion(110), Amstrad(111)
  998.  
  999.   - PRINTER = <Pfad+Dateiname>         ()
  1000.     Hier legen Sie eine Drucker-Datei fest, in die
  1001.     Druckerausgaben umgeleitet werden. Beim jedem Start des Emulators wird sie
  1002.     gelöscht. Nachdem Sie den Emulator verlassen haben, schicken Sie diese
  1003.     Datei mit 'COPY <Dateiname> prn:' zu Ihrem Drucker.
  1004.  
  1005.   - RAM_SIZE = <Wert>                  (128)
  1006.     Ändert die Größe des RAM in KB.
  1007.     Mögliche Werte sind  64, 128, 192, 256, 320, 384, 448, 512, 576.
  1008.     Höhere Werte als 128 sind nur möglich, wenn Sie EMS Speicher haben.
  1009.  
  1010.   - REALTIME = {YES, NO}                (NO)
  1011.     Umschalten zwischen Realtime-CPC und schnellstem CPC. Im Realtime-Modus
  1012.     zählt der Emulator die Taktzyklen der einzelnen Befehle und fügt
  1013.     Warteschleifen ein, falls die Emulation zu schnell ist.
  1014.  
  1015.   - ROM_BLOCK = <ROM-Nummer>  <Dateiname>  <Offset>
  1016.     Beschreibt, was für ein ROM geladen werden soll.
  1017.     Sie müssen diese Zeile für jedes zu ladende ROM wiederholen.
  1018.     Jedes ROM besitzt dabei eine Größe von 0x4000 Bytes.
  1019.     Die maximale Anzahl der ROMs ist etwa 20, wenn Sie EMS-Speicher haben.
  1020.     - <ROM-Nummer> ist die Nummer die das ROM bekommen soll,
  1021.       d.h., mit der es durch 'OUT &DF00,num' ausgewählt wird.
  1022.       0         = Vordergrund-ROM (z.B. BASIC)
  1023.       1 - 251   = Hintergrund-ROMs. Auf einem CPC 664/6128 werden
  1024.                   die ROMs 1-15 bei einem Reset automatisch
  1025.                   initialisiert (bei einem CPC 464 nur 1-7).
  1026.                   Das AMSDOS ROM hat immer die Nummer 7.
  1027.       255       = Lower-ROM (z.B. OS, hat nur im Emulator diese
  1028.                   Nummer.)
  1029.     - <Dateiname> ist die Datei, in der sich das ROM-Abbild im
  1030.       Verzeichnis ROM_PATH befindet.
  1031.     - <Offset> ist eine Anzahl von Bytes, die in der Datei vor
  1032.       dem gewünschten ROM stehen. Ein AMSDOS-Header wird dabei
  1033.       automatisch überlesen, bleibt also unberücksichtigt.
  1034.       Mit Angabe dieses Offsets ist es möglich, mehrere ROMs
  1035.       in einer Datei zu haben. Bei den Einträgen
  1036.           ROM_BLOCK =   255     CPC6128.ROM     0x0000
  1037.           ROM_BLOCK =   0       CPC6128.ROM     0x4000
  1038.       befinden sich also Lower-ROM und Vordergrund-ROM direkt
  1039.       nacheinander in derselben Datei.
  1040.  
  1041.     Vielleicht ist Ihnen eine Besonderheit an diesem Schlüsselwort
  1042.     aufgefallen, dem immer drei Werte zugewiesen werden.
  1043.     Deshalb dürfen Sie keine Werte weglassen, auch wenn sie null sind.
  1044.     Auch ein Offset vom 0x0000 ist also immer mit anzugeben.
  1045.  
  1046.   - ROM_PATH = <Pfadname>              (.\)
  1047.     Setzt den Pfad, wo sich die ROM-Abbilder befinden, aus denen CPCEMU
  1048.     beim Start die ROMs liest. Die Konfigurationsdatei setzt das
  1049.     Verzeichnis .\ROM .
  1050.     Die ROMs selber werden mit dem Schlüsselwort ROM_BLOCK festgelegt.
  1051.  
  1052.   - SBLASTER = {YES,NO}                (YES)     (Soundblaster)
  1053.     Erlaubt die Benutzung einer Soundblaster-Karte zur Soundausgabe.
  1054.     Falls Sie keine haben, wird automatisch der PC-Lautsprecher benutzt.
  1055.     Wichtig:
  1056.     Damit CPCEMU die Soundkarte findet, müssen Sie die
  1057.     BLASTER-Umgebungsvariable setzen. Sehen Sie in 2.3.2 nach, falls Sie
  1058.     wissen wollen, wie das geht.
  1059.  
  1060.   - SB_DELAY = <Zahl>                  (35)      (Soundblaster Delay)
  1061.     Setzt eine Verzögerungszeit, die nach jedem Schreibzugriff auf
  1062.     die Soundkarte gewartet wird. Durch die Konfigurationsdatei wird
  1063.     dieser Wert auf 1 gesetzt, um Soundausgaben zu beschleunigen.
  1064.     Falls Probleme mit Ihrer Soundkarte auftreten sollten, setzen Sie
  1065.     diesen Wert auf etwa 35 .
  1066.     Auch diese Option können Sie während des Programmablaufs im Setup-Menü
  1067.     ändern.
  1068.  
  1069.   - SHOW_CONFIG = {YES,NO}             (YES)     (Show Configuration)
  1070.     Erlaubt das Anzeigen der Konfigurations-Übersicht beim Start des
  1071.     Emulators.
  1072.  
  1073.   - SNAPSHOT = <Pfad+Dateiname>        ()
  1074.     Setzt den Pfad, wo sich die Snapshots befinden.
  1075.     Geben Sie als Pfad einen Dateinamen an, wird dieser Snapshot automatisch
  1076.     gestartet.
  1077.     Im Abschnitt 3.2.3 habe ich das Laden und Speichern von Snapshots
  1078.     beschrieben.
  1079.  
  1080.   - SOUND = {YES,NO}                   (YES)
  1081.     Erlaubt die Soundausgabe. Sie können die Soundausgabe dann jederzeit mit
  1082.     der Funktionstaste F4 oder vom Setup-Menü aus verhindern.
  1083.     Sound wird entweder über eine Soundblaster-Karte oder den internen
  1084.     PC-Lautsprecher ausgegeben.
  1085.  
  1086.   - TAPE_BYPASS = {YES,NO}             (YES)
  1087.     Falls Sie die "Kassette" verwenden möchten, muß diese Option auf
  1088.     "YES" stehen.
  1089.     Weitere Informationen zum TAPE-Bypass finden Sie im Kapitel 7.
  1090.  
  1091.   - TAPE_PATH = <Pfadname>             (.\)
  1092.     Setzt den Pfad, wo sich die "Kassetten"-Dateien befinden. Die
  1093.     Konfigurationsdatei setzt das Verzeichnis ".\TAPE".
  1094.     Im Abschnitt 3.2.2 habe ich das Laden von und Speichern auf Kassette
  1095.     beschrieben.
  1096.  
  1097.   - TMP_PATH = <Pfadname>              (.\)      (Temp Path)
  1098.     Setzt den Pfad, in dem CPCEMU temporäre Dateien erzeugt. Dieser wird
  1099.     nur benötigt, wenn Sie aus einem ZIP-Archiv Dateien auswählen und
  1100.     CPCEMU diese mit PKUNZIP entpackt.
  1101.  
  1102.  
  1103.  
  1104.  
  1105. 4.3  Kommandozeilen-Parameter
  1106. =============================
  1107.  
  1108.   Wie bei vielen anderen Programmen üblich, können Sie auch bei CPCEMU
  1109.   Kommandozeilen-Parameter angeben. Zur Zeit sind jedoch nur einige wenige
  1110.   möglich.
  1111.  
  1112.   Rufen Sie CPCxxx.BAT einfach mit den folgenden Optionen auf:
  1113.        /f : startet die schnelle Emulation (Standardeinstellung)
  1114.        /s : startet eine langsame Emulation, die Sie normalerweise nicht
  1115.             benötigen.
  1116.        /d : startet den Debug-Modus, sehen Sie im Kapitel 7 nach.
  1117.        /x : verbietet EMS Benutzung
  1118.        /c <Datei> : gibt eine andere Konfigurationsdatei an, falls nicht
  1119.             die Standard-Datei CPCEMU.CFG benutzt werden soll.
  1120.             Siehe vorherigen Abschnitt.
  1121.        /v <CPC> : definiert den gewünschten CPC 464, 664 oder 6128
  1122.                   durch  /v 464, /v 664 bzw. /v 6128.
  1123.  
  1124.        /h : zeigt einen Hilfsbildschirm an
  1125.  
  1126.   Wenn Sie eine unbekannte Option angeben, wird automatisch "/d" verwendet.
  1127.   Anstatt dem "/" können Sie auch das UNIX-übliche "-" verwenden.
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134. 5.  Datenübertragung CPC <-> PC
  1135. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  1136.  
  1137. Was nützt Ihnen der schönste Emulator, wenn Sie keine Programme dafür
  1138. haben oder keine Möglichkeit sehen, die Programme von Ihrem CPC zum
  1139. PC zu bekommen?
  1140. Im Kapitel 6 (Bezugsquellen) sind auch einige Quellen aufgeführt, wo
  1141. Sie CPC-Software bekommen können.
  1142. In diesem Kapitel soll es darum gehen, wie Sie eigene CPC-Software auf
  1143. den PC transferieren.
  1144. Für die verschiedenen Möglichkeiten (Diskette, über parallele oder
  1145. serielle Schnittstelle) werden auch Hilfsprogramme vorgestellt.
  1146.  
  1147.  
  1148.  
  1149. 5.1  Diskette als Medium
  1150. ========================
  1151.  
  1152.   Dies ist meistens die einfachste und schnellste Möglichkeit, die
  1153.   CPC-Software auf den PC zu bekommen.
  1154.   Sie brauchen dazu nur einen CPC mit Zweitlaufwerk in richtiger Größe.
  1155.   Richtige Größe bedeutet dabei, daß die Disketten von der Größe her
  1156.   in Ihr PC-Laufwerk passen müssen. Ansonsten könnten Sie versuchen,
  1157.   ein 3" Laufwerk an den PC anzuschließen.
  1158.   Der PC wird dann mit einem Zusatzprogramm überredet, die
  1159.   CPC-Diskettenformate zu lesen.
  1160.   Dieses Zusatzprogramm heißt CPCTRANS.
  1161.  
  1162.  
  1163.   5.1.1  Das Diskettentransferprogramm CPCTRANS
  1164.   ---------------------------------------------
  1165.  
  1166.     Ich habe CPCTRANS geschrieben, um Disketten-Abbilder aus
  1167.     CPC-Disketten zu erstellen. Es werden sowohl die normalen CPC-Formate
  1168.     als auch das doppelseitige VORTEX-Format gelesen.
  1169.     CPCTRANS ist nicht dafür gedacht, kopiergeschützte Formate zu übertragen!
  1170.     Wenn Sie CPCTRANS ohne Parameter aufrufen, erhalten Sie eine kurze
  1171.     Übersicht.
  1172.     Rufen Sie CPCTRANS ähnlich wie den DOS COPY-Befehl auf:
  1173.     'CPCTRANS <Quelle> <Ziel> <Optionen>'.
  1174.     Beispiele:
  1175.     'CPCTRANS B: DISK1.DSK' kopiert die Diskette im Laufwerk B in
  1176.     das Disketten-Abbild DISK1.DSK. Falls diese nicht existiert,
  1177.     wird sie neu erzeugt.
  1178.     'CPCTRANS DISK1.DSK B:' kopiert das Disketten-Abbild zurück
  1179.     auf die Diskette im Laufwerk B.
  1180.  
  1181.     Der erste Befehl funktioniert nur für das DATA-Format.
  1182.     Für andere Formate müssen Sie eine Option angeben:
  1183.       /f 0    : DATA-Format (Standard)
  1184.       /f 1    : DATA-Format, doppelseitig
  1185.       /f 2    : SYSTEM-Format
  1186.       /f 3    : SYSTEM-Format, doppelseitig
  1187.       /f 4    : VORTEX-Format, doppelseitig
  1188.       /f 5    : unbekannt, CPCTRANS versucht es selber zu erkennen.
  1189.       /f 6    : +3DOS
  1190.     Beachten Sie das Leerzeichen zwischen "/f" und der Zahl.
  1191.     Beim doppelseitigen DATA- und SYSTEM-Format wählen Sie die Seite A oder B
  1192.     im Disketten-Menü (3.2.1).
  1193.  
  1194.     Beim Zurückschreiben eines Disketten-Abbildes muß die Diskette
  1195.     schon mit dem richtigen Format formatiert sein! Dazu können Sie
  1196.     22DISK benutzen, was im nächsten Abschnitt beschrieben wird.
  1197.  
  1198.     Wollen Sie die B-Seite einer Diskette kopieren, wählen Sie Seite B
  1199.     durch die Option "/s 1".
  1200.     Durch 'CPCTRANS B: DISK1.DSK /s 1' wird also nur die B-Seite der
  1201.     Diskette kopiert, mit 'CPCTRANS DISK1.DSK B: /s 1' wird sie wieder
  1202.     zurückgeschrieben.
  1203.  
  1204.     Durch die Option '/v' schalten Sie "verify" ein, d.h. es wird
  1205.     überprüft, ob die Daten korrekt kopiert wurden. Das ist zwar ein
  1206.     bißchen langsamer, erhöht aber die Sicherheit.
  1207.  
  1208.     Mit der Option '/t <Anzahl>' geben Sie an, wieviele Spuren (tracks)
  1209.     kopiert werden sollen. Normalerweise werden immer 40 Spuren kopiert,
  1210.     nur beim VORTEX-Format sind es 80.
  1211.  
  1212.     Eine Besonderheit ist die Option '/q' (Quick-Format). Hiermit
  1213.     formatieren Sie ein Disketten-Abbild, anstatt den Inhalt
  1214.     einer Diskette hineinzukopieren.
  1215.     Trotzdem müssen Sie als ersten Parameter ein gültiges Laufwerk angeben,
  1216.     auch wenn es nicht benutzt wird.
  1217.     Beispiel:
  1218.     'CPCTRANS a: SYSTEM.DSK /f 2 /q' formatiert SYSTEM.DSK als
  1219.     SYSTEM-Format-Diskette.
  1220.  
  1221.  
  1222.  
  1223.   5.1.2  Das Formatier- und Kopierprogramm 22DISK von SYDEX
  1224.   ---------------------------------------------------------
  1225.  
  1226.     Dieses Programm ist als Shareware erhältlich. Durch geeignete
  1227.     Definitionen können Sie sämtliche CP/M-Formate benutzen!
  1228.     Leider sind gerade die CPC-Formate in der Prüfversion von 22DISK nicht
  1229.     enthalten. Deshalb habe ich diese Formate in der Datei CPMDISKS.DEF
  1230.     definiert. Sie befindet sich auch im UTILITY-Verzeichnis.
  1231.     Was können Sie mit 22DISK machen?
  1232.     Sie können einzelne Dateien zwischen DOS und den Fremdformaten hin- und
  1233.     herkopieren, Disketten formatieren und so weiter.
  1234.     Kopieren Sie die CPC-Dateien einfach in das TAPE-Verzeichnis, und
  1235.     lesen Sie im Abschnitt 3.2.2 nach, wie Sie Programme von Kassette laden.
  1236.  
  1237.  
  1238.  
  1239. 5.2  Parallele Schnittstelle
  1240. ============================
  1241.  
  1242.   Falls Sie noch einen CPC ohne Zweitlaufwerk besitzen, haben Sie die
  1243.   Möglichkeit, den Datentransfer über die parallele Schnittstelle zu
  1244.   tätigen.
  1245.   Ursprünglich hatte Gilles Molinari diese Idee und auch Turbo-Pascal
  1246.   Programme dazu geschrieben. Nur gehören Sie vielleicht zu den Benutzern,
  1247.   die keinen Turbo-Pascal Compiler auf den CPC haben, somit könnten Sie
  1248.   damit nicht viel anfangen. Ich habe sie deshalb in Locomotive-BASIC
  1249.   umgeschrieben und durch die zusätzliche Richtung PC->CPC ergänzt.
  1250.   Es ist also möglich, Programme vom CPC zum PC und umgekehrt zu übertragen!
  1251.   CPC und PC werden dabei an den Druckerschnittstellen gekoppelt.
  1252.   Wenn Sie einen CPC 6128 haben und sich die Anschlüsse mal genauer ansehen,
  1253.   werden Sie feststellen, daß Sie mit einem parallelen PC-Druckerkabel die
  1254.   beiden Computer hervorragend verbinden können!  Doch tun Sie es noch nicht,
  1255.   lesen Sie erst weiter.
  1256.   Wenn Sie einen Amstrad CPC 6128 ohne Centronics-Buchse oder einen
  1257.   CPC 464/664 haben, benutzen Sie das Diagramm am Ende des Abschnitts.
  1258.  
  1259.   Zwei kleine Hürden müssen Sie überwinden:
  1260.   1. Einen kleinen Adapter bauen
  1261.   2. Ein kurzes Programm in den CPC eintippen
  1262.  
  1263.   Warten Sie!   Blättern Sie nicht gleich weiter!
  1264.  
  1265.   Beide Schritte sind ganz einfach, denn
  1266.   1. geht auch OHNE LÖTEN    und
  1267.   2. ist wirklich ziemlich kurz (etwa 30 Zeilen BASIC)
  1268.  
  1269.   Zu 2.
  1270.   Das Programm, was Sie brauchen, heißt CPCREC.BAS und befindet sich im
  1271.   UTILITY-Verzeichnis. Es ist in ASCII-Form abgespeichert, so daß Sie
  1272.   es problemlos ausdrucken und in Ihren CPC eintippen können.
  1273.   Es erfüllt in etwa die Aufgabe eines dünnen Seiles, das Sie durch ein
  1274.   Rohr schicken, um ein dickes Tau nachziehen zu können.
  1275.   Das dünne Seil ist hier CPCREC.BAS und empfängt (receive) Programme
  1276.   vom PC. Mit diesem "Progrämmchen" holen Sie das Programm CPCPARA.BAS
  1277.   (das dicke Tau) auf Ihren CPC. Damit können Sie sowohl Programme
  1278.   empfangen als auch senden. CPCREC.BAS brauchen Sie dann nicht mehr.
  1279.   Auf der PC-Seite haben Sie die ganze Zeit PCPARA.EXE.
  1280.   Natürlich sind auch diese beiden Programme im UTILITY-Verzeichnis.
  1281.  
  1282.  
  1283.   Doch bevor Sie CPCREC.BAS eintippen, kommen wir zu 1.
  1284.  
  1285.  
  1286.   Der parallele Adapter
  1287.   ---------------------
  1288.  
  1289.   Sie brauchen also einen Adapter zwischen dem PC-Druckerkabel und dem
  1290.   PC-Druckeranschluß.
  1291.   Am einfachsten geht das mit einer RS-232 Wiring-Box, die einen 25pin
  1292.   D-Sub Stecker und eine 25pin D-Sub Buchse hat. Durch Stecken von
  1293.   kurzen Drahtbrücken realisieren Sie damit beliebige Verbindungen zwischen
  1294.   den beiden Seiten. Normalerweise wird so eine Box - wie ihr Name
  1295.   schon sagt - zur Anpassung von RS-232 Schnittstellen benutzt. Serielle
  1296.   Verbindungen scheinen nämlich nie auf Anhieb zu funktionieren.
  1297.   Bei unserem Adapter benutzen Sie die Box einfach "andersherum", d.h.
  1298.   der Stecker kommt an den PC, in die Buchse kommt dann das PC-Druckerkabel.
  1299.  
  1300.   Stecken wir die Box eben zusammen:
  1301.  
  1302.         Stecker für den PC-                Buchse für das Drucker-
  1303.         Druckeranschluß (links):           kabel (rechts):
  1304.  
  1305.                Pin 2     ---------------       Pin 11
  1306.                Pin 10    ---------------       Pin 8
  1307.                Pin 11    ---------------       Pin 1
  1308.                Pin 12    ---------------       Pin 7
  1309.                Pin 13    ---------------       Pin 6
  1310.                Pin 15    ---------------       Pin 5
  1311.                Pin 19    ---------------       Pin 19
  1312.  
  1313.  
  1314.   Wie Sie sehen, brauchen Sie nicht alle 25 Drahtbrücken sondern nur 7.
  1315.   Meine Wiring-Box habe ich bei einem Elektronik-Versand für 13 DM bekommen.
  1316.  
  1317.   Sie können es natürlich auch günstiger haben, indem Sie eine sogenannte
  1318.   Jumper-Box verwenden, bei der Sie die Drahtbrücken festlöten müssen.
  1319.   Diese sollte etwa 7 DM kosten.
  1320.   Noch günstiger sind Stecker, Buchse, Adapter-Gehäuse und ein paar Drähte.
  1321.   Das hat mich etwa 3 DM gekostet.
  1322.  
  1323.  
  1324.   Sie haben jetzt mit dem Adapter die beiden Computer verbunden und das
  1325.   "Progrämmchen" CPCREC.BAS in den CPC eingetippt.
  1326.   Wie geht es nun weiter?
  1327.  
  1328.   1. Auf dem CPC:  CPCREC.BAS starten (nachdem Sie es abgespeichert haben)
  1329.   2. Auf dem PC :  'PCPARA /s CPCPARA.BAS' starten.
  1330.  
  1331.   Jetzt wird es kritisch, denn wenn auf dem PC keine Fehler gemeldet werden,
  1332.   ist alles gut verlaufen, das Programm ist auf dem CPC.
  1333.   Falls der PC überhaupt nichts sendet und nur eine Fehlermeldung ausgibt,
  1334.   ist die Verbindung wahrscheinlich nicht in Ordnung.
  1335.   Falls er etwas sendet ("Sending block xx"), aber zwischendurch Fehler
  1336.   auftreten, ist Ihr PC vielleicht zu schnell oder zu langsam. Die Richtung
  1337.   PC->CPC ist nämlich ziemlich zeitkritisch.
  1338.   Auf meinem 386/33 darf ich kein EMS installiert haben, sonst ist es zu
  1339.   langsam. Auf einem besonders schnellen Computer könnte es aber nötig
  1340.   Sein, die Taktfrequenz herunterzuschalten. Benutzen Sie es unter DOS,
  1341.   nicht unter OS/2 oder Windows.
  1342.  
  1343.   Wenn es überhaupt nicht klappen sollte, benachrichtigen Sie mich.
  1344.   In der Zwischenzeit könnten Sie das etwas längere CPCPARA.BAS eintippen,
  1345.   die Richtung CPC->PC funktioniert nämlich immer, auch unter OS/2, da das
  1346.   nicht viel anders ist als ausdrucken. Der PC spielt dabei den Drucker.
  1347.  
  1348.   Ich nehme an, daß Sie jetzt CPCPARA.BAS auf Ihrem CPC haben.
  1349.   Übertragen Sie Dateien vom CPC zum PC folgendermaßen:
  1350.   1. Auf dem PC:  'PCPARA /r'  eingeben.
  1351.   2. Auf dem CPC: CPCPARA starten, Menüpunkt S)end wählen, und nacheinander
  1352.      die zu übertragenden Dateien eingeben. (Rufen Sie 'PCPARA /r' für jede
  1353.      zu übertragende Datei erneut auf, CPCPARA hingegen läuft in einer
  1354.      Endlosschleife.)
  1355.  
  1356.  
  1357.   Sie benutzen also PCPARA folgendermaßen:
  1358.   - PCPARA /r : startet PCPARA im Empfangsmodus
  1359.   - PCPARA /s <Datei> : sendet die <Datei> zum CPC, falls Sie als
  1360.     Datei 'TRM:' angeben, bekommen Sie ein Terminal.
  1361.  
  1362.   Bei den meisten Programmen im UTILITY-Verzeichnis bekommen Sie übrigens
  1363.   eine Übersicht über die Optionen, wenn Sie nur den Dateinamen eingeben.
  1364.  
  1365.  
  1366.   WARNUNG:
  1367.   Auch wenn der Aufbau ganz simpel ist, kann ich doch nicht
  1368.   garantieren, daß Sie dabei nicht irgend etwas kaputtmachen. Wenn z.B.
  1369.   nachher Ihr CPC-Druckerport defekt ist, dann ist das schade und wohl
  1370.   eher ein dummer Zufall. Wahrscheinlich wäre er auch dann kaputtgegangen,
  1371.   wenn Sie nur Ihren Drucker angeschlossen hätten.
  1372.   Ich kenne z.B. einen ehemaligen CPC-Benutzer, dessen Tastatur mal nicht
  1373.   mehr funktionierte. Nach der Reperatur sagte man ihm, er dürfe den
  1374.   Joystick auch nicht bei angeschaltetem Computer einstöpseln!
  1375.   (Also ich mache das immer ?!?)
  1376.   Also:
  1377.   Der Adapter wurde nicht nur von mir schon mehrfach erfolgreich nachgebaut.
  1378.   Und auch Benutzer, die "mal vergessen" haben, den Adapter zwischen der
  1379.   Verbindung anzubringen, berichten von keinen Problemen.
  1380.  
  1381.  
  1382.  
  1383.   Diagramme von David Chapeau, falls Ihr CPC keinen Centronics-Anschuß hat:
  1384.  
  1385.    34 <- - - - - - - - 18      \
  1386.    ______________________      |
  1387.   |   ________________   |     |
  1388.   |  |________________|  |   - | ---> Buchse für CPC-Druckeranschluß
  1389.   |______________________|     |
  1390.                                |
  1391.    17 < - - - - - - - - 1      |
  1392.                                |
  1393.      ||||||||||||||||||        |
  1394.      ||||||||||||||||||        \
  1395.      ||||||||||||||||||         >   "CPC 464/664 nach DMP 2160"-Kabel
  1396.      ||||||||||||||||||        /
  1397.      ||||||||||||||||||        |
  1398.                                |
  1399.    1 - - - - - - - - > 18      |
  1400.   ________________________     |
  1401.   \    ______________    /     |
  1402.    \  |______________|  /    - | ---> Centronics-Stecker
  1403.     \__________________/       |
  1404.                                |
  1405.    19 - - - - - - - -> 36      /
  1406.  
  1407.  
  1408.  
  1409.    18 < - - - - - - - - 1      \
  1410.   ________________________     |
  1411.   \    ______________    /     |
  1412.    \  |______________|  /    - | ---> Centronics-Buchse
  1413.     \__________________/       |
  1414.                                |
  1415.    36 <- - - - - - - - 19      |
  1416.                                |
  1417.      ||||||||||||||||||        |
  1418.      ||||||||||||||||||        \
  1419.      ||||||||||||||||||         >   PC Parallel Adapter
  1420.      ||||||||||||||||||        /
  1421.      ||||||||||||||||||        |
  1422.                                |
  1423.    1 - - - - - - - - > 13      |
  1424.   ________________________     |
  1425.   \  ..................  /     |
  1426.    \  ................  /    - | ---> Sub-D Stecker zum PC (LPT1)
  1427.     \__________________/       |
  1428.                                |
  1429.    14 - - - - - - - -> 25      /
  1430.  
  1431.  
  1432.    13 < - - - - - - - - 1      \
  1433.   ________________________     |
  1434.   \  ..................  /     |
  1435.    \  ................  /    - | ---> Sub-D Buchse
  1436.     \__________________/       |
  1437.                                |
  1438.    25 <- - - - - - - - 14      |
  1439.                                |
  1440.      ||||||||||||||||||        |
  1441.      ||||||||||||||||||        \
  1442.      ||||||||||||||||||         >   RS-232 "Wiring-Box"
  1443.      ||||||||||||||||||        /
  1444.      ||||||||||||||||||        |
  1445.                                |
  1446.    1 - - - - - - - - > 13      |
  1447.   ________________________     |
  1448.   \  ..................  /     |
  1449.    \  ................  /    - | ---> Sub-D Stecker zum PC (LPT1)
  1450.     \__________________/       |
  1451.                                |
  1452.    14 - - - - - - - -> 25      /
  1453.  
  1454.  
  1455.  
  1456.    Drucker    Centronics   Centronics      Sub-D        Sub-D        Sub-D
  1457.    (Buchse)    (Stecker)    (Buchse)     (Stecker)    (Buchse)     (Stecker)
  1458.  
  1459.       1 ---------  1            1 ---------  1            2 --------- 11
  1460.             .                         .                  10 ---------  8
  1461.             .                         .                  11 ---------  1
  1462.             .                         .                  12 ---------  7
  1463.      17 --------- 17           14 --------- 14           13 ---------  6
  1464.      18 --------- 19           19 --------- 19           15 ---------  5
  1465.             .                  21 --------- 20           19 --------- 19
  1466.             .                  23 --------- 21
  1467.             .                  25 --------- 22
  1468.      34 --------- 35           27 --------- 23
  1469.                                29 --------- 24
  1470.                                30 --------- 25
  1471.                                31 --------- 16
  1472.                                32 --------- 15
  1473.                                33 --------- 18
  1474.                                36 --------- 17
  1475.  
  1476.  
  1477.  
  1478.   Übertragungsgeschwindigkeit CPCPARA -> PCPARA (v1.1):
  1479.  
  1480.   Mit der eingebauten Statistik wurden folgende Übertrangungsraten
  1481.   für einen 0x4000 Byte-Block vom CPC zum PC gemessen:
  1482.  
  1483.   Quelle auf dem CPC:           Bytes/Sek:      Baud:
  1484.   -----------------------------------------------------------
  1485.   Datei von Diskette:           1600            12800
  1486.  
  1487.   Block aus dem Speicher:       2240            17920
  1488.  
  1489.   Block aus Speicher,keine Int. 2445            19560
  1490.   (poke &b941,&c9 auf CPC 6128)
  1491.  
  1492.   Das Senden eines Blocks wurde in BASIC folgendermaßen realisiert:
  1493.   defstr a:a="test.$$$":call sstr,@a
  1494.   a=string$(&80):for i=1 to &80:call sstr,@a:next:call sbyte,0:stop
  1495.  
  1496.  
  1497.   Weitere Informationen zum parallelen Adapter finden Sie im Kapitel 7.
  1498.  
  1499.  
  1500.  
  1501.  
  1502. 5.3  Serielle Schnittstelle
  1503. ===========================
  1504.  
  1505.  
  1506.   Falls Sie eine serielle Schnittstelle am CPC haben, können Sie die
  1507.   Daten natürlich auch seriell übertragen.
  1508.  
  1509.  
  1510.  
  1511. 5.4  Sonstige Möglichkeiten
  1512. ===========================
  1513.  
  1514.   Es gibt auch abenteuerlichere Methoden, an seine Software zu kommen.
  1515.  
  1516.   - 3" Diskettenlaufwerk an den PC anschließen. Manche (ältere) Modelle
  1517.     sollen direkt an den 5.25"-Anschluß passen.
  1518.  
  1519.   - Mit Hilfe des Spectrum+3 (oder so) die 3" Disketten einlesen, in das
  1520.     Spectrum-Format konvertieren und mit einem Hilfsprogramm auf den PC
  1521.     übertragen. Dieses Hilfsprogramm soll dem Spectrum-Emulator Z80 von
  1522.     Gerton Lunter beiliegen.
  1523.  
  1524.   - Als es noch nötig war, irgendwie an die ROMs zu kommen, hat mir ein
  1525.     Benutzer von seiner Methode berichtet:
  1526.     Er hat den ROM-Chip aus dem CPC ausgebaut und anstatt des VGA-BIOS in
  1527.     seine Grafikkarte eingesetzt. Mit einem kleinen Programm konnte er
  1528.     dann den Inhalt auslesen.
  1529.  
  1530.   - Vielleicht finden Sie noch Ihre eigene Methode?
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536. 6.  Bezugsquellen, Hilfe bei Problemen, Danksagungen
  1537. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  1538.  
  1539. In diesem Kapitel erfahren Sie, woher Sie CPC-Software beziehen können und
  1540. an wen Sie sich bei weiteren Fragen wenden können.
  1541. Außerdem erwähne ich noch einige andere Amstrad-Emulatoren.
  1542.  
  1543.  
  1544. 6.1  Sie möchten CPC Software ?
  1545. ===============================
  1546.  
  1547.   Kein Problem. Wenn Sie Internet-Zugang oder ein Modem haben.
  1548.   Wie für die Spectrum-Emulatoren gibt es mittlerweile auch für den
  1549.   (oder die) CPC-Emulator(en) "anonyme" Archive, von denen Sie per FTP
  1550.   Software bekommen können.
  1551.  
  1552.   - ftp.nvg.unit.no:/pub/cpc, dank Arnt Gulbrandsen.
  1553.     Dies ist eines der größten Archive mit CPC-Programmen.
  1554.  
  1555.   - sunshine.informatik.uni-wuerzburg.de:/pub/joscho/cpcemu
  1556.     Ein Mirror von ftp.nvg.unit.no. Wenn Sie also Verbindungsprobleme
  1557.     nach Norwegen haben, können Sie es hier versuchen.
  1558.  
  1559.   - ftp.ibp.fr:/pub/amstrad, dank Emmanuel Roussin
  1560.     Ein anderes Archiv mit vielen CPC-Programmen
  1561.  
  1562.   - ftp.demon.co.uk:/pub/cpm, dank Paul Martin
  1563.     Außerdem ist Paul Martin bereit, Ihnen seine "CP/M Plus ROMs"
  1564.     zuzuschicken, falls Sie das originale Amstrad CP/M Plus haben.
  1565.     Sie müssen das natürlich irgendwie beweisen.
  1566.  
  1567.  
  1568.  
  1569.   Folgende BBS haben CPC-Software:
  1570.  
  1571.   - Aspects 2:250/107 : +44 617920260, England
  1572.  
  1573.   - Genesis the 8bit generation, 2:320/220, +33 1 39 50 54 11, Frankreich
  1574.  
  1575.   - Razormaid, 2:246/6009, +49 711 4204329, Deutschland
  1576.  
  1577.   - Beavis'n'Butthead BBS 2453/407, Deutschland
  1578.  
  1579.  
  1580.  
  1581. 6.2  Sie möchten immer auf dem laufenden bleiben ?
  1582. ==================================================
  1583.  
  1584.  
  1585.   Sie möchten immer die neuste Version von CPCEMU haben?
  1586.   Sie möchten informiert werden, wenn eine neue veröffentlicht wird?
  1587.  
  1588.   Mittlerweile gibt es eine eigene CPC-Newsgruppe !
  1589.   Sie heißt comp.sys.amstrad.8bit.
  1590.   Dort finden Diskussionen rund um den CPC (und eben auch CPCEMU) statt.
  1591.   Hier können Sie natürlich ganz unverbindlich Ihre Erfahrungen austauschen.
  1592.  
  1593.   Falls Sie keine Möglichkeit haben, die Newsgruppe zu lesen, schreiben
  1594.   Sie mir kurz eine E-Mail, um in eine "Mailing-List" aufgenommen zu werden.
  1595.   Sie werden dann immer über Neuerungen informiert.
  1596.   Meine Adresse steht im nächsten Abschnitt.
  1597.   Mit normaler Post können Sie bei mir (oder bei David, siehe unten)
  1598.   natürlich auch nachfragen, aber nicht das Rückporto vergessen.
  1599.   Falls Sie mir eine Anerkennung zukommen lassen haben, fühle ich mich
  1600.   normalerweise verpflichtet, Ihnen mindestens 1 bis 2 Mal die neuste
  1601.   Version zukommen zu lassen.
  1602.  
  1603.  
  1604.  
  1605. 6.3  Wenn Sie Fragen oder Anregungen haben
  1606. ==========================================
  1607.  
  1608.  
  1609.   Dann wenden Sie sich direkt an mich:
  1610.  
  1611.        Marco Vieth
  1612.        Auf dem Ükern 4
  1613.        33165 Lichtenau
  1614.        Germany
  1615.  
  1616.        Tel. 05292/1366
  1617.  
  1618.        Internet: ali@uni-paderborn.de
  1619.  
  1620.        Wie Sie vielleicht schon wegen der Internet-Adresse vermuten,
  1621.        studiere ich an der Uni Paderborn, und zwar Informatik im
  1622.        10. Semester (SS 95).
  1623.  
  1624.  
  1625.  
  1626.   Falls Sie Englisch sprechen oder schreiben, können Sie sich
  1627.   auch an David Cantrell wenden:
  1628.  
  1629.        David Cantrell
  1630.        116, London Road
  1631.        Bexhill-on-sea
  1632.        East Sussex
  1633.        TN39 4AA
  1634.        England
  1635.  
  1636.        Phone: +44-1424-221015
  1637.  
  1638.        Internet: zur Zeit nicht über Internet erreichbar
  1639.  
  1640.  
  1641.   David hat mir angeboten, mich bei der "Flut von Anfragen" zu unterstützen.
  1642.   Er hat das Firmware-Manual für den CPC eingescannt und überarbeitet,
  1643.   so daß es jetzt jedem in einer elektronischen Form zur Verfügung steht.
  1644.  
  1645.  
  1646.   Ich akzeptiere jede Form von Unterstützung, ob ideell oder finanziell.
  1647.   (30 DM bis 50 DM wären angemessen.)
  1648.   Normalerweise ist auf die Post (wenigstens) soviel Verlaß, daß Geldscheine
  1649.   in zugeklebten Briefen auch ankommen.
  1650.   (Die "Unglücksfälle", die manchmal bei "Wie bitte ?" vorgestellt werden,
  1651.    sind hoffentlich nur die Ausnahme. Wenn z.B. ein Güterwaggon vollbeladen
  1652.    mit Postsendungen monatelang in einem Ausbesserungswerk vergessen
  1653.    wurde ...)
  1654.   Falls Sie den bargeldlosen Zahlungsverkehr bevorzugen:
  1655.     Marco Vieth, Sparkasse Paderborn, BLZ: 47250101, Kto.Nr: 54111091
  1656.  
  1657.   Auch wenn Sie mir kein Geld schicken, beantworte und berücksichtige ich
  1658.   normalerweise alle Ihre Fragen und Anregungen (und David sicher auch).
  1659.  
  1660.  
  1661.  
  1662. 6.4  Andere Amstrad CPC Emulatoren
  1663. ==================================
  1664.  
  1665.   Noch Anfang 1994 hätte ich gesagt, CPCEMU ist der einzige Emulator für den
  1666.   Amstrad CPC. Mittlerweile sind mir jedoch drei andere bekannt:
  1667.  
  1668.   - SIMCPC:
  1669.     Vermutlich der erste CPC-Emulator überhaupt.
  1670.     CPC-Emulator für PC/XT/AT   (c) 1989, 90 by GHE, Aachen
  1671.     Nur schwarzweiß, aber mit zusätzlichen ROMs;
  1672.     insgesamt nur eine "Bierlaune".
  1673.  
  1674.   - CPC2PCxx:
  1675.     Wird seit Oktober 1993 von Paco Lopez aus Spanien entwickelt.
  1676.     Ist jetzt auf einigen Archiven verfügbar. Ist vollständig im Protected
  1677.     Mode und benutzt dasselbe Disketten-Format wie CPCEMU.
  1678.  
  1679.   - CPE:
  1680.     In Entwickung von Bernd Schmidt aus Aachen. Durch einen speziellen
  1681.     50 Hertz Bildschirm-Modus werden einige Farbbalken exakt nachgebildet.
  1682.     Außerdem werden Multi-Modes und Overscan unterstützt.
  1683.     Mit einer Spezialversion im 256-Farben-Modus werden exakte Farbbalken
  1684.     mit mehr als 50 Hertz dargestellt.
  1685.     Mittlerweile gibt es die Version v4.7.
  1686.  
  1687.  
  1688.  
  1689. 6.5  Pläne für weitere CPCEMU-Versionen
  1690. =======================================
  1691.  
  1692.   - Overscan
  1693.   - Bessere Multi-Modes
  1694.   - Bildschirm bei Größenänderung zentriert
  1695.   - Schnelles Hardware-Scrolling
  1696.   - wählbare Bildschirmvergrößerung
  1697.   - Bildschirm als .BMP-Datei speichern
  1698.   - Wechsel zwischen den CPCs ohne Programmabbruch
  1699.   - Unterstützung für 2. Joystick
  1700.   - auf amerikanischen Tastaturen fehlt "<>", ALTgr
  1701.   - Expansions-Port des CPC nachbilden
  1702.   - direktes Laden von CPC-Disketten
  1703.   - Laden von CPC-Kassetten über die Druckerschnittstelle oder über
  1704.     eine Soundblaster-Karte
  1705.   - Übertragen von Disketten mit dem parallelen Adapter
  1706.   - Änderung der Soundblaster-Lautstärke
  1707.   - Besserer Sound (eventuell mit Geräuschen)
  1708.   - Digiblaster-Emulation
  1709.  
  1710.   Vielleicht wird es nie eingebaut, da ich erst einmal meine Diplomarbeit
  1711.   schreiben muß und nebenbei ein wenig "richtig" arbeite...
  1712.  
  1713.  
  1714.  
  1715. 6.6  Danksagungen
  1716. =================
  1717.  
  1718.   - Besonderen Dank an Jürgen Weber, der mir nicht nur sehr viele Tips
  1719.     gegeben und Verbesserungsvorschläge gemacht hat, sondern vor allem die
  1720.     schnelle Z80-Emulation aus seinem CP/M-Emulator ZSIM beigesteuert hat.
  1721.  
  1722.                   Jürgen G. Weber
  1723.                   Wiesentalstraße 1
  1724.                   74523 Schwäbisch Hall
  1725.                   Federal Republic of Germany
  1726.  
  1727.                   Email: weberj@dia.informatik.uni-stuttgart.de
  1728.  
  1729.  
  1730.   - Außerdem Dank an Bernd Schmidt. Da Bernd einen eigenen Emulator schreibt,
  1731.     standen wir oft vor denselben Problemen. Nur wer selber versucht, einen
  1732.     solchen Emulator zu schreiben, kann ermessen, welche Details überall
  1733.     Probleme bereiten. Es gibt eben keine Dokumentation zum CPC, in der die
  1734.     gesamte Spezifikation enthalten ist. Das meiste muß durch Probieren
  1735.     herausgefunden werden.
  1736.  
  1737.   - Dank an Emmanuel Roussin für seinen unermüdlichen Einsatz für
  1738.     den CPC. Er hat wesentlich bei der Erstellung der Newsgruppe
  1739.     mitgewirkt und mir monatelang sein Multiface II geliehen, damit
  1740.     ich es doch in den Emulator einbaue.
  1741.  
  1742.   - Dank auch an Arnt Gulbrandsen, aus dessen JPP-Quellcode ich die
  1743.     Ideen für den Keyboard-Handler und die Joystickabfrage bekam.
  1744.     JPP ist übrigens ein sehr guter Spectrum-Emulator.
  1745.  
  1746.   - Dank an Martin Zacho für die Joystick Routine.
  1747.  
  1748.   - Dank an Fernando J. Echevarrieta Fernandez, der als erster
  1749.     herausfand, daß Version v0.8 keinen CPC 664 emulierte.
  1750.  
  1751.   - Dank an Gilles Molinari für das Transferprogramm für den parallelen
  1752.     Adapter.
  1753.  
  1754.   - Dank an Paul Martin, der die englische Dokumentation zu Version 1.0
  1755.     korrigiert hat.
  1756.  
  1757.   - Dank an Mark Haigh-Hutchinson, der durchgesetzt hat, daß Spiele der
  1758.     Firma Vortex nun legal in einem Archiv verfügbar sein dürfen.
  1759.  
  1760.   - Dank an Martin Young für seine außergewöhnlichen Ideen, einen Z80 zu
  1761.     emulieren.
  1762.  
  1763.   - Dank an Linh Hsiesh für zahlreiche Verbesserungsvorschläge, wovon die
  1764.     meisten mittlerweile realisiert sein dürften.
  1765.  
  1766.   - Dank an Fred Harris für den Brief, den er wegen der ROMs an AMSTRAD
  1767.     geschrieben hatte.
  1768.  
  1769.   - Dank an Amstrad, insbesondere an Cliff Lawson, daß ich das BASIC-ROM
  1770.     benutzen darf. Natürlich bleibt das Copyright bei Amstrad.
  1771.  
  1772.         Amstrad plc, Brentwood House,
  1773.         169 Kings Road, Brentwood,
  1774.         Essex CM14 4EF
  1775.  
  1776.   - Dank an Richard Clayton von Locomotive, daß ich das Firmware-ROM benutzen
  1777.     darf. Natürlich bleibt das Copyright bei Locomotive Software.
  1778.  
  1779.   - Und Dank an die vielen anderen Benutzer, die mir Verbesserungs-
  1780.     vorschläge geschrieben haben oder sonstige Ideen hatten. Ohne sie
  1781.     wäre CPCEMU vermutlich nicht einmal bis Version 1.0 gekommen.
  1782.  
  1783.  
  1784.  
  1785. 6.7  Geschützte Warenzeichen
  1786. ============================
  1787.  
  1788.   CP/M, CP/M 2.2 und DRDOS sind von Digital Research,
  1789.   MS-DOS ist von Microsoft,
  1790.   IBM PC, PC-XT, PC-AT und OS/2 sind von International Business Machines,
  1791.  
  1792.   CPC, AMSDOS sind von Amstrad,
  1793.   BORLAND C, TASM (Turbo Assembler) sind von Borland,
  1794.   22DISK ist von SYDEX
  1795.   Soundblaster ist von Creative Labs
  1796.   ...
  1797.  
  1798.  
  1799.  
  1800. ------------------------------------------------------------------------------
  1801.  
  1802.  
  1803.  
  1804.  
  1805. 7.  Interne Informationen zu CPCEMU
  1806. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  1807.  
  1808.  
  1809. Dieses Kapitel soll ein paar Hintergrundinformationen liefern und die
  1810. Frage beantworten, WARUM muß ich jetzt dies und das machen.
  1811. Auch wird das leistungsfähige Debug-Menü erklärt und die Datenformate
  1812. zu den Disketten-Abbildern und den Snapshots aufgeführt.
  1813. Ich gebe hier also Informationen, die Sie als Anwender von CPCEMU
  1814. nicht unbedingt wissen müssen. Allerdings können sie manchmal ganz
  1815. nützlich sein.
  1816. Ich habe diese Informationen absichtlich an das Ende, noch nach den
  1817. geschützten Warenzeichen gesetzt, damit die relative "relative
  1818. Bedeutungslosigkeit" deutlich wird.
  1819. Wenn Sie keinen Spaß an unverständlichen Sätzen und unstrukturierten
  1820. Informationen haben, dann lesen Sie nicht weiter!
  1821.  
  1822.  
  1823.  
  1824. WARNUNG: Weiterlesen auf eigene Gefahr !
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830. 7.1  Inhaltsverzeichnis zu Kapitel 7
  1831. ====================================
  1832.  
  1833.   7.2  Interne Übersicht über die Leistungsmerkmale von CPCEMU
  1834.     7.2.1  Die Z80-CPU (Der Prozessor)
  1835.     7.2.2  Das Gate-Array (Der "Hilfsprozessor")
  1836.     7.2.3  Das PAL (Programmable Logic Array)
  1837.     7.2.4  Der CRTC 6845 (Cathode Ray Tube Controller)
  1838.     7.2.5  Die PIO 8255 (Programmable Input-Output)
  1839.     7.2.6  Der PSG (Programmable Sound Generator)
  1840.     7.2.7  Der FDC (Floppy Disc Controller)
  1841.     7.2.8  Die Centronics-Druckerschnittstelle
  1842.  
  1843.   7.3  Das Debug-Menü
  1844.     - Aufbau des Debug-Menüs
  1845.     - Vorbemerkungen
  1846.     - Übersicht über die Kommandos
  1847.     - Registermanipulationen
  1848.  
  1849.   7.4  Die Speicherverwaltung
  1850.     7.4.1  Noch einmal zur EMS-Konfiguration
  1851.     7.4.2  Realisierung des Bankings
  1852.  
  1853.   7.5  ROM-Modifikationen
  1854.     7.5.1  ROM-Bypass für die Kassette
  1855.     7.5.2  Modifikationen am AMSDOS-ROM
  1856.  
  1857.   7.6  Verschiedenes
  1858.     7.6.1  Noch einmal:  Die Konfigurationsdatei
  1859.     7.6.2  Der parallele Adapter
  1860.       - Richtung CPC->PC
  1861.       - Richtung PC->CPC
  1862.     7.6.3  CPCTRANS
  1863.  
  1864.   7.7  Aufbau einiger CPCEMU-Dateien
  1865.     7.7.1  Disketten-Abbilder
  1866.       - Der Disketten-Informationsblock
  1867.       - Der Spur-Informationsblock
  1868.     7.7.2  Snapshot-Dateien
  1869.     7.7.3  AMSDOS-Header
  1870.     7.7.4  Poke-Datenbank
  1871.  
  1872.   7.8  Interne History
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878. 7.2  Interne Übersicht über die Leistungsmerkmale von CPCEMU
  1879. ============================================================
  1880.  
  1881.  
  1882.   Wie kompatibel ist CPCEMU wirklich?
  1883.  
  1884.  
  1885.  
  1886.   7.2.1  Die Z80-CPU (Der Prozessor)
  1887.   ----------------------------------
  1888.  
  1889.   + Es werden alle Z80-Befehle emuliert, auch sogenannte illegale Befehle.
  1890.     Es gibt eine langsame Z80-Emulation in C und eine schnelle Emulation in
  1891.     Assembler von Jürgen Weber.
  1892.     Durch die COCPU-Technik, bei der jeder Befehl von den beiden
  1893.     Emulationsarten gleichzeitig ausgeführt wird und danach die Register
  1894.     verglichen werden,
  1895.     wurden zahlreiche Fehler gefunden. Natürlich wurde dies nur während der
  1896.     Programmentwicklung benutzt. Die langsame Z80-Emulation können Sie vom
  1897.     Debug-Menü aus aktivieren.
  1898.   + Nur dem Emulator bekannte Zusatzbefehle der Form ED FC xx, darunter auch
  1899.     der User-Break   ED FC FC  USER &BCFC.
  1900.  
  1901.   - kein exaktes Timing der Befehle
  1902.   - schnelle Emulation: Lesen/Schreiben eines Wortes von/an Adresse
  1903.     0xffff verursacht einen INT 0x0D. Mit EMS ist es sogar besonders fatal,
  1904.     das System hängt sich auf (unter OS/2 nur das Fenster).
  1905.  
  1906.  
  1907.  
  1908.   7.2.2  Das Gate-Array (Der "Hilfsprozessor")
  1909.   --------------------------------------------
  1910.  
  1911.   + alle 32 Farben des CPC (27 verschiedene)
  1912.   + alle 3 Bildschirmmodi (X x Y x Farben):
  1913.         Modus 0 = 160x200x16
  1914.         Modus 1 = 320x200x4
  1915.         Modus 2 = 640x200x2
  1916.   + einfache Multi-Modes
  1917.   + ROM-Banking (16KB OS, 16KB BASIC, 16KB AMSDOS, und sonstige Zusatzroms)
  1918.  
  1919.   - Farbbalken flimmern
  1920.  
  1921.  
  1922.  
  1923.   7.2.3  Das PAL (Programmable Logic Array)
  1924.   -----------------------------------------
  1925.  
  1926.   Das PAL ist zwar logisch über die gleiche Adresse wie das Gate-Array zu
  1927.   programmieren, hardwaretechnisch aber davon getrennt.
  1928.  
  1929.   + RAM-Banking (128 KB, bis zu 576 KB), mit EMS oder konventionellem
  1930.     Speicher.
  1931.     Mit emuliertem EMS ist es recht flott, da die die Umschaltung per
  1932.     Hardware geschieht. Sie können eine Dk'tronics kompatible
  1933.     Speichererweiterung mit bis zu 576 KB RAM benutzen.
  1934.  
  1935.   - Ohne EMS ist RAM Banking sehr langsam, da Speicherblöcke vertauscht
  1936.     werden müssen. Außerdem haben Sie ohne EMS höchstens 128 KB RAM zur
  1937.     Verfügung.
  1938.  
  1939.  
  1940.  
  1941.   7.2.4  Der CRTC 6845 (Cathode Ray Tube Controller)
  1942.   --------------------------------------------------
  1943.  
  1944.   + Bildschirmstart, -offset für Hardware-Scrolling
  1945.   + verschiedene Bildschirmgrößen von 0x0 bis 80x25 mittels
  1946.     CRTC-Register 1 und 6
  1947.   + unterschiedliche Zeichengrößen (1..7) mit CRTC-Register 9
  1948.   + für Multi-Modes werden noch einige andere Register benötigt.
  1949.  
  1950.   - Overscan wird noch nicht unterstützt.
  1951.  
  1952.  
  1953.   7.2.5  Die PIO 8255 (Programmable Input-Output)
  1954.   -----------------------------------------------
  1955.  
  1956.   + Keyboard (über den PSG)
  1957.   + VSYNC-Emulation: Bit zwischen zwei Interrupts während des Bildaufbaus
  1958.     gesetzt, die Position legen Sie fest.
  1959.   + Kassetten besonders schnell durch ROM-Bypass der den Zugriff auf
  1960.     beliebige DOS-Dateien ermöglicht.
  1961.  
  1962.   - VSYNC-Bit ist zu lange gesetzt
  1963.   - Kassetten-Bits werden nicht emuliert, somit können Sie die meisten
  1964.     Kassetten-Kopierprogramme nicht einsetzen, die direkt auf die Ports
  1965.     zugreifen.
  1966.  
  1967.  
  1968.   7.2.6  Der PSG AY 3-8912 (Programmable Sound Generator)
  1969.   -------------------------------------------------------
  1970.  
  1971.   + Entweder über den PC Lautsprecher (schrecklich, da 3 Kanäle auf
  1972.     einen gemischt werden müssen und die Lautstärke nicht geändert
  1973.     werden kann) oder eine Soundblaster-Karte. Von der Soundblaster-Karte
  1974.     wird nur der Adlib-kompatible FM-Teil benutzt.
  1975.  
  1976.   - keine Digital-Sounds möglich oder zu langsam.
  1977.     Die Geräusche des PSG haben auf der Soundblaster keine Entsprechung,
  1978.     deshalb wurden sie nicht realisiert.
  1979.  
  1980.  
  1981.   7.2.7  Der FDC 765 (Floppy Disc Controller)
  1982.   -------------------------------------------
  1983.  
  1984.   + Alle notwendigen FDC-Kommandos, um die Laufwerke A und B zu
  1985.     steuern (dazu gehören Sektor lesen/schreiben, Spur suchen,
  1986.     Sektor-ID lesen, ... ; Spur formatieren wird unterdrückt. )
  1987.     Sehr flexible Disketten-Formate (bis zu 18 Sektoren pro Spur).
  1988.     Darunter auch doppelseitige Formate, z.B. VORTEX.
  1989.  
  1990.   - Komplizierte kopiergeschützte Formate werden intern nicht verarbeitet.
  1991.  
  1992.  
  1993.  
  1994.   7.2.8  Die Centronics-Druckerschnittstelle
  1995.   ------------------------------------------
  1996.  
  1997.   + Druckerausgabe auch mit 8-Bit-Druckerpatch, wird auf die durch
  1998.     PRINTER definierte Datei umgeleitet.
  1999.  
  2000.  
  2001.  
  2002.  
  2003. 7.3  Das Debug-Menü
  2004. ===================
  2005.  
  2006.   Von sowas hätte ich damals auf dem CPC nur geträumt!
  2007.   Es wird der komplette CPU-Zustand des Z80 angezeigt und Sie können ihn
  2008.   modifizieren. Der Speicher kann "gedumped",
  2009.   disassembliert oder modifiziert werden, Speicherauszüge
  2010.   (Programme) lassen sich laden oder speichern.
  2011.   Und das Interessanteste:
  2012.   Sie können die Code-Ausführung im Single-Step-Mode verfolgen!
  2013.   (Ähnlich wie bei einem richtigen Debugger).
  2014.  
  2015.  
  2016.   Aufbau des Debug-Menüs
  2017.   ----------------------
  2018.  
  2019.   R)un T)race S)tep  A)ssem D)ump I)nput  L)oad saV)e  fiN)d  F)ast Q)uit
  2020.   AF=0000 BC=0000 DE=0000 HL=0000 IX=0000 IY=0000 SP=0000 PC=0000 IR=0000
  2021.   AF'=0000 BC'=0000 DE'=0000 HL'=0000 IFF1=0 IFF2=0 IMD=0  NZ NC PO P
  2022.   0000 : 01 89 7F       LD BC,&7F89
  2023.   -f->
  2024.  
  2025.   In der ersten Zeile werden die verfügbaren Kommandos angezeigt
  2026.   (die Großbuchstaben). In den beiden nächsten Zeilen
  2027.   stehen die aktuellen Inhalte der Register. Darunter steht der
  2028.   disassemblierte aktuelle Befehl an Position PC.
  2029.   In der letzten Zeile wartet ein Prompt auf Ihre Eingabe.
  2030.   ('f' zeigt an, daß Sie gerade die Fast-CPU benutzen.)
  2031.  
  2032.  
  2033.   Vorbemerkungen
  2034.   --------------
  2035.  
  2036.   In eckige Klammern eingeschlossene Parameter sind optional [opt.].
  2037.   Zahleneingaben alle hexadezimal, z.B. <Adresse> = 0000 bis ffff.
  2038.   "<ret>" zeigt an, daß Sie in einem speziellen Modus sind und
  2039.   <RETURN> drücken sollen, um fortzufahren. <String><RETURN>
  2040.   verläßt diesen Modus (d.h. z.B. b<RETURN>).
  2041.   Kommandos bestehen aus einem Buchstaben, meistens gefolgt von
  2042.   einer optionalen Adresse. Zwischen Kommando-Buchstabe und
  2043.   dieser Adresse muß dann ein Leerzeichen oder Tab stehen.
  2044.   Ohne Angabe einer Adresse wird als Standard-Wert PC (Programmzähler)
  2045.   angenommen.
  2046.  
  2047.  
  2048.   Übersicht über die Kommandos
  2049.   ----------------------------
  2050.  
  2051.   R)un:
  2052.   r [<Adresse>] : startet die Emulation ab PC oder der optional
  2053.     angegebenen Adresse.
  2054.     Beispiele:
  2055.     -f-> r      startet die Emulation ab PC
  2056.     -f-> r 100  setzt PC auf 0x100 und startet die Emulation
  2057.  
  2058.   T)race (Trace into):
  2059.   t [<Adresse>] : führt wirklich nur den aktuellen Befehl aus,
  2060.     mit <RETURN> den nächsten;  <string><RETURN> beendet den
  2061.     Trace-Modus.
  2062.     Alle Einzelschrittbefehle werden von der Slow-CPU ausgeführt
  2063.     (selbst wenn "-f->" angezeigt wird), da in der Fast-CPU kein
  2064.     Zähler mehr existiert.
  2065.   S)tep (Step over):
  2066.   s [<Adresse>] : führt den aktuellen Befehl aus, eigentlich
  2067.     alle Befehle, bis PC auf dem direkt nachfolgenden Befehl
  2068.     steht, was z.B. bei einem 'Ret' recht lange dauern kann.
  2069.     In diesem Fall hilft (wie immer) F10.
  2070.     Alle Einzelschrittbefehle werden von der Slow-CPU ausgeführt
  2071.     (selbst wenn "-f->" angezeigt wird), da in der Fast-CPU kein
  2072.     Zähler mehr existiert.
  2073.  
  2074.   A)ssemble (eigentlich Disassemble):
  2075.   a [<Adresse>] : disassembliert die nächsten 16 Befehle, mit
  2076.     <RETURN> die nächsten; <string><RETURN> beendet den
  2077.     Disassemble-Modus.
  2078.  
  2079.   D)ump:
  2080.   d [<Adresse>] : zeigt einen Hex-Ascii-Speicherauszug der nächsten
  2081.     256 Bytes ab PC oder Adresse an, <RETURN> die nächste Seite;
  2082.     <string><RETURN> beendet den Dump-Modus.
  2083.  
  2084.   I)nput (Speicherstellen modifizieren):
  2085.   i [<Adresse>] : zeigt die Speicherstelle mit aktuellem Inhalt an,
  2086.     der durch <RETURN> bestätigt oder durch <hexzahl><RETURN>
  2087.     verändert werden kann. Verlassen wird der Input-Modus mit
  2088.     einer ungültigen Zahl, z.B. -1<RETURN>.
  2089.  
  2090.   L)oad (Laden eines Speicherbereichs):
  2091.   l [<Adresse>]  : fragt nach dem Dateinamen <Name> und lädt dann
  2092.     die Datei <Name> aus dem Verzeichnis TAPE_PATH nach <Adresse>
  2093.     Ein AMSDOS-Header wird erkannt.
  2094.     Siehe Anhang "Aufbau des AMSDOS-Headers".
  2095.     Falls Sie bei dem Dateinamenprompt nur <RETURN> eingeben,
  2096.     erscheint das schon bekannte Dateiauswahl-Menü.
  2097.     Beispiele:
  2098.     -f-> l<RETURN> demo<RETURN>         :
  2099.         lädt Datei 'demo' an den aktuellen PC
  2100.     -f-> l a000<RETURN> myprog<RETURN>  :
  2101.         lädt Datei 'myprog' nach 0xA000
  2102.  
  2103.   saV)e (Speichern eines Speicherbereichs):
  2104.   v [<Adresse>]  : fragt nach dem Dateinamen <Name> und der Länge
  2105.     des Speicherbereichs. Dieser wird dann ab <Adresse> (oder eben PC)
  2106.     abgespeichert, und zwar im Verzeichnis TAPE_PATH als Binärdatei,
  2107.     d.h. mit AMSDOS-Header.
  2108.     Siehe Anhang "Aufbau des AMSDOS-Headers".
  2109.     Beispiel:
  2110.     -f-> v<RETURN> demo<RETURN> 4000<RETURN>    :
  2111.         speichert "demo" ab PC mit der Länge 0x4000.
  2112.  
  2113.   fiN)d (Suchen einer Bytefolge):
  2114.   n : Wie bei I)nput muß zuerst eine Bytefolge eingegeben werden, nach der
  2115.     gesucht werden soll. Dabei kann '??' (oder '?') als Platzhalter
  2116.     für ein beliebiges Byte eingesetzt werden. Das macht natürlich nur
  2117.     Sinn innerhalb einer Bytefolge.
  2118.     Es werden dann die gerade aktiven 64KB Speicher durchsucht und alle
  2119.     Adressen ausgegeben, wo diese Bytefolge beginnt.
  2120.  
  2121.   F)ast (Z80-Emulationsart wählen):
  2122.   f : Wechselt zwischen der schnellen Z80-Emulation (entwickelt in
  2123.     Assembler von Jürgen Weber, Standardeinstellung) und der
  2124.     langsamen (in C geschriebenen).
  2125.     Das Prompt-Symbol wechselt dann zwischen "-f->" für schnell
  2126.     (fast) und "-s->" für langsam (slow).
  2127.     Alle r, s, t-Kommandos beziehen sich dann auf die gewählte
  2128.    Z80-Emulationsart.
  2129.  
  2130.   Q)uit (Beenden des Programms):
  2131.   q : beendet den Emulator.
  2132.  
  2133.  
  2134.   Registermanipulationen
  2135.   ----------------------
  2136.  
  2137.   Neben den Buchstabenkommandos gibt es auch Befehle zum Setzen
  2138.   der Register mit der Syntax:          '<Register>=<Hex-Wert>'
  2139.   Beispiele:
  2140.     - af=345    : setzt Register AF auf 0x0345
  2141.     - pc=a000   : setzt Programmzähler auf 0xA000
  2142.  
  2143.  
  2144.   Sie können auch einfach '<Register><Leerzeichen><Hex-Wert>' schreiben
  2145.   Alle Z80-Register lassen sich verändern, also
  2146.   AF, BC, DE, HL, IX, IY, SP, PC, IR, AF', BC', DE', HL',
  2147.   zusätzlich IFF1, IFF2 und IMD.
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154. 7.4  Die Speicherverwaltung
  2155. ===========================
  2156.  
  2157.  
  2158.   7.4.1  Noch einmal zur EMS-Konfiguration
  2159.   ----------------------------------------
  2160.  
  2161.     Sie brauchen einen Expanded Memory Manager nach dem LIM 4.0 Standard
  2162.     (LIM EMS 4.0). Dieser Memory-Manager muß sogenannte erweiterte EMS-Seiten
  2163.     bieten. CPCEMU benötigt 6 solcher Seiten an zusammenhängenden Adressen.
  2164.  
  2165.     Unter OS/2 2.x wurde Ihnen vorgeschlagen, die folgenden Einstellungen
  2166.     zu benutzen:
  2167.  
  2168.         EMS_FRAME_LOCATION = auto
  2169.         EMS_HIGH_OS_MAP_REGION = 32     (oder mehr)
  2170.         EMS_LOW_OS_MAP_REGION = 0       (oder mehr)
  2171.  
  2172.  
  2173.     Was bedeuten die Einstellungen?
  2174.     Die Low-Region bezeichnet EMS-Seiten im konventionellen Speicher.
  2175.     Falls CPCEMU dortige EMS-Seiten benutzen soll, müssen mindestens
  2176.     6*16KB = 84KB vorhanden sein.
  2177.  
  2178.     Die High-Region bezeichnet EMS-Seiten im Speicher oberhalb von
  2179.     640K, der zum Standard-Rahmen von 64KB hinzugenommen wird,
  2180.     muß also mindestens 2*16KB = 32KB sein.
  2181.  
  2182.  
  2183.     Unter DOS wurde Ihnen vorgeschlagen, folgende Zeilen in CONFIG.SYS
  2184.     zu benutzen:
  2185.         DEVICE=C:\DOS\HIMEM.SYS
  2186.         DEVICE=C:\DOS\EMM386.EXE 1024
  2187.         ...
  2188.  
  2189.     Die 1024 kann auch vergrößert oder verkleinert werden, je nach
  2190.     Hauptspeicher Ihres Rechners.
  2191.  
  2192.     Erläuterungen:
  2193.     EMM386 bietet zahlreiche zusätzliche Seiten im konventionellen
  2194.     Speicher. Die Untergrenze dieser Seiten kann mit der Option
  2195.     /B=<Segment> geändert werden (Standard ist 4000).
  2196.     Mit /P<Nummer>=<Segment> soll es auch möglich sein, einzelnen
  2197.     physikalischen Seiten andere Segmente zuzuweisen.
  2198.  
  2199.  
  2200.  
  2201.   7.4.2  Realisierung des Bankings
  2202.   --------------------------------
  2203.  
  2204.  
  2205.     Banking wird auf einigen Heimcomputern benutzt, die RAM und ROM
  2206.     an der gleichen Adresse haben. Lesezugriffe adressieren das ROM,
  2207.     Schreibzugriffe das RAM.
  2208.     Der Amstrad CPC hat 64K RAM und 16K ROM im Bereich 0-3FFF und
  2209.     ein weiteres ROM an C000-FFFF:
  2210.  
  2211.         0 RAM 0000-3fff
  2212.         1 RAM 4000-7fff
  2213.         2 RAM 8000-bfff
  2214.         4 RAM c000-ffff
  2215.         L ROM 0000-3fff
  2216.         U ROM c000-ffff
  2217.  
  2218.     Die wesentliche Idee ist, verschiedene Segmente zum Lesen und
  2219.     Schreiben zu haben.
  2220.     Bei jedem Lesezugriff wird ein Lese-Offset zu der gewünschten
  2221.     Adresse addiert, das gleiche wird mit einem Schreib-Offset
  2222.     für das Schreiben gemacht.
  2223.  
  2224.  
  2225.                    Zustand 0                  Zustand 1
  2226.  
  2227.         block 5   M       L   c                   0       <
  2228.         block 4   M    W  C   c                   C   c    | vertauscht beim
  2229.         block 3   M    W  8 b c                W  8 a c    | Zustands-
  2230.         block 2   M    W  4 b c                W  4 a c    | wechsel
  2231.         block 1   M    W  0 b                  W  L a c   <
  2232.         block 0   M       U b                  W  U a
  2233.  
  2234.  
  2235.     (M = konventioneller Speicher oder physikalische EMS-Seiten)
  2236.  
  2237.     a = Lrom ei, Urom ei
  2238.     b = Lrom di, Urom ei
  2239.     c = Lrom ei, Urom di
  2240.     W = Lrom di, Urom di
  2241.  
  2242.     Um zwischen den beiden Zuständen zu wechsen, müssen nur die
  2243.     '0' und 'L' Blöcke vertauscht werden.
  2244.     Für RAM Banking muß eine neue '0' mit der alten vertauscht
  2245.     werden. UROM Auswahl geschieht durch Kopieren des neuen ROMs
  2246.     nach 'U'.
  2247.  
  2248.     Mit EMS Speicher wird das gesamte Banking von der Hardware
  2249.     (oder deren Emulation) übernommen. Dieses erhöht die
  2250.     Geschwindigkeit besonders in BASIC und CP/M Plus.
  2251.     Jetzt verstehen Sie, warum 6 zusammenhängende physikalische
  2252.     EMS-Seiten notwendig sind und der Standard-Rahmen mit 4 Seiten
  2253.     nicht reicht.
  2254.  
  2255.  
  2256.  
  2257.  
  2258. 7.5  ROM-Modifikationen
  2259. =======================
  2260.  
  2261.  
  2262.   7.5.1  ROM-Bypass für die Kassette
  2263.   ----------------------------------
  2264.  
  2265.     Nach dem Befehl '|TAPE', oder wenn Sie das AMSDOS-ROM ausgeschaltet
  2266.     haben, wird die "Kassette" angesprochen. Kassettenzugriffe werden
  2267.     dabei in Dateizugriffe auf die einzelnen Dateien eines speziellen
  2268.     Verzeichnisses umgeleitet.
  2269.     Realisiert wird diese Umleitung mittels eines "ROM-Bypass".
  2270.  
  2271.     Durch 'TAPE_BYPASS=YES' schalten Sie den ROM-Bypass der TAPE-Vektoren
  2272.     ein. Falls ein bekanntes ROM vom CPC 464/664/6128 gefunden wurde,
  2273.     wird das ROM automatisch modifiziert.
  2274.     Der Bypass ist nötig, wenn Sie Kassetten-Dateien benutzen möchten.
  2275.  
  2276.     Es wurden Spezialbefehle eingeführt, die eine bestimmte
  2277.     Funktion des Emulators aufrufen. Diese Befehle werden direkt
  2278.     in das ROM eingetragen, so daß das Patchen der RAM-Vektoren
  2279.     auch weiterhin möglich ist.
  2280.     Als Befehle wurden eingeführt:
  2281.     ED FC xx  USER &BCxx        (nur gültig für einige RAM-Vektoren)
  2282.     Entspricht einem Call-Befehl zu einer internen Funktion,
  2283.     wobei für xx folgende Werte gültig sind:
  2284.         65      :       CASSETTE INIT (BC65)
  2285.         77      :       CASSETTE IN OPEN (BC77)
  2286.         7A      :       CASSETTE IN CLOSE
  2287.         7D      :       CASSETTE IN ABANDON
  2288.         80      :       CASSETTE IN CHAR
  2289.         83      :       CASSETTE IN DIRECT
  2290.         86      :       CASSETTE RETURN
  2291.         89      :       CASSETTE TEST EOF
  2292.         8C      :       CASSETTE OUT OPEN
  2293.         8F      :       CASSETTE OUT CLOSE
  2294.         92      :       CASSETTE OUT ABANDON
  2295.         95      :       CASSETTE OUT CHAR
  2296.         98      :       CASSETTE OUT DIRECT
  2297.         9B      :       CASSETTE CATALOG
  2298.  
  2299.     Zusätzlich gibt es noch den User-Break-Befehl
  2300.     ED FC FC  USER &BCFC , der die Emulation sofort anhält.
  2301.  
  2302.  
  2303.  
  2304.   7.5.2  Modifikationen am AMSDOS-ROM
  2305.   -----------------------------------
  2306.  
  2307.     - Durch 'DISABLE_ADOS=YES' verbieten Sie die Initialisierung des AMSDOS.
  2308.       Dann werden die
  2309.       Kassetten-kompatiblen Befehle nicht von AMSDOS gepatched.
  2310.       (Es werden also weiterhin die TAPE-Vektoren verwendet.)
  2311.       Das ist nötig, wenn ein Programm zwischendurch das AMSDOS-
  2312.       ROM initialisiert, aber ohne |TAPE-Befehl von Kassette
  2313.       weiterladen soll.
  2314.       (Realisiert durch 'POKE &CCF2,&18: POKE &CCF3,&05' im
  2315.       AMSDOS-ROM.)
  2316.       Die Sektorbefehle bleiben unbeeinflußt, sie gehen immer
  2317.       auf Diskette.
  2318.  
  2319.     - 'DISC_SPEEDUP=YES' führt eine AMSDOS-ROM-Modifikation durch, bei
  2320.       der die Motor-Wartezeiten minimiert werden, um einen
  2321.       schnelleren Disk-Zugriff zu ermöglichen.
  2322.       (Die Sachen werden ja von DOS gesteuert, somit brauchen wir
  2323.       die Warteschleifen nicht.)
  2324.       (Folgende Speicherstellen im AMSDOS-ROM werden verändert:
  2325.         POKE &C5D4,&01  :'Zeit für Motor-Hochlauf
  2326.         POKE &C5D8,&01  :'Zeit bei Spur-Formatieren
  2327.         POKE &C5D9,&01  :'kürzer warten
  2328.         POKE &C5DA,&01  :'kürzer warten
  2329.         POKE &C602,&01  :'nur 1 Versuch bei Fehler
  2330.         POKE &C784,&01  :'schnelles Spur suchen
  2331.         POKE &C7E2,&01  :'schnelles Spur suchen )
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337. 7.6  Verschiedenes
  2338. ==================
  2339.  
  2340.  
  2341.  
  2342.   7.6.1  Noch einmal:  Die Konfigurationsdatei
  2343.   --------------------------------------------
  2344.  
  2345.     Wie Sie vielleicht noch wissen, werden Kommentare durch ein
  2346.     Semikolon ';' eingeleitet, der Rest der Zeile wird dann ignoriert.
  2347.     Blanks, Tabs, Newlines, ';' dienen als Trennsymbole und können
  2348.     beliebig zwischen Schlüsselwörtern und Werten eingesetzt werden.
  2349.     Die meisten Definitionen besitzen die syntaktische Form
  2350.     <Schlüsselwort> '=' <Wert> {T}
  2351.     Dabei ist {T} eine Folge von mindestens einem Trennsymbol.
  2352.     Beispiel:
  2353.     'ROM_PATH = .\ROM'
  2354.     Wollen Sie ein Schlüsselwort nicht (um-)definieren, schreiben Sie
  2355.     ein Kommentarzeichen ';' davor, 'ROM_PATH = <nichts>' ist unzulässig.
  2356.  
  2357.     Eine <Zahl> kann dezimal, hexadezimal (0x) oder binär (%) angegeben
  2358.     werden.
  2359.     <Pfad-Name> darf bis zu 80 Zeichen,
  2360.     <Dateiname> darf bis zu 20 Zeichen lang sein.
  2361.  
  2362.     Hier noch einige Ergänzungen zu ausgewählten Schlüsselwörtern:
  2363.  
  2364.     PIO_PORT_B = <Zahl>                 (%00111110)
  2365.       Setzt den Eingangswert am Port B der PIO. Damit kann z.B. die
  2366.       Benutzung des Druckers untersagt oder ein anderer Firmenname
  2367.       gewählt werden.
  2368.  
  2369.       Bedeutung der Bits:
  2370.         b7 = 0  (TTL-Signale von Kassette; unbenutzt)
  2371.         b6 = 0  (0= Drucker bereit, 1 = BUSY)
  2372.         b5 = 1  (EXP-Signal)
  2373.         b4 = 1      (1 = VSYNC mit 50 Hertz, 0 = mit 60 Hertz;
  2374.                          im Emulator aber unbenutzt)
  2375.         b3,b2,b1 = 111
  2376.           Firmenname:
  2377.           Isp (000), Triumph(001), Saisho(010), Solavox(011),
  2378.           Awa(100), Schneider(101), Orion(110), Amstrad(111)
  2379.         b0 = 0      (VSYNC, wird automatisch vom Emulator gesetzt)
  2380.  
  2381.  
  2382.     BREAK_MASK = <Zahl>         (0xffff)
  2383.       Nur für Debugging-Zwecke.
  2384.       Einige Ereignisse unterbrechen die normale Emulation. Mit
  2385.       dieser Maske verbieten Sie solche Ereignisse.
  2386.       Nicht unüberlegt verändern !
  2387.       Lassen Sie alle Bits gesetzt, bis auf diejenigen, deren
  2388.       Ereignisse Sie verbieten wollen.
  2389.       b2 = 0 -> verbietet Anzeigen von Port-Fehlern (mit 0xfffb)
  2390.       b3 = 0 -> verbietet Funktionstasten (somit läuft die Emulation
  2391.                 für immer! Mit 0xfff7)
  2392.       Die Bedeutung der Bits kann sich in Zukunft ändern !
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.   7.6.2  Der parallele Adapter
  2400.   ----------------------------
  2401.  
  2402.     Zuerst einmal der Aufbau des Adapters, jetzt mit Funktionsweise:
  2403.  
  2404.     PC  D-SUB   Cent.   CPC             Funktion
  2405.     --------------------------------    ---------------------------
  2406.     GND    19 ---- 19   GND             GND
  2407.     BUSY   11 <--- 1    -STROBE         Synchro (Daten verfügbar)
  2408.     -ACK   10 <--- 8    D6              |
  2409.     PE     12 <--- 7    D5              | Daten
  2410.     SELECT 13 <--- 6    D4              |
  2411.     -ERROR 15 <--- 5    D3              |
  2412.     D0      2 ---> 11   BUSY            Synchro (empfangsbereit)
  2413.  
  2414.  
  2415.     Richtung CPC->PC
  2416.     ----------------
  2417.  
  2418.     Für diese Richtung ist der Adapter normalerweise gedacht. Im Prinzip
  2419.     funktioniert das Senden auf dem CPC genauso, wie das Ausdrucken auf
  2420.     einen Drucker. Wenn der PC Nicht-BUSY anlegt, legt der CPC ein
  2421.     Nibble (Teil eines Bytes auf 4 Bits) auf den Port, setzt STROBE als
  2422.     Zeichen, daß etwas da ist und löscht es danach wieder. Der PC braucht
  2423.     also nur BUSY zu löschen (mittels D0), auf STROBE zu warten (über BUSY)
  2424.     dann das Nibble übernehmen (über die Einabeleitungen Drucker->PC)
  2425.     und BUSY zu setzen.
  2426.     Frage: Warum kann man denn nicht 8 Bits auf einmal übertragen?
  2427.     Antwort:
  2428.     1. Der PC-Druckerport müßte auf Eingabe programmiert werden, das geht
  2429.        nicht mit jedem   und
  2430.     2. Der CPC hat nur einen 7-Bit Druckerport
  2431.  
  2432.  
  2433.     Richtung PC->CPC
  2434.     ----------------
  2435.  
  2436.     Ich habe mir gedacht, daß es auch möglich sein müßte, Daten in die
  2437.     andere Richtung zu verschicken. Leider hat der CPC am Druckerport
  2438.     nur ein einziges Eingangssignal, nämlich das BUSY-Signal. Es würde
  2439.     also nichts bringen, einen besseren Adapter für diese Richtung bauen
  2440.     zu wollen. Also kann man auch gleich den Adapter nehmen, den man schon
  2441.     hat, und ein geschicktes Protokoll entwickeln.
  2442.     Immerhin funktioniert eine serielle Schnittstelle auch nur mit einer
  2443.     Datenleitung für jede Richtung.
  2444.     Doch: Bei seriellen Schnittstellen wird die Synchronisation
  2445.     normalerweise mit einem Quarz erreicht. Es muß auf beiden Seiten exakt
  2446.     dieselbe Übertragungsrate eingestellt sein (z.B. 1200 Baud).
  2447.     Softwaremäßig ist das schlecht zu realisieren.
  2448.     Was tun?
  2449.     Die Idee ist, den Geschwindigkeitsvorteil des PC gegenüber dem CPC
  2450.     auszunutzen. Jedes Byte wird in 8 Bit zerlegt und seriell übertragen,
  2451.     indem der PC den Zustand der BUSY-Leitung richtig setzt.
  2452.     Während dieser 8 Bit gibt der CPC die Geschwindigkeit vor und der
  2453.     PC muß sich danach richten. Der CPC schreibt die Bit-Anforderung mit
  2454.     einem Assembler-Befehl. Der PC muß jetzt schnell reagieren, und
  2455.     die BUSY-Leitung entsprechend des nächsten Bits setzen, denn schon
  2456.     mit dem übernächsten Assembler-Befehl wird der CPC dieses lesen wollen.
  2457.     Damit nicht immer die Interrupts ausgeschaltet bleiben müssen,
  2458.     erfolgt zuvor für jedes Byte ein "Verbindungsaufbau". Der CPC sagt
  2459.     "Schick mir mal was rüber!" und der PC antwortet "Na gut, ich warte
  2460.     jetzt, bis Du was haben willst.", indem er das BUSY-Signal wechselt.
  2461.     Die ganze Geschichte ist durch Timer abgesichert, damit kein Computer
  2462.     hängt, weil er auf irgendein Signal wartet, was dummerweise nicht
  2463.     kommt. Sie können die Programme also immer durch ESC bzw CTRL-BREAK
  2464.     abbrechen.
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.   7.6.3  CPCTRANS
  2471.   ---------------
  2472.  
  2473.     Eine noch nicht erwähnte Option ist "/d 0" und "/d 1". Bei 1
  2474.     wird der Double-Step Modus gesetzt, d.h. 80-Spur-Laufwerke
  2475.     springen immer 2 Spuren weiter, wenn sie 40-Spur Disketten
  2476.     bearbeiten.  Die Option sollte unnötig sein, da CPCTRANS bei
  2477.     5.25" 360KB Formaten auf 80 Spur-Laufwerken automatisch
  2478.     Double-Step einschaltet.
  2479.  
  2480.     Normalerweise ist es ganz einfach, mit dem BIOS Sektoren zu
  2481.     lesen und zu schreiben. Leider ist das BIOS aber nicht in der Lage,
  2482.     B-Seiten von Disketten mit Kopfseite=0 zu verarbeiten.
  2483.     Deshalb mußte ich die FDC-Routinen selber programmieren,
  2484.     wobei der Floppy-Teil des MINIX-Source-Codes als Vorlage diente.
  2485.     Leider enthält der MINIX-Code einige Fehler, und das Timing
  2486.     wurde an den kritischen Stellen durch simple Warteschleifen realisiert,
  2487.     die vermutlich für einen 8086 Prozessor ausreichten.
  2488.  
  2489.  
  2490.  
  2491.  
  2492. 7.7  Aufbau einiger CPCEMU-Dateien
  2493. ==================================
  2494.  
  2495.  
  2496.   7.7.1  Disketten-Abbilder
  2497.   -------------------------
  2498.  
  2499.     Disketten-Abbilder bestehen aus einem 0x100-Byte langen
  2500.     Disketten-Informationsblock und für jede Spur aus einem
  2501.     0x100-Byte langen Spur-Informationsblock, an den sich die
  2502.     Daten der Spur (zu jedem Sektor) anschließen.
  2503.  
  2504.     Der Disketten-Informationsblock
  2505.     -------------------------------
  2506.     Byte (Hex):  Bedeutung:
  2507.     00 - 21      MV - CPCEMU Disk-File\r\nDisk-Info\r\n
  2508.                  (als Kennung nur "MV - CPC" erforderlich)
  2509.     22 - 2F      unbenutzt (0)
  2510.     30           Anzahl Spuren (40, 42, vielleicht 80)
  2511.     31           Anzahl Köpfe (1 oder 2)
  2512.     32 - 33      Spurgröße (einschließlich 0x100-Bytes Spur-Info)
  2513.                  Bei 9 Sektoren * 0x200 Bytes + 0x100 Byte Spur-Info
  2514.                  also 0x1300.
  2515.     34 - FF      unbenutzt (0)
  2516.  
  2517.     Der Spur-Informationsblock (für jede Spur)
  2518.     ------------------------------------------
  2519.     Byte (Hex):  Bedeutung:
  2520.     00 - 0C      Track-Info\r\n
  2521.     0D - 0F      unbenutzt (0)
  2522.     10           Spur-Nummer (0 bis Spuranzahl-1)
  2523.     11           Kopf-Nummer (0)
  2524.     12 - 13      unbenutzt (0)
  2525.     Format-Spur-Parameter:
  2526.     14           BPS (Bytes pro Sektor) (2 für 0x200 Bytes)
  2527.     15           SPT (Sektoren pro Spur) (9, max. 18 möglich)
  2528.     16           GAP#3 Format (Lücke beim Formatieren: 0x4E)
  2529.     17           Filling-Byte (Füllbyte beim Formatieren: 0xE5)
  2530.     Sektor-Information (jeweils für jeden Sektoren):
  2531.       18+i       Spurnummer     \
  2532.       19+i       Kopfnummer      | Sektor-ID-Informationen
  2533.       1A+i       Sektornummer    |
  2534.       1B+i       BPS            /
  2535.       1C+i       Status 1 Fehlercode (0)
  2536.       1D+i       Status 2 Fehlercode (0)
  2537.       1E+i,1F+i  unbenutzt (0)
  2538.  
  2539.     Anmerkungen:
  2540.     In der Reihenfolge der Sektor-ID's müssen nach der Spur-Info
  2541.     die Sektordaten kommen. Es dürfen keine Spuren, Sektoren
  2542.     ausgelassen werden.
  2543.     Bei doppelseitigen Formaten alternieren die Spuren, z.B.
  2544.     Spur 0 Kopf 0, Spur 0 Kopf 1, Spur 1 ...
  2545.     CPCTRANS dient zum Kopieren von CPC-Disketten in dieses Format.
  2546.  
  2547.  
  2548.   7.7.2  Snapshot-Dateien
  2549.   -----------------------
  2550.  
  2551.     Snapshot-Dateien bestehen aus einem 0x100-Byte Header mit
  2552.     angehängtem Speicherauszug.
  2553.  
  2554.     Der Snapshot Header:
  2555.     Byte (Hex):   Bedeutung:
  2556.     00 - 07       'MV - SNA' (als Kennung)
  2557.     08 - 0F       unbenutzt (0)
  2558.     10            Snapshot Version (2, früher 1)
  2559.     11 - 1A       Z80-Register  AF, BC, DE, HL, R, I
  2560.     1B - 1C       Z80-Flags  IFF0, IFF1 (0=disabled, 1=enabled)
  2561.     1D - 24       Z80-Register IX, IY, SP, PC
  2562.     25            Z80 Interrupt Modus IMD (0 - 2)
  2563.     26 - 2D       Z80-Register  AF', BC', DE', HL'
  2564.     2E            Gate Array: Ink-Nummer-Register
  2565.     2F - 3F       Gate Array: Ink-Wert-Register (0, 1, ..., 15, 16)
  2566.     40            Gate Array: Multi-Konfigurations-Register
  2567.     41            Gate Array: RAM-Konfigurations-Register
  2568.     42            CRTC: Adreß-Register
  2569.     43 - 54       CRTC: Daten-Register (0, 1, ..., 17)
  2570.     55            Upper ROM Nummer
  2571.     56 - 59       PIO: Port A, Port B, Port C, Port CTRL
  2572.     5A            PSG: Adreß-Register
  2573.     5B - 6A       PSG: Daten-Register (0, 1, ..., 15)
  2574.     6B - 6C       Speicherauszug-Größe (64K oder 128K)
  2575.     (die folgenden Parameter existieren erst ab Version 2.0 :)
  2576.     6D            CPC Typ, auf dem der Speicherauszug generiert wurde
  2577.                     (0=CPC 464, 1=CPC 664, 2=CPC 6128, 3 = unbekannt)
  2578.     6E            Interrupt-Nummer (0..5), der zuletzt aufgetretene
  2579.                     Interrupt während eines Bildaufbauzyklus.
  2580.     6F - 74       6 Multi-Modes, d.h. Bildschirmmodi (0..2) während der
  2581.                     Interrupts 0..5.
  2582.     75 - FF       unbenutzt (0), evtl. später für Emulator-Konfiguration
  2583.  
  2584.  
  2585.  
  2586.   7.7.3  AMSDOS-Header
  2587.   --------------------
  2588.  
  2589.     Byte (Hex):   Bedeutung:
  2590.     00            User (0 , mögliche Werte 0-15)
  2591.     01 - 0F       Dateiname+Endung (evtl. mit Nullen aufgefüllt)
  2592.     10            Blocknummer (0)
  2593.     11            Letzter-Block-Flag (0)
  2594.     12            Datei-Typ (0=BASIC, 1=geschütztes BASIC, 2=Binär,...)
  2595.     13 - 14       Blocklänge (0)
  2596.     15 - 16       Ladeadresse (0-FFFF)
  2597.     17            Erster-Block-Flag (0)
  2598.     18 - 19       Logische Länge (0-FFFF)
  2599.     1A - 1B       Einsprungadresse (0-FFFF)
  2600.     1C - 3F       Frei für den Benutzer (0)
  2601.     40 - 42       wirkliche Dateilänge (1-FFFFFF)
  2602.     43 - 44       Prüfsumme über Bytes 00-42
  2603.     45 - 7F       unbenutzt (zufällige Werte aus dem Sektorpuffer)
  2604.  
  2605.     Anmerkungen:
  2606.     Der Header wird jeder nicht-ASCII-Datei vorangestellt.
  2607.     Er wird anhand der Prüfsumme erkannt.
  2608.     Bytes 00 - 3F stammen aus der "Kassettenzeit", in der Dateien
  2609.     in Blöcke aufgeteilt wurden.
  2610.     Unbedingt notwendig sind die Bytes 12, 15-16, 1A-1B, 40-42, 43-44 .
  2611.  
  2612.  
  2613.  
  2614.   7.7.4  Poke-Datenbank:
  2615.   ----------------------
  2616.  
  2617.   Ein Eintrag (ein Poke, eine Zeile) besteht aus 7 Teilen, jeder Teil in
  2618.   Anführungsstrichen eingeschlossen und mittels Komma abgetrennt.
  2619.   1. Folgenummer (1 Zeichen 0-F):
  2620.      Der erste Eintrag besitzt die Nummer 0 und kann ausgewählt werden.
  2621.      Falls ein Programm mehrere Pokes gleichzeitig benötigt, müssen die
  2622.      Folgeeinträge mit 1,2,... numeriert werden.
  2623.   2. Programmname (bis 20 Zeichen)
  2624.   3. Beschreibung (bis 20 Zeichen)
  2625.   4. Typ (1 Zeichen):
  2626.      Für was für eine Programmversion der Poke ist ('t'=Tape, 'd'=disk,
  2627.      'a'=all), wird im Moment noch ignoriert.
  2628.   5. Adresse des Pokes (4 Zeichen, hexadezimal):
  2629.      Die Speicherstelle, die geändert werden soll.
  2630.   6. Byte für den Poke (2 Zeichen, hexadezimal oder '??'):
  2631.      Bei '??' soll der Benutzer einen Wert eingeben, z.B. gewünschte
  2632.      Anzahl der Leben.
  2633.   7. Altes Byte (2 Zeichen, hexadezimal oder '??'):
  2634.      Dies ermöglicht festzustellen, ob der Poke korrekt eingesetzt werden
  2635.      kann. Falls das Byte an der Adresse damit nicht übereinstimmt, wird
  2636.      eine Warnung ausgegeben. Bei '??' findet keine Überprüfung statt.
  2637.  
  2638.   Beispiel:
  2639.     "0","Devils Crown","inf oxygen","t","863b","00","??"
  2640.     "1","","","t","863c","00","??"
  2641.     "2","","","t","863d","00","??"
  2642.  
  2643.     Der "unendliche-Sauerstoff"-Poke für das Programm "Devils Crown"
  2644.     besteht aus drei Teilen. Alte Werte sind nicht bekannt, deshalb ist
  2645.     altes Byte='??'.  Name und Beschreibung brauchen in Folgeeinträgen
  2646.     nicht wiederholt zu werden.
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652. 7.8  Interne History
  2653. ====================
  2654.  
  2655.  
  2656.   Z80EMU (nur ein Z80 mit kaum CPC)
  2657.   ---------------------------------
  2658.  
  2659.   - v1.0 (1991)
  2660.     erste Version in Pascal (nur eine Z80-Emulation)
  2661.   - v1.2 (12.8.1992 - 16.8.1992)
  2662.     erste Version in C (mit TPTC umgewandelt). Z80-Probleme: P-Flag bei
  2663.     ADD HL..., DAA, ldir; Z-Flag bei BIT... Z,S-Flags bei Rotate; ROMs
  2664.     möglich
  2665.   - v1.3 (18.8.1992)
  2666.     Port-Adressierung im Lo-Byte war falsch. Neues Speichermanagement
  2667.     (128 KB RAM, 32 KB ROM)
  2668.   - v2.0 (18.8.1992 - 22.8.1992)
  2669.     Implementierung der COCPU-Technik, um Fehler zu finden (mit separatem
  2670.     Speicher für die COCPU). Z80-Probleme: H-Flag gesetzt nach AND... ;
  2671.     CPI... setzt N-Flag. Bildschirmfarben Farben Blau und Gelb (vorher
  2672.     schwarzweiß)
  2673.   - v2.1 (25.8.1992 - 27.8.1992)
  2674.     Alle Pens, Farben des CPCs in allen Modi; nur auf den sichtbaren
  2675.     Bildschirm wird geschrieben. COCPU-Fehler: Alle (ix+zz) mit negativer
  2676.     Distanz waren falsch! Vergessen, "signed char" zu nehmen.
  2677.   - v2.2 (30.8.1992 - 3.9.1992)
  2678.     Neue Keyboard-Routine, Farbänderung ohne Flackern (Warten auf HSYNC).
  2679.     Einführung eines "Not-ROM" mit COPYMATE.
  2680.   - v2.3 (15.9.1992 - 19.9.1992)
  2681.     FDC-Emulation zum Laden von Sektoren. COCPU-Fehler: LD XH... war LD H...
  2682.   - v2.3b (19.9.1992)
  2683.     Screen-Update nur auf Blöcken 0..3 (nicht 4..7); Port FCxx gleich wie
  2684.     FBxx (für CP/M Plus). Da wußte ich noch nicht, daß OUTI... das
  2685.     B-Register pre-dekrementiert.
  2686.   - v2.4 test (25.10.1992)
  2687.     Nur R-Register-Emulation, falls gewünscht (per "DEFINE"); Screen-Update
  2688.     jetzt jeden n-ten Interrupt und nicht für jedes Byte einzeln, was in den
  2689.     Speicher geschrieben wird. (Noch sehr langsam, da in C). Neue
  2690.     Speicherverwaltung mit Blöcken nur ab Segmentstart.
  2691.   - v2.5 test (31.10.1992)
  2692.     Geänderte Speicherzuweisung. Endlich Hardware-Scrolling und verschiedene
  2693.     Bildschirmgrößen möglich.
  2694.   - v2.6 test (5.11.1992)
  2695.     Neue Keyboard-Routine von Arnt Gulbrandsen, endlich alle Tasten
  2696.     erreichbar; Screen-Update in Assembler.
  2697.   - v2.7 test
  2698.     Versucht, die schnelle Emulation von Jürgen Weber einzubinden, klappt
  2699.     noch nicht.
  2700.   - v2.8
  2701.     Verbesserter Screen-Update: Nur Bereiche, die sich verändert haben,
  2702.     werden auf den Bildschirm gebracht.
  2703.   - v2.9
  2704.     Timer-Handler mit 300 Interrupts. Fast-Emulation läuft, wenn kein ROM
  2705.     (Banking) benötigt wird.
  2706.  
  2707.   CPCEMU (endlich ein CPC)
  2708.   ------------------------
  2709.   - v0.2 (23.12.1992), Nachfolger von Z80EMU v2.9
  2710.     Nach nahezu 4 Stunden mit dem Turbo-Debugger endlich den Grund gefunden,
  2711.     warum sich die fast-Emulation aufhängte: ES anstatt DS gepushed.
  2712.   - v0.3 (28.12.1992 - 29.12.1992)
  2713.     N-Flag bei INI,OUTI setzen. CPI im fast-Z80 setzte falsche Flags. RL(HL)
  2714.     benutzte Read-Segment(DS) anstatt Write-Segment(ES). LD A,R produziert
  2715.     jetzt Zufallszahlen; Alle Kassettenroutinen bis auf CASSETTE IN CHAR.
  2716.   - v0.4 (1.1.1993)
  2717.     IN A,(n): A nach b8..b15 (anstatt B); RAM-Konfiguration 0xc3: 0,3,2,7
  2718.     (für CP/M Plus). KC-Compact (ein CPC-Kompatibler aus der ehem.DDR)
  2719.     benutzt Port EE00 - EE3D, nur wofür?
  2720.   - v0.5 (28.1.1993 - 8.2.1993)
  2721.     INIR,... R-Register-Erhöhung abhängig von B, nicht von BC. Endlich
  2722.     CASSETTE IN CHAR (falscher Patch beim CPC 6128 eingetragen).
  2723.   - v0.6 (23.3.1993 - 24.5.1993)
  2724.     Ein Amerikaner hat Jürgen darauf aufmerksam gemacht, daß die OUTI-
  2725.     Befehle das B-Register pre-dekrementieren! C-Teile jetzt auch im
  2726.     386er-Code (mit Borland C++ v3.1) Disetten-Abbilder jetzt mit Endung
  2727.     ".DSK". CPCREAD.PAS korrigiert (vergessen, Kopfseite mit 0 zu
  2728.     initialisieren) und in CPCREAD.C umgewandelt. PIO-8255-PORT-Adressierung
  2729.     flexibilisiert (kann auch lesen, wenn Port auf Ausgabe geschaltet ist...)
  2730.   - v0.7 (26.7.1993 - 29.8.1993) (inoffiziell)
  2731.     Source völlig überarbeitet, modularisiert. Konfigurationsdatei
  2732.     eingeführt, jetzt mehrere ROMs möglich. Änderung des Firmennamens von
  2733.     Schneider auf Amstrad. (Können Sie jetzt selber einstellen.) Fehler im
  2734.     RAM-Banking beseitigt. Neue Dokumentation in Deutsch.
  2735.   - v0.8 (30.8.1993 - 9.9.1993)
  2736.     Slow-Emulation: Parity-Befehle durch Tabelle nicht nur für die Parität
  2737.     beschleunigt. Z80: ED xx mit illegalem xx wird ignoriert. Neue
  2738.     Dokumentation jetzt auch in Englisch.
  2739.   - v0.8a (10.9.1993 - 15.9.1993)
  2740.     Fataler Fehler in der Fast-Emulation: Wenn ein DD CB xx - Befehl
  2741.     ausgeführt wurde und gerade ein Interrupt auftrat, wurde der Befehl
  2742.     ignoriert!
  2743.   - v0.8b (16.9.1993 - 21.9.1993)
  2744.     "real"-VSYNC eingebaut, falls "VSYNC_CT" = 0. PIO Port A Problem
  2745.     korrigiert: OUT &F400,xx mit Port A im Eingabemodus wurde ignoriert.
  2746.     Neue Joystickroutine von Martin Zacho.
  2747.   - v0.8c (22.9.1993 - 13.12.1993)
  2748.     Dokumentation mit "ispell" überprüft. Emulation startete nicht, falls
  2749.     "USE_JOYSTICK=YES" und kein Joystick angeschlossen war (PUSH AX an
  2750.     falscher Stelle). Slow-Emulation: DAA korrigiert (Klammern fehlten seit
  2751.     v0.8). Falscher Patch für CPC 664 in der Interrupt-Routine. Dieser Patch
  2752.     ersetzte EI durch NOP, um das EI-Problem zu umgehen (Interrupts erst
  2753.     einen Befehl später erlauben). Jetzt für alle CPCs.
  2754.   - v0.8d (14.12.1993 - 29.12.1993)
  2755.     FDC-Emulation für doppelseitige Formate umgeschrieben. CPCTRANS ersetzt
  2756.     altes CPCREAD und erlaubt Lesen von VORTEX-Disketten mit dem Patch
  2757.     720KB.COM. Außerdem können Disketten-Abbilder jetzt auf Diskette
  2758.     zurückgeschrieben werden. Neues Datei-Auswahl bei F3; einige Port-
  2759.     Adressen Aliases eingeführt, z.B. &7000 - &7f00, um das Gate Array
  2760.     anzusprechen, &0c00,&1c00,&2c00,&3c00,&bc00 für den CRTC. R-Register
  2761.     Emulation eingeschaltet.
  2762.   - v0.9 alpha (30.12.1993 - 20.1.1994)
  2763.     EMS Speichernutzung möglich durch spezielle EMS/UMB-Konfiguration.
  2764.     Konfigurationsdatei um Binärzahlen erweitert. RAM-Banking Adressierung
  2765.     korrigiert: Der Emulator akzeptierte &d0-&ff als &c0-&c7. Jetzt bis zu
  2766.     576 KB RAM mit EMS.
  2767.   - v0.9b (21.1.1994 - 31.1.1994)
  2768.     EMS-Benutzung vereinfacht durch erweitertes EMS (oder LIM EMS 4.0) mit
  2769.     mehr als 4 physikalischen EMS Seiten. Dateiauswahl jetzt auch bei 'l'
  2770.     (Debug Menü), RUN" .
  2771.   - v0.9c (1.2.1994 - 29.4.1994)
  2772.     Bißchen schrecklicher PC-Lautsprecher Sound (Ausschalten mit F4).
  2773.     Dateiauswahl auch bei 'v'; korrigierte englische Dokumentation;
  2774.     Soundblaster-Sound (noch verbesserungswürdig); neues CPCTRANS mit
  2775.     Kommandozeilen-Parameter und direktem FDC-Zugriff; paralleler Adapter
  2776.     getestet und die Software verbessert. Fast-Z80: inc/dec (hl), (ix+n)
  2777.     für RAM unter ROM korrigiert. Jetzt mit Bild hoch/runter übergroße
  2778.     Bildschirme verschieben; Teil von Overscan-Bildschirmen wird angezeigt.
  2779.     Jetzt möglich: 64K-'Snapshots'.
  2780.   - v0.9d (30.4.1994 - 12.5.1994)
  2781.     Interrupts während DI werden nicht mehr vergessen, und sie werden nicht
  2782.     mehr direkt nach einem EI-Befehl erlaubt. Neue Farb-Funktionen: ohne
  2783.     Schnee unter OS/2. Fast-Z80: beschleunigtes Code-Holen.
  2784.  
  2785.   - v1.0 (13.5.1994 - 20.5.1994)
  2786.     Verbesserter Screen-Part: Jetzt auch andere Zeichengrößen von 1 bis 8
  2787.     möglich. Dateiauswahl auch bei SAVE" , Schnellauswahl durch Drücken von
  2788.     Anfangsbuchstaben. Verbessertes CPCTRANS mit Verify-Option. Neues
  2789.     Setup-Menü, wenn Sie F7 drücken. Darin können Sie z.B. Farbflimmern
  2790.     unterdrücken.
  2791.  
  2792.   - v1.0a (21.5.1994 - 9.6.1994)
  2793.     Setup-Menü verbessert: jetzt neben den Cursor-Tasten auch direkte
  2794.     Eingaben möglich. Nahezu deutsche Tastenbelegung, einfache
  2795.     Verzögerungsoption (delay). Kein "Müll" mehr bei verkleinertem
  2796.     Bildschirm (d.h. die Teile vom größeren Bildschirm werden korrekt
  2797.     gelöscht). Fast-Z80-Teil verbessert: schnellere RRA,RLA, ..., schnellere
  2798.     CP xx Befehle. Weitere illegale Befehle eingefügt (ED xx). Außerdem
  2799.     fehlten die undokumentierten Befehle LD D,XH und LD YL,YH (im
  2800.     CoZ80-Modus aufgefallen)! CPDR,CPIR mit BC=0 korrigert (0 heißt nämlich
  2801.     auf einem Z80 65536, aber es ist 0 bei dem 80x86-REPE-Präfix!).
  2802.     DAA-Flags korrigiert. Neue Software für den parallelen Adapter: Jetzt
  2803.     auch Senden zum CPC möglich. Dank an Bernd Schmidt, der anmerkte, daß
  2804.     ein Interrupt das R-Register um 1 erhöht. Außerdem konnte mit seiner
  2805.     Hilfe die Emulation des PIO-Port-C Registers verbessert werden.
  2806.  
  2807.   - v1.1a (10.6.1994 - 16.8.1994)
  2808.     Eine neue Ära von CPCEMU hat begonnen: Amstrad hat die ROMs freigegeben!
  2809.     Ein guter Anlaß, die Dokumentation umzuschreiben... Änderungen an der
  2810.     Konfigurationsdatei: ROM_BLOCKS -> ROM_BLOCK, DISC_BYPASS ->
  2811.     DISABLE_ADOS, keine Leerzeichen mehr vor und nach '=' nötig. Änderungen
  2812.     am Sound-Teil, Grafik-Teil: vertikale Größe durch VGA-CRTC.
  2813.     Joystick-Kalibrierung jetzt im Setup-Menü, TAPE-Routinen beim Speichern
  2814.     verbessert. FDC-Teil verbessert: jetzt läuft auch COPYMATE. Wechseln von
  2815.     Nicht-DATA-Disketten ohne "Read Error" möglich (es wurde immer Spur 0
  2816.     gesucht). Eine weitere Verzögerung in CPCTRANS, ich hoffe, Sie müssen
  2817.     jetzt nicht mehr die Turbo-Taste betätigen; Formatieren von Disketten-
  2818.     Abbildern. Nochmal PIO-Port-C korrigiert: er wird nach OUT &F700,n
  2819.     gelöscht. Größere Änderungen an der Konfigurations-Datei: Jetzt mit
  2820.     bedingter Konfiguration (#IFCPC, #ENDIF). Einige Schlüsselwörter
  2821.     verändert (VSYNC_CT -> /, DISC_PATH -> /, SNAP_PATH -> SNAPSHOT, DRV_A ->
  2822.     DRIVE_A, DRV_B -> DRIVE_B).
  2823.     Laden von Programmen aus ZIP-Archiven. Sie brauchen PKUNZIP dazu.
  2824.  
  2825.   - v1.1b (17.8.1994 - 2.9.1994)
  2826.     Multi-Modes eingeführt, d.h. verschiedene Bildschirmmodi gleichzeitig.
  2827.     Dazu wird der Bildschirmaufbau in bis zu 6 Teile zerlegt, es erfolgt also
  2828.     eine teilweise Auffrischung bei jedem Interrupt. Klappt noch nicht immer.
  2829.     Jetzt möglich: 128K Snapshots, zusätzlich für Multi-Modes erweitert.
  2830.     CPCPARA verbessert: jetzt können Sie Binärdateien mit Header
  2831.     kopieren. Vollkommen neugeschriebene, hoffentlich besser verständliche
  2832.     Dokumentation. Erkennung des CPC 6128 Plus eingebaut. Noch mehr
  2833.     Port-Aliases eingebaut.
  2834.  
  2835.   - v1.2 (3.9.1994 - )
  2836.     Diese Version wurde veröffentlicht. Es wurden hauptsächlich ein paar
  2837.     Änderungen an dem Hilfesystem vorgenommen.
  2838.  
  2839.   - v1.2a (27.9.1994 - )        (war verfügbar als UPD12A.ZIP)
  2840.     Datei-Auswahl: Nur die verfügbaren Laufwerke werde angezeigt.
  2841.     Und: Mit dem Treiber ANSI.SYS war der Hintergrund von Texten
  2842.     manchmal schwarz.
  2843.     TMP_PATH: Ein Laufwerk ohne Pfad angeben.
  2844.     DOS-Shell (F7): CPCEMU wird vorher ins XMS, EMS oder auf Festplatte
  2845.     ausgelagert, somit haben Sie viel Speicher im DOS-Shell. (Diese
  2846.     Neuerung wurde vom Public Domain Program SWAP300.ZIP von Marty Del
  2847.     Vecchio übernommen.)
  2848.     Bildschirm-Auffrischung konnte falsch sein, wenn die Bildschirmbreite
  2849.     nicht durch 4 teilbar war.
  2850.     Eine andere CPCEMU-Version für noch höhere Geschwindigkeit: C2.EXE.
  2851.     Diese Version benutzt eine andere Speicherverwaltung mit zwei
  2852.     64KB EMS-Fenstern für Lesen bzw. Schreiben. Aber es funktioniert
  2853.     nur mit EMS.
  2854.     Die ROMs sind auch (c) von Locomotive Software, nicht nur von Amstrad.
  2855.   - v1.2b (  )
  2856.     Auf Soundblaster Pro Karten wurde kein Stereo-Sound ausgegeben, obwohl
  2857.     es angezeigt wurde. Falls keine Soundblaster-Karte gefunden wurde,
  2858.     gab es überhaupt keinen Sound, bis USE_SB=NO geändert wurde.
  2859.     Schneller-Z80: Einige Wort-Zugriffe in Byte-Zugriffe umgeändert.
  2860.     Ist zwar ein bischen langsamer, aber der Computer hängt sich nicht bei
  2861.     jedem Zugriff an 0xffff auf.
  2862.     Schneller-Z80: Problem bei EI HALT DI korrigiert: Bei einem Interrupt
  2863.     wurde die Adresse von HALT 'gepushed' anstatt der von DI.
  2864.     Englische Dokumentation korrigiert.
  2865.     Verbessertes CPCPARA und PCPARA v1.1: Adapter-Test, wesentlich höhere
  2866.     Geschwindigkeit CPC->PC: Etwa 1600 Bytes pro Sekunde, von Diskette
  2867.     lesend! (486/66), Statistik. Jetzt kannst Du 16KB in 10 Sekunden
  2868.     übertragen! Dank an Klaus Weber, der anmerkte, das es zu langsam war.
  2869.     In PCPARA wurde nach jedem empfangenen Halbbyte mittels DELAY(1)
  2870.     eine Millisekunde gewartet. Dies ist überflüssig.
  2871.  
  2872.   - v1.2c (28.2.1995 - )        (war verfügbar als UPD12C.ZIP)
  2873.     CPCEMU umgeschrieben von C in C++. Dies erlaubt Inline-Funktionen
  2874.     und bessere Schnittstellen, um den Überblick behalten zu können.
  2875.  
  2876.   - v1.2d (16.3.1995 - )        (nur für Leser der 'mailing list')
  2877.     Schneller-Z80: Interne Änderungen, die unsichtbar für den Benutzer
  2878.     bleiben, außer einer kleinen Geschwindigkeitssteigerung. Alle Variablen
  2879.     werden jetzt im DATA-Segment anstatt im CODE-Segment gehalten.
  2880.     Endlich der unbedingt notwendige Modus für schnelle Computer eingeführt:
  2881.     'Realtime-CPC' (Auswählbar im Setup-Menüoder mit REALTIME=YES).
  2882.  
  2883.   - v1.3 (        )
  2884.     Poke-Datenbank zum einfachen 'Poken', französische Dokumentation,
  2885.     FDC-Format-Befehl (Re-formatieren von Disketten-Abbildern derselben
  2886.     Größe), neues Menüsystem mit Mausunterstützung (MOUSE=YES),
  2887.     Disketten-Abbilder mit read-only DOS Attribut einlegen (als read-only),
  2888.     Debug-Menuü: Suchfunktion ('find') eingebaut.
  2889.  
  2890.  
  2891.  
  2892.  
  2893.   CPCEMU wurde in C++ und Assembler geschrieben. Zum Kompilieren wurden
  2894.   Borland C 3.1 mit 386er Optimierung und TASM benutzt. Zur Fehlersuche
  2895.   habe ich den Turbo Debugger benutzt.
  2896.   Die Farben wurden mit dem Programm VGAMETER von J. Stephen Shattuck, Jr.
  2897.   ausgewählt, indem sie mit denen eines CPCs verglichen wurden, der an
  2898.   einen Scart-Fernseher angeschlossen war.
  2899.  
  2900.  
  2901.  
  2902. ------------------------------------------------------------------------
  2903.  
  2904.  
  2905.  
  2906. (Ab hier dürfen Sie wieder gefahrlos weiterlesen.)
  2907.  
  2908.  
  2909.  
  2910. Anhang
  2911. ≡≡≡≡≡≡
  2912.  
  2913.  
  2914.  
  2915. A.1  Glossar
  2916. ≡≡≡≡≡≡≡≡≡≡≡≡
  2917.  
  2918. Hier werden einige Computer-Fachbegriffe erläutert. Ich erhebe keinen
  2919. Anspruch auf Vollständigkeit oder präzise Definitionen. Die meisten
  2920. Begriffe sind im Blickwinkel des CPC erklärt.
  2921. Referenzen habe ich mit "»" markiert.
  2922.  
  2923.  
  2924. 386/33 (AT 386/33)
  2925.   Kurzbezeichnung für einen »PC AT mit 80386 Prozessor, der mit 33 MHz
  2926.   getaktet wird. Wegen der "hohen" »Taktfrequenz kann man davon
  2927.   ausgehen, daß es sich um einen 386DX mit echtem 32-Bit Datenbus handelt
  2928.   und nicht um die Sparversion 386SX mit einem 16-Bit Datenbus.
  2929.  
  2930. AMSDOS (Amstrad DOS)
  2931.   Von »Amstrad entwickeltes »DOS, speziell für die »CPC-Computer.
  2932.  
  2933. Amstrad
  2934.   Englischer Computerhersteller, der die »CPC-Computer entwickelt hat.
  2935.  
  2936. Archiv
  2937.   Archive sind Sammlungen von »Dateien.
  2938.   Auch: Eine Datei, in der mehrere andere Dateien enthalten sind.
  2939.   In »ZIP-Archiven werden die einzelnen Dateien vorher komprimiert (gepackt).
  2940.  
  2941. ASCII (Abkürzung für: American Standard Code of Information Interchange)
  2942.   Auf einem Computer werden alle Buchstaben, Ziffern und Sonderzeichen
  2943.   intern durch Zahlen repräsentiert. Die meisten Computer benutzen ASCII,
  2944.   bei dem der Buchstabe 'A' z.B. durch die Zahl 65 repräsentiert wird.
  2945.   »PC und »CPC benutzen auch ASCII. Im »Locomotive-BASIC läßt sich ein
  2946.   BASIC-Programm durch den Befehl SAVE"<Dateiname>",A in ASCII-Form
  2947.   abspeichern.
  2948.  
  2949. Basis-Adresse
  2950.   Diese müssen Sie bei vielen Programmen im »Setup festlegen, wenn Sie
  2951.   eine Soundkarte haben. CPCEMU findet diese Einstellung über die
  2952.   »Umgebungsvariable.
  2953.  
  2954. BASIC (Abkürzung für: beginners all purpose symbolic instruction code)
  2955.   Weitverbreitete und sehr einfach zu lernende Programmiersprache für
  2956.   Heim- und Personalcomputer. Früher wurde zu jedem Computer ein
  2957.   eigenes BASIC ausgeliefert, es gab also viele BASIC-Dialekte.
  2958.   Moderne BASIC-Dialekte wurden durch Elemente strukturierte Programmierung
  2959.   erweitert, so daß nicht mehr unbedingt "Spaghetticode" programmiert
  2960.   werden muß. Auch die »CPCs wurden mit einem BASIC ausgeliefert, dem
  2961.   sogenannten Locomotive-BASIC von der gleichnamigen Firma.
  2962.  
  2963. BASIC-Datei
  2964.   Siehe »Datei.
  2965.  
  2966. Batch-Datei (Stapel-Datei)
  2967.   Eine Batch-Datei enthält Befehle, die Sie normalerweise über die
  2968.   Tastatur eingeben. Rufen Sie eine solche Datei auf, werden die
  2969.   Befehle automatisch ausgeführt, als hätten Sie sie der Reihe nach
  2970.   eingegeben.
  2971.  
  2972. BBS
  2973.  
  2974. Bildschirmmodus, -modi
  2975.  
  2976. Binärdatei
  2977.   Siehe »Datei.
  2978.  
  2979. BLASTER-Umgebungsvariable
  2980.   Siehe »Umgebungsvariable.
  2981.  
  2982. C64
  2983.   Ein von der Firma Commodore entwickelter Heimcomputer mit 64KB »RAM,
  2984.   der sehr populär war. Vor allem durch das riesige Softwareangebot war
  2985.   er lange Zeit der Computer überhaupt. Später wurde er als Spielcomputer
  2986.   durch den Commodore AMIGA abgelöst, konnte sich aber trotz überholter
  2987.   Technik noch lange behaupten.
  2988.  
  2989. CPC (Abkürzung für: Colour Personal Computer)
  2990.   Ein von der Firma »Amstrad entwickelter Personalcomputer, den es in
  2991.   mehreren Modellen gab. Lesen Sie noch einmal die Einleitung.
  2992.  
  2993. CPC-Druckerport
  2994.   Die Centronics-Schnittstelle zum Anschluß eines Druckers an den »CPC.
  2995.   Leider haben die Entwickler des CPC hier zu viel gespart und die
  2996.   Schnittstelle nur mit 7 Datenbits ausgerüstet. Durch legen einer
  2997.   Drahtbrücke konnte sie aber leicht auf 8 Bit erweitert werden. Dazu
  2998.   wurde der Kassettenport mißbraucht, der beim Ausdrucken normalerweise
  2999.   nicht benötigt wird.
  3000.  
  3001. CPC-Firmware-Manual
  3002.   Ein Buch über den »CPC, wo vor allem die Betriebssystem-Einsprünge
  3003.   des »CPC erklärt werden.
  3004.  
  3005. CPC-Newsgruppe
  3006.   Eine Newsgruppe speziell für den »CPC. Sie heißt comp.os.amstrad.8bit
  3007.   und existiert seit August 1994.
  3008.  
  3009. CP/M Plus (Abkürzung für: control program for microcomputers)
  3010.   Betriebssystem der Firma Digital Research hauptsächlich für 8-Bit
  3011.   Mikrocomputer. Vor MS-DOS war es recht weit verbreitet.
  3012.   CP/M Plus (CP/M 3.0) war der Nachfolger von CP/M 2.2 und wurde mit dem
  3013.   »CPC 6128 ausgeliefert.
  3014.  
  3015. CTRL/SHIFT/ESC (control/shift/escape)
  3016.   "Dreifingergriff" auf dem »CPC, um einen Reset auszulösen. Er entspricht
  3017.   der Resetkombination CTRL/ALT/Entf. auf einem PC. Manche Programme
  3018.   blockieren jedoch diesen Reset, so daß Sie entweder den Computer
  3019.   ausschalten oder den Resetknopf drücken müssen. Die CPCs hatten keinen
  3020.   Resetknopf, man konnte sich aber leicht einen bauen. In CPCEMU ist die
  3021.   Funktionstaste F8 der Resetknopf.
  3022.  
  3023. Cursor (deutsch: Blinker)
  3024.   Zeichen auf dem Bildschirm, das die aktuelle Schreibposition anzeigt.
  3025.   Es gibt auch Cursortasten, mit denen man dieses Zeichen steuern kann.
  3026.  
  3027. D-Sub
  3028.   Eine spezielle Form von Steckverbindern
  3029.  
  3030. Datei (englisch: file)
  3031.   Sammlung von zusammengehörigen Daten. Auf dem »CPC gibt es Dateien
  3032.   verschiedenen Typs, z.B. die BASIC-Dateien mit BASIC-Programmen und
  3033.   normalerweise der Endung .BAS, ASCII-Dateien mit beliebigem Text
  3034.   und Binärdateien mit beliebigen Bytes und normalerweise der Endung .BIN.
  3035.   Binärdateien können Maschinenprogramme oder andere Daten enthalten.
  3036.  
  3037. Dk'tronics
  3038.   Englische Firma, die Hardware-Erweiterungen für den »CPC herausgebracht
  3039.   hat, unter anderem auch Speichererweiterungen.
  3040.  
  3041. DMA (Abkürzung für: Direct Memory Access)
  3042.   Direkter Zugriff auf den Arbeitsspeicher unter Umgehung des Prozessors.
  3043.   Wird z.B. bei Diskettenlaufwerken eingesetzt, aus Sparsamkeitsgründen
  3044.   beim »CPC aber nicht.
  3045.   Auch die Soundblaster-Karte kann einen DMA-Kanal benutzen, durch den sie
  3046.   die digitalen Sounddaten bekommt.
  3047.  
  3048. DOS (Abkürzung für: disk operating system)
  3049.   Diskettenorientiertes Betriebssystem. Z.B. AMSDOS, DRDOS, MS-DOS.
  3050.   Heute wird DOS als Synonym für MS-DOS verwendet.
  3051.  
  3052. DOS-Suchpfad
  3053.   Der Pfad durch die Unterverzeichnisse, den »DOS benutzt, um eine Datei
  3054.   zu finden. Er wird durch die Umgebungsvariable PATH festgelegt.
  3055.  
  3056. DRDOS
  3057.   MS-DOS-kompatibles »DOS der Firma Digital Research.
  3058.  
  3059. Email (Abkürzung für: Electronic Mail)
  3060.   Die Benutzung eines Computers als Briefkasten.
  3061.  
  3062. EMM (Abkürzung für: Expanded Memory Manager)
  3063.   Ähnlich wie »EMS.
  3064.  
  3065. EMS (Abkürzung für: Expanded Memory System)
  3066.   Speichererweiterung für den »PC, um die 640KB-Speichergrenze zu umgehen.
  3067.   Durch Banking werden in einem sogenannten EMS-Speicherfenster andere
  3068.   Speicherseiten eingeblendet.
  3069.   EMS wurde von den 3 Firmen Lotus Intel Microsoft entwickelt, deshalb
  3070.   heißt es auch LIM-EMS.
  3071.   Es gibt Hardware-, emuliertes und simuliertes EMS.
  3072.   Spezielle Speicherkarten stellen Hardware-EMS zur Verfügung. Es wurde
  3073.   hauptsächlich bei PC XT eingesetzt. Emuliertes EMS gibt es auf PC AT
  3074.   mit mindestens 80386 Prozessor, da der Paging-Mechanismus für das Banking
  3075.   benutzt wird. Diese Form bietet EMM386.EXE und sollte bei CPCEMU
  3076.   eingesetzt werden.
  3077.   Bei simuliertem EMS werden die Speicherseiten kopiert, was für CPCEMU
  3078.   zu langsam ist.
  3079.  
  3080. Emulator
  3081.   Das System, welches ein anderes »emuliert.
  3082.  
  3083. Emulieren
  3084.   Nachbildung eines Systems (aus Hard- und/oder Software) durch ein anderes.
  3085.   Das nachbildende System führt mit den gleichen Daten die gleichen
  3086.   Funktionen aus und kommt zu den gleichen Ergebnissen.
  3087.   CPCEMU emuliert einen »CPC auf einem »PC.
  3088.  
  3089. Formatdefinitionen
  3090.   Definitionen von Disketten-Formaten.
  3091.  
  3092. FTP (Abkürzung für: File Transfer Protocol)
  3093.   Ein Protokoll, mit dem man Dateien über Rechnernetze kopieren kann.
  3094.   Auch das Programm, das dieses Protokoll benutzt, heißt FTP.
  3095.  
  3096. Hardware
  3097.   Die Teile eines Computers, die "anfaßbar" sind, also z.B. angeschlossene
  3098.   Geräte wie Drucker, Monitor; intern der Prozessor und andere
  3099.   »Hardwarebausteine.
  3100.  
  3101. Hardwarebausteine
  3102.   Bausteine, Chips im Innern des Computers, z.b. Prozessor, Speicherchips,
  3103.   Diskettencontroller, Ein-/Ausgabebausteine, ...
  3104.   Im CPC gibt es neben dem Z80-Prozessor das Gate-Array, den CRTC 6845
  3105.   zur Bildschirmadressierung, den PIO 8255 zur Ein-/Ausgabe, den
  3106.   Soundchip PSG AY 3-8912, den Diskettencontroller FDC 765, ...
  3107.  
  3108. Hardware-Scrolling
  3109.   Verschieben des Bildschirminhalts, bei dem nicht der Speicherinhalt vom
  3110.   Prozessor kopiert werden muß, sondern wo ein Hardwarebaustein
  3111.   mithilft, so daß nur der Bildschirmstart verändert werden braucht.
  3112.  
  3113. Initialisieren
  3114.   Vorbelegen von Speicherzellen mit bestimmten Werten, damit z.B.
  3115.   Variablen einen definierten Inhalt haben.
  3116.  
  3117. Internet
  3118.   Ein Internet ist ein aus mehreren Teilnetzen bestehendes Rechnernetz.
  3119.   Hier ist *das* Internet gemeint, ein weltweites Netzwerk zur Kommunikation.
  3120.  
  3121. Interrupt (Unterbrechung)
  3122.   Falls der Prozessor ein Signal mit höherer Priorität bekommt, bricht
  3123.   er das laufende Programm ab und führt ein spezielles Interrupt-Programm
  3124.   aus. Nachdem dieses beendet ist, macht er mit dem unterbrochenen
  3125.   Programm weiter. Auf dem PC gibt es verschiedene Interrupt-Signale.
  3126.   diese werden ausgelöst, wenn z.B. eine Taste gedrückt wurde, ein
  3127.   Timer abgelaufen ist, Daten von der seriellen Schnittstelle empfangen
  3128.   werden (z.B. wenn die Maus bewegt wird), die Soundkarte mit dem
  3129.   Abspielen eines digitalen Klanges fertig ist und neue Daten braucht, ...
  3130.   Der Z80 im »CPC wird 300 mal pro Sekunde unterbrochen.
  3131.  
  3132. Interrupt-Nummer IRQ (IRQ=Abkürzung für: Interrupt Request)
  3133.   Auf dem PC haben verschiedene »Interrupts verschiedene Nummern.
  3134.   Der Tastaturinterrupt hat z.B. die Nummer 9, der Timer-Interrupt die
  3135.   Nummer 8. Wenn Sie eine Taste drücken, stellt die Tastatur eine
  3136.   Interrupt-Anforderung (IRQ), damit der Prozessor die Tastennummer
  3137.   abholt.
  3138.  
  3139. Jumper-Box
  3140.   Eine Adapter-Box zum Stecken beliebiger Verbindungen mittels Drahtbrücken
  3141.   zwischen zwei Anschlüssen. Die Drahtbrücken müssen festgelötet werden.
  3142.   Siehe auch »Wiring-Box.
  3143.  
  3144. Keyboard-Handler
  3145.   Dieses Programm wird aufgerufen, wenn Sie eine Taste drücken und
  3146.   ein »Interrupt generiert wurde.
  3147.  
  3148. Kommandozeilen-Parameter
  3149.   Parameter, die Sie in der Kommandozeile zusammen mit dem Dateinamen
  3150.   angeben.
  3151.  
  3152. Konfiguration
  3153.   Hier: Ein Programm an seine Bedürfnisse anpassen.
  3154.   Wie im »Setup können Sie dies auch in der Konfigurations-Datei tun.
  3155.  
  3156. LIM-Standard (Abkürzung für: Lotus Intel Microsoft)
  3157.   Die von Lotus Intel Microsoft entwickelte Speichererweiterung mit
  3158.   der Abkürzung »EMS.
  3159.  
  3160. Locomotive
  3161.   Englische Firma, die das »BASIC der »CPCs entwickelt hat.
  3162.  
  3163. Mailing-List
  3164.   Ein Service von mir, bei dem ich Ihre E-Mail-Adresse in einer Liste
  3165.   aufnehme, so daß ich Sie über Neuigkeiten informieren kann. Ich
  3166.   verschicke dann die Neuigkeit an alle Teilnehmer, die auf der
  3167.   Liste stehen.
  3168.  
  3169. Microchannel
  3170.   Spezielle Bus-Architektur.
  3171.  
  3172. MS-DOS (Abkürzung für: Microsoft Disk Operating System)
  3173.   Ein Betriebssystem, das von der amerikanischen Firma Microsoft für
  3174.   16-Bit-Prozessoren (8086) entwickelt wurde. Es ist das erfolgreichste
  3175.   Betriebssystem für den PC und wird auch immer noch auf den 32-Bit-
  3176.   Prozessoren 80386 und 80486 eingesetzt.
  3177.  
  3178. Multi-Modes
  3179.   Programmiertechnik, bei der der Bildschirmmodus während des Bildaufbaus
  3180.   geändert wird. Auf dem »CPC entstehen Zonen, in denen man in manchen
  3181.   Bereichen hohe Auflösung mit wenigen Farben und in anderen Bereichen
  3182.   niedrige Auflösung mit vielen Farben hat.
  3183.  
  3184. Multiface II (Abkürzung für: Multipurpose Interface)
  3185.   Eine Hardwareerweiterung für den CPC, die es erlaubt, Programme zu
  3186.   jeder Zeit anzuhalten, zu analysieren und abzuspeichern.
  3187.   Es wurde von der englischen Firma Romantic Robot entwickelt.
  3188.  
  3189. OS (Abkürzung für: Operating System, deutsch: Betriebssystem)
  3190.   Ein Programm, was man braucht, um einen Computer zu benutzen.
  3191.   Es bietet grundlegende Funktionen für Anwendungsprogramme. Neue
  3192.   Betriebssysteme erlegigen z.B. so komplizierte Aufgaben wie
  3193.   Scheduling (Rechenzeit-Zuteilung) in Multitasking-Systemen, ...
  3194.  
  3195. OS/2 DOS-Box
  3196.   Ein Fenster unter dem 32-Bit Betriebssystem OS/2 von IBM, in dem Sie
  3197.   »DOS-Programme starten können. Die sogenannte DOS-Kompatibilitäts-Box.
  3198.  
  3199. Overscan
  3200.   Der Rahmen um die beschreibbare Fläche auf dem Bildschirm.
  3201.   Auf dem PC ist er ziemlich schmal, es läßt sich aber die Randfarbe
  3202.   ändern, z.B. in CPCEMU durch 'BORDER 10'. Auf dem CPC ist der Rahmen
  3203.   ziemlich breit, so daß man nach Möglichkeiten untersucht hat, auch
  3204.   diesen Rand zu benutzen. Durch einen Programmiertrick ist es möglich,
  3205.   den gesamten Bildschirm zu beschreiben. Auch diese Programmiertechnik
  3206.   wird meistens mit Overscan bezeichnet.
  3207.  
  3208. Parameter
  3209.   Variable mit einer festen Bedeutung, die über den Programmablauf
  3210.   entscheidet.
  3211.  
  3212. PC (Abkürzung für: Personal Computer)
  3213.   Computer mit einem Mikroprozessor als Prozessor. Meistens als Synonym
  3214.   für den IBM-PC mit 8086 oder 8088 Prozessor.
  3215.   PC AT (advanced technology) sind Computer mit 80286, 80386 oder 80486
  3216.   als Prozessor.
  3217.  
  3218. PEEKs und POKEs:
  3219.   »BASIC-Befehle, um Speicherstellen auszulesen 'PEEK(<Adresse>)' oder
  3220.   zu verändern 'POKE <Adresse>,<Wert>'. Programme mit vielen PEEKs
  3221.   und POKEs sind kaum zu verstehen, sind aber manchmal notwendig,
  3222.   um die Beschränkungen des BASIC zu durchbrechen, besonders wenn
  3223.   das BASIC nicht so umfangreich ist.
  3224.  
  3225. PKUNZIP
  3226.   Programm der Firma PK-Software zum Entpacken von »ZIP-Dateien.
  3227.  
  3228. RAM (Abkürzung für: Random Access Memory, also Schreib- ,Lesespeicher)
  3229.   Speicherbaustein. Arbeitsspeicher des Computers.
  3230.   Die CPC-Computer haben 64KB RAM (Kilo-Bytes) oder 128 KB. Durch
  3231.   Hardwareerweiterungen anderer Firmen konnten sie auf bis zu 576 KB RAM
  3232.   erweitert werden.
  3233.  
  3234. ROM (Abkürzung für: read-only-memory, deutsch: Nur-Lese-Speicher)
  3235.   Speicherbaustein. Speicher, der vom Prozessor nur gelesen aber nicht
  3236.   verändert werden kann. Nach dem Einschalten eines Computers sofort
  3237.   vorhanden. Die »CPC-Computer haben z.B. 16KB ROM für das »OS,
  3238.   16KB für das »BASIC und 16KB für das »AMSDOS.
  3239.  
  3240. ROM-Abbild
  3241.   Datei, in denen sich der Inhalt eines »ROM befindet. Wenn Sie ein
  3242.   ROM auslesen und in einer Datei abspeichern, dann haben Sie ein
  3243.   ROM-Abbild.
  3244.  
  3245. RS-232
  3246.   Serielle »Schnittstelle zum Anschluß von Bildschirmen und Druckern an den
  3247.   Computer (RS 232 C).
  3248.  
  3249. Schneider
  3250.   Deutscher Unterhaltungselektronik-Hersteller, der die CPCs in Deutschland
  3251.   vertrieben hat.
  3252.  
  3253. Schnittstelle (englisch: Interface)
  3254.   Anschlußstelle eines Computers zu einem Gerät oder eines Programme zu
  3255.   einem anderen Programm. Es gibt also Hard- und Software-Schnittstellen.
  3256.   Die sogenannte Centronics-Schnittstelle ist eine parallele Schnittstelle,
  3257.   bei der die Bytes parallel, d.h. nebeneinander übertragen werden.
  3258.   Bei einer seriellen Schnittstelle müssen die Bytes Bit für Bit nacheinander
  3259.   übertragen werden.
  3260.  
  3261. Setup (deutsch "aufsetzen")
  3262.   Darin werden verschiedene Festlegungen gemacht, die den Programmablauf
  3263.   beeinflussen, z.B. Angabe der Soundkarte, ob Sie einen Joystick benutzen
  3264.   wollen, ...
  3265.  
  3266. SIMTEL
  3267.   Ein großes Software-Archiv in den USA.
  3268.   Das SimTel-Software Archiv wird von "Coast to Coast Telecommunications,
  3269.   Inc. (CCT)" auf einem ihrer Rechner im Internet als "SimTel.Coast.NET"
  3270.   unterhalten. Dieses Archiv wird regelmäßig zu anderen Orten kopiert
  3271.   (mirrored). Eine Kopie (mirror=engl. Spiegel) befindet sich in der
  3272.   "Oakland University", im Internet als "OAK.Oakland.Edu". Natürlich gibt
  3273.   es auch in Deutschland SimTel-"mirrors", z.B. "ftp.uni-paderborn.de".
  3274.  
  3275. Snapshots (deutsch: Schnappschuß)
  3276.   Ein Speicherauszug erweitert um Zustände der »Hardwarebausteine.
  3277.   Er enthält eine komplette momentane Zustandsbeschreibung des Computers.
  3278.   Wenn der Snapshot geladen wird, wird der Computer in genau diesen
  3279.   Zustand zurückversetzt und macht dort weiter, wo der Snapshot
  3280.   erstellt wurde. Somit ist es ähnlich einem richtigen Schnappschuß,
  3281.   nur von Innern des Computers.
  3282.  
  3283. Software
  3284.   Die Programme bei einem Computersystem.
  3285.  
  3286. Soundblaster
  3287.   Die Soundkarte der Firma Creative Labs.
  3288.  
  3289. Spectrum
  3290.   Der Sinclair Spectrum ist ein Homecomputer, der von der Firma Sinclair
  3291.   entworfen wurde.
  3292.  
  3293. Taktfrequenz
  3294.   Takt, mit dem der Prozessor versorgt wird. Er bestimmt wesentlich die
  3295.   Geschwindigkeit des Prozessors. Heutige 486DX2/66 Prozessoren werden
  3296.   z.B. intern mit 66 MHz getaktet.
  3297.   Der Z80A im »CPC wird mit 4 MHz getaktet, wovon effektiv 3.3 MHz
  3298.   übrigbleiben, weil er immer regelmäßig auf die Bildschirmauffrischung
  3299.   warten muß.
  3300.  
  3301. Turbo-Pascal Compiler
  3302.   Pascal ist eine höhere Programmiersprache, die strukturiertes
  3303.   Programmieren fördert und heute an vielen Schulen eingesetzt wird.
  3304.   Wenn man von Pascal redet, meint man meistens Turbo-Pascal, obwohl
  3305.   dieses nur ein erweitertes Pascal der Firma Borland ist. Der Turbo-Pascal
  3306.   Compiler ist besonders schnell, da er die Übersetzung in
  3307.   Maschinensprache in einem Durchgang erledigt.
  3308.  
  3309. Utility
  3310.   Nützliches Hilfsprogramm.
  3311.  
  3312. VGA (Abkürzung für: Video Graphics Array)
  3313.   Grafikstandard auf dem PC. Nachfolger von CGA (Colour Graphics
  3314.   Adapter), MCGA (Multi Colour Graphics Adapter) und EGA (Enhanced
  3315.   Graphics Adapter). Wurde zu SVGA (Super-VGA) mit noch höheren Auflösungen
  3316.   erweitert.
  3317.  
  3318. VGA-BIOS (Abkürzung für: VGA Basic Input Output Operating System)
  3319.   Das Betriebssystem für die »VGA-Grafikkarte
  3320.  
  3321. Windows (deutsch: "Fensters"?)
  3322.   Ein Betriebssystem-Aufsatz für »DOS.
  3323.  
  3324. Wiring-Box (deutsch: Kabelbox)
  3325.   Ein Adapter mit zwei Steckern, zwischen denen mittels Drahtbrücken
  3326.   verschiedene Verbindungen hergestellt werden können.
  3327.   Im Gegensatz zur Wiring-Box müssen bei einer »Jumper-Box die
  3328.   Drahtbrücken festgelötet werden.
  3329.  
  3330. Z80
  3331.   Ein von der Firma Zilog entwickelter 8-Bit Prozessor. Ist ein Ableger
  3332.   von Intels 8080 und war sehr weit verbreitet.
  3333.   Im »CPC ist der Z80A eingebaut, der mit einer »Taktfrequenz von 4 MHz
  3334.   arbeitet.
  3335.  
  3336. Z80-Befehle
  3337.   Maschinenbefehle, die der »Z80 (-Prozessor) versteht. Eigentlich sind das
  3338.   nur Zahlenfolgen, um sich die Befehle besser merken zu können, wurden
  3339.   sogenannte Mnemonics eingeführt, die von einem Assembler in
  3340.   Binärcode übersetzt werden. Der Befehl "LD A,B" lädt z.B. Register A
  3341.   mit dem Inhalt von Register B und wird mit dem Code 0x78 übersetzt.
  3342.  
  3343. Zahlendarstellung (bei Stellenwertsystemen)
  3344.   Je nach gewählter Basis gibt es verschiedene Darstellungen für eine Zahl.
  3345.   Am bekanntesten ist die dezimale Zahlendarstellung mit der Basis 10
  3346.   und den Ziffern 0..9.
  3347.   Computer verwenden die binäre Darstellung (Basis 2) mit den Ziffern 0
  3348.   und 1. Bei Programmieren beliebt ist die hexadezimale Darstellung
  3349.   zur Basis 16, weil 16 eine Potenz von 2 ist (2 hoch 4). Die Darstellungen
  3350.   lassen sich dann ganz einfach ineinander umrechnen. Außerdem
  3351.   benötigen ein Byte nur 2 Ziffern, wenn man es hexadezimal aufschreibt
  3352.   (0..9,A..F).
  3353.  
  3354. ZIP
  3355.   Ein spezielles Verfahren zum Komprimieren (Packen) von Dateien.
  3356.   Die »Archive haben dann die Endung ZIP.
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362. A.2  Literaturverzeichnis
  3363. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  3364.  
  3365.  
  3366. Unentbehrlich für jeden CPC-Anfänger ist das CPC-Benutzerhandbuch:
  3367. - Spital Ivor und Perry, Roland und Poel, William und Lawson,Cliff:
  3368.     CPC 6128 Benutzerhandbuch, Schneider Computer Division 1985,
  3369.     Originalausgabe (c) 1985 (in meinem Exemplar steht übrigens 1895)
  3370.     by AMSOFT, AMSTRAD Consumer Electronics plc and Locomotive
  3371.     Software Ltd.
  3372.  
  3373. Ein hervorragend kommentiertes ROM-Listing und einleitende Kapitel,
  3374. die besonders die Softwareseite des CPC berücksichtigen, bietet:
  3375. - Janneck, Jörn W. und Mossakowski,Till: ROM-Listing CPC 464/664/6128,
  3376.     Markt & Technik Verlag 1986
  3377.  
  3378. Lieblos zusammengeschustert und dürftig kommentiert dagegen, mit
  3379. Schwerpunkt Hardware ist:
  3380. - Brückmann, Englisch, Gertis: CPC 464 Intern mit kommentiertem
  3381.     ROM-Listing, Data Becker 1985
  3382.  
  3383. Gut zum C lernen, mit vielen Übungsaufgaben, ist:
  3384. - Kellay, Al and Pohl, Ira: A Book on C, Second Edition, 1990 by
  3385.     Benjamin/Cummings Publishing Company, Inc.
  3386.  
  3387. Das C++ Standardwerk:
  3388. - Stroustrup, Bjarne: Die C++ Programmiersprache, 2. Auflage,
  3389.   Addison-Wesley, 1992
  3390.  
  3391. Ein schönes C++ Buch:
  3392. - Eckel, Bruce: C++ Inside & Out, 1993 by Osborne McGraw-Hill
  3393.  
  3394. Tips, wie man ein verständliches und gutes Handbuch schreibt, bietet:
  3395. - Boedicker, Dagmar: Handbuch-Knigge, Software Handbücher schreiben
  3396.     und beurteilen. Wissenschaftsverlag 1990
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402. A.3  Index (Stichwortverzeichnis)
  3403. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  3404.  
  3405. Die Zahlen hinter den Stichworten geben das Kapitel an, wo das Stichwort
  3406. erklärt wird oder vorkommt.
  3407.  
  3408. (noch nicht vollständig)
  3409.  
  3410. #ENDIF 4.2
  3411. #IFCPC 4.2
  3412. 22DISK 5.1.2
  3413. Adapter, parallel 5.2
  3414. AMSDOS_DI 4.2
  3415. AMSDOS_SPDUP 4.2
  3416. BLASTER-Umgebung 2.3.2
  3417. BREAK_MASK 4.2
  3418. COLOUR 4.2
  3419. CPC 1.3
  3420. CPC-Newsgruppe 6.2
  3421. CPCEMU.CFG 4.2
  3422. CPCPARA.BAS 5.2
  3423. CPCREC.BAS 5.2
  3424. CPCTRANS.EXE 5.1.1
  3425. Debug-Menü 7.3
  3426. DELAY  4.2
  3427. Diskette 3.2.1
  3428. Disketten-Abbilder 3.2.1
  3429. DRIVE_A 4.2
  3430. DRIVE_B 4.2
  3431. EMS_EI 4.2
  3432. EMS-Speicher 2.3.1
  3433. Funktionstasten 3.1
  3434. INT_FREQ 4.2
  3435. INT_RESUME 4.2
  3436. JOY_CALIBRATE 4.2
  3437. Kassette 3.2.2
  3438. KBD_LANGUAGE 4.2
  3439. Konfigurationsdatei 4.2
  3440. Menüs 3.2.1
  3441. Multi-Mode 4.1
  3442. MULTIMODE 4.2
  3443. PCPARA.EXE 5.2
  3444. PIO_PORT_B 4.2
  3445. PRINTER 4.2
  3446. RAM_SIZE 4.2
  3447. ROM_BLOCK 4.2
  3448. ROM_PATH 4.2
  3449. SBLASTER 4.2
  3450. SB_DELAY 4.2
  3451. Setup-Menü 4.1
  3452. SHOW_CONFIG 4.2
  3453. SNAPSHOT 4.2
  3454. Snapshot 3.2.3
  3455. SOUND 4.2
  3456. Soundblaster 2.3.2
  3457. TAPE_BYPASS 4.2
  3458. TAPE_PATH 4.2
  3459. Tastatur 3.1
  3460. TMP_PATH 4.2
  3461. VSYNC-Bit 4.1
  3462.  
  3463.  
  3464. ------------------------------------------------------------------------------
  3465. logout
  3466. ------
  3467.