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 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. 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,Stratos
Select the computer model. This selection can be overridden by using
the command line options.
; Microdisc,Jasmin,None
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)
Specify the type of cpu. All Oric computers have a (Nmos) 6502 cpu, but
some people have replaced it with a 65C02 cpu (Cmos), providing additional
instructions and addressing modes.
-
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.
This option allows to reproduces the famous Oric mires.
-
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.
; Yes,No
Allows to use an oric with a double-size rom (32 KB), the active half
being selected by the PB5 VIA output.
-
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 (except if you choose a double-size
rom configuration with the SelectRomWithPB5 option).
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 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!)
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 used to make wrong decisions 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 correspondingly
placed key is pressed. In the same way, users in the UK should use Basic1.1uk
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: clear the PrtSc shortkey
in the misc tab of euphoric's shortcut or program information file).
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?
Formatting a disk with FT-Dos on an atmos with a jasmin controller does
not work !
It does, but the FORMAT program provided with FT-DOS differentiate the
Oric-1 and the Atmos by peeking a memory location in rom, and this happens
to be the location where a patch is inserted for the fast tape emulation.
So, you just need to switch to hardware tape mode and the patch will be
removed, and FORMAT will then find the byte value it expects there. Alternatively,
as FORMAT needs to know whether it is an oric-1 or atmos running, in order
to hook its IRQ handler routine, it is better to change its test by the
following line :
IQ=DEEK(#FFFE)+1
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 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.
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.