さうんどてすと
NES
最終更新:
nano_001
-
view
説明
なんだか唐突にNES開発がしたくなったので、ちょっとやってみようと思う。
(追記)
2日目にしてすでに飽き気味……。また興味出たときのためにあとでここを整理しておこうかと思う。
(追記)
2日目にしてすでに飽き気味……。また興味出たときのためにあとでここを整理しておこうかと思う。
開発環境
どっちがいいかなぁ。そりゃアセンブラ使った方が動作速くて理解も深まるんだろうけど、Cの方が楽そう。最初はアセンブラでチャレンジしてみようか。
C言語の場合
アセンブリ言語の場合
NESASMを使う。
……と思いきや、MagicKitに含まれているNESASMは64bit版Windows7では動作しないようだ。
調べていると、64bit版対応の物を見つけた。ありがたい。
http://www.2a03.jp/~minachun/nesasm/nesasm_x86.html
これに含まれる nesasm_x64.exe を使用し、 http://gikofami.fc2web.com/ にあったサンプルをビルドできた。
……と思いきや、MagicKitに含まれているNESASMは64bit版Windows7では動作しないようだ。
調べていると、64bit版対応の物を見つけた。ありがたい。
http://www.2a03.jp/~minachun/nesasm/nesasm_x86.html
これに含まれる nesasm_x64.exe を使用し、 http://gikofami.fc2web.com/ にあったサンプルをビルドできた。
仕様
仕様はこちらのページが大いに参考になる。
http://hp.vector.co.jp/authors/VA042397/nes/index.html
http://hp.vector.co.jp/authors/VA042397/nes/index.html
音に関してはなぜかニコ百に詳しい仕様が。
http://dic.nicovideo.jp/a/fc%E9%9F%B3%E6%BA%90
http://dic.nicovideo.jp/a/fc%E9%9F%B3%E6%BA%90
アセンブラでの開発方法。まずはここを見ながら一歩ずつ試していっている。やはり実際に触りながらだと理解が早い。
http://gikofami.fc2web.com/
http://gikofami.fc2web.com/
メモ
パレットを編集する方法が分からない。
YY-CHR.NET で .pal を保存したら768バイトのファイルになるけど、「ギコ猫~」で配布されてるファイルは32bytes。「ギコ猫~」では pal.exe ってソフトを使って編集するよう書いてあるけど、軽く探しても発見できず。まあいざとなればバイナリエディタで直接いじるなりアセンブラに直接埋め込むなりすればできるだろうけど……。
などと思っていたが、単に「ギコ猫~」で配布されてるsprを開いてpalを保存すればOKのようだ。
(追記)
YY-CHR.NETのドキュメントに書いてあった。PALじゃなくてDATで保存してその先頭32bytesを使えばいいみたい。
http://www.geocities.jp/yy_6502/yychr/document.html
YY-CHR.NET で .pal を保存したら768バイトのファイルになるけど、「ギコ猫~」で配布されてるファイルは32bytes。「ギコ猫~」では pal.exe ってソフトを使って編集するよう書いてあるけど、軽く探しても発見できず。まあいざとなればバイナリエディタで直接いじるなりアセンブラに直接埋め込むなりすればできるだろうけど……。
などと思っていたが、単に「ギコ猫~」で配布されてるsprを開いてpalを保存すればOKのようだ。
(追記)
YY-CHR.NETのドキュメントに書いてあった。PALじゃなくてDATで保存してその先頭32bytesを使えばいいみたい。
http://www.geocities.jp/yy_6502/yychr/document.html
周辺も含めたハード仕様
http://www2.odn.ne.jp/~haf09260/Famic/Famic.htm
http://crystal.freespace.jp/pgate1/nes/index.html
http://www2.odn.ne.jp/~haf09260/Famic/Famic.htm
http://crystal.freespace.jp/pgate1/nes/index.html
すごい情報量っぽい英語サイト
http://nesdev.parodius.com/
http://nesdev.parodius.com/