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

Yet another ORIC emulator for the ATARI ST/TT/Falcon computers..

ATORIC tries to emulate the good old ORIC-1 and ORIC-ATMOS computers
that were quite successful in 1983..1985 .


BEFORE you'll start the emulator, please read this text to its
end! Otherwise, you probably won't have fun with ATORIC..


1.What is an ORIC?
------------------

The ORIC-1/ATMOS computers had the following hardware features:
- CPU:   1.0 MHz 6502
- RAM:   64 kByte, 48kByte usable without external hardware
- ROM:   16 kByte
- Video: 240*224 pixels at 8 colors+flash attribute
         (40 chars at 28 lines or 240*200 pixel + 3 text lines)
- AY-8912-3 or similar soundchip: 3 voices+noise
- built-in loudspeaker
- Parallel printer port (Centronics compatible)
- expansion port for disc drives etc.
- cassette recorder interface at 2400 baud
- TV modulator

Well, that's really no good description of the ORIC..
There is much more information available in the INTERNET,
just look out for "the oric page" or similar terms..
At present time (10/1997), there is THE oric page at:
http://www.ensica.fr/~frances/oric/

2. What are all those files good for?
-------------------------------------

The ATORIC package includes several files:
* ORIC.ROM
  this file is generated by YOU! You have to copy either the
  ORIC1.ROM or the ORIC_ATM.ROM to ORIC.ROM so that the emulator
  knows which ORIC it is :-)
* ORIC_CH.ROM
  the character definition for the emulator messages etc.
* README.TXT
  this description
* LIESMICH.TXT
  a german description
* ATORICNF.TTP
  the configuration program. Use with care!!
* ORIC020.PRG and ORIC_ST.PRG
  the two versions for 68020 or better CPU and the ST (68000) version
  REALLY make sure that you use the right version!!



3. How good is ATORIC at present time?
--------------------------------------

Not very good. I wrote it because there were no other ORIC emulators
for the ATARI around, and I have an ORIC-1 at home. The main problems:
* The 6502 emulator runs quite stable, but
  - speed is low: You'll need a TT to get about the original speed!
  - BCD mode isn't supported yet
* The screen emulator displays colors and attributes, but
  - speed is awful low: Only 3.6% or 7% of the ORIC screen are
    converted during a 1/50 sec vertical blank interrupt on a ST;
    so changes are displayed somewhat delayed..
  - for the Atari ST, only the LOW-REZ resolution (320*200) is supported;
    the awful flickering of every seventh pixel line shows that that
    line displays the contents of two ORIC pixel lines..
    The TT and Falcon can be used in their VGA-LOW mode (320*256) without
    that flickering.
  - no mixed HIRES and TEXT display are allowed. The BASIC commands HIRES
    and TEXT work, but not the ESCape codes for "windowing" HIRES lines..
* CLOAD and CSAVE work with the ROMs supplied, so you can save and load
  ORIC files in the "standard ORIC tape format"; but
  - no disc station emulation is done up to now (I don't have such
     an expensive thing and absolutely don't know how it works)
* direct hardware access can lead to VERY STRANGE reactions of the
  emulator - it tries to supply the ROM routines only. So, if you have
  problems with joystick access etc., tell me - I'll try to improve
  ATORIC in that direction. 
* the keyboard is not supported via the hardware access - keys are
  written into the $2DF variable (only the click is done by some
   hardware simulation)

Well, what works?
* BASIC programming.
* many machine programs - e.g. the ROMs are NOT patched, the only patches 
  are done at hardware accesses or in the 0..$500 memory region.
* graphics
* sound
* printing
* load and save programs


4. Getting started
------------------

First, make sure what CPU is in your Atari:
* ST, STe, MEGA ST, MEGA STe and similar machines usually contain
  the 68000 CPU. If there is an enhanced CPU inside, you'll certainly
  know about that :-)
* The 68010 CPU could cause some problems; try to use the 68020 version
  of ATORIC..
* The PAK68/2 brings the 68020 CPU..
* TT, Falcon, PAK68/3 normally contain the 68030 CPU
* The high-end Ataris use a 68040 or 68060 CPU
* PC emulators usually simulate the 68000 CPU;
  only some JANUS boards use a 68020
* MagiCMac runs on MACs with 68030 or better; if the MAC has a PowerPC,
  a 68LC040 is emulated.

Only the Ataris/PC emulators with the 68000 should run the ORIC_ST.PRG,
ALL OTHER machines use the ORIC020.PRG!!


Now, start the
ATORICNF.TTP program with the name of the ATORIC emulator (e.g.ORIC020.PRG)
carefully set all the parameters:
P - the printer file (e.g. ORIC.PRT, C:\TEMP\ORICPRT.TXT, PRN:)
A - a filename that is searched for at startup of ATORIC:
    It contains some BASIC commands executed at the first startup;
    so you could create your automatic ORIC..
    (e.g.: ORIC.KBD)
    this file could contain the following lines:
    PRINT FRE(0);" bytes REALLY free!"
    'WELCOME TO ATORIC
O - how many ORIC text lines should be displayed during about 1/50 second.
    This is a very critical value; for the standard ST it should be set
    to 1. Faster machines can handle higher values; if the value is too
    high, the "6502" will be extremely slow, or the ATARI crashes!
    Falcon (68030, 16MHz): 2..4
D - delay between 6502 instructions. This is important only for real
    power users: If the 6502 runs too fast, you can set down this
    value. Standard is 1000, that means: every 1000 instructions of
    the 6502, emulator checks are done (time-consuming!).
F - Falcon support. Set this to 1 only if you are using a FALCON030!
C - change to ST-LOW. Set this to 1 if you use your non-Falcon computer
    in ST-MID resolution and want th start ATORIC from that resolution.
U - use LOWREZ. Set this to 1 if you use a ST.
    If you have a FALCON030 and it runs on RGB/TV, also set it to 1.
    Else, if your computer supports the 320*256 VGA 16 color mode, set
    it to 0 (for a much better displayed ORIC screen!)


5. What now?
------------

Currently, there are no tools for getting programs on the Atari from
real ORIC tapes. There are some tools for IBM compatibles or Lin*X
for that. Well, some tape files can be found in the ORIC archives..


Enjoy your "ORIC", have fun!




6. Thanks
---------

Many thanks are going to:
* Dr. Uwe Seimet who published his C64 emulator (written in 1987 for the
   Atari ST). He had an excellent idea that speeds up the 6502
  emulation considerably:
  - each of the 256 opcode emulation program is in a seperate 256 byte
    region. To emulate a 6502 opcode, simply jump to 256*opcode (+offset)!
    On 68000, this is made by patching into the jump code,
    for 68020+, a "legal" lsl.w #8,d0 is used for the "*256" operation
    (instruction caches don't like self-modifying code)
* Fabrice Frances for
  - his excellent ORIC-emulator EUPHORIC, running on IBM-compatibles
    (you cannot even dare to compare ATORIC with EUPHORIC..)
  - his great WEB pages containing lots of information, especially
    for ORIC emulator programmers
* Alexios Chouchoulas
  - for his well-sorted, huge ORIC-FTP-server and his nice
    ORIC web pages



