goOric Oric 1 / Atmos emulator for android.

goOric16 (free app)

    • 16 KB memory model (use GRAB for more free ram in TEXT mode).
    • Automatic save and load of state.
    • Tapes support up to 16KB (put .tap files into sdcard/goOric16, touch left part of display for tape list). Super Advanced Breakout and Super Fruit, by Alan Readman, from Tansoft works in 16K, try them.
    • Only portrait mode.
    • Sound at 44.1KHz or 48KHz mono, refresh 20 Hz, speed x1 only.

goOric (paid app)

    • 64 KB memory model (touch left part of display for config).
    • Automatic save and load of state.
    • Tapes support (put .tap files into sdcard/goOric/tapes).
    • Disks support (microdisc) put .dsk files into sdcard/goOric/disks)
    • Tape Disk buttons in landscape by touching the right of display.
    • Portrait with integrated keyboard
    • Landscape with or without keyboard (tap in the middle of the screen) or use a bluetooth or usb one.
    • Full settings (speed, skin, ...)
    • Sound supported with variou settings
    • Java/C code from scratch
    • On kitkat device import/export is /Android/data/o2s.emul.oric/files instead of /goOric

Best used on a 5" device at 1280x800 better on a 7" tablet with a bluetooth keyboard in landscape

You can get a truckload of programs (tape and disk images) at archive.org

You can find a sedoric 2.0 manual at sedoric2.0

For information in french look at sedoric3.0

For informations about the Oric look at Defence-Force or CEO

Manual

Datas

You can put .tap files in '/goOric/tapes/' on your device. You can use ONE level of directory to organize your datas (ie /goOric/tapes/Games/).

You can put .dsk files in '/goOric/disks/' on your device. You can use ONE level of directory to organize your datas (ie /goOric/disks/Forth/).

.dsk files or usual ones and can be used with other emulators.

.tap files are GENERALLY usual one and can be used with other emulators.

When loading a .tap file, you will have access to the different parts in it (see later)

