ファミコンプログラミング
一番身近な 8 bit CPU ということで.
しかし,思ったよりも情報が少ない.以下のサイトが有名らしい.というか,非常に素晴らしい決定版サイト.
ギコ猫でもわかるファミコンプログラミング
まだオープンソースの時代とかじゃなかったし,極めて厳しいハードウェアリソース上でのプログラミングにならざるを得ないため,ロストテクノロジーの塊.リソースが厳しすぎるので,C コンパイラとかもあるにはあるけど,使えない感じ… あと,こういうゲーム機の hack は,どうしてもアングラ的になってしまうのでいろいろアレ.さすがにファミコンぐらい枯れてると,生々しさは消えてくるけど.
ファミリーコンピュータ : wikipedia.ja
1.8 MHz の 6502 互換 CPU に,2 KB の RAM + 2 KB の VRAM.よくこんなハードで,女神転生とかドラクエが実装できたものだと,驚愕するしかない.
とりあえず,アセンブラとエミュレータを用意する.
・ アセンブラ
MagicKit Homepageから,DOS 版と LINUX 版 (ファミコンは,海外では NINTENDO ENTERTAINMENT SYSTEM ; NES と呼ばれている) がダウンロードできる.
うちの Debian lenny + kernel 2.6 環境では,最新の LINUX 版を解凍して実行権を与えただけで (chmod +x BIN/NESASM) そのまま動いた.
・ エミュレータ
Debian ならば
$apt-get install fceu
とかで入る.ゲームパッドが使いたかったら,/dev/input/js0 とかが jstest でちゃんと動くように設定しておいて (xserver-xorg-input-joystic とかが必要かもしれない)
$ fceu -inputcfg gamepad1 /dev/input/js0
とかで,順番に A ボタン B ボタン 上下左右に割り当てたいボタンを押していけば設定できる (fceu デフォルトのキーバインドは,かなり変態的) うちの場合,最後にエラーが出たけど,なんかちゃんと動いてるみたい (動作検証は,ちゃんと合法の rom でやりましょう)
ちなみに,うちのゲームパッドは,札幌駅前の電気屋で買った ELECOM JC-U2410TBK とかいう usb のやつ.「ゲームコントローラー 3 年連続 No.1」 とか書いてあって,いっぱい置いてあった 980 円ぐらいのもの.刺すだけで認識された.
ギコ猫さんのところのサンプルコードや,NESASM のデモプログラムなどをアセンブルしてみて,
$ fceu giko005.nes
$ fceu JUNKDEMO.NES
ちゃんと動いたら成功.とりあえず,今日はここまで.
# ちなみに,最近ブログの誤字脱字が多いのは,fc2 のエディタが重く,使い難くなったため… 読み返すのが面倒.
ううう,夜中に勢いだけで書いたから,本当に誤字脱字が酷すぎた… あと,fc2 のエディタのせいだけじゃなくて,単に脳味噌が劣化してきただけという疑惑も.
追記ですが,ファミコンの特許は 2003 年で切れたそうです.
DSLiteでファミコンがプレイ可能に
FC互換機(ファミコン互換機) 比較コーナー
日本の特許法の有効期限は 20 年らしいです.ちなみに,僕とファミコン様は同じ歳 (1983 年生まれ) .お互い歳を取ったものです.スーパーファミコンは,1990 年 11 月生まれなので,あと 2 年半ぐらい期間が残ってますね.
なので,最近 (?) やたらゲームセンターの景品などで,ファミコン互換景品を見かけるわけですが,あれは違法な海賊版じゃなくて合法 (?) だったわけなんですね.
当然,エミュレータとかも (逆アセンブルしたプロプライエタリなコードなどが入って無ければ),ドキュメントを見て作るぶんには,特許料を払わなくても合法と.
もちろん,海外の怪しげなサイトなどから rom イメージをダウンロードするのは (そのソフトウェアを持って無い人は) 非合法ですが.
NES Info, programs, and demos
「Nintendo Entertainment System Documentation」
エミュレータやジョイスティックの動作確認などは,有志の手によって公開されている自作ゲーム (これらもまた,音楽などが,耳コピとはいえ,微妙にグレーな気もするのですが…) などで行いましょう.
このゲームとか,音源とかゲームシステムとか,いろいろ著作権的に危ない感じもしますが,面白そうです.ボタンだけじゃなくて,十字キーでも入力する音ゲーらしいので,ムズそうですけど…
参考サイト追記
NES研究室
ファミコンらしく!forFF7スレ
当時の話など
ファミコンの詳しい話
hiromasa.another :o) : 限界を超えるテクニック(ファミコン編)
ま、どうでもイイっちゃぁ、どうでもイイよね : ゲーム機の話 その1 ファミコン編
しかし,思ったよりも情報が少ない.以下のサイトが有名らしい.というか,非常に素晴らしい決定版サイト.
ギコ猫でもわかるファミコンプログラミング
まだオープンソースの時代とかじゃなかったし,極めて厳しいハードウェアリソース上でのプログラミングにならざるを得ないため,ロストテクノロジーの塊.リソースが厳しすぎるので,C コンパイラとかもあるにはあるけど,使えない感じ… あと,こういうゲーム機の hack は,どうしてもアングラ的になってしまうのでいろいろアレ.さすがにファミコンぐらい枯れてると,生々しさは消えてくるけど.
ファミリーコンピュータ : wikipedia.ja
1.8 MHz の 6502 互換 CPU に,2 KB の RAM + 2 KB の VRAM.よくこんなハードで,女神転生とかドラクエが実装できたものだと,驚愕するしかない.
とりあえず,アセンブラとエミュレータを用意する.
・ アセンブラ
MagicKit Homepageから,DOS 版と LINUX 版 (ファミコンは,海外では NINTENDO ENTERTAINMENT SYSTEM ; NES と呼ばれている) がダウンロードできる.
うちの Debian lenny + kernel 2.6 環境では,最新の LINUX 版を解凍して実行権を与えただけで (chmod +x BIN/NESASM) そのまま動いた.
・ エミュレータ
Debian ならば
$apt-get install fceu
とかで入る.ゲームパッドが使いたかったら,/dev/input/js0 とかが jstest でちゃんと動くように設定しておいて (xserver-xorg-input-joystic とかが必要かもしれない)
$ fceu -inputcfg gamepad1 /dev/input/js0
とかで,順番に A ボタン B ボタン 上下左右に割り当てたいボタンを押していけば設定できる (fceu デフォルトのキーバインドは,かなり変態的) うちの場合,最後にエラーが出たけど,なんかちゃんと動いてるみたい (動作検証は,ちゃんと合法の rom でやりましょう)
ちなみに,うちのゲームパッドは,札幌駅前の電気屋で買った ELECOM JC-U2410TBK とかいう usb のやつ.「ゲームコントローラー 3 年連続 No.1」 とか書いてあって,いっぱい置いてあった 980 円ぐらいのもの.刺すだけで認識された.
ギコ猫さんのところのサンプルコードや,NESASM のデモプログラムなどをアセンブルしてみて,
$ fceu giko005.nes
$ fceu JUNKDEMO.NES
ちゃんと動いたら成功.とりあえず,今日はここまで.
# ちなみに,最近ブログの誤字脱字が多いのは,fc2 のエディタが重く,使い難くなったため… 読み返すのが面倒.
ううう,夜中に勢いだけで書いたから,本当に誤字脱字が酷すぎた… あと,fc2 のエディタのせいだけじゃなくて,単に脳味噌が劣化してきただけという疑惑も.
追記ですが,ファミコンの特許は 2003 年で切れたそうです.
DSLiteでファミコンがプレイ可能に
FC互換機(ファミコン互換機) 比較コーナー
日本の特許法の有効期限は 20 年らしいです.ちなみに,僕とファミコン様は同じ歳 (1983 年生まれ) .お互い歳を取ったものです.スーパーファミコンは,1990 年 11 月生まれなので,あと 2 年半ぐらい期間が残ってますね.
なので,最近 (?) やたらゲームセンターの景品などで,ファミコン互換景品を見かけるわけですが,あれは違法な海賊版じゃなくて合法 (?) だったわけなんですね.
当然,エミュレータとかも (逆アセンブルしたプロプライエタリなコードなどが入って無ければ),ドキュメントを見て作るぶんには,特許料を払わなくても合法と.
もちろん,海外の怪しげなサイトなどから rom イメージをダウンロードするのは (そのソフトウェアを持って無い人は) 非合法ですが.
NES Info, programs, and demos
「Nintendo Entertainment System Documentation」
エミュレータやジョイスティックの動作確認などは,有志の手によって公開されている自作ゲーム (これらもまた,音楽などが,耳コピとはいえ,微妙にグレーな気もするのですが…) などで行いましょう.
このゲームとか,音源とかゲームシステムとか,いろいろ著作権的に危ない感じもしますが,面白そうです.ボタンだけじゃなくて,十字キーでも入力する音ゲーらしいので,ムズそうですけど…
参考サイト追記
NES研究室
ファミコンらしく!forFF7スレ
当時の話など
ファミコンの詳しい話
hiromasa.another :o) : 限界を超えるテクニック(ファミコン編)
ま、どうでもイイっちゃぁ、どうでもイイよね : ゲーム機の話 その1 ファミコン編
