EUPHORIC : Reference Manual
1. Command line options
Euphoric recognises the following command line options :
- -m : use a grey level palette for monochrome VGA monitors
- - r : resume a session (saved with F9)
- -1 : start as Oric-1
- -a : start as Atmos
- -t : start as TéléStrat
- -d : start with Microdisc controller
- -j : start with Jasmin controller
Any other parameter is treated as a file containing a disk image.
2. INI file
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 the current directory, then in the directory defined by the
ORIC environment variable. Those who wish to say that they can launch Oric from 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 if provided you give each copy of the file 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. The configuration lines of euphoric.ini are as follows: each line is in the form
keyword=value unless it starts with a semi-colon, in which case it is a comment. Be careful to
respect the case of letters and don't introduce blanks...
; Possible choices : Oric1,Atmos,Telestrat
Select the computer model. This selection can be overridden by using the command line options.
; Microdisc,Jasmin,Non
For the Oric-1 and Atmos, select a type of disk controller (the Telestrat automatically includes
its own).
Specify the filename containing the Oric-1 ROM image (see note 1)
Specify the filename containing the Atmos ROM image (see note 1)
- MicrodiscEprom=Microdis.ROM
Specify the filename containing the Microdisc controller EPROM image (see note 1).
Specify the filename containing the Jasmin controller EPROM image (see note 1).
- Bank7=TeleMon2.4
- Bank6=HyperBasic
- Bank5=TeleAss
- ;Bank4=
- Bank3=Telematic
- ;Bank2=
- ;Bank1=
Specify the filenames containing the Telestrat cartridge ROM images (see note 1 and the
Telestrat paragraph).
; 1 or 2
Select a type of RAM memory. This option affects the initial contents of RAM when the Oric is
switched on. With the first type, each location contains alternate bits of 1 and 0. With the second
type, each location contains haf a line of 128 bits of 1 and a half line of 128 bits of 0. The latter
selection produces the famous Oric mire.
- DriveA=Yes
- DriveB=Yes
- DriveC=Yes
- DriveD=No
Choose the number of drives you want in-line to configure the disk controller (Microdisc, Jasmin
or Telestrat).
Select the clock speed of the Oric. It can be changed while the emulator is running, but this
setting gives normal speed (F5 is the short-cut key).
; True,Extended
Select the usage of the Ctrl and Alt keys alongside the space bar. In 'True' mode, they act as the
arrow keys of the Oric, and the Caps Lock key becomes the Oric's CTRL key. In 'Extended'
mode, they are used as usual.
- AsynchronousController=Yes
Select (or not) a serial extension controller on the Oric-1/Atmos, of the same type as that of the
Telestrat (ACIA 6551 at address #031C)
; No,com1,com2,/dev/ttyS0,...
Select the physical port of the PC used for serial input/output (see RS232 paragraph)
Select (or not) the real time clock extension board.
; No, PASE, IJK
Select a type of joystick interface for the Oric Centronics port (see Joystick paragraph)
Configure (or not) a joystick on the Telestrat joystick port.
Configure (or not) a mouse for the Telestrat (it is not possible to connect the light pen at the same
time).
Configure (or not) a light pen (it is not possible to have a mouse on the Telestrat at the same
time).
Configure (or not) a printer on the Oric Centronics port. printer output
- PrinterOutput=printer.out
Select the filename for printer output. It is possible to select a peripheral name for direct output,
for example lpt1.
Select the filename for a machine dump saved with the F9 key.
Note 1: For all ROM images, if the filename alone is given, the emulator looks for it in the
current directory, then in the directory indicated by the ORIC system variable. There is nothing to
prevent you using your own experimental ROMs, of course; you can also use ROMs of different
capacities, provided they do not exceed 16K in size.
3. Cassette images
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 et Arcoric
emulators. Virtually all the Oric programs available on the archive servers use this format. There
is no particular filename extension required for cassette images, only the file contents are
standardised (3 bytes of #16 for synchronisation, then #24, then a program). 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 ROM.
3.1. Using cassettes with the software emulation
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 :
- CLOAD and CSAVE transmit the specified program name unmodified to the host operating
system. In other words, the program name you specify is treated as that of the filename on the
host. Thus you can include a path complying with the rules of the host system! For example :
CLOAD"A:\GAMES\GOBBLER" or CSAVE"/tmp/version1",AUTO The first example is for
DOS of course, the second works equally well on Linux or DOS (try it just to verify that you
remember to use CTRL-T to switch to lower case). Note that is easier under Linux to save
Oric files in upper case). So, you have a way to classify your programs a bit in directories, but
BEWARE! The Oric truncates the program name to 16 characters, which means you must
choose between a long name (under Win95 and Linux) and a single subdirectory level, or very
short directory names.
- an exception is made for programs without a name : you know that is possible to save a
program using CSAVE "" or to load in the same way with the CLOAD command. As the host
systems will not accept an unnamed file, the file takes the name "________" on the host (8
characters). You are strongly advised to save a program with a name; otherwise you may not
recall its contents, and you risk overwriting it with your next save of another program without
a name. Should this pseudo-filename appear in your directory, you know that a program has
made a save (a saved game for example) without giving it a name. Using the host system
commands, you can easily have several of these saves by renaming them differently.
- it is very easy to use a program in several parts. Ignore the fact provided the parts are
concatenated into a single file. To load such a program use CLOAD with the filename: the
first program contained in the file will be loaded, and the successive CLOAD commands will
load the other parts of the program in the same file. The logic of the emulator for loading
programs is as follows: the first CLOAD command determines the filename opened for
reading, then loads the first Oric program found in the file. The file remains open for reading,
and the following CLOAD commands treat the file as a cassette (sequential access). In
particular, this means that a program in the file can be jumped if its name does not correspond
to that required. If a CLOAD command is outstanding when the end of the file is reached, that
file is closed and a new file opened of the name on the host system that the outstanding
CLOAD has required. Unclear? Take an example : suppose that The Hobbit is a program in
four parts, concatenated into a file named HOBBIT. With CLOAD"HOBBIT" you request the
opening of the file HOBBIT and the reading of the first Oric program which is found within it.
This executes automatically and starts to load the three following segements (the instructions
being in machine code in this instance). You can then load a saved game from an earlier
occasion: in the vocabulary within The Hobbit, you use the LOAD command which looks to
load the first program without a name. However the end of the HOBBIT file has already been
reached, so a new file (here the special _________ file since the name required is empty) is
opened. And so on : if you want to reload this same saved game, the end of file will already
have been reached, and so it will be closed and then re-opened. And if you now decide to
reboot the Oric with F8, and then load a new game? As always, since the end of the file has
been reached, a new file will be opened... In short you do not normally have to bother thinking
- everything happens as though you have a robot who puts your cassettes in your cassette
recorder, and then plays the cassette just in time for you to load programs. An understanding
of this logic will be of use to you only if you are creating your own "cassettes". What about
CSAVE? Because you don't want to write your programs in any old place, and certainly don't
want to overwrite your existing "cassettes", a new file is always opened to save a program.
Two different programs cannot be saved successively on the same "cassette" (to do that there
is always the possibility of using the host system commands, such as 'cat' under Linux or
'COPY /B' in Dos). One exception to this rule : the saving of programs without a name. The
first save without a name is placed in the ________ file (overwriting the previous contents);
successive such saves are joined on to this file.
3.2. Using cassettes with the hardware emulation
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, 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 (ah... nostalgia...) but not to load a program in to the Oric. The Oric is able to use the
relay line to operate the tape recorder. 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 setting the access attributes of the file with your host system
commands (chmod under Linux, attrib under Dos).
3.3. Writing a real cassette with Euphoric
I have taken particular care in making the Play button available to 'pre-listen' to cassettes.
Unfortunately the Windows drivers lose sampling range: you don't notice it with your favourite
music, but the Oric does. Even reading sound files under DOS doesn't produce a faultless result,
at least when I've tried to do it. To record a real cassette, therefore, connect your tape recorder to
the Line Out socket of your sound card, and make a copy of the (virtual) recorder to the (real)
recorder using the Play button.
3.4. Reading a real cassette
Reading a real cassette by way of the sound card is more delicate than when writing. The signal
recorded on an analog cassette is far from perfect, and even at 44.1 kHz the sample range of the
sound card gives readings at the start and end of fronts which are less precise than those achieved
by the Oric. The result is that reading a cassette via the sound card of a PC is not very reliable. To
obtain good results you need cassettes in good condition, with correct recording levels, etc. A
short program (readtape) is provided with Euphoric to decode the sample range at 44,1 kHz and
convert them into cassette images usable with emulator, but I strongly advise transferring
cassettes from the Oric to a PC by using the transfer cable (see annexe).
4. Disk images
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). Disk images with an older
format might still be found on some archive servers, and certain utilities for Oric to PC transfers
still generate an obsolete format no longer supported by Euphoric: you must convert such older
disk images with the oric2mfm utility. Images are conventionally named with a ".dsk" suffix, but
this is not obligatory; Euphoric controls the signature of a disk image in the first 256 bytes. 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).
4.1. Creating disks with the configuration screen
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 DEL or BackSpace keys. Pressing Enter enables you to
select a disk to insert in the drive: the contents of the current PC directory are then displayed. The
Up, Down, Page Up, Page Down, Home and End keys are used to move around the list Select a
disk image or a directory with Enter or abandon the selection with Escape. If you need a new
blank disk, press Space with the cursor on the disk line. You get a new disk named ________.dsk
(or _______1.dsk, _______2.dsk, etc if the files exist already in the current PC directory). Note
that the new disk is not formatted, you must format it using the Oric DOS system disk of your
choice (OricDos, FT-DOS, Sedoric, Stratsed, etc). When you quit Euphoric, rather than put a
label on your new disk, I suggest you rename it to something more descriptive.
5. Using a Microdisc
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 inthe 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!)
6. Using Jasmin
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.
7. Telestrat
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 UK set the wheels in motion. The project was started in England
under the codename IQ64 and the machine was called the Stratos. This superb machine is
backwards compatible with the Atmos+Microdisc, and includes among other things cartridges
(all system software is in cartridges), an integrated disk controller, RS232 and Minitel interfaces,
and joystick and mouse ports. The cartridges can contain the Rom, additional RAM, or a
peripheral (although no peripheral was developed in cartridge form). Cartridges that were
produced included one with 64K of RAM, and a number with ROMs for different purposes.
These ROMs and RAMs are always accessed in the top 16K of memory, using overlay. There are
8 banks 16K accessible, bank 0 consisting of the upper part of the 64K of internal RAM in the
Telestrat. The Telestrat needs at least one ROM cartridge in bank 7 to boot, usually containing
the Telemon software (the Telestrat monitor software). A range of other ROMs can be used in
the other banks, generally associated with a fixed Bank number, such as Hyper basic in bank 6,
TeleAss (an assembler) in bank 5 or Telematic in bank 3 (this last only using 8K). Euphoric
allows you to specify directly the contents of each memory Bank in the INI file using lines such
as Bank7=... which fixes the Bank as ROM. Each Bank not initialised is automatically
considered to be a RAM bank. So, if you boot with a Telemon cartridge image in Bank 7 and a
Hyper basic image in Bank 6, you have a Telestrat with 48 + 6 * 16 = 144K of RAM ! (however,
Bank 0 is RAM overlay and will usually be used by Stratsed). On booting, Telemon tests the
contents of the other Banks, displays the copyright messages of the different ROMs, and tries to
load the Stratsed system from the first drive into Bank 0. If the disk in the drive contains a file
named BONJOUR.COM, it is executed; if not control is passed to the first Bank with a ROM
inserted reading numerically downwards, usually 6 containing Hyper basic. The latest versions of
this Bank display a menu giving a choice between the Telematic bank (if present) or a language
bank, then in the latter case one between Hyper-Basic or TeleAss (if present).
8. Printer output
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...
9. Joysticks
Euphoric cam 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.
10. RS232
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.
11. Light pen
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.
12. Mouse
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.
13. Keyboard
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... but there are complaints (not least
in France) that the keyboard is American (as on the Oric) and not French. So there are two small
variations for the Euphoric keyboard: a lightly 'extended' Oric keyboard and a 'pure' Oric
keyboard. The Euphoric extended keyboard adds a small number of keystrokes to that of the
Oric, using the free space in the Oric matrix of 64 positions. One or the other variation is selected
in the INI file, using OricKeyboard=Extended or OricKeyboard=True.
13.1. The "extended" keyboard
Look at the photos to help you follow the explanation: several keys which are not in the same
position on the PC and Oric keyboards are connected by the green lines between the two photos.
They include the Backspace key, the key to the right of '=' ('+' with Shift), the CTRL key of the
Oric which is lower down on the PC and the FUNCT key of the Atmos which becomes ALT on
the PC. In addition the ESC key of the Oric is high up on the edge of the PC keyboard, the arrow
keys of the Oric become the grey arrows of the PC. There are several additional keys added by
Euphoric into the emulation of the Oric matrix: in blue, 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, and connected by a red
line to a key which doesn't normally exist on the Oric keyboard (the photo is not rigged, it's a
keyboard that I added a FUNCT key to...). The two last differences between the Oric and PC
keyboards relate to the TAB key and the one above, both of which are unused by Euphoric.
13.2. The "pure" keyboard
The keyboard for purists allows us to get
one step nearer to the true Oric keyboard:
this time, the ESC and CTRL keys of the
Oric and the arrow keys around the space
bar stay in place, using respectively the
TAB and CAPS keys of the PC and the Ctrl
and Alt either side of the space bar.
13.3. Using a non-US keyboard
Euphoric is not intended to provide you
with all the possibilities of your PC
keyboard; the program is meant to be
completely compatible with the Oric, not
the PC: I made some errors in the keyboard emulation that led me to write some over-sophisticated programmable keyboards, but that's all over - it was a false road. If you must have
an international keyboard, that is a matter of software, not hardware: if you put some AZERTY
keytops on your real Oric, but don't alter the keyboard read routine, you will not have what you
want... The solution if you have a French keyboard on your PC is a French ROM. I have prepared
one for the Atmos, and one for the Telestrat, both of which include the additional keys (AltGr to
access the third key symbols, and the additional key on the international keyboard beside the left
Shift). They are named Basic1.1fr and Telemon2.4fr. It is undoubtedly the better solution for
French users: every character read by the ROM routine uses the French keyboard characters,
while all games which access the keyboard directly work perfectly when the corresponding ly
placed key is pressed. Users in the UK should use Basic1.1b in the INI file.
14. Save and resume
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.
15. Screen dump
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).
A1. Hardware configuration
VGA: Euphoric runs on any VGA card in mode Q (Cube) 256x256x256
386 : Euphoric runs on all processors accepting the instruction set of the 386, so the minimum
requirement is a 386SX. BUT, if your processor is not fast enough, you will see nothing on the
screen : the emulator runs, but does not have time to display anything. This is so on a 386 SX 16,
in which case you must content yourself with a slower Oric - read the next paragraph... On the
other hand, the faster your processor, the more screen refreshes per second will be possible (the
speed of the bus and the graphics card will also contribute here). Euphoric is written in machine
code optimised for the 386 (as few memory accesses and branching instructions as possible).
SoundBlaster: to have sound, your machine must have hardware which is SoundBlaster
compatible. 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).
A2. Problems?
What problems?
A3. Transfer of programs from Oric to PC
If you have a 3.5" or 5.25" drive on your Oric, you will already know that the readdsk utility
enables you to read your disks on a PC and make disk images of them. If you don't have such
drives on your Oric, I suggest you make the parallel transfer cable described below. This is the
most reliable and fastest way to transfer programs. There is also a utility called readtape, with
which it is possible to transfer from cassette to a cassette image using your sound card, but this is
only effective with high quality recordings and can therefore be difficult to do successfully.
So, for ease of use and reliability I recommend using the parallel cable. Before making it (it's
very simple, no components, just two parallel connectors and a cable) do check that your Oric
and its ports are working correctly and that you are going to be able to load programs. The short
transfer program enables you to transfer all of a cassette (or a part of one if you prefer). If you
have 3" disks, there is a similar transfer program written by Philippe Menard which uses the
same cable. Ready? Let's start:
A) Make up the cable
PC DB25 |
Oric 20 pin |
15 |
3 (D0) |
13 |
5 (D1) |
12 |
7 (D2) |
10 |
9 (D3) |
11 |
1 (STROBE) |
6 |
19 (ACK) |
18-25 |
2,4,6,8,10,12,14,16,18,20
(GROUND: one is enough) |
Be sure you don't mix up the numbering of the pins on the Oric port (no problem with the DB25,
the numbers are often marked). When you look at the rear of the Oric, here is what you see (male
parallel port):
2 4 6 8 10 12 14 16 18 20
1 3 5 7 9 11 13 15 17 19
Another possibility, if you already have a parallel PC<->PC cable such as is used by LapLink, is
to make a small Oric-PC converter which you connect to the end of your parallel PC cable:
DB25 |
Oric 20 pin |
2 |
3 (D0) |
3 |
5 (D1) |
4 |
7 (D2) |
5 |
9 (D3) |
6 |
1 (STROBE) |
11 |
19 (ACK) |
18-25 |
2,4,6,8,10,12,14,16,18,20
or any one of these (GROUND) |
(if you choose to connect only one of the Ground pins (18-25) on the DB25, ensure that the
ground signal is properly transmitted from end to end)
B) Enter this small Basic program on your Atmos or Oric-1.
100 DATA #20,#6A,#E7 ' replace with #20,#CA,#E6 on Oric-1
101 DATA #A9,#FF
102 DATA #8D,#00,#03
103 DATA #20,#1C,#E7 ' replace with #20,#7D,#E6 on Oric-1
104 DATA #2A
105 DATA #8D,#01,#03
106 DATA #AD,#00,#03
107 DATA #48
108 DATA #29,#EF
109 DATA #8D,#00,#03
110 DATA #A9,#02
111 DATA #2C,#0D,#03
112 DATA #F0,#FB
113 DATA #68
114 DATA #8D,#00,#03
115 DATA #4C,#08,#B8
120 FOR I=#B800 TO #B825
125 READ A : POKE I,A
130 NEXT
135 CALL #B800
C) Start the oriclink utility on the PC, type in RUN (and Enter) on the Oric and press the PLAY
button on the tape recorder. When you want to stop the transfer, press the Oric RESET button
(under the casing) and any key on the PC. A cassette image named image.tap is created; this can
be used directly by Euphoric in hardware cassette mode.
D) You can also convert this cassette image into a more compact file with the tape2oric utility.
This is not always successful because certain protected programs do not use the standard format
for cassette files.
NB: Linux users: as with all programs accessing the physical I/O ports, oriclink must have root
privileges. Run it as root or set the setuid bit (chown root oriclink ; chmod u+s oriclink ).
A4. Copyright and thanks
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, 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 University of California" (UCB), which is why I say "This product includes
software developed by the University of California, Berkeley and its contributors". No code from
the Free Software Foundation is included in this program, it doesn't fall within the GNU General
Public License, nor the GNU Library Public License. The svgalib library (Harm Hanemaayer) is
used under Linux to switch screen mode.
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 and above all Vaggelis Blathras, who is
the true perfectionist... And thanks also to several 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.
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.
Here are the addresses of the two Clubs for those who do not have Internet access: Club Europe
Oric/Jean Boileau/33 av Henri Barbusse/93140 BONDY/FRANCE and Oric User Monthly/Dave
Dick/65 Barnard Crescent/Aylesbury/HP21 9PW/ENGLAND You will find a real welcome in
these Clubs, nostalgia of course, but also people bursting with ideas which prove that the Oric
has far from exhausted its possibilities.