---
title: "ILFA6502 v2.1.7-refresh5 取扱説明書"
subtitle: "Windows / Linux 単体実行版・バイナリ配布・シェアウェア版"
author: ""
date: "2026-07-08"
documentclass: article
mainfont: "Noto Sans CJK JP"
sansfont: "Noto Sans CJK JP"
monofont: "DejaVu Sans Mono"
CJKmainfont: "Noto Sans CJK JP"
fontsize: 10.5pt
colorlinks: false
---

# ILFA6502 v2.1.7-refresh5 取扱説明書

## 1. 本書の目的

本書は、ILFA6502 v2.1.7-refresh5 を Windows または Linux の単体実行ファイルとして利用し、NES / ファミコン向け `.nes` ROM を作成、検査、実行確認するための取扱説明書です。

refresh5 では、refresh4 の操作体系を継承しつつ、実際の Windows 利用時に発生しやすいコマンド入力の問題を改善しています。

主な反映点は次の通りです。

- `menu` コマンドによる操作メニュー表示
- `help quickstart` / `help commands` / `help workflow` / `help options` の説明更新
- `list templates --long` / `list samples --long` / `list sdk --long --deps` の説明更新
- `template-info` / `sdk-info` / `verify-rom` の利用手順更新
- Windows ビルドキットでは、親フォルダから `dist\ilfa6502.exe` を呼ぶ運用へ統一
- `new` 実行後の `Next:` 表示を最新版の挙動に合わせて説明
- `verify-rom` による iNES ヘッダ、サイズ、NMI / RESET / IRQ ベクタ確認を説明
- PDF や文書からコピーした特殊ハイフンを refresh5 側で補正できることを説明
- ただし、マニュアル上のコマンド例では ASCII の `-` と `--` を使用することを明記
- `new` はプロジェクト生成のみであり、ROM 生成には必ず `build` が必要であることを明記

本書は、一般利用者、学習者、個人制作者、評価者を対象とします。商用ゲーム開発用の完全な統合開発環境、または長期保守を保証する製品仕様書ではありません。

## 2. ILFA6502 の概要

ILFA6502 は、6502 アセンブラと NES / ファミコン向け小型 SDK を組み合わせた開発支援ツールです。

| 機能 | 内容 |
|---|---|
| 6502 アセンブル | `.asm` ソースを 6502 機械語へ変換します。 |
| NES ROM 生成 | iNES 形式の `.nes` ROM を生成します。 |
| プロジェクト作成 | 内蔵テンプレートから開発用フォルダを作成します。 |
| SDK 利用 | PPU、PAD、APU、NROM、ゲーム補助などの include ライブラリを利用できます。 |
| サンプル確認 | サンプル、テンプレート、SDK 一覧を確認できます。 |
| ROM 検査 | iNES ヘッダ、サイズ、PRG / CHR、ベクタを検査できます。 |
| 診断 | `doctor` で実行環境と内蔵リソースを確認できます。 |

v2.1.7-refresh5 では、`reversi_famicom` テンプレートが代表的なサンプルです。タイトル画面、手番選択、CPU 対戦、自動パス、終局待機、結果画面、BGM / SE などを含むファミコン版リバーシの雛形として利用できます。

## 3. 配布形態

本書では、主に次の実行形態を扱います。

| 区分 | 実行ファイル | 基本例 |
|---|---|---|
| Windows 単体実行版 | `ilfa6502.exe` | `ilfa6502.exe --version` |
| Linux 単体実行版 | `ilfa6502` | `./ilfa6502 --version` |
| Windows ビルドキット生成物 | `dist\ilfa6502.exe` | `dist\ilfa6502.exe --version` |
| Linux ビルドキット生成物 | `dist/ilfa6502` | `./dist/ilfa6502 --version` |

通常の配布版では、実行ファイルが配布フォルダの直下に置かれる場合があります。その場合は `ilfa6502.exe` または `./ilfa6502` を直接実行します。

Windows ビルドキットを使って自分で EXE を生成した場合は、生成物は `dist\ilfa6502.exe` に作成されます。この場合は、`dist` フォルダへ移動せず、ビルドキットの親フォルダから `dist\ilfa6502.exe` を呼び出す運用を推奨します。

