
ATORIC 0.1
----------

Noch ein ORIC-Emulator fr die ATARI ST/TT/Falcon-Computer..

ATORIC versucht, die guten alten ORIC-1- und ORIC-ATMOS-Computer
auf dem Atari wieder zum Leben zu erwecken. Die ORICs waren relativ
erfolgreich in den Jahren 1983..1985.


Vor dem Start des Emulators bitte ich dringend darum, diesen Text
BIS ZUM ENDE durchzulesen! Ohne einige Vorbereitungen wird ATORIC
nicht fr Freude sorgen knnen!


1.Was ist ein ORIC?
-------------------

Die ORIC-1/ATMOS-Computer zeigen folgende Hardware-Eckdaten:
- CPU:   1.0 MHz 6502
- RAM:   64 kByte, 48kByte verfgbar ohne externe Zusatz-Hardware
- ROM:   16 kByte
- Video: 240*224 Pixel, 8 Farben + Blinkattribut
         (28 Zeilen zu je 40 Zeichen, oder 240*200 Pixel + 3 Text-Zeilen)
- AY-8912-3 oder hnlicher Soundchip: 3 Musikgeneratoren + Rauschgenerator
- eingebauter Lautsprecher
- Paralleler Drucker-Port (Centronics-kompatibel)
- Expansion port fr Disc-Drives etc.
- Kassettenrecorder-Interface mit 2400 Baud
- Fernsehmodulator

Nun gut, das ist keine erschpfende Beschreibung des ORICs..
Es gibt aber viel Information in den Weiten des INTERNETs,
am besten nach "the oric page" oder "die oric seite" suchen..
Zur Zeit (10/1997) ist eine umfassende Seite
in Englisch bei http://www.ensica.fr/~frances/oric/
in Deutsch bei http://rrzs42.uni-regensburg.de/~hep09515/Oric/oric-german.html
zu finden.

2. Was bedeuten all diese Dateien?
----------------------------------

Das ATORIC-Packet besteht aus einigen Dateien:
* ORIC.ROM
  Diese Datei mu von IHNEN erzeugt werden: Entweder die ORIC1.ROM-
  Datei oder die ORIC_ATM.ROM-Datei zu ORIC.ROM kopieren;
  dann wei ATORIC, ob es ein ORIC-1 oder ein ORIC-ATMOS ist..
* ORIC_CH.ROM
  Zeichensatz fr die Emulator-Meldungen usw.
* README.TXT
  Englischsprachige (naja..) Beschreibung
* LIESMICH.TXT
  diese Beschreibung
* ATORICNF.TTP
  Das Konfigurationsprogramm. Mit Vorsicht zu genieen!
* ORIC020.PRG and ORIC_ST.PRG
  Die Versionen fr 32Bit-Ataris (ORIC020) und 68000er Ataris (ORIC_ST).
  WICHTIG: IMMER DIE RICHTIGE VERSION VERWENDEN!



3. Wie ist ATORIC in dieser Version?
------------------------------------

Nicht bermig. Da ich keinen anderen ORIC-Emulator fr ATARIs finden
konnte, schrieb ich ATORIC, damit auch mein ORIC virtuell auf dem Falcon
"lebt". Bekannte Probleme:
* Der 6502-Emulator luft recht stabil, aber:
  - Geschwindigkeit: Auf einem TT (68030, 32MHz) sollte etwa Original-
    geschwindigkeit erreicht werden !!
  - BCD-Modus ist bisher nicht emuliert
* Der Bildschirmkonverter wertet Farben und Attribute aus, aber:
  - die Geschwindigkeit ist fast unakzeptabel: Pro VBL (ca. 1/50 sec)
    werden beim ST nur 3.6% des Bildschirms neu dargestellt; so
    bekommt man schnelle Bildnderungen (Spiele!) immer verzgert
    mit..
  - Da der ORIC 24 Pixelzeilen mehr hat, als der ST in seiner ST-LOW-
    Auflsung darstellt (200 Zeilen), werden einige ST-Zeilen abwechselnd
    mit verschiedenen ORIC-Pixelzeilen belegt; das fhrt leider oft zu
    nervttendem Flimmern.
    Fr TT und Falcon030 empfiehlt es sich deshalb dringend, VGA LOW zu
    verwenden (320*256*16 Farben)
  - HIRES-Fenster im TEXT-Modus werden nicht ausgewertet. Die BASIC-
    Befehle TEXT und HIRES arbeiten aber korrekt.
* CLOAD und CSAVE arbeiten mit den beigelegten ROMs, so ist das Haupt-
  Datenformat das "standard ORIC tape format"; aber:
  - bisher kein Ansatz zur Emulation einer ORIC-Diskstation; da ich so
    ein edles Teil nie hatte, wei ich auch nicht, wie man sowas emuliert.
* Direkte Hardware-Programmierung kann zu uerst eigenartigen Reaktionen
  von ATORIC fhren, da dieser nur auf die ROM-Routinen hin getrimmt ist.
  Bei Problemen bitte ich um Nachricht.
