Submit Search
Upload
エミュレータのコードを読んでわかるセガサターン
•
0 likes
•
461 views
Y
Yuma Ohgami
Follow
レトロゲーム勉強会#05 https://retrog.connpass.com/event/216985/ の発表資料です
Read less
Read more
Technology
Report
Share
Report
Share
1 of 15
Download now
Download to read offline
Recommended
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
Yuma Ohgami
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターン
Yuma Ohgami
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
Yuma Ohgami
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
Yuma Ohgami
メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話
Yuma Ohgami
20131116 raspijam3
20131116 raspijam3
Akira Ouchi
UEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami
Oculus Game Jam in Japan #3
Oculus Game Jam in Japan #3
Shinya Hayakawa
Recommended
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
Yuma Ohgami
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターン
Yuma Ohgami
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
Yuma Ohgami
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
Yuma Ohgami
メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話
Yuma Ohgami
20131116 raspijam3
20131116 raspijam3
Akira Ouchi
UEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami
Oculus Game Jam in Japan #3
Oculus Game Jam in Japan #3
Shinya Hayakawa
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
エピック・ゲームズ・ジャパン Epic Games Japan
Cocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140621 macとiosで共通のコード
Satoshi Oomori
Summercamp2020 group3
Summercamp2020 group3
openrtm
0529ue4meetup-ragdoll-hangon
0529ue4meetup-ragdoll-hangon
cota2n
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
nico_indiesgame
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
Takashi Jona
Summer camp2018 group1
Summer camp2018 group1
openrtm
テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
tuna cook
elixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Hidetaka Kojo
Summer camp2019 group2
Summer camp2019 group2
openrtm
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
hima_zinn
ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告
Yuuki Ogino
ゲーミングプラットホームのLutris
ゲーミングプラットホームのLutris
Kenichiro MATOHARA
Summer camp2018 group2
Summer camp2018 group2
openrtm
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Nico-Tech Shenzhen/ニコ技深圳コミュニティ
Summercamp2020 group2
Summercamp2020 group2
openrtm
LT-作ったもの・作りたいもの
LT-作ったもの・作りたいもの
Ku ma
まわーるどが1週するまでのお話
まわーるどが1週するまでのお話
勝成 鈴江
Music engineadx
Music engineadx
Sho Iwamoto
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!
Yuma Ohgami
More Related Content
What's hot
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
エピック・ゲームズ・ジャパン Epic Games Japan
Cocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140621 macとiosで共通のコード
Satoshi Oomori
Summercamp2020 group3
Summercamp2020 group3
openrtm
0529ue4meetup-ragdoll-hangon
0529ue4meetup-ragdoll-hangon
cota2n
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
nico_indiesgame
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
Takashi Jona
Summer camp2018 group1
Summer camp2018 group1
openrtm
テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
tuna cook
elixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Hidetaka Kojo
Summer camp2019 group2
Summer camp2019 group2
openrtm
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
hima_zinn
ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告
Yuuki Ogino
ゲーミングプラットホームのLutris
ゲーミングプラットホームのLutris
Kenichiro MATOHARA
Summer camp2018 group2
Summer camp2018 group2
openrtm
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Nico-Tech Shenzhen/ニコ技深圳コミュニティ
Summercamp2020 group2
Summercamp2020 group2
openrtm
LT-作ったもの・作りたいもの
LT-作ったもの・作りたいもの
Ku ma
まわーるどが1週するまでのお話
まわーるどが1週するまでのお話
勝成 鈴江
Music engineadx
Music engineadx
Sho Iwamoto
What's hot
(20)
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
Cocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140621 macとiosで共通のコード
Summercamp2020 group3
Summercamp2020 group3
0529ue4meetup-ragdoll-hangon
0529ue4meetup-ragdoll-hangon
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
第二回自作ゲームフェス勉強会(第1部・中村光一さん講演&質疑応答)
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
20160221-UnityAassetTouchAndTry-in-FukuokaUnity
Summer camp2018 group1
Summer camp2018 group1
テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
elixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Summer camp2019 group2
Summer camp2019 group2
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
Global Game Jam 2019 バンタンゲームアカデミー大阪会場 Bチーム 最終発表資料
ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告
ゲーミングプラットホームのLutris
ゲーミングプラットホームのLutris
Summer camp2018 group2
Summer camp2018 group2
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Summercamp2020 group2
Summercamp2020 group2
LT-作ったもの・作りたいもの
LT-作ったもの・作りたいもの
まわーるどが1週するまでのお話
まわーるどが1週するまでのお話
Music engineadx
Music engineadx
More from Yuma Ohgami
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!
Yuma Ohgami
バイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールド
Yuma Ohgami
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
Yuma Ohgami
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
Yuma Ohgami
60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介
Yuma Ohgami
来週の展示内容紹介
来週の展示内容紹介
Yuma Ohgami
DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介
Yuma Ohgami
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
Yuma Ohgami
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
Yuma Ohgami
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
Yuma Ohgami
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
Yuma Ohgami
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介
Yuma Ohgami
セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介
Yuma Ohgami
ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
Yuma Ohgami
/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
Yuma Ohgami
x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
Yuma Ohgami
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami
GPD WINでStretchを動かす
GPD WINでStretchを動かす
Yuma Ohgami
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Yuma Ohgami
More from Yuma Ohgami
(20)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!
バイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールド
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介
来週の展示内容紹介
来週の展示内容紹介
DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介
セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介
ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
GPD WINでStretchを動かす
GPD WINでStretchを動かす
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Recently uploaded
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Recently uploaded
(12)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
エミュレータのコードを読んでわかるセガサターン
1.
エミュレータの コードを読んでわかる セガサターン 大神 祐真 (@yohgami)
2.
2021-08-11 大神 祐真 (@yohgami) 自己紹介 大神祐真 @yohgami [仕事] グループウェア メーカーの インフラエンジニア [趣味] 自作OS レトロPC/ゲーム 自作アーケード基板
3.
2021-08-11 大神 祐真 (@yohgami) 宣伝 共に、電子版は無料公開中! 物理版は各種ショップ様へ委託中! 興味があれば、 http://yuma.ohgami.jp
へどうぞ!
4.
2021-08-11 大神 祐真 (@yohgami) 今日のお話 セガサターン エミュレータ 「Yabause」の コードを読んで どんなハード だったのかを知る https://techbookfest.org/product/5711801452855296?productVariantID =5652438159720448
5.
2021-08-11 大神 祐真 (@yohgami) 今日のお話 本書の 「4.3
VDP1の実装について」 から ネタを2つ紹介します https://techbookfest.org/product/5711801452855296?productVariantID =5652438159720448
6.
2021-08-11 大神 祐真 (@yohgami) VDP1とポリゴンについて ● VDP(Video
Display Processor)というビデオ描 画用ICが搭載されている – VDP1とVDP2の2つ搭載 ● VDP1に併設のRAMにコマンドを並べると それに従って描画が行われる ● コマンドにはスプライト描画やポリゴン描画 などがある
7.
2021-08-11 大神 祐真 (@yohgami) VDP1とポリゴンについて コマンドのパラメータから、ポリゴンについて 以下がわかる ● セガサターンのポリゴンは4頂点 ● ハードが認識するのは2次元座標 –
3次元の座標系変換や3次元→2次元の座標変換は ソフト側で実施する必要あり
8.
2021-08-11 大神 祐真 (@yohgami) VDP1とポリゴンについて 3次元の座標系変換や3次元→2次元の座標変換は ソフト側で実施する必要あり ● セガサターンはメインCPUを2つ搭載しているが、 このような高負荷な処理は、実質、CPU1つ専有 ● 3Dのゲームを作ろうとすると、 ゲーム表現には残るCPU1つということに →
2DならCPU2つをゲーム表現に使える ● また、2D表現についてはVDPのサポートがいくつかある
9.
2021-08-11 大神 祐真 (@yohgami) VDP1とポリゴンについて こういった所からも、 「3D表現の能力はあるが、 2Dの方が得意なゲームハード」 であることが伺える
10.
2021-08-11 大神 祐真 (@yohgami) ヴァンパイアハンターの 特殊な振る舞いへの対処 エミュレータのソースコードに 「ヴァンパイアハンターはほとんどのフレームで クリッピング設定をしない」 と書かれていて、そのための処理がある
11.
2021-08-11 大神 祐真 (@yohgami) ヴァンパイアハンターの 特殊な振る舞いへの対処 ヴァンパイアハンター: ● カプコンの格ゲー ● 元はアーケードでセガサターン版はその移植 クリッピング設定: ● VDP1のコマンドの一種で、描画範囲を設定する ● VDP1コマンドなので、これもVDP1のRAMに置く
12.
2021-08-11 大神 祐真 (@yohgami) ヴァンパイアハンターの 特殊な振る舞いへの対処 ● 本来は毎フレーム設定するクリッピングを ヴァンパイアハンターは行わないとのこと ● よくアニメーションするゲームなので RAMに画像を多く置くための削減だと思われる –
当時、移植した開発会社が やらなくても良い条件を見つけたということ
13.
2021-08-11 大神 祐真 (@yohgami) ヴァンパイアハンターの 特殊な振る舞いへの対処 ● セガサターンが出た1994年の32ビットの時代 でも、アーケード移植は大変だった事が伺える ● こういった特殊な振る舞いをするゲームは エミュレータとしてはつらいところだが
14.
2021-08-11 大神 祐真 (@yohgami) まとめ エミュレータのコードを読むのは楽しい!
15.
2021-08-11 大神 祐真 (@yohgami) ありがとうございました!
Download now