---
title: "ILFA6502 v2.1.7 取扱説明書"
subtitle: "ファミコン / NES 用 6502 アセンブラ - バイナリ配布・シェアウェア版"
author: ""
date: "2026-07-08"
documentclass: bxjsarticle
classoption:
  - xelatex
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 取扱説明書

## 1. はじめに

ILFA6502 は、ファミコン / NES 向けの 6502 アセンブリ言語による開発を支援するためのアセンブラおよび小型開発支援ツールです。

本ソフトウェアは、Windows または Linux 向けの実行バイナリとして提供されることを想定しています。利用者は、配布パッケージに含まれる実行ファイルを用いて、プロジェクト作成、ビルド、ROM検査、テンプレート確認などを行います。

本書は、一般利用者向けに、基本操作、ヘルプコマンド、代表的な作業例、利用条件、シェアウェア登録条件、サポート方針、免責事項をまとめたものです。

## 2. ソフトウェアの位置づけ

ILFA6502 は、学習、評価、研究、個人制作、試作開発を目的としたファミコン / NES 向け開発支援ツールです。

主な用途は次の通りです。

| 用途 | 内容 |
|---|---|
| 6502アセンブル | `.asm` ファイルを機械語へ変換します。 |
| NES ROM生成 | iNES形式の `.nes` ファイルを生成します。 |
| テンプレート生成 | Hello、リバーシ、ブロック崩し、シューティング等の雛形を作成します。 |
| ビルド支援 | プロジェクト単位でROMを生成します。 |
| 診断 | 実行環境、内蔵リソース、ROM外形などを確認します。 |
| 学習支援 | 6502 CPU、PPU、パッド入力、ROM構造などの理解を支援します。 |

本ソフトウェアは、商用ゲーム開発用の完全な統合開発環境ではありません。高度な最適化、すべてのマッパー対応、実機動作保証、すべてのエミュレータでの動作保証、長期保守保証を目的としたものではありません。

## 3. 配布形態

本ソフトウェアは、実行バイナリ形式での配布を想定しています。

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

配布パッケージには、通常、次のようなファイルを含めます。

```text
ILFA6502/
  ilfa6502.exe              Windows版実行ファイル
  ilfa6502                  Linux版実行ファイル
  README.md                 簡易説明書
  ILFA6502_v2_1_7_User_Manual.pdf
  LICENSE.txt
  DISCLAIMER.txt
  FILES.txt
  SHA256SUMS.txt
```

実際の配布パッケージでは、Windows版のみ、Linux版のみ、または両方が含まれる場合があります。

## 4. 動作環境

### 4.1 Windows版

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

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

基本確認例：

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

### 4.2 Linux版

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

- Linux x86_64
- ターミナル
- NES / ファミコン対応エミュレータ

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

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

### 4.3 エミュレータ

生成した `.nes` ファイルは、NES / ファミコン対応エミュレータで確認します。

Linuxで FCEUX を使用する例：

```bash
fceux mygame/build/mygame.nes
```

Windowsでは、FCEUX等のエミュレータを起動し、メニューからROMを開きます。

```text
File -> Open ROM -> 生成した .nes ファイルを選択
```

## 5. 最初に確認すること

配布パッケージを展開したら、まず次の確認を行ってください。

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
```

正常であれば、バージョン情報、環境確認結果、ヘルプ、テンプレート一覧が表示されます。

## 6. 基本コマンド一覧

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

## 7. ヘルプコマンドの操作手順

### 7.1 基本ヘルプを見る

Windows：

```bat
ilfa6502.exe help
```

Linux：

```bash
./ilfa6502 help
```

### 7.2 コマンド別ヘルプを見る

利用可能な場合、次のように詳細ヘルプを確認できます。

```bash
./ilfa6502 help commands
./ilfa6502 help options
./ilfa6502 help project
./ilfa6502 help diagnostics
./ilfa6502 help directives
./ilfa6502 help mml
./ilfa6502 help ppu
```

Windowsでは、先頭を `ilfa6502.exe` に置き換えます。

```bat
ilfa6502.exe help commands
```

### 7.3 テンプレート一覧を見る

```bash
./ilfa6502 list templates
./ilfa6502 list templates --long
```

Windowsの場合：

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

### 7.4 SDK一覧を見る

```bash
./ilfa6502 list sdk
./ilfa6502 list sdk --long --deps
./ilfa6502 list sdk --tree
```

Windowsの場合：

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

### 7.5 テンプレート詳細を見る

```bash
./ilfa6502 template-info reversi_famicom
./ilfa6502 template-info block_breaker
./ilfa6502 template-info galaxy_shooter
```

Windowsの場合：

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

## 8. 基本操作手順

### 8.1 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
```

