昨日の続き。
1年2か月の間に再現性があがり、開発に協力できる人たちが中古屋の隅に転がっていたカートリッジを使用して ROM データが作者の元に大量に届けられたと思われる。
iNES 0.7 (1997年8月)
iNES.doc から抜粋:
* CARTRIDGE FILE FORMAT * The iNES distribution includes a single cartridge image with a program allowing to test the emulator. There is also a source code of this program included. Following is the format of ROM-image files used by iNES (.NES extension): Byte Contents
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
mapper type が 4bit から 8bit に拡張され、256通りの値を持つことが出来るようになった。reserved と記載された部分は 0 で埋めるように明言された。一般的に流通している NES ファイルの仕様は1996年6月から1997年8月の間に策定されたようだ。
明言されなかった期間は reserved 領域に通信欄として文字列をいれる遊び(?)が横行したようだ。拡張するときに新しく新設する領域に不定な値が入っていてはちゃんと動かすことが出来ない。
8bit に拡張された mapper type は日本からの情報提供があったのか、ほとんどが日本だけのものを追加していたようだ。
Mapper# Name Examples
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
mapper 2 に "hacked for use with FFE copier" というのがあって、ファイナルファンタジーII の mapper hack data がそれらしい。trainer 付きで、Work RAM 電池付きがあるとからしい。本物の UNROM では無理だが、 UNROM と書いてないのでこの説明では許容している。
mapper 16 から 34 の大半は分解して書いてあるカスタム IC の名前から採番したものと思われる。それ以外の 74161 などの汎用 IC で構成してあるものは mapper hack でなんとかなるからカスタムICは重要度が高いから設定したとか、そういうことではないだろうか。
謎の技術用語, 106
その中に mapper 19 に Namcot 106 chip がでてきた。これが初出かは不明だが、少なくとも1997年には 106 という謎の名称が存在している。
2000年頃には市販のゲームソフトの大半が PC で動くようになり、 NES にはなかったカートリッジからの音声出力も動くようになった。nsf が規定され音だけを抽出することが可能に、mck などで作曲ができるようになった。
音源以外の機能にも混乱は続き、今に至るわけだが、これらは下記が原因となっている。
残りのピースを埋めるのはどうでも良いかもしれない
1996年以前の再現度が 0% から 19% だと仮定する。この期間は資料も揃わず、よくわからない解析をしながら、動かないプログラムをもくもくと書き続ける期間で、開発者にとってはあまり楽しくない期間であると言ってよい。
1996年から1997年なんてものは再現度が 20% から 60% にあがるぐらいの急激なもので、日に日に再現度はあがり、1000以上もあるソフトは次々と動き出す。ユーザーのフィードバックも頻繁になり、開発者はこの時期が一番楽しい。
問題はこれ以降で、開発者によっては満足して終わることがある。仕事では別として、趣味でやるようなプログラミングはそうかもしれない。米国人にとって昔遊んだ NES のゲームが一通り動けば満足で、なじみもなくて文字も読めない日本語のゲームを動かしたいだろうか。日本仕様のゲームを抜いたら再現度は60%ではなく90%と解釈してもよいかもしれない。
そういう心境があったかは別にして、 iNES の開発は停滞化した。
この後、別の開発者たちがエミュレータを作り直したり、未知の仕様には mapper 番号をどんどん新設・採番し、2000年までに再現度は60%から95%にあがった。
残り5%は市販品ではないとか、ものすごく希少とか、動かなくてもどーでもよいいうもので手間がかかるし、動いてもやりがいを感じられないという状態なんだと思う。
*1:以前基板部品実装メーカーの紹介を見てたら正式名称がxxx加工だったけど忘れた