## 4. 動作環境

### 4.1 Windows

推奨環境は次の通りです。

- Windows 10 / Windows 11 64bit
- コマンドプロンプトまたは PowerShell
- FCEUX などの NES / ファミコン対応エミュレータ

通常配布版の基本確認例:

```bat
ilfa6502.exe --version
ilfa6502.exe doctor
ilfa6502.exe menu
```

Windows ビルドキットで EXE を生成した場合:

```bat
dist\ilfa6502.exe --version
dist\ilfa6502.exe doctor
dist\ilfa6502.exe menu
```

### 4.2 Linux

推奨環境は次の通りです。

- Linux x86_64
- Ubuntu 20.04 / 22.04 / 24.04 など
- ターミナル
- FCEUX などの NES / ファミコン対応エミュレータ

初回に実行権限を付与します。

```bash
chmod +x ./ilfa6502
./ilfa6502 --version
./ilfa6502 doctor
./ilfa6502 menu
```

Linux ビルドキットで生成した場合:

```bash
chmod +x ./dist/ilfa6502
./dist/ilfa6502 --version
./dist/ilfa6502 doctor
./dist/ilfa6502 menu
```

## 5. 最初に使うコマンド

はじめて使う場合は、次の順で確認します。

### 5.1 Windows 配布版

```bat
ilfa6502.exe doctor
ilfa6502.exe list templates --long
ilfa6502.exe new test --target nes-nrom --template hello
ilfa6502.exe build test --listing --map --symbols --warnings
ilfa6502.exe verify-rom test\build\test.nes
```

### 5.2 Windows ビルドキット生成版

```bat
dist\ilfa6502.exe doctor
dist\ilfa6502.exe list templates --long
dist\ilfa6502.exe new test --target nes-nrom --template hello
dist\ilfa6502.exe build test --listing --map --symbols --warnings
dist\ilfa6502.exe verify-rom test\build\test.nes
```

### 5.3 Linux

```bash
./ilfa6502 doctor
./ilfa6502 list templates --long
./ilfa6502 new test --target nes-nrom --template hello
./ilfa6502 build test --listing --map --symbols --warnings
./ilfa6502 verify-rom test/build/test.nes
```

### 5.4 重要: `new` だけでは ROM は生成されません

`new` コマンドは、テンプレートからプロジェクトフォルダを作成するだけです。`.nes` ROM はまだ生成されません。

ROM を作るには、必ず `build` を実行してください。ROM 検査は `build` の後に行います。

正しい順序:

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

`new` 直後に `verify-rom` を実行すると、ROM がまだ存在しないため、次のようなエラーになります。

```text
ERROR: ROM file not found: ...\testReversi\build\testReversi.nes
HINT: find the generated ROM first:
  Windows: dir /s /b *.nes
  Linux  : find . -name "*.nes" -print
```

## 6. コマンドメニュー

`menu` は、操作に迷ったときの入口です。

```bat
ilfa6502.exe menu
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe menu
```

Linux:

```bash
./ilfa6502 menu
```

主なコマンドは次の通りです。

| コマンド | 目的 | 例 |
|---|---|---|
| `menu` | 操作メニューを表示 | `ilfa6502 menu` |
| `help` | 詳しい説明を表示 | `ilfa6502 help quickstart` |
| `list` | テンプレート、SDK、サンプル、ヘルプ項目を一覧 | `ilfa6502 list all --long` |
| `new` | テンプレートから新規プロジェクトを作成 | `ilfa6502 new mygame --target nes-nrom --template hello` |
| `build` | プロジェクトをビルド | `ilfa6502 build mygame --listing --map --symbols --warnings` |
| `run` | ビルド後にエミュレータを起動 | `ilfa6502 run mygame --emulator fceux` |
| `asm` | 単体 ASM ファイルを直接アセンブル | `ilfa6502 asm main.asm -o game.nes --target nes-nrom` |
| `doctor` | 実行環境と同梱リソースを検査 | `ilfa6502 doctor` |
| `audit` | プロジェクトの include / asset 参照を点検 | `ilfa6502 audit mygame` |
| `verify-rom` | iNES ヘッダ、サイズ、ベクタを検査 | `ilfa6502 verify-rom mygame/build/mygame.nes` |
| `sdk-info` | SDK モジュールのマクロや依存を確認 | `ilfa6502 sdk-info nes/game.inc` |
| `template-info` | テンプレートのファイル構成を確認 | `ilfa6502 template-info reversi_famicom` |