### 8.2 リバーシ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
```

### 8.3 ブロック崩しROMを作る

Windows：

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

Linux：

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

### 8.4 シューティングROMを作る

Windows：

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

Linux：

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

## 9. 生成物の確認

ビルドに成功すると、通常 `build` ディレクトリ内に成果物が出力されます。

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

代表的な構成例：

```text
reversi/
  ilfa_project.toml
  main.asm
  assets/
  build/
    reversi.nes
    reversi.lst
    reversi.map
    reversi.sym
```

ROMファイルを探すには、次のコマンドを使います。

Windows：

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

Linux：

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

## 10. ROMの検査

`verify-rom` コマンドを使うと、生成された `.nes` ファイルの外形を確認できます。

Windows：

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

Linux：

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

表示例：

```text
iNES ROM check
file     : reversi/build/reversi.nes
PRG ROM  : 2 x 16KB = 32768 bytes
CHR ROM  : 1 x 8KB = 8192 bytes
mapper   : 0
mirroring: horizontal
size     : 40976 bytes
result   : header size OK
```

`header size OK` は、ROM形式として外形が正しいことを示します。ただし、ゲーム内容、プログラムの正しさ、実機動作、すべてのエミュレータでの動作を保証するものではありません。

## 11. エミュレータで実行する

### 11.1 Windowsで実行する例

```bat
fceux.exe reversi\build\reversi.nes
```

または、FCEUX等のGUIからROMを開きます。

```text
File -> Open ROM -> reversi.nes を選択
```

### 11.2 Linuxで実行する例

```bash
fceux reversi/build/reversi.nes
```

### 11.3 run コマンドを使う例

エミュレータにパスが通っている場合は、`run` コマンドを使用できます。

Windows：

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

Linux：

```bash
./ilfa6502 run reversi --emulator fceux
```

## 12. build コマンドと asm コマンド

### 12.1 build コマンド

通常は `build` コマンドを使用します。`build` は、プロジェクト設定ファイル `ilfa_project.toml` を読み込み、必要なソース、インクルードパス、アセット、出力先などをまとめて処理します。

推奨例：

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

Windowsの場合：

```bat
ilfa6502.exe build mygame --listing --map --symbols --warnings
```

### 12.2 asm コマンド

`asm` コマンドは、単体の `.asm` ファイルを直接アセンブルする場合に使用します。

Linux例：

```bash
./ilfa6502 asm examples/hello_nes.asm -o hello.nes -I lib --symbols --listing --map
```

Windows例：

```bat
ilfa6502.exe asm examples\hello_nes.asm -o hello.nes -I lib --symbols --listing --map
```

ゲーム制作やテンプレート改造では、原則として `build` を使用してください。学習用、単体確認用、小規模な試作では `asm` が便利です。

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

テンプレートから作成したプロジェクトは、おおむね次のような構成になります。

```text
mygame/
  ilfa_project.toml
  main.asm
  assets/
    chr/
    bg/
    mml/
  build/
    mygame.nes
    mygame.lst
    mygame.map
    mygame.sym
