
                                  
                                            
                                            
                                       
                                             
                                               
                                 

                               www.arnimedes.de                            V0.8


                           (C) 1998-2000 Oliver Lenz


-------------------------------------------------------------------------------


                                 1. EINFHRUNG

Arnimedes emuliert die Amstrad Computer CPC 464, 664 und 6128 auf einem PC.

Hier einige Merkmale der Emulation:
- 512 KB RAM
- Soundemulation ber MIDI
- 2 Floppy Laufwerke
- Kassetten Emulation (liest und schreibt DOS-Dateien)
- 64K und 128K Snapshots
- Die 3 Standard-Modes und Multimodes
- Debugger

Diese Erweiterungen sind in den nchsten Versionen geplant:
- Extended DSK (EDSK) Untersttzung
- Eine 'normale' Soundemulation
- Bessere CRTC Emulation
- Windows Version
- VN96
- ... (Teilen Sie mir Ihre Ideen mit)


Der Emulator wurde erfolgreich unter MS-DOS sowie in einer DOS-Shell unter
Windows 95 und 98 getestet. Ein 386 Prozessor ist mindestens erforderlich,
jedoch wird ein Pentium wrmstens empfohlen...
Der Sound wurde auf einer Roland SCC-1 getestet; sollte Ihre Soundkarte mit der
MIDI-Ausgabe von Arnimedes Probleme haben, schicken Sie mir bitte eine E-Mail
(siehe auch Kapitel 7).

Arnimedes ist Freeware, das heit ich behalte das Copyright. Sie knnen jedoch
beliebig viele Kopien von Arnimedes an Freunde weitergeben oder das Programm
zum Download zur Verfgung stellen, solange weder das Programm noch die
Dokumentation verndert werden und keine ungewhnlich hohe Kopiergebhr erhoben
wird.
Arnimedes wird ohne jegliche Gewhrleistung zur Verfgung gestellt. Sie
benutzen das Programm auf eigene Gefahr.





                                2. INSTALLATION

Kopieren Sie die Datei ARNIExx.ZIP (und eventuell SNAPS.ZIP) in ein Verzeichnis
Ihrer Festplatte. Wenn Sie PKUNZIP verwenden, benutzen Sie bitte den Schalter
'-d' um die Verzeichnisstruktur zu erzeugen.
Jetzt sollten die folgenden Dateien vorhanden sein:

ARNIE.CFG         Konfigurationsdatei - Einzelheiten in Kapitel 3
ARNIE.EXE         Der eigentliche Emulator
ARNIE_E.TXT       Englische Dokumentation
ARNIE_D.TXT       Deutsche Dokumentation

ROM\CPC464.ROM    ROMs fr CPC 464
ROM\CPC664.ROM    ROMs fr CPC 664
ROM\CPC6128.ROM   ROMs fr CPC 6128
ROM\AMSDOS.ROM    AMSDOS

DISK\DEMODISK.DSK Disketten-Abbild mit zwei Beispielen fr die Atari Maus

SNAP\*.SNA        Beispieldateien aus SNAPS.ZIP
MIDI\*.MPU

Der nchste Schritt ist die Anpassung der Konfigurationsdatei - nhere
Informationen gibt Kapitel 3.

Wichtig: Arnimedes bentigt unbedingt 5 MByte EMS-Speicher ! Um einen EMS
Speichermanager auf Ihrem System zu installieren, fgen Sie in Ihrer CONFIG.SYS
eine Zeile ein - zum Beispiel:

DEVICE=C:\DOS\EMM386.EXE 5000





                           3. DIE KONFIGURATIONSDATEI

Die Konfigurationsdatei ARNIE.CFG kann mit jedem Textverarbeitungssystem, das
ASCII Dateien schreiben kann, verndert werden.

Kommentare beginnen mit einem Semikolon. Nach Schlsselworten folgt ein
Gleichheitszeichen (=) und ein oder mehrere Werte.
Zum Beispiel:
SnapPath = C:\EMULATOR\CPC\SNAP
legt das Verzeichnis fr Snapshots fest.

Im folgenden werden nun die Schlsselworte nher erklrt:

