home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 June / PCO_06_97.ISO / filesbbs / DOS / CPCEMU14.ARJ / CPCEMU_D.TXT < prev    next >
Encoding:
Text File  |  1996-03-20  |  145.7 KB  |  3,684 lines

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