Astéroric › マニュアル
Astéroric — マニュアル
Oric-1 48K 向け Asteroids 研究クローン · EUPL 1.2 ライセンス。このマニュアルはダウンロードからプレイ、そしてソースからのビルドまでを扱います。機能と技術は機能ページをご覧ください。
1. ダウンロードと起動
- 最新の GitHub リリースを開き、Assets から
asteroric.tapを取得します。同じファイルはdist/asteroric.tapにもバージョン管理されています。GitHub の画面からは Raw / Download ボタンを使い、HTML ページのリンクは使わないでください(HTML が落ちてきます)。 - 実機またはエミュレータの Oric-1 48K(BASIC 1.0 ROM)でロードします。
.tapにはオートランフラグがあり、ロードと同時に HIRES モードとゲームが始まります。CLOADもCALLも不要です。 - ジングルが流れ、デモ付きのタイトル画面が表示されます。SPACE でゲーム開始、K でキー設定を開きます。
CALL 1280 の後に ILLEGAL QUANTITY ERROR が出た場合、コマンドが自動実行の後に入力されたということです。プログラムはすでに実行済みです。.tap をロードし直してください。
Phosphoric で
エミュレータ Phosphoric で、ROM basic10.rom の Oric-1 として asteroric.tap を高速ロードします。ソースからは make run ですべて行えます。make run-joy は矢印キーと RCTRL/RALT をエミュレートした IJK ジョイスティックに振り向けます。
2. キー
初期割り当て(矢印 + SPACE)。すべてのキーは ROM を経由せず、キーボードマトリクスから直接読み取られます。
| キー | アクション |
|---|---|
| ← | 左回転 |
| → | 右回転 |
| ↑ | 推進(thrust) |
| ↓ | ハイパースペース — ランダムなテレポート、25 % の死亡リスク |
| SPACE | 発射(押しっぱなしで連射)。タイトル画面:開始。ゲームオーバー時:再プレイ |
| K | タイトル画面:キー設定 |
| ESC | ゲームオーバー時:BASIC に戻る。CONTROLS 内:キャンセル |
3. CONTROLS 画面
5 つのアクションを再割り当て
タイトル画面で K を押します。LEFT、RIGHT、THRUST、FIRE、HYPER のアクションが順に下線表示されるので、割り当てたいキーを押します。すでに使われているキーや文書化されていないマトリクス位置は拒否されます(ゲームはキー名を捏造しません)。割り当てのたびに発射音が鳴って確認できます。
キャンセル
ESC で入力を中断し、以前の割り当てを復元します。割り当ては RAM 上にあり、再ロードすると初期キーに戻ります。ESC とジョイスティックは再割り当てできません。
4. IJK ジョイスティック
対応インターフェース
Oric で最も普及している IJK ジョイスティックインターフェースはプリンタポートに接続します。Astéroric はこれを直接読み取り(VIA ポート A、PB4 ストローブ)、存在を検出します。インターフェースがなければ何も読みません。左右で回転、上で推進、下でハイパースペース、ボタンで発射。キーボードとジョイスティックは同時に有効です。
検証
物理インターフェースでのテスターのフィードバックを受けてプロトコルを書き直し(初版は不正確なエミュレータモデルを再現していました)、Oricutron に対して検証しました。Phosphoric も並行して修正されています。
5. ゲーム
目的
撃たれずに小惑星を破壊すること。大きな小惑星は 3 つに割れ、各破片はさらに 2 段階小さいサイズに割れます。画面が空になると、次のより多いウェーブが始まります。
円盤
大型円盤はランダムに撃ちます。小型円盤は自機を狙い、スコアとともに精度が上がり、35,000 点を超えると小型のみになります。ウェーブ終盤には再登場が早まります。
スコアと残機
画面上部に 7 セグメントの数字、残機アイコン(表示は最大 4 つ)、「WAVE n」。10,000 点ごとに残機追加、60,000 点まで。死亡後、自機は短時間無敵で再出現します。
ゲームオーバー
爆発、「GAME OVER」、そしてセッションの上位 5 位の表。5 秒後、SPACE で再プレイ、ESC で BASIC に戻ります(RESET ベクター経由のクリーンな復帰)。
6. ソースからビルド
git clone https://github.com/benedictemarty/oric-asteroids.git
cd oric-asteroids
make # build/asteroric.tap
make run # Phosphoric で起動
make check # キャプチャ == ビット単位で一致する参照
make host-test # x86 ホストテスト
前提条件:cc65 2.19 以上、Python 3、インストール済みの Phosphoric(パスは Makefile 内)。make gen_ship と make gen_shapes は頂点テーブルを再生成、make bench は 2,500 万サイクルをプロファイル、make clean は後片付けをします。
7. 互換性
| 機種 | 状態 |
|---|---|
| 実機 Oric-1 48K(BASIC 1.0) | 動作 — RGB2HDMI で 50 Hz ビデオを検証、IJK を検証 |
| Phosphoric 上の Oric-1 | 正常(本プロジェクトの開発用エミュレータ) |
| Oricutron 上の Oric-1 | 動作 |
| Oric Atmos(BASIC 1.1)、実機・エミュレータとも | 動作しない — 互換性は今後対応 |
8. ライセンスと権利
オリジナルコード:EUPL 1.2
描画エンジン、入力、サウンドエンジンと再現した効果音、ゲームループの Oric 向け適応、HUD、タイトル画面、ビルド、テスト、ドキュメントは欧州連合公衆ライセンス v1.2 で公開されています。
Atari 由来の要素:対象外
ゲームロジック(状態機械、物理、破砕、円盤 AI、擬似乱数生成器、得点表)はアーケード ROM rev 4 の逆アセンブルから適応され、ベクター形状は ROM データに由来します。これらの要素について権利は一切主張しません(Asteroids、© 1979 Atari, Inc.、Atari Interactive, Inc. の商標)。非商用の研究・保存プロジェクトであり、Atari とは提携も承認も受けていません。それが Astéroric というタイトルの理由です。詳細はリポジトリの NOTICE.md を参照。