
ATORIC 0.4
----------

(ATari wird ORIC, Version 0.4)

ATORIC versucht, die guten alten ORIC-1 und ORIC-ATMOS-Computer,
die 1983..1985 relativ erfolgreich am Markt waren, zu emulieren.
Leider ist die Markteinfhrung dieser Computer durch den Rummel
um den C64 in Deutschland vllig untergegangen..

Was ist neu in Version 0.4?
---------------------------
* ATORICNF.TTP luft wieder (peinlich, peinlich)
* HIRES und TEXT werden vollstaendig von den ULA Kontrollbytes gesteuert-
  d.h. es laufen jetzt auch Demos/Spiele, die "Hires-windowing" betreiben..
* Umschaltung zwischen Darstellungen im Textmodus: Entweder (lesbare) 6 Oric
  Pixel im Atari 8-Pixel-Raster, oder (fr LORES-Spiele) auf 8 Bit erweiterte
  Darstellung (Zifferblock 6 und Zifferblock 8)
* Die ROM-Datei ist per ATORICNF.TTP auswhlbar - so kann auch direkt mit
  ORIC_ATM.ROM oder ORIC1.ROM gestartet werden.

Was ist neu in Version 0.3?
---------------------------
* Overscan fr Atari ST LowRez
* Atari ST HighRez untersttzt (allerdings mit gewissen Einschrnkungen-
   keine Farbe, auch keine Graustufen)
* Kassettenroutinen anders abgefangen (illegale Opcodes statt Timer-Abfrage)
* Ein paar Spiele mehr sollten jetzt laufen (Adressen $304/$30D jetzt
   etwas besser emuliert)

Was ist neu in Version 0.2?
---------------------------

* Einige Fehler aus den Kassettenroutinen entfernt -> Multi-Tape-Dateien
  sollten jetzt funktionieren
* Low-level-Tastaturuntersttzung, allerdings ohne Auswertung von SHIFT, CTRL;
  trotzdem sind nun viele Spiele bedienbar
* An einigen Stellen wurden Routinen des 6502-Emulators und des Bildschirm-Emulators
  optimiert - allerdings merkt man nicht zu viel davon..
* Falcon030 im TV-Modus knnen das ORIC-Bild nun auch flimmerfrei darstellen
  (Overscan-Option)
* ORIC_CH.ROM ist jetzt berflssig geworden - das spart satte 907 Bytes!!
* Die Interrupt-Frequenz hat sich den 100Hz des Orics genhert - wenigstens Sounds
  sollten nun realistischer klingen

WICHTIG
-------

VOR dem Emulator-Start bitte diesen Text bis zum Ende durchlesen!!!
Sonst knnte sich der Spass an ATORIC in Grenzen halten :-)


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

Die ORIC-1/ATMOS-Computer zeichneten sich durch folgende Eigenschaften aus:
- CPU:   1.0 MHz 6502
- RAM:   64 kByte, 48kByte davon ohne externe Hardware ansprechbar
- ROM:   16 kByte
- Video: 240*224 Pixel in 8 Farben+Blink-Attribut
         (40 Zeichen in 28 Zeilen oder 240*200 Pixel + 3 Text-Zeilen)
- AY-8912-3 oder hnlicher Soundchip: 3 Stimmen+Rauschen
- eingebauter Lautsprecher
- Paralleler Druckeranschluss (Centronics-kompatibel)
- Erweiterungsport fr Diskettenlaufwerke etc.
- Kassettenrekorderanschluss mit 2400 Baud
- Fernseheranschluss

Das ist natrlich keine gute Beschreibung des ORICs..
Lassen wir die Phantasie spielen: Vor uns steht ein
kleines Plastik-Kstchen, wir stecken die Spannungsversorgung ein,
geben "EXPLODE" und ENTER ein, und horchen..

Es gibt zum Thema ORIC aber ein paar nette Internet-Resourcen, nheres dazu
siehe unten


2. Beschreibung der Dateien
---------------------------

* ORIC.ROM
  Diese Datei liegt NICHT vor, Sie muessen sie generieren!
  Dazu entweder ORIC_1.ROM oder ORIC_ATM.ROM zur Datei "ORIC.ROM"
  kopieren; dann weiss ATORIC, welcher ORIC er ist :-)
* README.TXT
  description in English language
* LIESMICH.TXT
  dieser Text
* ATORICNF.TTP
  Das Konfigurationsprogramm. Vorsichtig einsetzen!
* ORIC020.PRG und ORIC_ST.PRG
  die beiden Versionen fr "moderne" Ataris mit 68020 oder besserer CPU
  und fr den klassischen Atari ST (68000 CPU).
  BITTE NUR DAS FUER DEN VORHANDENEN ATARI GEEIGNETE PROGRAMM BENUTZEN!


3. Wie gut ist ATORIC im derzeitigem Stadium?
---------------------------------------------

