Descargar el .tap
El archivo asteroric.tap (~23 KB) está en los Assets de la última release de GitHub. Es autoarrancable: no hay que teclear CLOAD, el modo HIRES y el juego arrancan al cargar.
Proyecto Tachibana · Juego Oric-1
Asteroids — Oric-1 48K
Un clon de estudio fiel de Asteroids (Atari, 1979) para el Oric-1 48K: la lógica del arcade, el trazado vectorial, el sonido — en un 6502 a 1 MHz.
Escrito en C y ensamblador 6502 (cc65). Renderizado XOR en HIRES 240×200, bucle de juego a 25 Hz constantes, asteroides y platillos tomados del desensamblado de la ROM arcade rev 4, sonido AY-3-8912 en 3 canales, joystick IJK y teclas configurables. Probado en un Oric-1 real. Licencia EUPL 1.2.
Funciones
Segmentos Bresenham en XOR sobre la pantalla HIRES monocroma: dibujar y volver a dibujar borra sin guardar nada. Rutina en ensamblador automodificable, procesamiento por byte en el eje horizontal, sprites prerrenderizados para las formas fijas.
Lógica transpuesta del desensamblado de la ROM arcade rev 4: formas de asteroides de 11-13 vértices, oleadas progresivas, fragmentación en 3 trozos, IA de los platillos indexada por la puntuación, hiperespacio, nave de 5 segmentos.
Reproductor bajo la interrupción Timer 1 a 50 Hz: canal A para los efectos, B para el latido thump-thump, C para el platillo. Envolventes por hardware, ocho efectos recreados, sintonía de título según Grieg (dos voces).
Fuente vectorial A-Z completa trazada en XOR, demo pasiva al estilo de la recreativa, «PRESS SPACE» parpadeante, puntuación de 7 segmentos, «WAVE n», tabla de las cinco mejores puntuaciones.
Lectura directa de la matriz del teclado por el VIA (sin depender de la ROM), teclas reasignables desde la pantalla de título (tecla K), interfaz de joystick IJK leída en el puerto de impresora — protocolo validado en hardware real.
Código original publicado bajo EUPL 1.2 en GitHub, binario .tap autoarrancable en la release. Funciona en el emulador Phosphoric (herramienta de desarrollo del proyecto) y en un Oric-1 real.
Jugar
El archivo asteroric.tap (~23 KB) está en los Assets de la última release de GitHub. Es autoarrancable: no hay que teclear CLOAD, el modo HIRES y el juego arrancan al cargar.
El emulador Phosphoric como Oric-1 (ROM BASIC 1.0) carga el .tap directamente; make run desde las fuentes hace lo mismo, make run-joy con el joystick IJK emulado.
Carga por casete o mediante una interfaz moderna. Señal de vídeo HIRES a 50 Hz (PAL) validada por un probador externo con un RGB2HDMI; interfaz IJK física compatible.
Descargar y compilar
El repositorio es público bajo licencia EUPL 1.2 (código original). Clónalo, abre una issue, propón una corrección.
github.com/benedictemarty/oric-asteroidsCon cc65 (≥ 2.19), Python 3 para las tablas y Phosphoric para ejecutar y probar:
make # produce build/asteroric.tap
make run # ejecuta en Phosphoric
make check # captura = referencia bit a bit
make host-test # tests en el host (rng, tabla de teclas)
En Phosphoric como Oric-1, o en un Oric-1 48K real. El manual detalla las teclas, la pantalla de configuración y el joystick.
Leer el manualHoja de ruta
Astéroric está en 1.0.0-beta (fase 40, release de GitHub del 9 de agosto de 2026): juego completo y jugable, validado en un Oric-1 real por un probador externo. Cuarenta fases entregadas, dos revisiones de código «senior» aplicadas. Estado orientativo; el repositorio es la referencia.
Nave de 32 ángulos, disparos, asteroides de 4 formas × 3 tamaños, colisiones, puntuación, vidas, oleadas, platillos, hiperespacio, game over y cinco mejores puntuaciones.
Formas, aparición, fragmentación, IA de los platillos, presión de fin de oleada, explosiones de la nave y de los asteroides transpuestas del desensamblado.
Reproductor bajo IRQ, envolventes, ocho efectos, sintonía de título (Grieg, dominio público) a dos voces.
Planificador de paso fijo con recuperación, fin de los tirones; tiempo de CPU libre subido del 17,9 % al 39,8 % en tres fases de optimización.
Señal de vídeo a 50 Hz corregida (atributo ULA $1E), torpedos de 2×2 px, protocolo IJK real — tres rondas de comentarios de un probador con un Oric-1 físico.
Pantalla CONTROLS (tecla K en el título): cinco acciones reasignables, duplicados rechazados, ESC restaura.
El .tap no funciona con la ROM Atmos (BASIC 1.1): el objetivo nominal es el Oric-1, la compatibilidad Atmos será un sprint aparte.
Guardado de las mejores puntuaciones en casete o disquete, imagen .dsk Microdisc, desenrollado de los bucles de trazado, banda HUD en color.
Artículos
Cuarenta fases para meter un juego vectorial de 1979 en 20 000 ciclos por fotograma. Lo que cedió, lo que se resistió y lo que el emulador nos ocultaba. Leer el artículo →