thanks_super-famicom.pdf

 thanks_super-famicom.pdf

1784dc14078e1814c6d0c0959b0b7324?s=128

sapi_kawahara

April 29, 2019
Tweet

Transcript

  1. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミに感謝 1

  2. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 自己紹介 • さっぴー川原 @sapi_kawahara • 埼玉県川越市在住、五反田の中小企業で働いてます。 •

    エンジニア暦:30年目、コンシューマーゲーム機のゲー ム開発 (ファミコンからプレイステーション2まで)、 のちにLAMPでの開発にジョブチェンジ、開発言語にこだ わらない性格、最近はPythonをメインでやってます。 2
  3. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミとは? • スーパーファミコンのことです。 • 平成2年の1990年11月21日に任天堂が発売したファミ リーコンピューター(以降ファミコンと略)の後継機で す。

    • CPUは16ビットの65C816、ファミコンに比べて画面と 音楽関連を大幅にパワーアップしたゲーム機です。 3
  4. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 ファミコンよりこれだけパワーアップ! 4 ファミコン スーファミ メモリ 4KB 128KB

    ビデオメモリ 4KB 64KB 色 52色 32,768色から最大256色 スプライト 8x8,16x16最大64枚 8x8,16x16,32x32,64x64最大128枚 スプライト横制限 4枚 32枚 BG 縦または横2画面 1024x1024 画面エフェクト なし BG拡大縮小回転、半透明、モザイク、 ラスタースクロール、ウインドウ サウンド 矩形波(3和音モノラル)+ 三角波 16ビットPCM(8和音ステレオ)+ DSP(エコー、ディレイ、リバーブ、ピッチベンド)
  5. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 平成のはじまりにふさわしいスペック 5

  6. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 ここがつらいよスーファミ • 画面と音楽以外は、あんまりパワーアップしてない。 • CPUが遅いです本気で遅いです悲しいぐらい遅いです。 ◦ DMA動作時3.58MHz、カセットのプログラム実行時

    は2.68MHz。 ◦ コントローラを読む時はファミコンと同じ1.79MHz。 • 画面モードが沢山あるけど、使えるモードは3つぐらい。 • 拡大回転が使えるモード7が意外と使えないです。 ◦ ちなみに回転の計算は固定小数点です。 6
  7. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 ここがつらいよスーファミ(予算的な話) • 容量の大きなカセットを使う。(詳細は後のスライドに て話します) • カセットにDSPを搭載する。 •

    カセットに高速なCPUを搭載する。 ◦ マリオRPGなどです。 • カセットに高速な演算チップを搭載する。 ◦ スターフォックスのことです。 7
  8. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 つらいけど頑張る子でした! 8

  9. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミは技術を磨くには最適なゲーム機 • 65C816は65系の伝統を受け継ぐCPUです。 • アドレッシングモードも引き継いでおり、ダイレクトモード、アドレスイン デックスモード、インデックスX間接モード、間接インデックスYモードなど もパワーアップして使えるため、20超えるアドレッシングモードが使えま

    す。 • この辺りは話すと長いですが、ダイレクトモードは高速なゼロページアドレ スにアクセスできます、命令コードも1バイト減ります。 • アドレッシングモードを活用すると、命令コードから即値を減らすことがで き、しかも配列のような使い方ができます。 • この辺りは人間オプティマイザーとして日々研究してました。 9
  10. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミは技術を磨くには最適なゲーム機 • モード7の使い方は日々進化してます。 • F-ZEROは2Dマップを倒しただけです。 • ファイナルファンタジー4の飛空艇シーンは、奥行きを出

    すために地平線に向かって少しづつ縮めてます。 • ファイナルファンタジー5の飛空艇シーンは、地平線近く にフィルターを乗せて、さらに丸みを帯びるような変形 を追加してます。 • 新しい使い方が出るたびに解析してました。 10
  11. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミは技術を磨くには最適なゲーム機 • 格闘ゲームはキャラクターが大きく、1ステージで使用す るスプライト数が、最大定義数の128個を簡単に超えま す。 • 同時表示しないなら、裏でスプライト定義すればよい、

    幸いにもDMA(ダイレクトメモリーアクセス)に命令を 出せば勝手にやってくれる! • この技術は、のちにRPGでも派手なエフェクトのために 使うことが多くなります。 11
  12. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 プログラミングが楽しかったです 12

  13. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 本当に楽しかったです 13

  14. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 そんな平成を代表するゲーム機 スーファミに感謝! 14