DiskPath  : Pfad fr Disketten-Abbilder
TapePath  : Pfad fr Kassetten Dateien
SnapPath  : Pfad fr Snapshots
ROMPath   : Pfad fr ROM Abbilder
PresetPath: Pfad fr MIDI Einstellungen. Siehe Kapitel 5.
PokePath  : Pfad fr DBF Datei (Poke Datenbank von CPCEMU)
PokeFile  : DBF File


- QWERTZ
    0 -> QWERTY Tastatur
    1 -> QWERTZ Tastatur


- JOYMODE1
    Legt fest wie der erste CPC-Joystick emuliert wird.
      0 -> ber die Pfeiltasten auf dem Ziffernblock (Wenn NUM Lock aktiv ist,
           funktioniert der Ziffernblock wie auf dem CPC)
      1 -> Erster PC-Joystick oder Joypad (Kalibrierung nicht vergessen -
           drcken Sie F7; dann <calibrate> whlen)
      2 -> Joystick mit Maus emulieren
      3 -> PC-Maus emuliert Atari-Maus am CPC
           Auf dem Disketten-Abbild DEMODISK.DSK finden Sie dazu zwei
           Beispiele.


- JOYMODE2
    Emulation des zweiten CPC-Joysticks. Hier sind nur zwei Werte erlaubt:
      0 -> Kein zweiter Joystick
      1 -> Zweiter PC-Joystick oder Joypad


- SOUNDDEVICE
    0 -> Keine Soundemulation
    1 -> MIDI (nhere Beschreibung in Kapitel 5)


- MPUBASE
    Basis Adresse des MIDI-Interface in HEX (normalerweise 330)


- MIDIMODE
    GM, GS oder XG - Reverb und Chorus sind nur auf GS/XG Karten verfgbar !


- PRINTER
    Geben Sie einen Dateinamen an, um alle Ausgaben an den Druckerport des CPC
    in diese Datei umzuleiten. Alternativ knnen Sie auch LPT1 bis LPT4 angeben
    um direkt auf diesen Port zu drucken.


- VGAMODE
    0 -> 320x200 - Empfohlen fr langsame System (unter Pentium-90)
    1 -> 640x400 - Unter Windows gibt es Probleme mit einigen Grafikkarten -
                   notfalls mit reinem DOS booten.
                   Scanlines sind nur in diesem Mode mglich.


- SCANLINES
    0 -> Keine Scanlines
    1 -> Scanlines. Funktioniert nur mit 640x400 Pixeln !


- SCREENREFRESH
    Legt fest, wie oft der Bildschirminhalt aktualisiert wird. Der
    Standardwert 1 bedeutet 50 Hz oder jedes CPC-Bild, ScreenRefresh=2 zeigt
    nur jedes zweite Bild an usw. Der hchstmgliche Wert ist 9, was 5.6 Hz
    ergibt.


- SCREENTYPE
    0 -> Farbbildschirm
    1 -> Grn
    2 -> Schwarz/Wei
    3 -> Bernstein


- AMSDOSSPEEDUP
    0 -> AMSDOS ROM wird nicht modifiziert
    1 -> 'Disketten'zugriffe werden beschleunigt


- TAPEBYPASS
    0 -> ROM nicht modifizieren
    1 -> Firmware-Aufrufe die auf Kassette zugreifen werden auf eigene
         Routinen umgeleitet um auf DOS-Dateien zuzugreifen.


- REALTIME
    0 -> Unbegrenzte Geschwindigkeit
    1 -> 4 MHz, Echtzeit


- CPCTYPE
    0 -> CPC 464
    1 -> CPC 664
    2 -> CPC 6128


- COMPANYNAME
    Definiert den Firmennamen in der Einschaltmeldung. Der Wert 5 steht fr
    Schneider.


- FLOPPY
    Verwenden Sie dieses Schlsselwort um Disketten bei jedem Start von
    Arnimedes automatisch einzulegen. Es werden ZWEI Werte bentigt:
    - Der Laufwerksbuchstabe - A oder B
    - Der Name des Disketten-Abbildes
    Beispiel:
      FLOPPY = B, UTIL.DSK


- LOADROM
    Hier werden ebenfalls zwei Werte bentigt:
    - Zuerst die ROM Select Adresse (0 bis 14)
    - Der Name des ROM-Abbildes





                                 4. BEDIENUNG