## 7. ヘルプの使い方

### 7.1 ヘルプ一覧

```bat
ilfa6502.exe list help
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe list help
```

Linux:

```bash
./ilfa6502 list help
```

### 7.2 よく使うヘルプ

```bat
ilfa6502.exe help quickstart
ilfa6502.exe help commands
ilfa6502.exe help workflow
ilfa6502.exe help options
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe help quickstart
dist\ilfa6502.exe help commands
dist\ilfa6502.exe help workflow
dist\ilfa6502.exe help options
```

Linux:

```bash
./ilfa6502 help quickstart
./ilfa6502 help commands
./ilfa6502 help workflow
./ilfa6502 help options
```

| ヘルプ項目 | 内容 |
|---|---|
| `help quickstart` | 最短手順を確認します。 |
| `help commands` | コマンド全体の用途を確認します。 |
| `help workflow` | 典型的な作業の流れを確認します。 |
| `help options` | よく使うオプションを確認します。 |
| `help templates` | テンプレートの使い方を確認します。 |
| `help sdk` | SDK の概要を確認します。 |

注意: `help quickstart` の例には `./ilfa6502` や `.\ilfa6502.exe` が表示されることがあります。Windows ビルドキット生成版では、親フォルダから `dist\ilfa6502.exe` を使うのが基本です。

## 8. 一覧表示コマンド

### 8.1 テンプレート一覧

```bat
ilfa6502.exe list templates --long
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe list templates --long
```

テンプレートは、`new` コマンドで新規プロジェクトを作成するための雛形です。

代表例:

| テンプレート | 内容 |
|---|---|
| `hello` | 最小構成の NROM 起動サンプルです。 |
| `reversi_famicom` | v2.1.7 ファミコン版リバーシです。 |
| `block_breaker` | レインボーブロック崩しです。 |
| `galaxy_shooter` | ギャラクシアン風シューティングです。 |
| `mml_sound` | 簡易 MML / APU 音楽再生を試します。 |
| `multi_file_demo` | 複数 ASM ファイル構成を試します。 |

### 8.2 サンプル一覧

```bat
ilfa6502.exe list samples --long
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe list samples --long
```

サンプルは、学習や動作確認を目的とした実例です。実際に利用可能な名前は、必ずこのコマンドで確認してください。

### 8.3 SDK 一覧

```bat
ilfa6502.exe list sdk --long --deps
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe list sdk --long --deps
```

SDK 一覧では、`nes/game.inc` などの SDK モジュールと依存関係を確認できます。

### 8.4 まとめて確認

```bat
ilfa6502.exe list all --long
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe list all --long
```

Linux では先頭を `./ilfa6502` に置き換えます。

## 9. 新規プロジェクト作成

基本形は次の通りです。

```bat
ilfa6502.exe new <プロジェクト名> --target nes-nrom --template <テンプレート名>
```

例:

```bat
ilfa6502.exe new testReversi --target nes-nrom --template reversi_famicom
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe new testReversi --target nes-nrom --template reversi_famicom
```

Linux:

```bash
./ilfa6502 new testReversi --target nes-nrom --template reversi_famicom
```

プロジェクト作成後は、`Next:` に推奨される次のコマンドが表示されます。refresh5 では、Windows EXE 版でも実行場所を踏まえた案内が表示されます。

出力例:

```text
OK: created testReversi
Next:
  Recommended from the current folder:
    "C:\...\dist\ilfa6502.exe" build "testReversi" --listing --map --symbols --warnings
  Or from inside the project folder:
    cd "testReversi"
    "C:\...\dist\ilfa6502.exe" build . --listing --map --symbols --warnings
```

既に同名フォルダがあり、中身が空でない場合は次のエラーになります。

```text
ERROR: destination already exists and is not empty: ...\testReversi
```

作り直す場合は、フォルダを削除するか、別名のプロジェクトを作成してください。

```bat
rmdir /s /q testReversi
dist\ilfa6502.exe new testReversi --target nes-nrom --template reversi_famicom
```

