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
- Abre la última release de GitHub y toma
asteroric.tapde los Assets. El mismo archivo está versionado endist/asteroric.tap: desde la interfaz de GitHub, usa el botón Raw / Download, no el enlace de la página HTML (obtendrías HTML). - Cárgalo en un Oric-1 48K (ROM BASIC 1.0), real o emulado. El
.taplleva el indicador de autoarranque: el modo HIRES y el juego arrancan al cargar, sin teclearCLOADniCALL. - 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.
| Tecla | Acción |
|---|---|
| ← | girar a la izquierda |
| → | girar a la derecha |
| ↑ | propulsión (thrust) |
| ↓ | hiperespacio — teletransporte aleatorio, 25 % de riesgo de morir |
| SPACE | disparo (ráfaga si se mantiene); en la pantalla de título: empezar; en game over: volver a jugar |
| K | en la pantalla de título: configuración de teclas |
| ESC | en 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áquina | Estado |
|---|---|
| Oric-1 48K real (BASIC 1.0) | funciona — vídeo a 50 Hz validado con un RGB2HDMI, IJK validado |
| Oric-1 en Phosphoric | nominal (emulador de desarrollo del proyecto) |
| Oric-1 en Oricutron | funcional |
| Oric Atmos (BASIC 1.1), real o emulado | no 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.