In diesem Kapitel werde ich beschreiben wie man Programme von Diskette und
Kassette ldt. Zuerst allerdings ein kurzer Blick auf die Funktionstasten-
Belegung:

F1 -> HILFE - berblick ber die Funktionstasten

F2 -> Wenn in der Konfigurationsdatei PokePath und PokeFile auf eine gltige
      DBF-Datei zeigen, (Sie knnen CPCEMU.DBF von CPCEMU verwenden) erscheint
      ein Fenster mit Pokes. Wenn Sie einen Poke fr das entsprechende Spiel
      finden, erhalten z.B. mehr Geld, Energie oder hnliche Dinge.

F3 -> Diskette einlegen - Nach der Wahl des Laufwerks (A oder B) erhalten Sie
      eine Liste mit verfgbaren Disketten-Abbildern. Mit ENTER wird das Abbild
      aktiviert.

F4 -> Schaltet den Sound an oder aus

F5 -> Snapshot laden - Ein Snapshot ist ein komplettes Abbild des
      Speicherinhaltes sowie der CPU-Register und anderer wichtiger Daten.
      Somit knnen Sie beispielsweise ein Spiel an einem beliebigen Punkt als
      Snapshot speichern und spter an exakt dieser Stelle weiterspielen.

F6 -> Snapshot speichern - Einige Spiele verwenden die zweite 64K-Bank des
      CPC 6128. In diesem Fall whlen Sie bitte 128K-Snapshot. Durch Anwahl
      des Feldes < NEW ! > wird nach Eingabe eines Namens ein neuer Snapshot
      gespeichert.

F7 -> Optionen - Hier knnen Sie den oder die Joystick(s) kalibrieren und
      einige Einstellungen wie den Firmennamen in der Einschaltmeldung ndern.

F8 -> Hat dieselbe Funktion wie ein Resetknopf am CPC

F9 -> MIDI-Konfiguration - siehe Kapitel 5

F10 -> Debugger - siehe Kapitel 6

F12 -> Arnimedes verlassen


Laden von Disketten-Abbildern:

Zuerst mssen Sie ein Disketten-Abbild aktivieren. Wurde kein Abbild in der
Konfigurationsdatei angegeben, drcken Sie F3 und whlen eine DSK Datei aus.
Tippen Sie CAT ein und sehen Sie sich die Dateinamen an. Viele Spiele haben
einen BASIC-Lader (*.BAS), z.B. DISC.BAS. Dieser Lader wird nun mit
RUN "<name>" gestartet, also beispielsweise RUN "DISC". Die Endungen .BAS und
.BIN knnen dabei weggelassen werden. Wenn CAT keine Dateinamen anzeigt, kann
das Programm mglicherweise mit |CPM gestartet werden.
Das aktive Laufwerke kann durch Eingabe von |A oder |B ausgewhlt werden.
Ein BASIC-Programm lsst sich mit SAVE "name" speichern.
Um ein Disketten-Abbild mit Schreibschutz zu versehen, aktivieren Sie das
<R>ead only Bit der .DSK Datei.


Laden von Kassette:

Das Kassettenlaufwerk wird am CPC durch Eingabe von |TAPE ausgewhlt. Wenn
Sie jetzt RUN "" eintippen, erscheint der Inhalt des TAPE Verzeichnisses.
Whlen Sie ein Programm aus und es wird gestartet. Wenn Sie schon wissen, wie
die zu startende Datei heit, knnen Sie auch schreiben: RUN "name".
Wie bei Diskettenabbildern auch, werden BASIC-Programme auf Kassette mit
SAVE "name" gespeichert.
Um wieder auf Diskette zuzugreifen, geben Sie |DISC ein.





                                 5. MIDI SOUND