または:

```bat
dist\ilfa6502.exe new testReversi2 --target nes-nrom --template reversi_famicom
```

## 10. ビルド

基本形は次の通りです。

```bat
ilfa6502.exe build <プロジェクト名> --listing --map --symbols --warnings
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe build testReversi --listing --map --symbols --warnings
```

Linux:

```bash
./ilfa6502 build testReversi --listing --map --symbols --warnings
```

プロジェクトフォルダ内に入った場合の Windows ビルドキット生成版:

```bat
..\dist\ilfa6502.exe build . --listing --map --symbols --warnings
```

ビルドに成功すると、通常は次の場所に `.nes` が生成されます。

```text
testReversi\build\testReversi.nes
```

Linux では:

```text
testReversi/build/testReversi.nes
```

以前の一部資料にあった `testReversi\build\build\testReversi.nes` ではなく、refresh5 では `testReversi\build\testReversi.nes` を標準の説明にしています。

## 11. ROM の検査

`verify-rom` は、生成した `.nes` ROM の外形を検査します。

Windows:

```bat
ilfa6502.exe verify-rom testReversi\build\testReversi.nes
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe verify-rom testReversi\build\testReversi.nes
```

Linux:

```bash
./ilfa6502 verify-rom testReversi/build/testReversi.nes
```

出力例:

```text
iNES ROM check
  file     : C:\...\testReversi\build\testReversi.nes
  PRG ROM  : 2 x 16KB = 32768 bytes
  CHR ROM  : 1 x 8KB  = 8192 bytes
  mapper   : 0
  mirroring: horizontal
  trainer  : no
  size     : 40976 bytes
  expected : 40976 bytes
  size chk : OK
  vectors  :
    NMI   = $8B92
    RESET = $8000
    IRQ   = $8BB7
  prg tail : 92 8B 00 80 B7 8B
  result   : OK: header, size and vectors look valid
```

`result` が OK であれば、少なくとも iNES ヘッダ、サイズ、PRG / CHR 構成、NMI / RESET / IRQ ベクタは妥当です。ただし、ゲームロジック、表示内容、操作性、エミュレータ差異、実機動作までは保証しません。

## 12. 生成されたファイル

プロジェクトをビルドすると、主に次のファイルが生成されます。

| ファイル | 内容 |
|---|---|
| `.nes` | エミュレータで実行する ROM 本体です。 |
| `.lst` | アセンブルリストです。 |
| `.map` | メモリ配置やラベル配置の確認用です。 |
| `.sym` | シンボル情報です。 |

ROM が見つからない場合は、次のコマンドで検索します。

Windows:

```bat
dir /s /b *.nes
```

Linux:

```bash
find . -name "*.nes" -print
```

## 13. `asm` と `build` の使い分け

### 13.1 `build` を使う場面

次のようなゲームテンプレートやプロジェクトは、必ず `build` を使用してください。

- `reversi_famicom`
- `block_breaker`
- `galaxy_shooter`
- MML、assets、include、project 設定を使うもの

`build` は、プロジェクト設定を読み取り、include path、出力先、MML 変換、リストやマップの生成などをまとめて扱います。

### 13.2 `asm` を使う場面

`asm` は、単体の ASM ファイルを直接アセンブルするためのコマンドです。

```bat
ilfa6502.exe asm main.asm -o game.nes --target nes-nrom
```

ゲームテンプレートの `main.asm` を直接 `asm` で組み立てると、`mml/reversi_theme.inc` などの生成済み include が存在せず失敗する場合があります。テンプレートから作ったプロジェクトでは、原則として `build` を使用してください。

## 14. 代表的な作業例

