Astéroric ported to the Neo6502 (cc65): arcade logic kept as is, API XOR lines, smoothed polygonal asteroids drawn by the RP2040, remappable HID keyboard, 4-channel sound, 30 Hz. .neo binary published. v0.2.0.
Status Sprint 1 delivered
Overview
AsteroNeo is the port of Astéroric, our study clone of Asteroids for the Oric-1: the game logic (waves, fragmentation, saucer AI, hyperspace, high scores — transposed from the arcade rev 4 disassembly) is kept as is in cc65 C; everything that touched the Oric hardware is replaced by the firmware API — XOR lines and pixels in mode 0 (320×240), asteroids as polygons derived from the arcade shapes and smoothed (24/16/10 vertices) drawn by the RP2040 (poly_xor in assembly), keyboard by remappable HID codes, 4-channel sound, a 30 Hz game step on 60 Hz frames. Sprint 1 delivered, sprint 2 (playtest and polish) under way: v0.2.0, asteroneo.neo binary published on GitHub and Framagit, host tests (gcc), Phosphoneo captures compared bit for bit, smoke test in the official emulator.
Porting Astéroric (a study clone of Asteroids for the Oric-1) to the Neo6502: arcade logic kept, XOR rendering through the firmware API, half-open lines, 16-bit coordinates, 30 Hz, HID keyboard, 4-channel sound, the cc65 OptStackOps case, bit-for-bit tests in Phosphoneo — then the tests on a real board. Read the article →
Forty phases to fit Asteroids into 20,000 cycles per frame: the budget that did not hold, XOR drawing and its vanishing vertices, the VSync that does not exist, flicker, the ROM we bypass, the BSS, sound borrowed from another machine, and what the emulator was hiding. Read the article →