エミュレータのコードを読んでわかる「セガサターン」

エミュレータの
コードを読んでわかる
「セガサターン」
大神 祐真
(@yohgami)
2021-06-26 大神 祐真 (@yohgami)
自己紹介
大神祐真
@yohgami
[仕事]
グループウェア
メーカーの
インフラエンジニア
[趣味]
自作OS
レトロPC/ゲーム
自作アーケード基板
セガサターン
1994年発売 セガ据え置き型
初のポリゴン
描画
同世代
PlayStation
NINTENDO64
44,800円
2021-06-26 大神 祐真 (@yohgami)
今日のお話
セガサターンエミュレータ
「Yabause」のコードを読んで
どんなハードだったのかを知る
2021-06-26 大神 祐真 (@yohgami)
コードを読んでみましょう!
2021-06-26 大神 祐真 (@yohgami)
補足:走査線による
1画面(フレーム)の描画
表示画面領域
H(水平)
ブランク期間
走査線:
1ラインを描画する
V(垂直)
ブランク期間
2021-06-26 大神 祐真 (@yohgami)
補足:走査線による
1画面(フレーム)の描画
表示画面領域
H(水平)
ブランク期間
走査線:
1ラインを描画する
V(垂直)
ブランク期間
1画面(フレーム)の描画は
Vブランク期間を抜けた
瞬間から始まる
2021-06-26 大神 祐真 (@yohgami)
エミュレータのコードを読むのは楽しい!
2021-06-26 大神 祐真 (@yohgami)
技術書典11で本出します!
【技術書典11】
・オンライン:7/10 – 7/25
・トライアル:7/11
サークル「へにゃぺんて」で出展!
(オンラインのみ)
← 新刊鋭意執筆中!
  B5、100ページ超えで
  CPU・コントローラ入力
 ・画面描画・サウンドなどの
  作りをコードから見ていきます!
2021-06-26 大神 祐真 (@yohgami)
ご清聴ありがとうございました!
スペック
セガサターン PlayStation NINTENDO64
‘94/11/22 ‘94/12/03 ‘96/06/23
発売
価格 44,800円 39,800円 25,000円
CPU
SH-2(32bit)
x 2
28.6MHz
3D
表現
ポリゴン対応
3D表現も
できる
3D特化
秒間150万
ポリゴン
R3000A
(32bit)
33.8MHz
R4300i
(64bit)
93.7MHz
後発ながらの
高い
3D表現能力
2021-06-26 大神 祐真 (@yohgami)
描画周りのアーキテクチャ
SH-2
SH-2 SCU
VDP1 VDP2
ビデオ
出力
TV
前景
(スプライト、
ポリゴンなど)
背景
VDP1
VRAM
VRAM
VRAM上の
コマンドに
従って
スプライトやポリゴン
を描画
ポリゴン描画コマンド
15 0
コマンド名や
その他属性情報等
ビット
0x00
〜
0x04
0x06
0x08
0x0A
0x0C
〜
0x1A
0x1C
カラー
予約
4つの頂点を
それぞれ2次元座標で設定
グーローシェーディング設定
1 of 13

Recommended

ハードの作りで振り返るセガサターン by
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンYuma Ohgami
588 views60 slides
エミュレータのコードを読んでわかるセガサターン by
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンYuma Ohgami
440 views15 slides
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング by
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングYuma Ohgami
570 views8 slides
セガサターンマシン語プログラミングの紹介 by
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介Yuma Ohgami
952 views10 slides
メガドラ実機で自作のROMファイルを動かしてみた話 by
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話Yuma Ohgami
726 views14 slides
20131116 raspijam3 by
20131116 raspijam320131116 raspijam3
20131116 raspijam3Akira Ouchi
3.3K views30 slides

More Related Content

What's hot

Oculus Game Jam in Japan #3 by
Oculus Game Jam in Japan #3Oculus Game Jam in Japan #3
Oculus Game Jam in Japan #3Shinya Hayakawa
956 views9 slides
Summercamp2020 group3 by
Summercamp2020 group3Summercamp2020 group3
Summercamp2020 group3openrtm
646 views13 slides
0529ue4meetup-ragdoll-hangon by
0529ue4meetup-ragdoll-hangon0529ue4meetup-ragdoll-hangon
0529ue4meetup-ragdoll-hangoncota2n
61 views14 slides
Bloodstainedで世界のバッカーの期待に応えたUE4事例紹介 by
Bloodstainedで世界のバッカーの期待に応えたUE4事例紹介Bloodstainedで世界のバッカーの期待に応えたUE4事例紹介
Bloodstainedで世界のバッカーの期待に応えたUE4事例紹介エピック・ゲームズ・ジャパン Epic Games Japan
15.2K views73 slides
UEFIベアメタルプログラミング by
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミングYuma Ohgami
1.5K views48 slides
Summer camp2018 group1 by
Summer camp2018 group1Summer camp2018 group1
Summer camp2018 group1openrtm
15 views17 slides

What's hot(20)

