Tachibana

Tachibana プロジェクト · Oric-1 ゲーム

Astéroric

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 ライセンス。

機能

Astéroric でできること

XOR ベクター描画

モノクロ HIRES 画面へのブレゼンハム線分の XOR 描画:描いて、もう一度描けば消える。何も保存しない。自己書き換えアセンブリルーチン、水平軸のバイト単位一括処理、固定形状のプリレンダリング済みスプライト。

アーケードに忠実

アーケード ROM rev 4 の逆アセンブルから移植したロジック:11〜13 頂点の小惑星形状、段階的なウェーブ、3 分割の破砕、スコア連動の円盤 AI、ハイパースペース、5 セグメントの自機。

3 チャンネル AY-3-8912 サウンド

50 Hz の Timer 1 割り込み下のプレーヤー:チャンネル A は効果音、B はドンドンという鼓動、C は円盤。ハードウェアエンベロープ、再現した 8 種の効果音、グリーグに基づくタイトルジングル(2 声)。

ベクタータイトル画面

XOR で描く完全な A〜Z ベクターフォント、筐体風のデモ、点滅する「PRESS SPACE」、7 セグメントのスコア、「WAVE n」、上位 5 位のハイスコア表。

キーボードと IJK ジョイスティック

VIA によるキーボードマトリクスの直接スキャン(ROM 非依存)、タイトル画面からのキー再割り当て(K キー)、プリンタポートで読む IJK ジョイスティックインターフェース — プロトコルは実機で検証済み。

自由なソフトウェア(EUPL 1.2)

オリジナルコードは GitHub で EUPL 1.2 として公開、リリースにはオートラン .tap を同梱。エミュレータ Phosphoric(本プロジェクトの開発ツール)と実機 Oric-1 で動作。

すべての機能を詳しく見る → · マニュアルを読む →

遊ぶ

3 つの遊び方

.tap をダウンロード

asteroric.tap(約 23 KB)は 最新の GitHub リリースAssets にあります。オートラン対応:CLOAD を入力する必要はなく、ロードと同時に HIRES モードとゲームが始まります。

推奨

Phosphoric で

エミュレータ Phosphoric を Oric-1(BASIC 1.0 ROM)として起動すれば .tap を直接ロードできます。ソースからは make run で同じことができ、make run-joy ならエミュレートした IJK ジョイスティック付きです。

エミュレータ

実機 Oric-1 で

カセットまたは現代的なインターフェースからロード。HIRES 50 Hz(PAL)のビデオ信号は外部テスターが RGB2HDMI で検証済み。物理 IJK インターフェースに対応。

実機

ダウンロードとビルド

入手してビルドする

ソースコード

リポジトリは EUPL 1.2 ライセンス(オリジナルコード)で公開されています。クローンし、issue を開き、修正を提案してください。

github.com/benedictemarty/oric-asteroids

ビルド

cc65(2.19 以上)、テーブル生成用の Python 3、実行とテスト用の Phosphoric で:

make # build/asteroric.tap を生成
make run # Phosphoric で起動
make check # キャプチャ = ビット単位で一致する参照
make host-test # ホストテスト(rng、キーテーブル)

実行

Phosphoric を Oric-1 として、または実機 Oric-1 48K で。マニュアルにキー、設定画面、ジョイスティックの詳細があります。

マニュアルを読む

ロードマップ

開発の現状

Astéroric は 1.0.0-beta(フェーズ 40、2026 年 8 月 9 日の GitHub リリース):完成した遊べるゲームで、外部テスターが実機 Oric-1 で検証済み。40 フェーズを納品し、2 回の「シニア」コードレビューを反映。以下は目安であり、リポジトリが正です。

完全なゲーム

32 方向の自機、弾、4 形状 × 3 サイズの小惑星、衝突、スコア、残機、ウェーブ、円盤、ハイパースペース、ゲームオーバーと上位 5 位のハイスコア。

完了

アーケード rev 4 への忠実さ

形状、出現、破砕、円盤 AI、ウェーブ終盤の圧力、自機と小惑星の爆発を逆アセンブルから移植。

完了

3 チャンネル AY サウンド

IRQ 駆動プレーヤー、エンベロープ、8 種の効果音、2 声のタイトルジングル(グリーグ、パブリックドメイン)。

完了

一定 25 Hz

追いつき付き固定ステップスケジューラでカクつきを解消。3 回の最適化フェーズで CPU の空き時間を 17.9 % から 39.8 % に。

完了

実機

50 Hz ビデオ信号の修正(ULA 属性 $1E)、2×2 px の魚雷、実際の IJK プロトコル — 実機 Oric-1 のテスターからの 3 回のフィードバック。

完了

キー設定

CONTROLS 画面(タイトルで K キー):5 つのアクションを再割り当て可能、重複は拒否、ESC で復元。

完了

Oric Atmos

.tap は Atmos ROM(BASIC 1.1)では動作しません。名目上の対象は Oric-1 で、Atmos 互換は別スプリントで対応。

未着手

保存とディスク

ハイスコアのカセット/ディスク保存、Microdisc の .dsk イメージ、描画ループの展開、カラーの HUD 帯。

ロードマップ

記事

技術ノート