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
380
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
470
執筆テーマの決め方
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
140
安くて美味い日本酒 / Great wholesale market
sapi_kawahara
0
390
オフラインもし逢えたなら素敵だね / It would be nice to meet you offline.
sapi_kawahara
0
440
カジュアル面談本の裏側を語る / Casual Information Book Inside story
sapi_kawahara
0
450
Other Decks in Education
See All in Education
SkimaTalk Teacher Guidelines Summary
skimatalk
0
790k
Common STIs in London: Symptoms, Risks & Prevention
medicaldental
0
130
JOAI2025講評 / joai2025-review
upura
0
160
演習問題
takenawa
0
5k
Linuxのよく使うコマンドを解説
mickey_kubo
1
130
サンキッズゾーン 春日井駅前 ご案内
sanyohomes
0
320
Virtual and Augmented Reality - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.7k
プレゼンテーション実践
takenawa
0
4.9k
2025年度春学期 統計学 第2回 統計資料の収集と読み方(講義前配付用) (2025. 4. 17)
akiraasano
PRO
0
140
実務プログラム
takenawa
0
4.9k
SkimaTalk Teacher Guidelines
skimatalk
0
790k
より良い学振申請書(DC)を作ろう 2025
luiyoshida
1
3.2k
Featured
See All Featured
Visualization
eitanlees
146
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Balancing Empowerment & Direction
lara
1
370
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Docker and Python
trallard
44
3.4k
How to train your dragon (web standard)
notwaldorf
93
6.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
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