Nicht sehr gut. Ich habe es geschrieben, da ich keinen ORIC-Emulator
fr ATARIs auftreiben konnte, und da ich trotzdem alle meine lteren
Computer auf dem Falcon emuliert sehen wollte.
Hauptkritikpunkte (von mir) an ATORIC:
* Der 6502-Emulator luft recht stabil, aber
  - die Geschwindigkeit ist miserabel.. Auf dem Atari TT sollte ungefhr
    der 1MHz 6502 mglich sein; auf meinem Falcon030 (68030, 16MHz) komme
    ich auf 40%, auf meinem ST (68000, 8MHz) auf 12% der ORIC-Geschwindigkeit!
    Und das alles noch bei langsamster Bildemulation..
    Leider ist mein 6502-Emulator nicht ganz so schnell wie der des legendren
    C64-Emulators von Dr. Uwe Seimet; ich kann jedenfalls besttigen, dass
    es gar nicht so einfach ist, mit dem 68000 einen schnellen 6502 zu emulieren..
  - der BCD-Modus ist kaum ausgetestet
* Der Bildschirm-Emulator macht seine Aufgabe, aber
  - die Geschwindigkeit ist abscheulich schlecht - Pro VBL (also etwa 1/50 sec)
    werden nur 3.6% (ST) oder 7% (FALCON) des ORIC-Bildes auf dem Atari-Bildschirm
    aktualisisert; der Bildaufbau wirkt dadurch sehr trge..
  - Der Atari ST hat nur 200 Pixel-Zeilen (in ST-LOW), der ORIC aber 224.
    Deshalb muss jede siebte Atari-Pixel-Zeile die Information zweier ORIC-Pixel-
    Zeilen darstellen (abwechselnd); das fhrt zu nervigem "Wackeln" im Bild..
    Bei Falcon und TT lsst sich das zum Glck umgehen..
  - HIRES und TEXT-Darstellung werden nicht voll kompatibel ber ESCAPE-Sequenzen
    initiiert. Natrlich klappen die Basic-Befehle TEXT und HIRES, aber das
    Einblenden einzelner HIRES-Zeilen in den Textbildschirm wird nicht emuliert.
    Bisher sind mir aber keine Programme bekannt, die sowas tun..
* CLOAD und CSAVE geht mit den beigelegten "ROMs" (natrlich Dateibetrieb),
  also klappt Speichern (BITTE DATEINAMEN ANGEBEN) und Laden im ORIC
  Standard-Kassetten-Dateiformat; aber
  - bisher gibt es keine Diskettenstation-Emulation (Ich hatte sowas Teures
    nie, und so habe ich keine Ahnung, wie sowas programmiert wird)
  - einige Programme verwenden eigene LOAD/SAVE-Routinen - da kann
    es durchaus zu Problemen kommen
* Direkte Hardware-Programmierung kann zu sehr merkwrdigen Reaktionen von
  ATORIC fhren - der bedient eben lieber die ROM-Routinen. Bei Problemen
  werde ich versuchen, ATORIC diesbezglich zu erweitern.
* Tastaturemulation ist etwas lckenhaft; das liegt u.a. daran, dass
  nur normale Tasten in der ORIC-Key-Bitmap eingetragen werden.


Was geht dann berhaupt?
* BASIC-Programmierung.
* Viele Maschinenprogramme - z.B. sind die ROMs NICHT modifiziert, die einzigen
  Tricks wurden bei Hardware-Zugriff oder in dem untersten Kilobyte vorgenommen.
* Graphik
* Sound
* Drucken (Ab und zu gibt es zustzliche Zeichen durch CLOAD/CSAVE-Aufrufe)
* Laden und Speichern von  Programmen
* Sogar ein paar Spiele. Allerdings sind Action-Spiele sehr schnellen Ataris
  vorbehalten..

4. Der erste Start von ATORIC
-----------------------------

Zuerst muss die CPU des vorliegenden Ataris bestimmt werden:
* ST, STe, MEGA ST, MEGA STe und hnliche Maschinen enthalten die
  68000-CPU. Sollte in solchen Gerten eine neuere CPU nachgerstet
  sein, weiss das der Besitzer meistens :-)
* Die 68010-CPU knnte Probleme machen; allerdings gibt es kaum Ataris
  mit 68010
* Die PAK68/2 luft mit der 68020 CPU..
* TT, Falcon, PAK68/3 enthalten normalerweise die 68030 CPU
* High-End Ataris benutzen die 68040 or 68060 CPU
* PC-Emulatoren simulieren meistens die 68000 CPU;
  lediglich einige JANUS-Bords haben eine 68020-CPU. Aber es kursieren
  Gerchte, dass einige enthusiastische Programmierer versuchen wollen,
  die 68030-CPU auf dem PC zu emulieren..
* MagicMac luft auf Macs mit 68030 oder besser; wenn ein PowerPC vorliegt,
  wird ein 68LC040 emuliert.

Nur die Ataris o.. mit 68000-CPU drfen mit ORIC_ST.PRG gestartet werden,
alle anderen mssen mit ORIC020.PRG laufen!


KONFIGURIERUNG
--------------

