Tachibana

Astéroric › Manual

Astéroric — manual

Clon de estudio de Asteroids para Oric-1 48K · licencia EUPL 1.2. Este manual va de la descarga a la partida, y después a la compilación desde las fuentes. Las funciones y la técnica se describen en la página Funciones.

Índice

1. Descargar y lanzar

  1. Abre la última release de GitHub y toma asteroric.tap de los Assets. El mismo archivo está versionado en dist/asteroric.tap: desde la interfaz de GitHub, usa el botón Raw / Download, no el enlace de la página HTML (obtendrías HTML).
  2. Cárgalo en un Oric-1 48K (ROM BASIC 1.0), real o emulado. El .tap lleva el indicador de autoarranque: el modo HIRES y el juego arrancan al cargar, sin teclear CLOAD ni CALL.
  3. Suena la sintonía y aparece la pantalla de título con su demo. SPACE inicia la partida, K abre la configuración de teclas.

Si ves ILLEGAL QUANTITY ERROR tras un CALL 1280, es que la orden se tecleó después de la autoejecución: el programa ya ha corrido. Basta con recargar el .tap.

Con Phosphoric

En el emulador Phosphoric, como Oric-1 con la ROM basic10.rom, carga asteroric.tap con la carga rápida. Desde las fuentes, make run lo hace todo; make run-joy dirige las flechas y RCTRL/RALT al joystick IJK emulado.

2. Las teclas

Asignación por defecto (flechas + SPACE). Todas las teclas se leen directamente en la matriz del teclado, sin pasar por la ROM.

TeclaAcción
girar a la izquierda
girar a la derecha
propulsión (thrust)
hiperespacio — teletransporte aleatorio, 25 % de riesgo de morir
SPACEdisparo (ráfaga si se mantiene); en la pantalla de título: empezar; en game over: volver a jugar
Ken la pantalla de título: configuración de teclas
ESCen game over: salir al BASIC; en CONTROLS: cancelar

3. La pantalla CONTROLS

Reasignar las cinco acciones

En la pantalla de título, pulsa K. Las acciones LEFT, RIGHT, THRUST, FIRE, HYPER se subrayan por turno: pulsa la tecla deseada para asignarla. Una tecla ya usada o una posición de matriz no documentada se rechaza (el juego no inventa nombres de teclas). Un sonido de disparo confirma cada asignación.

Cancelar

ESC abandona la entrada y restaura la asignación anterior. La asignación vive en RAM: al recargar, vuelven las teclas por defecto. ESC y el joystick no son reasignables.

4. Joystick IJK

Interfaz compatible

La interfaz de joystick IJK — la más extendida en el Oric — se conecta al puerto de impresora. Astéroric la lee directamente (puerto A del VIA, strobe PB4) y detecta su presencia: sin interfaz, no se lee nada. Izquierda/derecha giran, arriba propulsa, abajo pasa al hiperespacio, el botón dispara. Teclado y joystick están activos a la vez.

Validación

El protocolo se reescribió tras los comentarios de un probador con una interfaz física (la primera versión reproducía un modelo de emulador inexacto) y se validó contra Oricutron; Phosphoric se corrigió en paralelo.

5. La partida

Objetivo

Destruir los asteroides sin ser alcanzado. Un asteroide grande se fragmenta en tres, y cada fragmento en dos tamaños más pequeños. La siguiente oleada, más nutrida, empieza cuando la pantalla queda vacía.

Platillos

El platillo grande dispara al azar; el pequeño apunta a la nave, con una precisión que crece con la puntuación, y pasa a ser el único por encima de 35 000 puntos. Vuelve antes al final de la oleada.

Puntuación y vidas

Cifras de 7 segmentos en la parte superior, iconos de vidas (cuatro como máximo), «WAVE n». Vida extra cada 10 000 puntos, hasta 60 000. Tras morir, la nave reaparece invencible durante un instante.

Game over

Explosión, «GAME OVER» y luego la tabla de las cinco mejores puntuaciones de la sesión. Pasados 5 s, SPACE vuelve a jugar y ESC vuelve al BASIC (retorno limpio por el vector RESET).

6. Compilar desde las fuentes

git clone https://github.com/benedictemarty/oric-asteroids.git
cd oric-asteroids
make            # build/asteroric.tap
make run        # ejecuta en Phosphoric
make check      # captura == referencia bit a bit
make host-test  # tests x86 en el host

Requisitos: cc65 ≥ 2.19, Python 3, Phosphoric instalado (ruta en el Makefile). make gen_ship y make gen_shapes regeneran las tablas de vértices; make bench perfila 25 millones de ciclos; make clean limpia.

7. Compatibilidad

MáquinaEstado
Oric-1 48K real (BASIC 1.0)funciona — vídeo a 50 Hz validado con un RGB2HDMI, IJK validado
Oric-1 en Phosphoricnominal (emulador de desarrollo del proyecto)
Oric-1 en Oricutronfuncional
Oric Atmos (BASIC 1.1), real o emuladono funciona — compatibilidad pendiente

8. Licencia y derechos

Código original: EUPL 1.2

Motor de renderizado, entradas, motor de sonido y efectos recreados, adaptación Oric del bucle de juego, HUD, pantalla de título, compilación, tests y documentación se publican bajo la Licencia Pública de la Unión Europea v1.2.

Elementos derivados de Atari: no cubiertos

La lógica de juego (máquina de estados, física, fragmentación, IA del platillo, generador pseudoaleatorio, baremo) está adaptada del desensamblado de la ROM arcade rev 4 y las formas vectoriales derivan de los datos de la ROM. No se reclama ningún derecho sobre estos elementos (Asteroids, © 1979 Atari, Inc.; marca de Atari Interactive, Inc.). Proyecto de estudio y preservación, no comercial, ni afiliado a Atari ni aprobado por ella — de ahí el título Astéroric. Detalles: NOTICE.md del repositorio.

← Astéroric · Funciones →