```

`ilfa_project.toml` は、プロジェクトの設定ファイルです。主にターゲット形式、ソースファイル、出力ROM名、インクルードパス、アセット配置、ビルドオプションなどを管理します。

慣れないうちは、テンプレート生成時の設定をむやみに変更せず、まずは `main.asm` やアセットを変更する形で試すことを推奨します。

## 14. よく使うビルドオプション

| オプション | 内容 |
|---|---|
| `--listing` | `.lst` リストファイルを出力します。 |
| `--map` | `.map` マップファイルを出力します。 |
| `--symbols` | `.sym` シンボルファイルを出力します。 |
| `--warnings` | 警告表示を有効にします。 |
| `--dry-run` | 実際にはビルドせず、処理予定を確認します。 |
| `--print-plan` | ビルド計画を表示します。 |

推奨ビルド例：

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

構成だけ確認する例：

```bash
./ilfa6502 build mygame --dry-run --print-plan
```

## 15. トラブル対策

### 15.1 `ilfa6502.exe` が見つからない

Windowsで次のようなエラーが出る場合があります。

```text
'ilfa6502.exe' is not recognized...
```

確認事項：

- 現在のフォルダに `ilfa6502.exe` があるか。
- 配布パッケージを正しく展開したか。
- 実行ファイルのあるフォルダに移動しているか。
- PowerShellでは `./` または `.\` の指定が必要な場合があります。

例：

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

### 15.2 Linuxで `Permission denied` になる

実行権限がありません。次のように実行権限を付与してください。

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

### 15.3 `include file not found` が出る

インクルードファイルが見つからない状態です。

確認事項：

- SDKや `lib` フォルダが存在するか。
- カレントディレクトリが正しいか。
- `-I` オプションまたはプロジェクト設定のインクルードパスが正しいか。
- 配布パッケージを一部だけコピーしていないか。

### 15.4 ROMは生成されるが画面が出ない

確認事項：

- 最新のROMをエミュレータで開いているか。
- `.lst` や `.map` に `RESET`、`NMI`、`IRQ` ラベルが存在するか。
- PPU初期化処理が正しいか。
- VBlank待機が不足していないか。
- パレットやネームテーブル転送が想定通りか。
- 古い `build` ディレクトリを削除して再ビルドしても同じか。

### 15.5 ROMが暴走する

確認事項：

- 割り込みベクタが正しいか。
- `RESET`、`NMI`、`IRQ` の配置が正しいか。
- スタック初期化が行われているか。
- 未初期化RAMを参照していないか。
- ループが意図せず抜けていないか。
- `.map` でコード配置が想定通りか。

## 16. シェアウェア方式での提供

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

### 16.1 登録料金

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

登録料金：

```text
5,000円（消費税別）
```

消費税は別途加算されます。銀行振込等の支払い方法を用いる場合、振込手数料その他の送金手数料は利用者負担とします。

### 16.2 支払方法

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

支払いの際に発生する次の費用は、利用者の負担とします。

- 銀行振込手数料
- 送金手数料
- 決済手数料
- 為替手数料
- その他、支払いに付随して発生する費用

### 16.3 無償利用できる範囲

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

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

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

### 16.4 登録によって得られるもの

シェアウェア登録は、本ソフトウェアを継続利用するための利用登録です。登録料金の支払いは、保守契約、技術サポート契約、更新保証、個別対応契約、成果物品質保証を意味しません。

登録によって、少なくとも次の事項は保証されません。

- 個別質問への回答
- 不具合修正
- 追加機能の実装
- 利用者環境での動作調査
- リモート設定や導入代行
- 将来版への無償アップデート
- 登録版の永久的な再提供
- 生成ROMの品質保証
- 実機、互換機、エミュレータでの動作保証

## 17. サポート方針

本ソフトウェアについて、開発者および配布者は、サポート提供の義務を負いません。

問い合わせ、不具合報告、要望、改善提案を受け付ける場合がありますが、それらへの回答、調査、修正、実装、反映、返信期限、継続対応は保証されません。

特に、次の対応について義務を負いません。

- 利用者のPC環境の調査
- OS、セキュリティソフト、エミュレータ、パス設定等に関する個別支援
- ソースコードやROMのデバッグ代行
- 利用者制作物の完成支援
- 生成ROMの品質検査
- 実機や互換機での検証
- 旧版の再配布
- 将来の仕様変更への追従
- 他アセンブラ形式からの移植支援
- 商用制作物に対する責任分担

開発者が任意に支援を行った場合でも、それは義務的・継続的なサポート契約の成立を意味しません。

## 18. 利用上の制限

ILFA6502 は、現時点で次の制限を含みます。

1. すべてのNESマッパーに対応するものではありません。主に NROM / Mapper 0 系の小規模ROMを想定しています。
2. 実機動作を保証するものではありません。エミュレータで動作しても、実機や互換機で同一動作するとは限りません。
3. すべての6502アセンブラ方言との互換性を保証しません。他のアセンブラ用ソースをそのまま変換できるとは限りません。
4. 生成ROMの内容の正当性は保証されません。文法上ビルドに成功しても、ゲームロジックや画面表示が正しいとは限りません。
5. すべての環境での動作は保証されません。OS、権限、セキュリティソフト、ファイルパス、文字コード等により動作しない場合があります。
6. 将来の継続開発、更新、修正、サポートは保証されません。本ソフトウェアは、提供時点の状態で利用するものとします。
7. 配布者の許諾なく、実行ファイル、付属ファイル、資料、テンプレート、SDKを改変して再配布してはいけません。
8. 本ソフトウェアを用いて作成した成果物の内容、権利確認、公開、配布、販売、トラブル対応は利用者自身の責任です。

## 19. 免責事項

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

開発者および配布者は、本ソフトウェアについて、明示または黙示を問わず、次の事項を保証しません。

- 特定目的への適合性
- 商品性
- 正確性
- 完全性
- 継続的な利用可能性
- 不具合が存在しないこと
- 将来にわたり更新・修正されること
- 利用者の環境で正常に動作すること
- 生成物が実機、互換機、または各種エミュレータで正常に動作すること
- 支払い後にサポート、更新、修正、個別対応が提供されること

本ソフトウェアの利用、改造、生成物の実行、生成物の公開・配布、またはそれらに関連して発生したいかなる損害についても、開発者および配布者は責任を負いません。

対象となる損害には、次のものを含みますが、これらに限定されません。

- データ消失
- ファイル破損
- システム障害
- 開発成果物の喪失
- 業務上の損失
- 利益損失
- 第三者との紛争
- 知的財産権に関する問題
- 生成ROMの配布に関する問題
- 利用者の環境で発生した不具合
- 登録料金、振込手数料、関連費用に関する損失

本ソフトウェアの使用は、すべて利用者自身の判断と責任において行ってください。

## 20. 自己責任について

利用者は、本ソフトウェアを使用する前に、次の事項を理解したものとします。

- 本ソフトウェアは開発支援ツールであり、完成品の品質を保証するものではありません。
- ソースコード、画像、音楽、効果音、キャラクター、ゲーム内容等の権利確認は利用者の責任です。
- 生成されたROMを公開・配布・販売する場合、その内容に関する責任は利用者が負います。
- 他者の著作物、商標、ゲームデータ、画像、音声、プログラム等を無断で使用してはいけません。
- 本ソフトウェアを使用して作成した成果物について、開発者は審査、保証、監修を行いません。
- 問題が発生した場合、利用者自身がバックアップ、検証、修正、復旧を行う必要があります。

重要な開発ファイルは、必ず事前にバックアップしてください。

## 21. 知的財産・商標について

本ソフトウェアは、ファミコン / NES 互換形式の学習・評価・研究・個人制作を目的とする開発支援ツールです。

本ソフトウェアは、任天堂株式会社その他の権利者によって公認、保証、承認、支援されたものではありません。

「ファミコン」「NES」等の名称は、対象とする技術形式を説明するために用いています。各名称、商標、製品名は、それぞれの権利者に帰属します。

利用者は、生成物の公開・配布・販売にあたり、著作権、商標権、その他の権利を侵害しないよう注意してください。

## 22. 推奨される安全な作業手順

初めて使用する場合は、次の順序で作業してください。

Windows：

```bat
ilfa6502.exe --version
ilfa6502.exe doctor
ilfa6502.exe list templates --long
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
fceux.exe hello1\build\hello1.nes
```

Linux：

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

最初は `hello` テンプレートで確認し、次に `reversi_famicom`、`block_breaker`、`galaxy_shooter` などを試すことを推奨します。

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

開発者または配布者がパッケージを配布する前に、次を確認してください。

- `--version` が正しいバージョンを表示する。
- `doctor` が正常終了する。
- `list templates --long` がテンプレート一覧を表示する。
- 代表テンプレートから新規プロジェクトを作成できる。
- `build` で `.nes` が生成される。
- `verify-rom` でROM外形が確認できる。
- FCEUX等のエミュレータで代表ROMを起動確認できる。
- Windows版とLinux版で基本操作が可能である。
- README、ライセンス、免責文書が同梱されている。
- シェアウェア登録条件、支払い条件、サポート方針が明記されている。
- 不要な開発途中ファイル、個人情報、秘密情報が混入していない。
- サンプル素材に権利上の問題がない。

## 24. 代表的な作業例

### 24.1 WindowsでリバーシROMを作る

```bat
cd /d E:\ILFA6502
ilfa6502.exe --version
ilfa6502.exe doctor
ilfa6502.exe new reversi --target nes-nrom --template reversi_famicom
ilfa6502.exe build reversi --listing --map --symbols --warnings
dir /s /b reversi\*.nes
ilfa6502.exe verify-rom reversi\build\reversi.nes
fceux.exe reversi\build\reversi.nes
```

### 24.2 LinuxでリバーシROMを作る

```bash
cd ~/ILFA6502
chmod +x ./ilfa6502
./ilfa6502 --version
./ilfa6502 doctor
./ilfa6502 new reversi --target nes-nrom --template reversi_famicom
./ilfa6502 build reversi --listing --map --symbols --warnings
find reversi -name "*.nes" -print
./ilfa6502 verify-rom reversi/build/reversi.nes
fceux reversi/build/reversi.nes
```

## 25. おわりに

ILFA6502 は、ファミコン / NES 向けの自作ROM開発を、小さく、分かりやすく、再現しやすい形で行うための開発支援ツールです。

本ソフトウェアは、完成された商用級ツールチェーンではありません。しかし、6502アセンブリ、NESの画面表示、パッド入力、サウンド、ROM構造を学び、自分の手で小さなゲームを動かすための教材・研究用環境として活用できます。

利用者は、本書の手順、利用条件、シェアウェア登録条件、サポート方針、免責事項を理解したうえで、自己責任により本ソフトウェアを使用してください。

開発者および配布者は、本ソフトウェアの将来の更新、保守、修正、個別環境での動作、生成物の品質、利用者へのサポートについて保証しません。本ソフトウェアは、提供時点の状態のまま利用するものとします。
