Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
thanks_super-famicom.pdf
Search
sapi_kawahara
April 29, 2019
Education
0
390
thanks_super-famicom.pdf
sapi_kawahara
April 29, 2019
Tweet
Share
More Decks by sapi_kawahara
See All by sapi_kawahara
今から始める8bits CPU アセンブラ言語
sapi_kawahara
0
520
執筆テーマの決め方
sapi_kawahara
1
350
LTの禁じ手
sapi_kawahara
1
1.2k
||とorの違いは登壇して解決した
sapi_kawahara
0
340
Macintosh talk / Macintoshの話
sapi_kawahara
0
190
混合接種してみた / Mixed inoculation
sapi_kawahara
0
150
安くて美味い日本酒 / Great wholesale market
sapi_kawahara
0
400
オフラインもし逢えたなら素敵だね / It would be nice to meet you offline.
sapi_kawahara
0
450
カジュアル面談本の裏側を語る / Casual Information Book Inside story
sapi_kawahara
0
460
Other Decks in Education
See All in Education
万博マニアックマップを支えるオープンデータとその裏側
barsaka2
0
110
ANS-C01_2回不合格から合格までの道程
amarelo_n24
1
270
小さなチャレンジが生んだチームの大きな変化 -私のふりかえり探求の原点
callas1900
0
600
予習動画
takenawa
0
11k
令和政経義塾第2期説明会
nxji
0
120
アントレプレナーシップ教育 ~ 自分で自分の幸せを決めるために ~
yoshizaki
0
150
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
4
1.1k
Data Management and Analytics Specialisation
signer
PRO
0
1.4k
The Art of Note Taking
kanaya
1
140
Pydantic(AI)とJSONの詳細解説
mickey_kubo
0
150
AIC 103 - Applications of Property Valuation: Essential Slides
rmccaic
0
280
2025年度春学期 統計学 第8回 演習(1) 問題に対する答案の書き方(講義前配付用) (2025. 5. 29)
akiraasano
PRO
0
120
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Writing Fast Ruby
sferik
628
62k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Raft: Consensus for Rubyists
vanstee
140
7k
Typedesign – Prime Four
hannesfritz
42
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
850
4 Signs Your Business is Dying
shpigford
184
22k
Faster Mobile Websites
deanohume
308
31k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Transcript
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミに感謝 1
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 自己紹介 • さっぴー川原 @sapi_kawahara • 埼玉県川越市在住、五反田の中小企業で働いてます。 •
エンジニア暦:30年目、コンシューマーゲーム機のゲー ム開発 (ファミコンからプレイステーション2まで)、 のちにLAMPでの開発にジョブチェンジ、開発言語にこだ わらない性格、最近はPythonをメインでやってます。 2
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミとは? • スーパーファミコンのことです。 • 平成2年の1990年11月21日に任天堂が発売したファミ リーコンピューター(以降ファミコンと略)の後継機で す。
• CPUは16ビットの65C816、ファミコンに比べて画面と 音楽関連を大幅にパワーアップしたゲーム機です。 3
新元号決定!平成最後の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(エコー、ディレイ、リバーブ、ピッチベンド)
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 平成のはじまりにふさわしいスペック 5
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 ここがつらいよスーファミ • 画面と音楽以外は、あんまりパワーアップしてない。 • CPUが遅いです本気で遅いです悲しいぐらい遅いです。 ◦ DMA動作時3.58MHz、カセットのプログラム実行時
は2.68MHz。 ◦ コントローラを読む時はファミコンと同じ1.79MHz。 • 画面モードが沢山あるけど、使えるモードは3つぐらい。 • 拡大回転が使えるモード7が意外と使えないです。 ◦ ちなみに回転の計算は固定小数点です。 6
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 ここがつらいよスーファミ(予算的な話) • 容量の大きなカセットを使う。(詳細は後のスライドに て話します) • カセットにDSPを搭載する。 •
カセットに高速なCPUを搭載する。 ◦ マリオRPGなどです。 • カセットに高速な演算チップを搭載する。 ◦ スターフォックスのことです。 7
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 つらいけど頑張る子でした! 8
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミは技術を磨くには最適なゲーム機 • 65C816は65系の伝統を受け継ぐCPUです。 • アドレッシングモードも引き継いでおり、ダイレクトモード、アドレスイン デックスモード、インデックスX間接モード、間接インデックスYモードなど もパワーアップして使えるため、20超えるアドレッシングモードが使えま
す。 • この辺りは話すと長いですが、ダイレクトモードは高速なゼロページアドレ スにアクセスできます、命令コードも1バイト減ります。 • アドレッシングモードを活用すると、命令コードから即値を減らすことがで き、しかも配列のような使い方ができます。 • この辺りは人間オプティマイザーとして日々研究してました。 9
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミは技術を磨くには最適なゲーム機 • モード7の使い方は日々進化してます。 • F-ZEROは2Dマップを倒しただけです。 • ファイナルファンタジー4の飛空艇シーンは、奥行きを出
すために地平線に向かって少しづつ縮めてます。 • ファイナルファンタジー5の飛空艇シーンは、地平線近く にフィルターを乗せて、さらに丸みを帯びるような変形 を追加してます。 • 新しい使い方が出るたびに解析してました。 10
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 スーファミは技術を磨くには最適なゲーム機 • 格闘ゲームはキャラクターが大きく、1ステージで使用す るスプライト数が、最大定義数の128個を簡単に超えま す。 • 同時表示しないなら、裏でスプライト定義すればよい、
幸いにもDMA(ダイレクトメモリーアクセス)に命令を 出せば勝手にやってくれる! • この技術は、のちにRPGでも派手なエフェクトのために 使うことが多くなります。 11
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 プログラミングが楽しかったです 12
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 本当に楽しかったです 13
新元号決定!平成最後のLT大会&PARTY #engineers_lt 平成31年4月30日〜令和元年5月1日 そんな平成を代表するゲーム機 スーファミに感謝! 14