Upgrade to Pro — share decks privately, control downloads, hide ads and more …

thanks_super-famicom.pdf

 thanks_super-famicom.pdf

sapi_kawahara

April 29, 2019
Tweet

More Decks by sapi_kawahara

Other Decks in Education

Transcript

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

    View Slide

  2. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    自己紹介
    ● さっぴー川原 @sapi_kawahara
    ● 埼玉県川越市在住、五反田の中小企業で働いてます。
    ● エンジニア暦:30年目、コンシューマーゲーム機のゲー
    ム開発 (ファミコンからプレイステーション2まで)、
    のちにLAMPでの開発にジョブチェンジ、開発言語にこだ
    わらない性格、最近はPythonをメインでやってます。
    2

    View Slide

  3. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    スーファミとは?
    ● スーパーファミコンのことです。
    ● 平成2年の1990年11月21日に任天堂が発売したファミ
    リーコンピューター(以降ファミコンと略)の後継機で
    す。
    ● CPUは16ビットの65C816、ファミコンに比べて画面と
    音楽関連を大幅にパワーアップしたゲーム機です。
    3

    View Slide

  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(エコー、ディレイ、リバーブ、ピッチベンド)

    View Slide

  5. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    平成のはじまりにふさわしいスペック
    5

    View Slide

  6. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    ここがつらいよスーファミ
    ● 画面と音楽以外は、あんまりパワーアップしてない。
    ● CPUが遅いです本気で遅いです悲しいぐらい遅いです。
    ○ DMA動作時3.58MHz、カセットのプログラム実行時
    は2.68MHz。
    ○ コントローラを読む時はファミコンと同じ1.79MHz。
    ● 画面モードが沢山あるけど、使えるモードは3つぐらい。
    ● 拡大回転が使えるモード7が意外と使えないです。
    ○ ちなみに回転の計算は固定小数点です。
    6

    View Slide

  7. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    ここがつらいよスーファミ(予算的な話)
    ● 容量の大きなカセットを使う。(詳細は後のスライドに
    て話します)
    ● カセットにDSPを搭載する。
    ● カセットに高速なCPUを搭載する。
    ○ マリオRPGなどです。
    ● カセットに高速な演算チップを搭載する。
    ○ スターフォックスのことです。
    7

    View Slide

  8. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    つらいけど頑張る子でした!
    8

    View Slide

  9. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    スーファミは技術を磨くには最適なゲーム機
    ● 65C816は65系の伝統を受け継ぐCPUです。
    ● アドレッシングモードも引き継いでおり、ダイレクトモード、アドレスイン
    デックスモード、インデックスX間接モード、間接インデックスYモードなど
    もパワーアップして使えるため、20超えるアドレッシングモードが使えま
    す。
    ● この辺りは話すと長いですが、ダイレクトモードは高速なゼロページアドレ
    スにアクセスできます、命令コードも1バイト減ります。
    ● アドレッシングモードを活用すると、命令コードから即値を減らすことがで
    き、しかも配列のような使い方ができます。
    ● この辺りは人間オプティマイザーとして日々研究してました。
    9

    View Slide

  10. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    スーファミは技術を磨くには最適なゲーム機
    ● モード7の使い方は日々進化してます。
    ● F-ZEROは2Dマップを倒しただけです。
    ● ファイナルファンタジー4の飛空艇シーンは、奥行きを出
    すために地平線に向かって少しづつ縮めてます。
    ● ファイナルファンタジー5の飛空艇シーンは、地平線近く
    にフィルターを乗せて、さらに丸みを帯びるような変形
    を追加してます。
    ● 新しい使い方が出るたびに解析してました。
    10

    View Slide

  11. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    スーファミは技術を磨くには最適なゲーム機
    ● 格闘ゲームはキャラクターが大きく、1ステージで使用す
    るスプライト数が、最大定義数の128個を簡単に超えま
    す。
    ● 同時表示しないなら、裏でスプライト定義すればよい、
    幸いにもDMA(ダイレクトメモリーアクセス)に命令を
    出せば勝手にやってくれる!
    ● この技術は、のちにRPGでも派手なエフェクトのために
    使うことが多くなります。
    11

    View Slide

  12. 新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日
    プログラミングが楽しかったです
    12

    View Slide

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

    View Slide

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

    View Slide