Wie Sie vielleicht schon gemerkt haben, hat Arnimedes keine gewhnliche
Soundemulation. Statt dessen versucht es die Daten, die an den CPC-Soundchip
geschickt werden, in MIDI-Nachrichten in Echtzeit umzusetzen. Das Ganze ist
noch etwas umstndlich und nicht perfekt - wenn Sie im Emulator schon einmal F9
gedrckt haben, wissen Sie, was ich meine. :)
Um einen berblick ber die Mglichkeiten zu erhalten, sollten Sie sich die
Datei SNAPS.ZIP von meiner Homepage herunterladen. Diese Datei sollte in
das selbe Verzeichnis entpackt werden, in das Sie auch ARNIExx.ZIP entpackt
haben. Jetzt laden Sie im Emulator einen der entpackten Snapshots. Nach
Bettigen der F9-Taste und Auswahl von "LOAD MIDI SETTINGS" whlen Sie die
.MPU-Datei mit dem gleichen Namen aus. Wenn alles funktioniert sollte nach
Drcken der ESC-Taste eine mehr oder weniger ansprechende MIDI-Fassung des
entsprechenden CPC-Sounds erklingen. Die Qualitt ist abhngig von den
Einstellungen im MIDI-Setup sowie natrlich von Ihrer Soundkarte.

Im oberen Bereich des MIDI Setup Bildschirms sehen Sie 3 numerierte Zeilen -
eine fr jeden CPC-Soundkanal:

Drum Mode - Hier gibt es drei mgliche Einstellungen:
            V+D: Dieser Kanal spielt Melodien und Schlagzeug (Noise)
             D : Es wird nur Schlagzeug gespielt
             V : Es werden nur Melodien gespielt

PC#       - Program Change. Die Programm Nummer des MIDI-Sounds. Drcken Sie
            ENTER um eine Liste zu erhalten.

CC0       - GS Bank Select. Viele MIDI-Soundkarten haben zustzliche
            Variationen der 128 General MIDI Sounds. Im Handbuch zu Ihrer
            Soundkarte finden Sie weitere Informationen.

SFX       - Die erste Zahl ist ein Parameter fr den Effekt, der durch die
            zweite Zahl ausgewhlt wird. 5 Effekte werden sind mglich:
            0 - Kein Effekt
            1 - Bewirkt, das dieser Kanal mit zwei Stimmen gespielt wird:
                Einmal mit der normalen Frequenz und einmal eine Oktave hher.
                Der erste Wert gibt hierbei die Lautstrke der zustzlichen
                Stimme an.
            2 - hnlich wie Effekt #1, diesmal allerdings eine Oktave tiefer.
            3 - Kombination von Effekt #1 und #2. Der Kanal wird also mit
                drei Stimmen gespielt.
            4 - In diesem Kanal werden nur Tne gespielt, die NIEDRIGER sind
                als der Wert im Parameter.
            5 - In diesem Kanal werden nur Tne gespielt, die HHER sind als
                der Wert im Parameter.

Drum#     - hnlich wie PC#, allerdings wird hier das Schlagzeug ausgewhlt.

Reverb    - Strke des Reverb Effekts fr diesen Kanal

Chorus    - Strke des Chorus Effekts fr diesen Kanal

Volume    - Lautstrke

Delay     - Dieser Wert bestimmt, mit welchem Abstand dieser Kanal Noten
            abspielt (gemessen in CPC-Interrupts oder 1/300 Sekunden)
            Empfehlenswert sind zum Beispiel die Werte 0, 6, 12, 18 und 36 -
            hier ist Experimentieren angesagt.


Weiter unten werden Reverb und Chorus eingestellt. Abhngig von Ihrer MIDI-
Konfiguration (GS, XG) werden verschiedene Makros untersttzt.


Zum Schlu noch einige Einstellungen fr das Schlagzeug (fr alle Kanle):

Drum Set - Nummer des Drum-Sets

Reverb   - Strke des Reverb-Effekts

Chorus   - Strke des Chorus-Effekts

Volume   - Lautstrke





                                6. DER DEBUGGER

Der Bildschirm ist in 4 Bereiche unterteilt:
Im oberen Bereich sehen Sie alle Register des Z80 und einige kryptische
Buchstaben und Zahlen:

VS  steht fr Vertical Scan - Ein vertikaler Strahlenrcklauf ist gerade aktiv
    wenn das Feld unter VS aufleuchtet.

IM  Interrupt mode - 0, 1 oder 2

12  IFF1 und IFF2 (Interrupt Flip Flop)

LH  Zeigt an, ob das lower ROM (L) und/oder das higher ROM (H)
    eingeschaltet sind.


