前書き
NES研究室の発展版、スーパーファミコンの研究ページです。少しずつ集めた情報を纏めていければと思っています。
最終的にはSNESSDKと言う感じで、スーファミ開発用にグラフィック、サウンド等をライブラリ化してみたいと思っています。
スペック
一応スーファミのスペックをざっと紹介。
| メインプロセッサ |
16bit 65C816 1.79~3.58MHz |
| サウンドプロセッサ |
8bit SPC700 2.05MHz |
| ROM |
最大6144KByte |
| RAM |
WorkRAM:128KByte, VideoRAM:64KByte, SoundRAM:64KByte |
| 解像度 |
256x224ピクセル |
| 最大発色数 |
32768色 |
| 画面 |
最大4画面+スプライト同時表示可能 |
| サウンド |
8チャンネルのPCM音源 |
| コントローラ |
上, 下, 左, 右, A, B, X, Y, スタート, セレクト |
用語
NES研究室と同じくこのページで使われる用語は、一般的に呼ばれている用語を使う事もありますが、私が勝手に命名定義したものも多分数多くあると思います。
信頼性
ここで公開する情報は基本的にネット上にある資料からエミュレータで実験しつつ解析したものです。間違った資料も結構あるので、一応私がいくつかのエミュレータで動作を確認してから情報を載せていますが、他のエミュレータやROMに焼いて実機で動くかどうかは分かりません。このエミュレータでこうするとうまくいかない等、メール等で報告してくださると非常に助かります。
スーファミのほうがファミコンに比べてかなり複雑になっているので、エミュレータによって動く動かないと言うことがやけに多いので、実機で試せないのが辛い…。
CC65
細かい説明はNES研究室を参照してください。
65816の場合はアセンブラのみ対応となっています。
WDC-SDK
細かい説明はNES研究室を参照してください。
スーファミソフトの開発ではCコンパイラにWDC816CC、アセンブラにWDC816AS、リンカにWDCLNを使います。
配布元 : http://www.westerndesigncenter.com/
WLA-DX
Z80,6502,65816,SPC700,etc...
と多くのCPUに対応しているフリーのアセンブラです。SPC700の開発環境がかなり少ないのでスーファミのサウンドプログラム用に使っていました。ただ、少なくともSPC700に関しては若干サポートされていない命令やアドレッシングモードがあるようで、そう言う場合は一部マシン語で記述する必要があります。(フリーなんで仕方ないですね)
ちなみに、多分ドキュメントを読んでいる限りではゲームボーイ向けのZ80アセンブラに重点を置いている気がします。(サンプルの多くがゲームボーイだったたため)
配布元 : http://users.tkk.fi/~vhelin/
YY-CHR
日本製のフリーのパターンテーブル作成ツールです。細かい説明はNES研究室を参照してください。
配布元 : http://www.geocities.co.jp/Playtown-Denei/4503/
SNESGT
日本製のフリーのSNESエミュレータで、多分2007年現在一番再現レベルの高いエミュレータだと思います。ただ、デバッガとしての機能が無いところがちょっとNES開発に比べてつらいかも知れません。とは言えメモリマップやSPCダンプ機能はあるので文句も言えないんですけど。基本的にサンプルソースやゲームはこのエミュレータで動作確認をしています。
配布元 : http://gigo.retrogames.com/