Summercamp2020 group3 by openrtm
Summercamp2020 group3Summercamp2020 group3
Summercamp2020 group3
openrtm646 views
0529ue4meetup-ragdoll-hangon by cota2n
0529ue4meetup-ragdoll-hangon0529ue4meetup-ragdoll-hangon
0529ue4meetup-ragdoll-hangon
cota2n61 views
UEFIベアメタルプログラミング by Yuma Ohgami
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami1.5K views
Summer camp2018 group1 by openrtm
Summer camp2018 group1Summer camp2018 group1
Summer camp2018 group1
openrtm15 views
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答) by nico_indiesgame
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
nico_indiesgame846 views
テキストアドベンチャーゲームのアーキテクチャと工程 by tuna cook
テキストアドベンチャーゲームのアーキテクチャと工程テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
tuna cook7K views
Summer camp2019 group2 by openrtm
Summer camp2019 group2Summer camp2019 group2
Summer camp2019 group2
openrtm1.2K views
Cocoa勉強会20140621 macとiosで共通のコード by Satoshi Oomori
Cocoa勉強会20140621 macとiosで共通のコードCocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140621 macとiosで共通のコード
Satoshi Oomori1K views
20160221-UnityAassetTouchAndTry-in-FukuokaUnity by Takashi Jona
20160221-UnityAassetTouchAndTry-in-FukuokaUnity20160221-UnityAassetTouchAndTry-in-FukuokaUnity
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
Takashi Jona615 views
Summer camp2018 group2 by openrtm
Summer camp2018 group2Summer camp2018 group2
Summer camp2018 group2
openrtm872 views
Summercamp2020 group2 by openrtm
Summercamp2020 group2Summercamp2020 group2
Summercamp2020 group2
openrtm566 views
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料 by hima_zinn
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
hima_zinn204 views
VTuberハッカソン大阪大会 (2018.09.01-02) by Nakaya Makoto
VTuberハッカソン大阪大会 (2018.09.01-02)VTuberハッカソン大阪大会 (2018.09.01-02)
VTuberハッカソン大阪大会 (2018.09.01-02)
Nakaya Makoto467 views
かわずと!第19回放送『吉里吉里講座』スライド by tuna cook
かわずと!第19回放送『吉里吉里講座』スライドかわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライド
tuna cook1.8K views
ぷちコンゲームジャム進捗報告 by Yuuki Ogino
ぷちコンゲームジャム進捗報告ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告
Yuuki Ogino194 views
elixirを使ったゲームサーバ by Hidetaka Kojo
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Hidetaka Kojo15.9K views
LT-作ったもの・作りたいもの by Ku ma
LT-作ったもの・作りたいものLT-作ったもの・作りたいもの
LT-作ったもの・作りたいもの
Ku ma230 views

More from Yuma Ohgami

バイナリ生物学でデイジーワールド by
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドYuma Ohgami
32 views24 slides
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか? by
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?Yuma Ohgami
21 views18 slides
60年代ゲームハードPDP-7のご紹介 by
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介Yuma Ohgami
72 views15 slides
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門 by
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門Yuma Ohgami
23 views20 slides
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介 by
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介Yuma Ohgami
25 views6 slides
セガサターンで動く自作シンセサイザーの紹介 by
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介Yuma Ohgami
265 views29 slides

More from Yuma Ohgami(17)

バイナリ生物学でデイジーワールド by Yuma Ohgami
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールド
Yuma Ohgami32 views
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか? by Yuma Ohgami
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
Yuma Ohgami21 views
60年代ゲームハードPDP-7のご紹介 by Yuma Ohgami
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介
Yuma Ohgami72 views
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門 by Yuma Ohgami
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
Yuma Ohgami23 views
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介 by Yuma Ohgami
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
Yuma Ohgami25 views
セガサターンで動く自作シンセサイザーの紹介 by Yuma Ohgami
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介
Yuma Ohgami265 views
ゲームボーイ向けOSの作り方 by Yuma Ohgami
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
Yuma Ohgami679 views
/dev/kvmを直接叩いて自作VM by Yuma Ohgami
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
Yuma Ohgami1.1K views
x86_64向け自作OSの紹介 by Yuma Ohgami
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
Yuma Ohgami1.1K views
CybozuのOSS(WalB)へコミットしてみた/使ってみた by Yuma Ohgami
CybozuのOSS(WalB)へコミットしてみた/使ってみたCybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami946 views
GPD WINでStretchを動かす by Yuma Ohgami
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かす
Yuma Ohgami413 views
UEFIで始めるLinux From Scratch by Yuma Ohgami
UEFIで始めるLinux From ScratchUEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami1.3K views
UEFI向け自作OSの紹介 by Yuma Ohgami
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Yuma Ohgami1.5K views
【シェル芸】コマンド7つで簡易コンテナ by Yuma Ohgami
【シェル芸】コマンド7つで簡易コンテナ【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナ
Yuma Ohgami935 views
フルスクラッチ自作OS(OS5)の紹介 by Yuma Ohgami
フルスクラッチ自作OS(OS5)の紹介フルスクラッチ自作OS(OS5)の紹介
フルスクラッチ自作OS(OS5)の紹介
Yuma Ohgami1.1K views
QEMUでARM64bitベアメタルプログラミング by Yuma Ohgami
QEMUでARM64bitベアメタルプログラミングQEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミング
Yuma Ohgami3.8K views
【2000行弱!】x86用自作カーネルの紹介 by Yuma Ohgami
【2000行弱!】x86用自作カーネルの紹介【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami8.2K views

Recently uploaded

SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
355 views15 slides
さくらのひやおろし2023 by
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
96 views58 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
60 views26 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
58 views29 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
120 views42 slides

Recently uploaded(11)

SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda355 views
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之96 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.58 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4335 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka88 views

エミュレータのコードを読んでわかる「セガサターン」