### 14.1 Hello ROM

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe new hello1 --target nes-nrom --template hello
dist\ilfa6502.exe build hello1 --listing --map --symbols --warnings
dist\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
```

### 14.2 リバーシ ROM

Windows ビルドキット生成版:

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

Linux:

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

### 14.3 テンプレート詳細

```bat
ilfa6502.exe template-info reversi_famicom
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe template-info reversi_famicom
```

### 14.4 SDK 詳細

```bat
ilfa6502.exe sdk-info nes/game.inc
```

Windows ビルドキット生成版:

```bat
dist\ilfa6502.exe sdk-info nes/game.inc
```

## 15. エミュレータでの確認

生成された `.nes` ファイルを FCEUX などの NES / ファミコン対応エミュレータで開きます。

Windows では、FCEUX を起動し、次のように ROM を開きます。

```text
File -> Open ROM -> testReversi\build\testReversi.nes
```

Linux で FCEUX コマンドが利用できる場合:

```bash
fceux testReversi/build/testReversi.nes
```

`run` コマンドを使う場合:

```bat
ilfa6502.exe run testReversi --emulator fceux
```

エミュレータのインストール場所や PATH 設定によっては、`run` が使えない場合があります。その場合は、エミュレータ側から手動で `.nes` を開いてください。

## 16. Windows ビルドキット利用時の注意

Windows ビルドキットには、通常次のようなファイルが含まれます。

```text
ilfa6502_windows_exe_buildkit_v2_1_7_refresh5\
  build_windows_exe.bat
  ILFA6502-Windows.spec
  ilfa6502_source\
  README_WINDOWS_EXE_JP.txt
```

EXE を生成する場合:

```bat
build_windows_exe.bat
```

PowerShell の場合:

```powershell
.\build_windows_exe.bat
```

生成後、実行ファイルは次に作成されます。

```text
dist\ilfa6502.exe
```

推奨運用は、ビルドキットの親フォルダに留まり、次のように実行することです。

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

`dist` フォルダの中へ移動してから作業すると、`dist\testReversi` と親フォルダ側の `testReversi` が混在し、混乱しやすくなります。特別な理由がなければ、`dist` 内では作業しないでください。

## 17. Linux ビルドキット利用時の注意

Linux ビルドキットを利用する場合、生成スクリプトが同梱されている場合があります。

```bash
chmod +x build_linux_binary.sh
./build_linux_binary.sh
```

生成後は、通常 `dist/ilfa6502` を実行します。

```bash
./dist/ilfa6502 --version
./dist/ilfa6502 doctor
./dist/ilfa6502 menu
```

単体配布版として利用する場合は、配布フォルダ上で `./ilfa6502` を直接実行します。

## 18. PDF などからコピーした特殊ハイフンへの注意

PDF、Word、Web ページ、チャット画面などからコマンドをコピーすると、見た目は `--target` や `template-info` でも、内部の文字が ASCII ハイフン `-` ではなく、別のハイフン文字になっている場合があります。

例:

```text
--target        正常な ASCII ハイフン2個
[non-ASCII][non-ASCII]target  非ASCIIハイフンが混ざった例
```

refresh5 では、このような Unicode ダッシュ文字を通常の `-` へ補正する処理を追加しています。そのため、コピー由来の `template-info`、`verify-rom`、`--target`、`--template` なども認識されやすくなっています。

ただし、確実な運用では、コマンドを手入力するか、付属のテキスト版コマンド例からコピーしてください。取扱説明書内のコードブロックは、原則として ASCII の `-` を使用しています。

## 19. 警告表示への対応

ビルド時に次のような警告が出る場合があります。

```text
WARNINGS:
  - multiple output segments detected;
    default binary concatenates segments in declaration order
  - unused label: tmp0 (main.asm:53)
