7032 Alternative ROMs は、FM-7 / FM77AV 系パソコンのエミュレーターで使う代替 ROM 一式です。機種ごとに選んで置く ROM 15 本を収録しており、この ROM 一式だけで BASIC が立ち上がります。参考書籍と動作観察を基に書き起こした独立実装です(docs/LEGAL.md §6)。アセンブラソースを持つ ROM はすべて MIT ライセンス・ソース公開です。
配布物のバージョンは v1.0.9 です(CHANGELOG.md)。
| 区分 | 本数 | 内容 |
|---|---|---|
| 代替 ROM | 12 本 | 起動、サブ CPU 側のサブシステム、CG(フォント)、BASIC インタプリタ本体(7T-BASIC 3.1)。MIT ライセンス・ソース公開 |
| データ ROM | 3 本 | 16x16 漢字フォント(第一水準・第二水準)と、辞書 ROM の枠 |
ビルド済みのファイルは roms/、ソースは src/、ビルド定義は Makefile にあります。1 つの環境に置くのは最大 12 本です(同じ枠の機種別変種は、機種に合う 1 本だけを置きます)。
| あなたの状況 | 読む文書 |
|---|---|
| ブラウザで、まず BASIC を触ってみたい(インストール不要) | docs/SETUP.md §3 |
| 手元のエミュレーターに置いて使いたい | docs/SETUP.md §4 の機種別コピー表 |
| BASIC の書き方・使える予約語を調べたい | docs/BASIC_REFERENCE.md |
| 何がどこまで動くのかを知りたい | docs/COMPATIBILITY.md |
| 自分でビルドしたい・ROM の設計や試験の仕組みを知りたい | docs/BUILD.md |
| 利用条件・免責・来歴を読みたい | docs/LEGAL.md |
| 同梱するフォントの由来とライセンスを読みたい | LICENSE-FONT.md |
- roms/ の ROM ファイルを手元に置きます(GitHub の「Code」→「Download ZIP」でリポジトリをまるごと取得して展開します)。
- ブラウザで試すなら、実行環境 WebM7 を開きます(docs/SETUP.md §3)。手元のエミュレーターで使うなら、機種別コピー表のとおりの名前で ROM 配置先へコピーします(docs/SETUP.md §4)。
- 画面にタイトル 2 行(1 行目は青い帯の上の
7T-BASIC version 3.1、2 行目は著作権行)と空きバイト数の行に続いてReadyが出れば BASIC が動いています。
BASIC ROM は多くの環境が fbasic30.rom という名前で読みます。7tbasic3.rom をこの名前に変えて置く点が、いちばん間違えやすいところです。
- 起動(BASIC モード・ディスク起動)、画面表示、キー入力、図形描画、音が動きます。カセットとディスクは、プログラムと機械語の読込み・保存(
LOAD/SAVE/LOADM/SAVEM/MERGE/CHAIN/FILES)に対応します。ファイルの入出力は、キーボード(KYBD:)と画面(SCRN:)をOPEN/CLOSEで開閉するところまでに対応します。雑誌や書籍に載っている FM-7 用の BASIC プログラムも、対応している文法の範囲で打ち込んで動かせます。 - BASIC プログラムの保存はアスキー形式(
SAVE ,Aと同じ形式)だけです。中間コード(バイナリ)形式で保存されたプログラムは読み込めません。 - かな漢字変換(日本語入力)と、拡張サブシステムの機能部は未対応です。
- 機能ごとの対応、予約語ごとの対応、動かないプログラムの種類は docs/COMPATIBILITY.md にあります。
Issue と Pull Request を歓迎します。寄稿していただくコードとデータも、独立実装の方針(docs/LEGAL.md §6)に従ってください。
- 第三者が権利を持つコード・データの持ち込み。他者のソースコード、テーブル、フォントデータ、アセット等です。ライセンスの確認なしの持ち込みも、ライセンス非互換の持ち込みも含みます。
- 独立実装の方針(docs/LEGAL.md §6)に沿わないコード・データ。
- ROM イメージやソフトウェアのイメージ(カセット/ディスクのイメージファイル)、およびその断片をリポジトリへ加えること。
新たに第三者素材を持ち込む変更は Pull Request では受け付けません。必要と思われる場合は、変更を作る前に Issue でご相談ください。受け入れる場合は、保守者が素材名・バージョン・取得元・ライセンス・変更内容を LICENSE-FONT.md と同じ形の単体のファイルに明記したうえで同梱します。
| # | 条件 | 何を示すものか |
|---|---|---|
| 1 | DCO 1.1 への同意(Signed-off-by) |
提出物の出所の証明 |
| 2 | 独立実装の確認 | 独立実装の方針(docs/LEGAL.md §6)に沿っていることの確認 |
Developer Certificate of Origin 1.1 を寄稿の受入条件とします。提出するコミットに git commit -s で Signed-off-by 行を付けてください。条項は原文のとおりに適用し、Signed-off-by の無いコミットは受け入れません。付け忘れたときは、追加のコミットで補うのではなく git commit --amend -s または git rebase --signoff で当該コミットに付け直してください。
独立実装の確認として、Pull Request の説明に次を書いてください。
- 用いた情報源の種別(参考書籍、または動作観察)。動作観察は、寄稿者が自分で作成した試験プログラムによるものに限ります。
- 寄稿するコード・データ・字形の出所の種別(寄稿者自身の作成、または本リポジトリにある既存の素材)。
- 起動バナー・案内文言などの表現性の高い要素に、第三者の表現を用いていないこと。
- 雇用契約・委託契約等により第三者の権利が及ぶ可能性がある場合は、必要な同意を得ていること。
- 本プロジェクトは MIT License(LICENSE)で提供します。寄稿されたコードも MIT ライセンスの下で配布することに同意してください。ソースファイルの冒頭には
; SPDX-License-Identifier: MITと著作権表示を付けてください。寄稿分の著作権は各寄稿者に帰属したまま配布されます(docs/LEGAL.md §1)。 - ビルド・試験の走らせ方は docs/BUILD.md にあります。ROM を変更する Pull Request は
make verify-releaseが通り、SHA256SUMSが更新されていることを確認してください。予約語表に触れるときはpython3 scripts/gen_7t_keywords.py --check、サブシステム試験に触れるときはmake devtest-subsysも通してください。 - ソース中のコメントには、なぜその実装になっているかを現在形で書きます。過去の実装との差分は書かず、変更の経緯はコミット履歴と Pull Request の説明に委ねます。
セキュリティ上の不具合(本リポジトリのソース・生成物・ビルドスクリプトに起因して、利用者の環境に望ましくない影響を与え得るもの)と、本リポジトリの内容が著作権・商標その他の権利を害しているとお考えの場合のご指摘を受け付けます。
| 経路 | やり取りの場 | 使いどころ |
|---|---|---|
| GitHub の Private vulnerability reporting(本リポジトリの Security タブ →「Report a vulnerability」) | 当事者のみ | 未修正の脆弱性、証拠・連絡先など機微な情報を伴うご申告 |
| 本リポジトリの Issue | 公開 | 公開の場でのやり取りを希望される場合、機微な情報を伴わないご申告 |
Private vulnerability reporting が利用できない場合は、リポジトリのオーナーの GitHub プロフィールに記載の連絡先をご利用ください。ホスティング事業者が定める削除・異議申立の手続に沿った申し立てにも、その手続に従って対応します。
ご申告には、対象のバージョン(署名付きタグ、または対象コミット)と該当するファイル・行を添えてください。脆弱性の場合は再現の手順と、どの ROM をどの構成に置いたか。権利侵害の場合は、権利の内容と、本リポジトリのどの部分が該当するかをお書きください。
受領の連絡を 7 日以内、対応方針のお知らせを 30 日以内を目安に差し上げ、修正・該当部分の取り下げ・配布停止など必要な対応を行います。公開の可否・時期はご申告者と相談のうえ決めます。返信が滞る場合は、もう一方の経路からもお声がけください。金銭的な報奨の制度はありませんが、ご希望があれば修正時の謝辞にお名前を記載します。
次の 2 つは対象外です。本プロジェクトが配布していないもの(機種付属の ROM、第三者のソフトウェア、エミュレーター本体)に関するご申告と、本代替 ROM を実機の ROM 素子へ書き込む構成・機種付属の ROM と混在させる構成で生じた事象(docs/LEGAL.md §1)です。
MIT ライセンス(LICENSE-MIT.md)。同梱するフォントと、kanji.rom / kanji2.rom に含まれる同フォント由来の字形は LICENSE-FONT.md。案内表は LICENSE にまとめています。免責・商標の扱いは docs/LEGAL.md にあります。非公式の第三者プロジェクトです。