But special .tap files are needed to use some programs (ie Le Fer d'Amnukor). This will be indicated as 'BitImage' parts (see later). Those files CAN NOT be used on other emulators.

You will get the printer output in '/goOric/texts' to be used with other android programs (ie Ghostcommander ...)

Config

Touch Left part of the screen to get the 'config' screen:

Top row of button:

<<T:.>> indicate the current tape directory here it means the /goOric/tapes/' is used. If displaying <<T:Games>> it means the /goOric/tapes/Games' is used.

<<D:.>> indicate the current disc directory here it means the /goOric/disks/' is used. If displaying <<T:Games>> it means the /goOric/disks/Games' is used.

Bottom row of button:

<<Tape>> display the tapes in the current tape directory

There is a local android menu:

    • "rename" to rename a tape
    • "delete" to delete a tape

<<Text>> display the tapes in the current tape directory

There is a local android menu:

    • "rename" to rename a text
    • "delete" to delete a text

<<Discs>> display the discs in the current discs directory

There is a local android menu:

    • "create" to create an empty disc image of various format
    • "rename" to rename a disc
    • "delete" to delete a disc

Tape use

In portrait mode the tape buttons are always displayed. To show them in landscape mode, just touch the right part of the screen.

From left to right you have:

<<Eject/Load>>

Touch it to load or eject a tape.

Black background : no tape operation

Green background : read operation

Red background : write operation

Yellow background : wait for a read operation in BitImage mode. You can change the tape if you want. When you are ready, just touch the second button (the one with the name of the tape). The read operation will start.

<<Name of tape>>

The indicated percentage is about the maximum size of a tape. Don't try to go over 100%

long press: create an empty tape of name ________.tap

<<1/2>>

1 is the current part (the one to be read with CLOAD, or where the next CSAVE will be inserted)

2 is the total number of part (actually there is a limit of 64 parts)

<<backward>>

rewind to go to the previous part

<<part informations>>

long press: you can delete a part if needed

<<forward>>

short press: fast forward to the next part

long press: insert CLOAD"" from the keyboard

CSAVE always insert a part.

Disc use

In portrait the discs buttons are always displayed. To show them in landscape mode, just touch the right part of the screen.

From left to right you have:

<<disk A>> <<disk B>> <<disk C>> <<disc D>> the four possible units disk for microdiscs.

You will see the name of the disc. Then the format of the disc (Single Double side; tracks number; sectors numbers). All usual format are supported

Just touch the button to load/eject a disk.

After loading a disc, do a full reset to boot the oric from the disk.

Menu

Use 'menu' button from android to display the bottom menu:

1 - CLOAD"" use it to insert CLOAD"" command from the keyboard to load a tape

2 - Actions, use it to perform:

                • Reset: reset from NMI line (downside button on a real oric).
                • Hard reset: plug OFF the ON oric to do a full reset and reboot from disc for example.
                • Rotate: to change from portait/landscape display.
              • 3 - Settings see later
        • 4 - About: give a copyright and Speed A B/C this will be explained later. It is useful to correctly sets the emulator for your android device.

Settings

Sound:

as is say, sound support or not.

Patch for tape

There are 2 mode of tape emulation:

- non patched, datas from .tap files are transmitted to the oric bit/bits, this permit the use of "BitImage" .tap format for some games. This works also for normal tapes. The speed is somewhat accelerated.

- patched, the roms are patched to allows faster loading of data byte/byte. This is possible only if the program use the normal rom routines (CSAVE, CLOAD ...). Otherwise use non patched mode.

An hard reset is made after the change.

Dump printer

Save the output of the printer in a text file in /goOric/text.

Landscape

Change the orientation of the display. In landscape mode, use either a bluetooth or an usb external keyboard. Or you can tap in the middle of the display to display some kind of keyboard

Rom

Choose 1.0, 1.1 or 1.22 rom. An hard reset is made after the change.

Disc

Choose for no disc or a full 4 units microdisc. An hard reset is made after the change.

Skin

Choose an Oric 1 or Oric Atmos skin.

Speed

Set speed of the CPU (the other peripherals are not impacted). Nothing is guaranted to works at speed greater than x1. It your device is not powerful enough, stay at x1.

Sound Frequency

Choose the quality of the sound output. This parameter is very sensitive and depends on your device. Generally 41 KHz is the best choice, 48KHz can works too.

Display Refresh

Choose the quality of the emulation. This also depends of your device.

Some hints to have correct settings.

This use about datas (numbers Speed A B/C). Settings depends on the particular sound hardware of your device, so it can be necessary to make some adjustments.

First set sound at 41KHz and display refresh at 100ms. wait at bit (you can try the barbitoric demo to hear some sound, or do some ZAP, EXPLODE, SHOOT, PING they should sound 'clear'). Get about datas.

If A is less than 100 and B near 0 you can try to lower a bit the display refresh. Otherwise rise the display refresh.

You need to have A less than the display refresh settings and B near 0.

If you use a too small display refresh, sound can become scratchy. In this case, raise a bit the display refresh.

You can then try to change the sound frequency. Change the frequency, do some sound (ZAP, EXPLODE, barbitoric demo) and look at about datas. You need to have A less than the display refresh settings and B near 0.

Generally only one frequency will be ok for a device (41KHz is the most common). Others will give scratchy sound and values of A too large.

When you change the cpu speed same rule apply : look at about datas. You need to have A less than the display refresh settings and B near 0.

Nexus 7 version 1: Display refresh at 20ms (so 50 images/secondes) and sound at 41KHz mono or stereo. Cpu speed can go up to x15.

Sound discussion

Having a good sound (synced with the display) is not an easy task on android see link. That is why the full emulator has many settings about the sound and display.

To be short. The quality of the sound depend on the hardware chip used in your android device (alas, so many devices, so many sound chips). On a nexus 7 first model, I have no problem at all I can use a display rate at 20 ms (so 50 frame/sec) and a sound at 44.1KHz. But on a Kobo you can only use a display rate of 50 ms (so 20 frames/sec) at 44.1 KHz.

The free app is locked at 50ms and 44.1KHz. The full one allow you to choose from 20, 30, 40, 50, 100, 150 ms and 48, 44.1, 24, 22.05, 16, 8 KHz.

In fact you need to know the native output frequency of your android sound chip. To measure it use app.

You will get the native frequency of your device and the hardware native buffersize. Dividing your native frequency by the buffersize gives you the maximal frames/sec your device can deliver. Set the refresh just a bit over 1000/[max frames/sec]. See some result for various devices at http://audiobuffersize.appspot.com

Greetings

Thanks to Chema (for helping in debugging a tricky bug) and DBUG (for the wonderful demos)

(from Defence-Force)

Thanks to Vincent for beta-testing and asking for a nice keyboard in landscape mode everyday !!

Full screen landscape mode (use an external keyboard)

Translucent keyboard on overlay (transparency can be changed in settings)

Compressed screen to have full keyboard and screen visible

Files removed at the demand of DBUG