```

`unused label` は、未使用ラベルが存在することを示します。多くの場合は致命的ではありませんが、不要であればソースから削除してください。

`multiple output segments detected` は、複数セグメントが宣言順に連結されることを示します。`verify-rom` が OK で、エミュレータ上でも正常に動作する場合は、直ちに失敗とは限りません。将来的にセグメント順序や ROM 構造をより厳密に扱う場合は、`.map` や `.lst` を確認してください。

## 20. トラブル対策

### 20.1 `destination already exists and is not empty`

同名プロジェクトが既に存在します。削除するか、別名を使ってください。

```bat
rmdir /s /q testReversi
```

または:

```bat
dist\ilfa6502.exe new testReversi2 --target nes-nrom --template reversi_famicom
```

### 20.2 `project file not found`

`build` に指定したプロジェクトフォルダが違う可能性があります。`ilfa_project.toml` がある場所を確認してください。

```bat
dir /s /b ilfa_project.toml
```

### 20.3 `include file not found: mml/...`

ゲームテンプレートを `asm main.asm` で直接アセンブルしている可能性があります。MML や assets を使うテンプレートは `build` を使ってください。

### 20.4 `ilfa6502` が認識されない

Windows では、実行ファイルの場所に応じて次のように指定します。

```bat
ilfa6502.exe --version
.\ilfa6502.exe --version
dist\ilfa6502.exe --version
..\dist\ilfa6502.exe --version
```

Linux では:

```bash
./ilfa6502 --version
```

### 20.5 Windows で `../ilfa6502` が失敗する

Windows のコマンドプロンプトでは、Linux 風の `../` ではなく、基本的に `..\` を使います。

```bat
..\dist\ilfa6502.exe build . --listing --map --symbols --warnings
```

### 20.6 `このバージョンの ... は Windows と互換性がありません`

Windows 用ではない実行ファイル、壊れたファイル、または誤って作成したダミーファイルを実行している可能性があります。Windows ビルドキットでは、生成後の `dist\ilfa6502.exe` を使用してください。

### 20.7 ROM は生成されたが暴走する

まず `verify-rom` でヘッダ、サイズ、ベクタを確認してください。

```bat
dist\ilfa6502.exe verify-rom testReversi\build\testReversi.nes
```

`verify-rom` が OK でも、ゲームロジックや表示、入力処理までは保証しません。`.lst`、`.map`、`.sym`、エミュレータのデバッガを使って原因を確認してください。

### 20.8 `ROM file not found`

`new` の後、まだ `build` していない可能性があります。正しい順序は次の通りです。

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

### 20.9 `unrecognized arguments: --target ...`

`--target` のハイフンが特殊文字になっている可能性があります。refresh5 では補正処理を追加していますが、古い版では失敗します。ASCII の `-` で入力してください。

### 20.10 `template-info` が通常アセンブル扱いになる

`template-info` のハイフンが特殊文字になっている可能性があります。refresh5 では補正処理を追加していますが、古い版では失敗します。ASCII の `-` で入力してください。

## 21. プロジェクト構成

`new` で作成されるプロジェクトは、概ね次のような構成になります。

```text
testReversi\
  ilfa_project.toml
  main.asm
  assets\
  build\
    testReversi.nes
    testReversi.lst
    testReversi.map
    testReversi.sym
```

`ilfa_project.toml` はプロジェクト設定です。`main.asm` はメインソースです。`assets` は MML などの素材を置く場所です。`build` は生成物の出力先です。

## 22. 配布前チェックリスト

配布前、または利用者に案内する前に、最低限次を確認してください。

```bat
dist\ilfa6502.exe --version
dist\ilfa6502.exe doctor
dist\ilfa6502.exe menu
dist\ilfa6502.exe help quickstart
dist\ilfa6502.exe list templates --long
dist\ilfa6502.exe list samples --long
dist\ilfa6502.exe list sdk --long --deps
dist\ilfa6502.exe template-info reversi_famicom
dist\ilfa6502.exe new testReversi --target nes-nrom --template reversi_famicom
dist\ilfa6502.exe build testReversi --listing --map --symbols --warnings
dist\ilfa6502.exe verify-rom testReversi\build\testReversi.nes
```

Linux では先頭を `./ilfa6502` または `./dist/ilfa6502` に置き換えてください。

## 23. 利用条件とシェアウェア登録

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

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

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

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

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

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

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

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

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

## 25. サポート方針

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

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

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

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

## 26. 免責事項

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

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

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

## 27. 商標・権利

本ソフトウェアは、NES / ファミコン互換形式の自作 ROM 開発を支援するための非公式ツールです。任天堂株式会社その他の権利者による公認、承認、保証、支援を受けたものではありません。

「ファミコン」「NES」その他の名称、商標、製品名は、それぞれの権利者に帰属します。

## 28. まとめ

ILFA6502 v2.1.7-refresh5 では、`menu`、`help`、`list`、`new`、`build`、`verify-rom` を中心に使うことで、テンプレートから ROM を作成し、基本的な検査まで進められます。

最も重要な基本手順は次の通りです。

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

通常配布版では、先頭を `ilfa6502.exe` または `./ilfa6502` に置き換えて利用してください。

