Tachibana

Astéroric › Manual

Astéroric — manual

A study clone of Asteroids for the Oric-1 48K · EUPL 1.2 licence. This manual goes from download to play, then to building from source. Features and technology are described on the Features page.

Contents

1. Download and run

  1. Open the latest GitHub release and take asteroric.tap from the Assets. The same file is versioned in dist/asteroric.tap — from the GitHub interface, use the Raw / Download button, not the HTML page link (you would get HTML).
  2. Load it on an Oric-1 48K (BASIC 1.0 ROM), real or emulated. The .tap carries the autorun flag: HIRES mode and the game start on load, no CLOAD or CALL to type.
  3. The jingle plays, the title screen appears with its demo. SPACE starts a game, K opens the key configuration.

If you see ILLEGAL QUANTITY ERROR after a CALL 1280, the command was typed after the auto-execution: the program has already run. Simply reload the .tap.

Under Phosphoric

In the Phosphoric emulator, as an Oric-1 with the basic10.rom ROM, load asteroric.tap with fast loading. From the sources, make run does it all; make run-joy routes the arrows and RCTRL/RALT to the emulated IJK joystick.

2. The keys

Default mapping (arrows + SPACE). All keys are read directly from the keyboard matrix, bypassing the ROM.

KeyAction
rotate left
rotate right
thrust
hyperspace — random teleport, 25% chance of dying
SPACEfire (rapid fire when held); on the title screen: start; at game over: play again
Kon the title screen: key configuration
ESCat game over: quit to BASIC; in CONTROLS: cancel

3. The CONTROLS screen

Remap the five actions

On the title screen, press K. The actions LEFT, RIGHT, THRUST, FIRE, HYPER are underlined in turn: press the key you want to assign it. A key already taken or an undocumented matrix position is refused (the game does not invent key names). A firing sound confirms each assignment.

Cancel

ESC abandons the entry and restores the previous mapping. The mapping lives in RAM: on reload, the default keys are back. ESC and the joystick cannot be remapped.

4. IJK joystick

Supported interface

The IJK joystick interface — the most common on the Oric — plugs into the printer port. Astéroric reads it directly (VIA port A, PB4 strobe) and detects its presence: without an interface, nothing is read. Left/right rotate, up thrusts, down goes to hyperspace, the button fires. Keyboard and joystick are active at the same time.

Validation

The protocol was rewritten after tester feedback on a physical interface (the first version reproduced an inaccurate emulator model) and validated against Oricutron; Phosphoric was fixed alongside.

5. The game

Goal

Destroy the asteroids without being hit. A large asteroid splits into three, each fragment again into two smaller sizes. The next, larger wave begins when the screen is empty.

Saucers

The large saucer fires at random; the small one aims at the ship, with accuracy rising with the score, and becomes the only one above 35,000 points. It returns faster at the end of a wave.

Score and lives

7-segment digits at the top of the screen, life icons (four shown at most), “WAVE n”. Extra life every 10,000 points, up to 60,000. After dying, the ship reappears briefly invincible.

Game over

Explosion, “GAME OVER”, then the session's top-five table. After 5 s, SPACE plays again and ESC returns to BASIC (clean return through the RESET vector).

6. Building from source

git clone https://github.com/benedictemarty/oric-asteroids.git
cd oric-asteroids
make            # build/asteroric.tap
make run        # runs under Phosphoric
make check      # capture == bit-exact reference
make host-test  # x86 host tests

Prerequisites: cc65 ≥ 2.19, Python 3, Phosphoric installed (path in the Makefile). make gen_ship and make gen_shapes regenerate the vertex tables; make bench profiles 25 million cycles; make clean cleans up.

7. Compatibility

MachineStatus
Real Oric-1 48K (BASIC 1.0)works — 50 Hz video validated with an RGB2HDMI, IJK validated
Oric-1 under Phosphoricnominal (the project's development emulator)
Oric-1 under Oricutronfunctional
Oric Atmos (BASIC 1.1), real or emulateddoes not work — compatibility to be addressed

8. Licence and rights

Original code: EUPL 1.2

The rendering engine, input, sound engine and recreated effects, the Oric adaptation of the game loop, HUD, title screen, build, tests and documentation are released under the European Union Public Licence v1.2.

Atari-derived elements: not covered

The game logic (state machine, physics, fragmentation, saucer AI, pseudo-random generator, scoring) is adapted from the disassembly of the arcade ROM rev 4 and the vector shapes derive from ROM data. No rights are claimed over these elements (Asteroids, © 1979 Atari, Inc.; trademark of Atari Interactive, Inc.). A non-commercial study and preservation project, neither affiliated with nor endorsed by Atari — hence the title Astéroric. Details: NOTICE.md in the repository.

← Astéroric · Features →