.tap をダウンロード
asteroric.tap(約 23 KB)は 最新の GitHub リリースの Assets にあります。オートラン対応:CLOAD を入力する必要はなく、ロードと同時に HIRES モードとゲームが始まります。
Tachibana プロジェクト · Oric-1 ゲーム
Asteroids — Oric-1 48K
Oric-1 48K 向けの忠実な Asteroids(Atari、1979)研究クローン:アーケードのロジック、ベクター描画、サウンドを 1 MHz の 6502 で。
C と 6502 アセンブリ(cc65)で開発。HIRES 240×200 での XOR 描画、一定 25 Hz のゲームループ、アーケード ROM rev 4 の逆アセンブルに基づく小惑星と円盤、3 チャンネル AY-3-8912 サウンド、IJK ジョイスティックとキー設定。実機 Oric-1 でテスト済み。EUPL 1.2 ライセンス。
機能
モノクロ HIRES 画面へのブレゼンハム線分の XOR 描画:描いて、もう一度描けば消える。何も保存しない。自己書き換えアセンブリルーチン、水平軸のバイト単位一括処理、固定形状のプリレンダリング済みスプライト。
アーケード ROM rev 4 の逆アセンブルから移植したロジック:11〜13 頂点の小惑星形状、段階的なウェーブ、3 分割の破砕、スコア連動の円盤 AI、ハイパースペース、5 セグメントの自機。
50 Hz の Timer 1 割り込み下のプレーヤー:チャンネル A は効果音、B はドンドンという鼓動、C は円盤。ハードウェアエンベロープ、再現した 8 種の効果音、グリーグに基づくタイトルジングル(2 声)。
XOR で描く完全な A〜Z ベクターフォント、筐体風のデモ、点滅する「PRESS SPACE」、7 セグメントのスコア、「WAVE n」、上位 5 位のハイスコア表。
VIA によるキーボードマトリクスの直接スキャン(ROM 非依存)、タイトル画面からのキー再割り当て(K キー)、プリンタポートで読む IJK ジョイスティックインターフェース — プロトコルは実機で検証済み。
オリジナルコードは GitHub で EUPL 1.2 として公開、リリースにはオートラン .tap を同梱。エミュレータ Phosphoric(本プロジェクトの開発ツール)と実機 Oric-1 で動作。
遊ぶ
asteroric.tap(約 23 KB)は 最新の GitHub リリースの Assets にあります。オートラン対応:CLOAD を入力する必要はなく、ロードと同時に HIRES モードとゲームが始まります。
エミュレータ Phosphoric を Oric-1(BASIC 1.0 ROM)として起動すれば .tap を直接ロードできます。ソースからは make run で同じことができ、make run-joy ならエミュレートした IJK ジョイスティック付きです。
カセットまたは現代的なインターフェースからロード。HIRES 50 Hz(PAL)のビデオ信号は外部テスターが RGB2HDMI で検証済み。物理 IJK インターフェースに対応。
ダウンロードとビルド
リポジトリは EUPL 1.2 ライセンス(オリジナルコード)で公開されています。クローンし、issue を開き、修正を提案してください。
github.com/benedictemarty/oric-asteroidscc65(2.19 以上)、テーブル生成用の Python 3、実行とテスト用の Phosphoric で:
make # build/asteroric.tap を生成
make run # Phosphoric で起動
make check # キャプチャ = ビット単位で一致する参照
make host-test # ホストテスト(rng、キーテーブル)
ロードマップ
Astéroric は 1.0.0-beta(フェーズ 40、2026 年 8 月 9 日の GitHub リリース):完成した遊べるゲームで、外部テスターが実機 Oric-1 で検証済み。40 フェーズを納品し、2 回の「シニア」コードレビューを反映。以下は目安であり、リポジトリが正です。
32 方向の自機、弾、4 形状 × 3 サイズの小惑星、衝突、スコア、残機、ウェーブ、円盤、ハイパースペース、ゲームオーバーと上位 5 位のハイスコア。
形状、出現、破砕、円盤 AI、ウェーブ終盤の圧力、自機と小惑星の爆発を逆アセンブルから移植。
IRQ 駆動プレーヤー、エンベロープ、8 種の効果音、2 声のタイトルジングル(グリーグ、パブリックドメイン)。
追いつき付き固定ステップスケジューラでカクつきを解消。3 回の最適化フェーズで CPU の空き時間を 17.9 % から 39.8 % に。
50 Hz ビデオ信号の修正(ULA 属性 $1E)、2×2 px の魚雷、実際の IJK プロトコル — 実機 Oric-1 のテスターからの 3 回のフィードバック。
CONTROLS 画面(タイトルで K キー):5 つのアクションを再割り当て可能、重複は拒否、ESC で復元。
.tap は Atmos ROM(BASIC 1.1)では動作しません。名目上の対象は Oric-1 で、Atmos 互換は別スプリントで対応。
ハイスコアのカセット/ディスク保存、Microdisc の .dsk イメージ、描画ループの展開、カラーの HUD 帯。
記事
1979 年のベクターゲームを 1 フレーム 20,000 サイクルに収めるまでの 40 フェーズ。譲ったもの、抵抗したもの、そしてエミュレータが私たちに隠していたもの。 記事を読む →