Nun zum Konfigurationsprogramm ATORICNF.TTP:
Das ATORICNF.TTP-Programm wird mit dem Namen des verwendeten ATORIC-Programmes als
Parameter gestartet (z.B.:  ATORICNF.TTP ORIC020.PRG)
Sorgfltig alle Parameter einstellen:
P - Druck-Datei (z.B. ORIC.PRT, C:\TEMP\ORICPRT.TXT, PRN:)
A - Datei, die beim Start von ATORIC ausgefhrt wird:
    Sie enthlt BASIC-Befehle, die ausgefhrt werden, als ob sie gerade eingetippt werden..
    (z.B.: ORIC.KBD, das folgende Zeilen enthlt:
    PRINT FRE(0);" Bytes sind wirklich frei!"
    'WILKOMMEN BEI ATORIC
O - wie viele ORIC-Textzeilen pro VBL (ca. 1/50 sec) dargestellt werden sollen.
    Dieser Wert ist sehr kritisch; ist er zu hoch, wird der "6502" extrem langsam,
    oder der Atari strzt sogar ab.
    Empfehlung: ST: 1, Falcon: 1..4
D - Verzgerung nach (D) 6502-Befehlen. Dieser Wert sollte nur von Besitzern
    "tiefergelegter" (d.h. sehr schneller) Ataris verkleinert werden.
    Standard: 500
F - Falcon-Untersttzung. Auf 1 setzen, wenn ATORIC auf einem Falcon luft.
C - Von ST-Mid nach ST-Low wechseln beim Start von ATORIC.
U - Nur Standard-ST-Auflsungen verwenden. Ntig fr alle Atari ST,STe
    (und Falcons mit SM124-Monochrommonitor)
B - Bilderweiterung nach unten ("Overscan").
    Ob das tatschlich funktioniert, mu die Praxis zeigen.. Bei mir geht
    es jedenfalls sowohl auf einem Atari ST (mit Farbmonitor), als auch
    auf dem Falcon. Probleme drfte es mit allen Atari-Emulatoren geben..
    Dafr geht es bei mir sowohl im PAL-, als auch im NTSC-Modus.


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

Zur Zeit gibt es keine Hilfsmittel, um Programme vom Oric zum Atari
zu bekommen. Fr IBMs oder Lin*X-Workstations gibt es solche Programme.
Und es gibt ja ein paar "Kassetten" in den Weiten des Internet (s. unten).

Wahrscheinlich gibt es eine einfache Lsung, indem man Kassettenkabel
des ORIC mit dem (ungenutzen) Druckerausgang des Ataris verbindet.
Aber das knnte auch dauern..


Viel Spass mit "ATORIC"!


Tip fr Falcon030-Besitzer: Den Falcon an einen echten Fernseher anschliessen,
Input und Output-Sound auf Maximum setzen, Lautsprecher auf "On",
ATORIC starten und "EXPLODE" eintippen..


Christian Peppermueller
Ebrardstr. 23
D-91054 Erlangen
Germany
e-mail: Christian.Peppermueller@rzmail.uni-erlangen.de


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

Dank geht an
* Dr. Uwe Seimet, der seinen C64-Emulator (von 1987) mit Quelltext freigegeben hat.
  Er hat darinnen eine exzellente Idee realisiert, die die 6502-Emulation deutlich
  beschleunigt:
  Jeder der 256 Opcodes des 6502 wird in einem eigenen 256 Byte-Bereich emuliert.
  Dadurch kann man die Emulation mittels jump nach 256*opcode (als Offset zu
   einem Adressregister) realisieren.
  Beim 68000 tut man das durch selbstmodifizierenden Code,
  ab 68020 geht das nimmer, da geht es aber auch ganz gut mit "lsl.w #8,d0" etc.
* Mr. DBug (Mike) of NeXT, der mir einige sehr gute Tips zur Verbesserung des
  Bildschirmemulators gab
* Fabrice Franc`es, da er EUPHORIC programmiert hat, den wirklich excellenten ORIC-
  Emulator fr den PC. Beeindruckt von der Geschwindigkeit von EUPHORIC habe ich
  angefangen, ATORIC zu programmieren - und den langsamsten ORIC erhalten :-(
* Alle Leute, die die guten ORIC-Seiten fr das WWW (World Wide Web) geschrieben haben
* Alexios Chouchoulas fr seine Hilfe, ATORIC ins Netz zu bringen (mittels seines
   grossartigen FTP servers fr ORIC-Programme!)
* Steffen Scharfe fr seinen Artikel in ST Computer 4/1992 (ST-Overscan)


Eine kurze Zusammenstellung von ORIC-Seiten/Programmen im Internet:

WWW:
----
http://www.ensica.fr/oric/oric_english.html
http://www.ensica.fr/~frances/                                   # ORIC-Seiten und EUPHORIC
http://ourworld.compuserve.com/homepages/laurentch/internet.htm  # gute Seite voller Links
http://wwwperso.hol.fr/~mpointie/                                # DBug of NeXT - cool!

ftp:
----
ftp://ftp.tardis.ed.ac.uk/users/alexios/Oric   # der tolle ftp server von Alexios


