# ILFA6502 v2.1.7

ファミコン / NES 用 6502 アセンブラです。  
本配布版は、Windows / Linux 向けの**実行バイナリ配布**を想定しています。

## 1. 概要

ILFA6502 は、6502アセンブリ言語で記述したソースから、NES / ファミコン用の `.nes` ROMファイルを生成するための開発支援ツールです。

主な機能：

- 6502アセンブル
- NES ROM生成
- プロジェクト作成
- テンプレート生成
- SDK / テンプレート一覧表示
- ROM外形検査
- エミュレータ起動補助

## 2. 実行ファイル

| OS | 実行ファイル | 起動例 |
|---|---|---|
| Windows | `ilfa6502.exe` | `ilfa6502.exe --version` |
| Linux | `ilfa6502` | `./ilfa6502 --version` |

Linux版では、必要に応じて実行権限を付与してください。

```bash
chmod +x ./ilfa6502
```

## 3. 最初の確認

Windows：

```bat
ilfa6502.exe --version
ilfa6502.exe doctor
ilfa6502.exe help
ilfa6502.exe list templates --long
```

Linux：

```bash
./ilfa6502 --version
./ilfa6502 doctor
./ilfa6502 help
./ilfa6502 list templates --long
```

## 4. 基本コマンド

| コマンド | 内容 |
|---|---|
| `--version` | バージョン情報を表示します。 |
| `doctor` | 実行環境と内蔵リソースを確認します。 |
| `help` | ヘルプを表示します。 |
| `list templates` | テンプレート一覧を表示します。 |
| `list sdk` | SDK一覧を表示します。 |
| `new` | 新規プロジェクトを作成します。 |
| `build` | プロジェクトをビルドします。 |
| `asm` | 単体ASMファイルをアセンブルします。 |
| `audit` | プロジェクト構成を点検します。 |
| `verify-rom` | ROMファイルの外形を検査します。 |
| `run` | エミュレータを指定してROMを実行します。 |

## 5. Helloプロジェクトの作成例

Windows：

```bat
ilfa6502.exe new hello1 --target nes-nrom --template hello
ilfa6502.exe build hello1 --listing --map --symbols --warnings
ilfa6502.exe verify-rom hello1\build\hello1.nes
```

Linux：

```bash
./ilfa6502 new hello1 --target nes-nrom --template hello
./ilfa6502 build hello1 --listing --map --symbols --warnings
./ilfa6502 verify-rom hello1/build/hello1.nes
```

## 6. リバーシROMの作成例

Windows：

```bat
ilfa6502.exe new reversi --target nes-nrom --template reversi_famicom
ilfa6502.exe build reversi --listing --map --symbols --warnings
ilfa6502.exe verify-rom reversi\build\reversi.nes
```

Linux：

```bash
./ilfa6502 new reversi --target nes-nrom --template reversi_famicom
./ilfa6502 build reversi --listing --map --symbols --warnings
./ilfa6502 verify-rom reversi/build/reversi.nes
```

## 7. シェアウェア方式について

本ソフトウェアは、無償の完全フリーソフトではなく、**シェアウェア方式**で提供されます。

継続利用、実用利用、成果物公開、業務利用、商用利用、配布用ROM制作などを行う場合は、原則としてシェアウェア登録が必要です。

```text
登録料金：5,000円（消費税別）
```

消費税は別途加算されます。銀行振込等の支払いに必要な振込手数料、送金手数料、決済手数料、その他の費用は利用者負担です。

支払先、振込先、登録方法は、配布者が別途指定する案内に従ってください。

## 8. 無償で利用できる範囲

次の目的に限り、無償で利用できます。

- 評価目的での動作確認
- 学習目的での利用
- 6502アセンブリ、NES構造、ROM生成手順の理解
- サンプルテンプレートの確認
- 個人の練習用プロジェクトでの試用
- 公開や配布を伴わない範囲での実験

学習目的であっても、継続的な実用利用、成果物の公開・配布、業務利用、商用利用、教材としての組織的配布などを行う場合は、別途登録または許諾が必要となる場合があります。

## 9. サポートについて

シェアウェア登録は、保守契約、技術サポート契約、更新保証、個別対応契約、成果物品質保証を意味しません。

開発者および配布者は、次の対応について義務を負いません。

- 問い合わせへの回答
- 不具合修正
- 追加機能の実装
- 利用者環境での動作調査
- 導入代行や設定支援
- ROMやソースのデバッグ代行
- 将来版への更新
- 実機、互換機、エミュレータでの動作保証

任意に回答や支援を行った場合でも、継続的なサポート義務の発生を意味しません。

## 10. 免責

本ソフトウェアは、**現状のまま**提供されます。

開発者および配布者は、本ソフトウェアの正確性、完全性、特定目的への適合性、継続利用可能性、将来更新、利用者環境での動作、生成ROMの品質、実機またはエミュレータでの動作を保証しません。

本ソフトウェアの利用により発生した損害、データ消失、開発成果物の喪失、第三者との紛争、知的財産権上の問題、生成ROMの公開・配布に関する問題について、開発者および配布者は責任を負いません。

詳細は `LICENSE.txt`、`DISCLAIMER.txt`、および `ILFA6502_v2_1_7_User_Manual.pdf` を参照してください。
