After having unzipped the
distribution in the directory of your choice, double-click the setup script (setup.js). Then it's
really simple indeed: if you want to run an Oric program contained in a tape or
disk image, you just have to double-click on it, this will start a standard Oric configuration (Atmos with or
without Microdisc). If you want to run your program
using another Oric configuration (e.g. Oric-1, or Atmos with a Jasmin controller,
or Telestrat), you just have to click on it once with
the right button, this will pop-up the contextual menu associated with the
file, giving you the opportunity to choose your Oric
configuration.
If you don't want to run an
Oric program, you can also start the desired configuration
through Windows Programs Menu (Euphoric folder).
Euphoric recognises the
following command line options :
Any other parameter is
treated as a file containing a disk or tape image.
When run, Euphoric starts
by reading the configuration contained in an initialisation file, then analyses
the options on the command line. The INI file enables the construction of an Oric configuration, by selecting any of the supported
peripherals. Normally the initialisation file is named 'euphoric.ini' and
stored in Euphoric’s directory. Windows users can
access this file through Windows’ Programs Menu (Euphoric folder). Those who
are running MSDOS and wish to say that they can launch Oric
from any directory can do so once they have correctly initialised the ORIC
system variable (for example, if you have installed Euphoric in c:\oric\system,
use the DOS command "set oric=c:\oric\system").
You can equally use several different INI files provided you give each copy of
the program a different name. For example, if you have copied euphoric.exe to
atmos.exe, when you run atmos.exe it will look for atmos.ini.
Two formats of cassette
images are supported, corresponding to two types of emulation. The first
emulation is called 'software': access to several ROM routines is redirected.
The second is a pure hardware emulation. Cassette
images for software emulation contain the same bytes as those that the Oric ROM routines save on cassette (although the number of
synchronisation bytes has been reduced to 3). This is the most common format,
and it is also used by the Amoric, Arcoric and Atoric emulators.
Virtually all the Oric programs available on the
archive servers use this format. The standard extension for this format is
.TAP. The second format is only used by Euphoric, and represents the electronic
signal between the Oric and the cassette player, set
at 4800 Hz. It permits a very exact emulation of cassettes, useful for
transfers between Oric and PC or to run programs
which do not use the routines in
As you
have no doubt already realised, the Basic CLOAD command searches for the
required program on the host system (DOS or Linux). It is the same with saving programs
with CSAVE. This enables a very intuitive and perfectly compatible use of the
commands with all programs intended for use with a cassette recorder, even
those written in machine code, or which are well protected. For advanced use
when you wish to store your Oric programs in
different directories, write programs in several parts, or use the short
command (CLOAD""), read on :
To activate the
"cassette hardware" option, select the "Hardware tape" line
on the configuration screen (F1), then select a cassette image name. The
hardware system is very (too?) faithful to the use of cassettes in reality: the
interface of the configuration screen (F1) provides you with a recorder with
the commands: fast forward, play, fast rewind and save, tape volume level and
even a minutes/seconds counter to find programs on a tape. Loading a cassette
presents no particular problems: just note that the Play button of the recorder
used alone enables you to hear the recording so as to locate a program (ah...
nostalgia...) but is not needed in order to load a program: the Oric is able to use the relay line to operate the tape
recorder. During emulation, the play button is therefore always on, and the Oric operates the tape motor relay. So a CLOAD""
will load the first program on the cassette, and a CLOAD"program_name"
will load a particular program. Thanks to the relay you do not need to stop the
tape recorder after loading a program, the Oric routines take care of it for you. Writing to a
cassette demands more care, as with real cassettes. You need to go to the
configuration screen and press the Record button (select the line with Enter,
the button changes to inverse video) and then key in your CSAVE command. As for
saving, the relay controls the cassette motor, keeping it halted until CSAVE is
used, and halting recording when the save is complete. On the other hand, don't
forget to press the Record button again to release it after your save, or you
risk erasing a cassette on the next CLOAD!! Be careful also if you save a
program on a cassette you have already used. Position the tape in an empty
section, such as the end of the tape, or you will overwrite a program. You are
advised to put only one program (or set of part-programs) on one tape, unless
you want to prepare a tape for use on a real Oric.
Also do not forget to write-protect your precious cassettes, by
"breaking" the small virtual plastic part of the cassette (next to
its name), this will put the read-only attribute on
the file.
A gadget which adds to the
atmosphere: when you start Euphoric with a cassette image on the command line
(or if you double-click on the cassette image file), the cassette's inlay will
be first displayed if you have it in the JPEG directory (the name of the JPG
file should be the same, except for the extension). Then press a key to boot
the Oric, Euphoric will issue a CLOAD command
automatically.
Disk images are files on
the host system reproducing bit by bit the contents of MFM disks (DD) (in fact
the format does not memorise clock transitions, only the contents after
decoding: everything the disk controller can provide to the CPU is memorised).
Images are conventionally named with a ".dsk"
suffix. For the Pravetz 8D (Bulgarian Oric clone), the acceptable disk images are in .NIB format,
this format is quite popular among Apple emulators, and carries the most
precise information. There are several ways to obtain a disk image: download it
from a server, create it by an Oric to PC transfer,
or format a new virtual disk within Euphoric (for which, of course, you must
already have a system disk image).
If you start Euphoric
configured with disc drives (Microdisc, Jasmin or Telestrat), you will
see on the configuration screen (F1) 4 lines (or less) corresponding to the
disk drives which you activated in the initialisation (INI) file: Disk A, Disk
B, etc (if you are sure that you started Euphoric with a disk controller and
yet you see no Disk line, check in the INI file that you have connected at
least one drive in a line such as DriveA=Yes). For
any action on a disk drive you must place the cursor (the blue line) on the
line of the drive. After the drive name is the name of the disk image inserted
in that drive (if it is blank, the drive is empty), and right on the left is a
small symbol indicating whether the disk is write protected or not (the symbol
represents the small protection hole on a 3.5" disk). You can change the
write protection with the left and right arrow keys. To eject a disk press the
To use the Microdisc controller, either specify one or more disk image
names on the command line, or use the command line option -d, or specify DiskController=Microdisc in the
INI file (in both cases, the MicrodiscEprom=... line
must point to a ROM image. Note that you are not obliged to use an EPROM of
only 8k, you can program one of 16k, or indeed a smaller one). If you specify
disk images on the command line, they are inserted in successive drives (up to
4), and the Oric boots the first. While running the
emulator you can eject and insert new disks via the configuration screen (but
don't do it during a disk write: you will damage the disk just as if you were
using a real one!)
To use a Jasmin controller, start Euphoric with the command line
option -j and then one or more disk image names, or specify DiskController=Jasmin in the initialisation file (in both cases the line JasminEprom=... must point to a ROM image). Remember that
the electronics of the Jasmin controller does not
interfere with the normal booting of the Oric. You
must wait for the usual "Ready" message, then
press on the boot button of the interface unit (F6 on the emulator). A disk
with the Tran DOS system must of course be present in the first drive.
To boot a Telestrat instead of an Oric
1/Atmos simply add the -t option to the command line (together with one or more
disk image names) or specify the line Computer=Telestrat
in the INI file. The contents of the cartridges to be inserted in the Telestrat must be specified bank by bank in the INI file
(see paragraph below).
For those who do not know
the machine, the Telestrat was the last Oric machine produced by Oric
France, although Oric
To connect a printer to
your virtual Oric, ensure that the line Printer=Yes
is present in the INI file and set the destination for the output in the line PrinterOutput=... You can specify an output file, which
allows later editing of the file, or a printer (or a MCP40 emulator, for
example). Again, you can opt for direct output to a real printer by specifying
the special corresponding filename, for example: PrinterOutput=lpt1.
Finally, ensure that you have activated the printer in the configuration
screen, it is off by default for the reason that certain games written to work
with the IJK joystick via the printer port do not detect that a printer is
connected and pour binary data into it.. The PASE
joystick does not interfere with printing (but can interfere with sound...) All
these quirks have an explanation, and of course are identical to the real Oric...
Euphoric can emulate a
joystick using the numeric keypad on the PC (2,4,6,8
for direction and 0 for shoot). Select a type of joystick interface with the
line Joystick=... Indicate IJK or PASE for the corresponding interfaces,
or No if you don't want a joystick emulated. If you want to emulate a joystick
on the integrated left port of the Telestrat, remove
the emulation of an IJK or PASE joystick and set the line JoystickPort=Yes
in the INI file.
The Oric-1 and Atmos have no standard serial port, but it is very easy to
equip them with such an extension (with just 4 chips on a board the size of a
matchbox). Euphoric provides you with such an extension based on an ACIA 6551
at address #031C. To activate it, set the line AsynchronousController=Yes
in the INI file, and specify the name of the serial port of the PC which serves
as an ACIA simulator in the line SerialPort=...
The Telestrat
comes with such a serial controller as standard, its communication port can be
either the V24 connection (EIA standard level), or the Minitel
connector (TTL level). The PC has no Minitel
connector, but a commercial PC/Minitel cable can be
used to connect a Minitel terminal and use it, for
example, with the Telematic cartridge (however, you
will also need a small extra piece of kit if you want your PC to detect
telephone rings). While simulating an Oric-1/Atmos or a Telestrat,
you can of course connect what you like to the serial port, for example a modem
or serial printer. Finally, note that you can also use part of the ACIA
simulator if you don't have a free serial port on your, or if you don't possess
the necessary peripheral for the proper functioning of apiece of software (for
example, the system software of the Telestrat hangs
if its serial output buffer is full and a data path is not signalled to it): in
that case set the line SerialPort=No.
To use the light pen,
simply specify the line LightPen=Yes in the INI file.
The light pen is simulated by the PC mouse, and a small grey marker appears at
the position of the light pen on the screen. But do not forget that the pen
must touch the screen to point to a zone: this action is replaced by pressing
the mouse button. Also don't forget that the pen can only work on light areas
of the screen, so don't try to select a black zone...
You must have a mouse
driver working before you start Euphoric, otherwise
the grey marker won't move.
To use the Telestrat mouse, just specify the line Mouse=Yes in the INI
file. You need a mouse driver in place before running Euphoric,
otherwise it will move the cursor in one direction only.
The Euphoric keyboard
precisely emulates that of the real Oric. Thus you
can, for example, press the QD5VBL' keys together to succeed at Damsel in
Distress... However, if you don't have a US keyboard (despite its british origins, the Oric
keyboard was US), there are chances you need to use a keyboard driver if you
want to get a WYSIWYG feeling and still play games without sending your fingers
to exotic places on your keyboard. Let me just take an example : on the swedish keyboard, the '2' character is at the same location
as on the US keyboard, but the shifted key returns " (double-quote)
whereas the key has a third symbol (@) which is accessed through the use of the
AltGr key. To handle a national keyboard and still
have a sound keyboard matrix, it is not possible to have a mapping between PC
keys and Oric keys. Instead, the Oric
has to run a national keyboard driver: that's what I provide in the
"nationalized" roms. These roms allow a WYSIWYG behavior
when you type on your PC keyboard, and yet the keys are still at the right
places when you play games (these programs access the hardware matrix).
However, I've not written
keyboard drivers for every country, and some people may still prefer to use
their PC keyboard in a PC way. If you are one of these people, you may switch
to the ASCII mode (F3), but be aware you won't be able to press several keys
together in this mode, nor play games.
In raw mode, there's a
direct mapping between one PC key and one Oric key.
To every matrix location of the Oric keyboard is
assigned a PC key: a default mapping is done inside Euphoric and this can be
modified with the configuration file (KbdMatrixRow0..7
lines). The default mapping follows the location of most Oric keys, most noticeable exceptions are the CTRL key of
the Oric which is lower down on the PC, the FUNCT key
of the Atmos which becomes ALT on the PC, and the
arrow keys of the Oric which become the grey arrows
of the PC. In order to support nationalized keyboards, there are several
additional keys added by Euphoric into the emulation of the Oric
matrix: the AltGr key and the second Ctrl key to the
right of the space bar, and the CAPS key. Finally, on international PC
keyboards there is one key more than on American PC
keyboards, found beside the left Shift
This default mapping is
entirely redefinable, you just need to specify PC scancodes
in the euphoric.ini file.
For example, if you are a
purist and want to get one step nearer to the true Oric
keyboard with the CTRL key of the Oric next to the A
key and the arrow keys around the space bar stay in place, using respectively
the CAPS key of the PC and the Ctrl and Alt either side of the space bar, then
you would write:
KbdMatrixRow3= 47, 33, 5,
12,-56, 25, 18, 53 ; for VF4- PE/
KbdMatrixRow4=999,999,
58,999, 42, 999,999,54 ; for Ctrl, Left-Shift,
Right-Shift
KbdMatrixRow5= 2, 1,
44,999, 29, 14, 30, 28 ; for 1eZ ¬ dAr
KbdMatrixRow6= 45, 16, 3,
43, 56, 27, 31, 58 ; for XQ2\¯ ]S
KbdMatrixRow7= 4, 32, 46,
40,-29, 26, 17, 13 ; for 3DC'® [W=
In the other hand, I
strongly recommend not to use configuration lines for national keyboards. Once
again, it is better to write an Oric driver for the
national keyboard, this is what you find in the provided roms
(bas11_uk.rom for example is for the
With the ASCII mode,
there's no need for an Oric national keyboard driver
anymore, but there are many drawbacks. First, it's true you can use the
original rom, but that's just because the keyboard
routines are redirected: the routines are not used, the Oric
keyboard matrix is not used, and games won't detect any key. Instead, the PC
keyboard driver is used, it provides ASCII codes to
the Oric. So, you use the PC keyboard in a PC way,
but this means you can't do whatever you want because of limitations introduced
in the early days by IBM and Microsoft. E.g you can't
type Funct+Shift+key combinations (these are used by Sedoric).
So, you are warned, you
should better use Raw mode...
Anyway, I understand some people may prefer the ASCII mode for typing, because the oric keyboard routines are not perfect (they don't choose the right key when several are active), so it is not easy to type fast. With the ASCII mode, you will be able to type faster. However, please note the following limitations:
By pressing the F9 key when
running the emulator, you can save the state and memory of the Oric in a file (you can specify its name in the INI file
with the line DumpFile=...). You can then start
Euphoric later on with the command line option -r to recommence at the precise
point of the save. You must restart with exactly the same configuration, please
don't try to restart an Atmos save on a Telestrat!. If you have a disk
configuration, restart Euphoric with the same disks in the drives. For example,
if you start Euphoric like this : euphoric -t hypercat.dsk, you must restart it with euphoric -t hypercat.dsk -r to restart in the saved state.
Done simply with the PrtSc key... A file in BMP format is generated in the
current directory, and each press of the PrtSc key
creates a new file: Screen01.bmp, Screen02.bmp, etc. Users of Windows: ensure
that PrtSc is not intercepted by Windows (it is by
default: clear the PrtSc shortkey
in the misc tab of euphoric's
shortcut or program information file).
VGA: Euphoric runs on any
VGA card in mode Q (Cube) 256x256x256. This mode might not be supported by some
LCD panels, try the different settings in Euphoric.ini.
SoundBlaster: to have
sound, your machine must have hardware which is compatible with legacy ISA
SoundBlaster cards. If Euphoric fails to initialise your card, it is because
the card is not truly compatible. If you have good emulation, that works as
well (the Gravis UltraSound for example). But you
won’t get sound if you are using a Windows system based on NT technology, or if
your Soundcard does not have DOS drivers.
Euphoric is copyright
Fabrice Francès. Euphoric was developed in 386
assembler under Linux, the freeware Unix operating
system, with the whole GNU development environment, in particular the gas
assembler and gcc C/C++ compiler. The same source
(but for a few details) is assembled with the DOS port of the GNU environment
(DJGPP), and runs in 32 bit mode with a DPMI server. Standard IO routines (fopen, fread, fwrite...)
from the C library are copyright "The Regents of the
Thanks to those who have continued
to support the Oric over all these years
: the members of Oric User Monthly and of Club
Europe Oric. Thanks to all testers for their
patience, in particular Philippe Mulrane, Bruno Thiebot, Laurent Chiacchierini, Vaggelis Blathras, Mike Pointié and many others... And thanks also to several
generous supporters of this development : Roger Barbier, Marc Chamaillou, Roger Barthès, Simon Guyart, Jérémie Petit, Eric Février,
Pierre Guyon, André Franz, Rodolphe
Bottosso, Jean-David Olekhnovitch.
Euphoric is freeware (but
not Public Domain). It is, I believe, one of the best
emulators, nothing like those developed in a few weeks, so why don't I charge
for it? Because I want to encourage a renaissance of the Oric,
to encourage those who remember their good times with this machine to
rediscover different values from those that surround today' computers. Don't
you find it frustrating that your computer is "obsolete" after 18 months ? Is not ridiculous that we now have rampant
technology treacle-coated with badly written software, or games that don't give
a tenth of the pleasure of the old 8-bit hits? Aren't you fed up with paying
for successive versions of Word (TM), which then oblige you to buy a new
computer? Instead of contributing to the ever-increasing wealth of Bill Gates,
you would do better to send me the money: a Euphoric for life, instead of a
bugged Windows (TM). I no longer give my address (I received 10 times more
requests for help than support...), but you can easily find help if you contact
the Oric community.