Kommandos werden im zweiten Teil des Bildschirms eingegeben. Alle gltigen
Kommandos erscheinen in der Zeile ber dem Eingabe-Prompt.

Unter dem Hauptfenster befindet sich schlielich noch eine Statuszeile mit
einigen ntzlichen Informationen: Ganz links steht die aktuelle ROM Select
Adresse, gefolgt von den Speicherinhalten an den Stellen (HL), (IX) und (IY) -
jeweils im RAM und im ROM. Rechts stehen noch der aktuelle Opcode und der
zuletzt ausgefhrte IN- oder OUT-Befehl.

Wenn Sie den Debugger aufrufen, befinden Sie sich automatisch im TRACE mode.
Das bedeutet, das Programm kann im Einzelschritt mit ENTER durchlaufen werden.

Gltige Kommandos: (Werte in eckigen Klammern <> sind optional)

T <address> : Dieses Kommando kehrt zum TRACE Mode zurck

F <address> : Fast Trace. Der Debugger fhrt das Programm im Zeitlupentempo
              aus und zeigt dabei alle Befehle an.

S <address> : Step Over. Fhrt Befehle aus, bis PC auf den nachfolgenden Befehl
              im Speicher zeigt. Dieses Kommando ist ntzlich um z.B. einen
              CALL auszufhren ohne alle Befehle anzuzeigen.

R <address> : Run. Startet die Emulation an der angegebenen Adresse oder an PC.
              Der Debugger wird verlassen.

B address   : Set Breakpoint. Wenn PC den angegebenen Wert erreicht, erscheint
              wieder der Debugger.

C           : Clear Breakpoint. Breakpoint wird wieder gelscht.

I           : Info. Zeigt Informationen ber CRTC, PSG und
              Speicherkonfiguration an. Mit ESC geht es zurck zum Debugger.

E <address> : Edit Memory. Ein einfacher HEX-Editor fr das CPC-RAM. brigens
              kann man damit auch in die ROMs schreiben - nderungen werden
              jedoch nicht in den *.ROM Dateien gespeichert.
              - Benutzen Sie die Cursortasten und PgUp/PgDn um sich im
                Speicher zu bewegen.
              - Alt & R schaltet RAM und ROM um.
              - Alt & S ndert die ROM Select Adresse.
              - TAB wechselt zwischen HEX und ASCII Modus.
              - ESC verlsst den Editor und kehrt zum Debugger zurck.

D <address> : Disassembler. Mit der Pfeiltaste nach unten oder mit PgDn knnen
              Sie weiter nach unten scrollen. Auch hier gibt es wieder einige
              besondere Tasten:
              - R schaltet RAM und ROM um.
              - S ndert die ROM Select Adresse.
              - F Nach der Frage zur Anfangs- und Endadresse wird eine Datei
                  (Z80.ASM) mit einem Disassembler-Listing erstellt.
              - ESC kehrt zum Debugger zurck.

Q           : Quit. Kehrt zu DOS zurck. Wenn Sie in die Emulation zurck
              wollen, drcken Sie R.

Um den Wert eines Registers zu ndern, tippen Sie <register>=<wert> ein, zum
Beispiel BC=3A00. Das funktioniert nur mit 16-Bit Registern wie AF oder BC
sowie mit IFF1, IFF2 und IMD (steht fr Interrupt Mode)





                           7. SIE KNNEN MITHELFEN !

Ihre Kommentare, Fragen und Bug Reports sind willkommen ! Bitte senden Sie mir
eine E-Mail wenn Probleme mit Arnimedes auftreten, besonders bei der
Soundemulation. Meine E-Mail Adresse finden Sie ganz am Ende dieser Datei.





                                 8. VERSIONEN

V0.8  [07.04.2000] - Erste verffentlichte Version
V0.8a [15.04.2000] - ROM Banking fr ROM Select Adressen 10..14 korrigiert


-------------------------------------------------------------------------------


                       HOMEPAGE  : www.arnimedes.de

                       E-MAIL    : toxic@arnimedes.de

                       SNAIL-MAIL: Oliver Lenz
                                   Jakobsweg 31
                                   64625 Bensheim