* Die Tastatur wird nicht direkt ber die ORIC-Hardware ausgelesen, sondern
  ASCII-konform in die Variable $2DF geschrieben; nur fr den Tastenklick
  wird etwas Hardware simuliert.

Nun gut, was geht dann berhaupt?
* BASIC - Programmierung.
* viele Maschinenprogramme - z.B. die der ROMs, die ungepatched sind;
  die nderungen sind ausschlielich im Speicherbereich 0..$500 zu finden.
* Graphik
* Sound
* Druckausgabe
* Laden und Speichern von Programmen


4. Erste Schritte
-----------------

Zuerst mu die CPU im Atari bestimmt werden:
* ST, STe, MEGA ST, MEGA STe und hnliche Maschinen haben die
  68000er CPU, wenn nicht jemand einen Beschleuniger eingebaut hat.
* Mit der 68010-CPU knnte es ernste Probleme geben.
* PAK/2 betreibt die 68020-CPU.
* TT, Falcon030 und PAK68/3 enthalten mindestens die 68030-CPU.
* PC-Smulatoren stellen meistens einen 68000 zur Verfgung;
  allerdings enthalten einige JANUS-Karten einen 68020.
* MagicMac luft ab 68030 aufwrts; bei PowerPC-MACs wird ein
  68LC040 emuliert.


Nur Ataris oder Atari-Emulatoren, die den 68000 emulieren,
drfen das "ORIC_ST.PRG" verwenden. ALLE ANDEREN mssen
ORIC020.PRG benutzen!


Nun bitte das
ATORICNF.TTP Programm starten mit dem Namen des ATORIC-Emulators
(z.B.ORIC020.PRG)- sorgfltig alle Parameter setzen:
P - Printer-Datei (z.B. ORIC.PRT, C:\TEMP\ORICPRT.TXT, PRN:)
A - Auto-Datei, die beim ersten Start von ATORIC eingelesen wird:
    Sie enthlt Standard-BASIC-Kommandos.
    (z.B.: ORIC.KBD)
    Die Datei knnte z.B. die folgenden zwei Zeilen enthalten:
    PRINT FRE(0);" bytes REALLY free!"
    'WELCOME TO ATORIC
O - Wie viele ORIC-Textzeilen werden per VBL (ca. 1/50 sec) dargestellt.
    Diese Einstellung ist sehr kritisch:
    Standard-Ataris (ST) sollten hier nur eine 1 eintragen;
    schnellere Modelle (z.B. Falcon030/16MHz: 2..4) knnen mehr tun.
    Wenn der Wert zu hoch ist, wird die Emulation des 6502 extrem
    langsam, oder der Atari strzt ab!
D - Verzgerung nach (D) 6502 Instruktionen. Dieser Parameter
    (Standard 1000) knnte benutzt werden, um auf extrem schnellen
    Ataris die 6502 Emulation abzubremsen: Wert dann verkleinern..
F - Falcon-Untersttzung. Nur fr den FALCON030 auf 1 setzen!
C - ST-LOW erzwingen. Sinnvoll nur fr STs, die in mittlerer Auflsung
    (640*200/4 Farben) laufen - nur in diesem Fall eine 1 eintragen!
U - ST-LOW benutzen. Auf 1 setzen, wenn keine VGA-LOW-Auflsung
    (320*256/16 Farben) zur Verfgung steht (also Atari ST, STe etc,
     aber auch Falcon030 im TV/RGB-Modus).
    Wenn es aber mglich ist, den Atari in VGA low zu betreiben (z.B. TT,
    Falcon030), auf jeden Fall U=0 (und C=0) setzen!

5. Und nun?
-----------

Im Moment gibt es keine Tools, um ORIC-Programme von Kassette auf
den Atari zu bringen. Allerdings gibt es derartige Hilfsmittel
fr IBM-kompatible Rechner, und im Internet finden sich so einige
Progrmmchen im ORIC-standard-tape-Format.


Viel Spa mit dem ORIC!

Christian.Peppermueller@rzmail.uni-erlangen.de
10/1997


6. Dankeschn
-------------

Vielen Dank an:
* Dr. Uwe Seimet, der seinen C64-Emulator mit Quelltext verffentlicht
  hat (1987, fr den ST). Er hatte eine exzellente Idee, die die
  6502-Emulation deutlich beschleunigt:
  - jedes der 256 Opcode-Emulationsprogramme ist in einem eigenen
    256 Byte-Block. Um es aufzurufen, gengt so ein einfacher
    Sprung nach 256*Opcode(+Offset)!
    Allerdings mu diese Lsung fr 68020+ modifiziert werden, da es
    sonst Probleme mit dem Instruktions-Cache gibt (ein
     lsl.w #8,d0 ; jmp 0(A5,d0.w) tut es dann aber auch schon).
* Fabrice Frances fr seinen Spitzenklasse-ORIC-Emulator EUPHORIC.
  Damit verglichen ist ATORIC im Embryo-Stadium..
  Weiterhin sind seine ORIC-Seiten insbesondere fr Emulator-
  Programmierer eine OASE des Wissens..
* Alexios Chouchoulas fr seinen gut sortierten ORIC-FTP-Server
  und seine interessanten ORIC-Seiten

