Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

新元号決定!平成最後の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(エコー、ディレイ、リバーブ、ピッチベンド)

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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