SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
ゲームボーイ向けOSの作り方
大神 祐真
(@yohgami)
2020-12-30
自己紹介
大神祐真
@yohgami
[仕事]
グループウェア
メーカーの
インフラエンジニア
[趣味]
自作OS
レトロPC/ゲーム
自作アーケード基板
今日のお話
せっかくの機会なので、
●
「ゲームボーイ」というハードを
少し知っていただく
●
このハードでOSを作るに当たり何をしたのか
を少し知っていただく
今日のお話
1. ゲームボーイとは
  → ゲームボーイというハードを
   まず簡単に紹介
2. 自作OS「AMADO」の機能と実装
  → 見えている機能と
   それに対する実装を紹介
3. 入出力の制約への対処
  → ゲームボーイ(古いゲームハード)
   特有の制約への対処を紹介
今日のお話
1. ゲームボーイとは
2. 自作OS「AMADO」の機能と実装
3. 入出力の制約への対処
「ゲームボーイ」とは
1989年に任天堂が発売した
携帯型ゲーム機
スペック
●
CPU :
シャープ製LR35902(8bit)
(Z80カスタムCPU)
●
RAM :8KB
●
VRAM:8KB
●
解像度:
160 x 144 dot
ゲームボーイの
本体とカートリッジの主な構成
ゲームボーイ本体
CPU LCDC
VRAMRAM
OAM,
I/Oレジスタ,
HRAM 等
カートリッジ
ROM RAM
バックアップ
電池
※ AMADOのカートリッジは
  不揮発性メモリ搭載で
  電池無し
ゲームボーイのメモリマップ
カートリッジ
ROM
(バンク0)
カートリッジ
ROM
(バンク1
以降)
本体
VRAM
カートリッジ
RAM
(バンクN)
本体RAM
OAM,
I/Oレジスタ,
HRAM 等
0x0000
0x4000
(16KB)
(16KB)
0x8000
(8KB)
0xA000
(8KB)
0xC000
(8KB)
0xE000
(8KB)
ゲームボーイのメモリマップ
カートリッジ
ROM
(バンク0)
カートリッジ
ROM
(バンク1
以降)
本体
VRAM
カートリッジ
RAM
(バンクN)
本体RAM
OAM,
I/Oレジスタ,
HRAM 等
0x0000
0x4000
(16KB)
(16KB)
0x8000
(8KB)
0xA000
(8KB)
0xC000
(8KB)
0xE000
(8KB)
0x0100 〜 0x014F
(80バイト)
カートリッジヘッダ
実行開始アドレス等
を書いておく
ゲームボーイのメモリマップ
カートリッジ
ROM
(バンク0)
カートリッジ
ROM
(バンク1
以降)
本体
VRAM
カートリッジ
RAM
(バンクN)
本体RAM
OAM,
I/Oレジスタ,
HRAM 等
0x0000
0x4000
(16KB)
(16KB)
0x8000
(8KB)
0xA000
(8KB)
0xC000
(8KB)
0xE000
(8KB)
0x2000
MBC
(ROM用)
0x4000
MBC
(主にRAM用)
ゲームボーイのメモリマップ
カートリッジ
ROM
(バンク1
以降)
カートリッジ
RAM
(バンクN)
0x4000
(16KB)
0xA000
(8KB)
バンク0〜N
(各8KB)
バンク1〜N
(各16KB)
ROMの
バンク
選択
RAMの
バンク
選択
今日のお話
1. ゲームボーイとは
2. 自作OS「AMADO」の機能と実装
3. 入出力の制約への対処
現状のAMADOが
OSとして持っている機能
●
ファイルシステム
●
外部プログラム実行
●
API
●
アプリ開発
現状のAMADOが
OSとして持っている機能
●
ファイルシステム
●
外部プログラム実行
●
API
●
アプリ開発
AMADOのメモリマップ
カーネル
ファイル
システム
1
(RO)
本体
VRAM
ファイル
システム2
(RW)
OAM,
I/Oレジスタ,
HRAM 等
0x0000
0x4000
(16KB)
(16KB)
0x8000
(8KB)
0xA000
(8KB)
0xC000
(8KB)
0xE000
(8KB)
カーネル変数
プログラム
実行領域
ファイルシステムの
バイナリフォーマット
例) 2つのファイルが存在する場合
2
ファイルシステム先頭
からのオフセット
FF FF
予約ファイル数
0x0000
0x0003 ファイル名① txt
ファイル
タイプ
11 00
ファイル①への
オフセット
0x000A ファイル名② img 80 00
0x0011
0x0080
ファイル
サイズ
ファイル①データ  …
ファイル
サイズ
ファイル②データ  …
・・・
現状のAMADOが
OSとして持っている機能
●
ファイルシステム
●
外部プログラム実行
●
API
●
アプリ開発
実行ファイルをクリックすると、
カーネル
ファイル
システム
1
(RO)
本体
VRAM
ファイル
システム2
(RW)
OAM,
I/Oレジスタ,
HRAM 等
0x0000
0x4000
(16KB)
(16KB)
0x8000
(8KB)
0xA000
(8KB)
0xC000
0xE000
(8KB)
カーネル変数
プログラム
実行領域
0xD000
例えば、
読み取り専用ファイルシステムの実行ファイルをクリックした場合
exe
1) 実行ファイルを
本体RAMのプログラム実行領域へ
ロード
実行ファイルをクリックすると、
カーネル
ファイル
システム
1
(RO)
本体
VRAM
ファイル
システム2
(RW)
OAM,
I/Oレジスタ,
HRAM 等
0x0000
0x4000
(16KB)
(16KB)
0x8000
(8KB)
0xA000
(8KB)
0xC000
0xE000
(8KB)
カーネル変数
プログラム
実行領域
0xD000
例えば、
読み取り専用ファイルシステムの実行ファイルをクリックした場合
exe
2) call 0xD000
exe
現状のAMADOが
OSとして持っている機能
●
ファイルシステム
●
外部プログラム実行
●
API
●
アプリ開発
アプリが使える変数/関数
詳しくは、
同人誌『ゲームボーイOS「AMADO」で8ビットマシン語入門』参照
アプリが使える関数/変数
現状のAMADOが
OSとして持っている機能
●
ファイルシステム
●
外部プログラム実行
●
API
●
アプリ開発
バイナリエディタで
マシン語プログラミング
詳しくは
こちらの同人誌で
解説しています!
技術書典10で頒布中!
(“ゲームボーイ”で検索すると
出てきます)
今日のお話
1. ゲームボーイとは
2. 自作OS「AMADO」の機能と実装
3. 入出力の制約への対処
入出力について
現状、使用している入出力
入力:ボタン
出力:画面
入出力について
現状、使用している入出力
入力:ボタン
出力:画面
I/O:JOYPレジスタ
アドレス 0xFF00 のレジスタ(1バイト)
同人誌『シェルスクリプトでゲームボーイプログラミング入門』参照
入力に関して
GBならではの対応が必要なのは、
キーボードが無い状況で、文字入力をどうするか?
←→:カーソル移動
↑↓:値変更
としました
入出力について
現状、使用している入出力
入力:ボタン
出力:画面
LCDCについて
LCDCの動作
︙︙ ︙︙LCDCが
VRAMアクセス中
CPUがVRAMアクセス可
(Hブランク)
Vブランク
144144回回(*1)(*1)
LCDCがVRAMへアクセスしている間、
CPUはVRAMの読み書き不可
※ Vブランクから
次のVブランクまでの
1周期は16.6ms
AMADOの周期動作
Vブランクに入ったら
発生する割り込み
実行ファイル実行中なら
このタイミングで
call 0xD000
される
VRAM書込キュー
アドレス
デー
タ
アドレス
デー
タ
アドレス
デー
タ
アドレス
デー
タ
VRAMへの書き込みを
遅延実行するための
キューを用意した
ただ、LCDCのアクセス中は
CPUからは読み出しも不可なので
VRAMの読み出しも要検討
(現状はVブランク期間で
ほとんど終わるため問題にならない)
まとめ
以上で説明した点が、
ゲームボーイで自作OSするなら気をつける部分
それ以外、特別異質なハードというわけでもなく
むしろ小さくシンプルな分かりやすいハードです
興味があれば、自作OSのターゲットにしてみても
良いんじゃないかと思います
宣伝
自作OS「AMADO」を、
12/30〜の「エアコミケ2」の
新刊として頒布/公開中です!
(もし興味があれば)
詳細は作者ウェブサイト↓へ
http://yuma.ohgami.jp/
ご清聴ありがとうございました!
今日のお話
1. 自作OS「AMADO」の機能と実装
  → ここで話す「OS」がどの程度のもの
   なのかのベースラインを合わせる
  → AMADOがOSとして持っている機能と
   それがどのように実装されているのかを
   簡単に紹介
2. そんなOSをゲームボーイというハード上
で表現するにはどんなことをしなければなら
ないのか
  → ゲームボーイというハードの制約につい
て
LCDCについて
LCDCの動作
…
★
★ x 144

Weitere ähnliche Inhalte

Was ist angesagt?

MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解したtorisoup
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化DeNA
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)Hiroshi Tokumaru
 
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめSugimoto Chizuru
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。(^-^) togakushi
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてSato Shun
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理DADA246
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CDYuta Matsumura
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門Fujikido
 
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0Osamu Ohkubo
 

Was ist angesagt? (20)

MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門
 
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
 

Ähnlich wie ゲームボーイ向けOSの作り方

تدريب القيادة والريادة
تدريب القيادة والريادةتدريب القيادة والريادة
تدريب القيادة والريادةLoay Qabajeh
 
'Position Paper on 2012 Constitutional Review
'Position Paper on 2012 Constitutional Review'Position Paper on 2012 Constitutional Review
'Position Paper on 2012 Constitutional ReviewCommons Professional
 
ملحق ستارت - العدد رقم 29
ملحق ستارت - العدد رقم 29ملحق ستارت - العدد رقم 29
ملحق ستارت - العدد رقم 29Mohamed Abouelsoud
 
Hr 016 物理系進路圖1
Hr 016 物理系進路圖1Hr 016 物理系進路圖1
Hr 016 物理系進路圖1handbook
 
Livre dri
Livre driLivre dri
Livre driJamaity
 
データモデリング入門2021
データモデリング入門2021データモデリング入門2021
データモデリング入門2021Koichi Inami
 
ente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutes
ente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutesente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutes
ente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutesTahsildar Meenachil. Kottayam Kerala.
 
ملحق ستارت - العدد رقم 35
ملحق ستارت - العدد رقم 35ملحق ستارت - العدد رقم 35
ملحق ستارت - العدد رقم 35Mohamed Abouelsoud
 
虛擬股票選擇權辦法說明
虛擬股票選擇權辦法說明虛擬股票選擇權辦法說明
虛擬股票選擇權辦法說明kennychiu123
 
ملحق ستارت - العدد رقم 53
ملحق ستارت - العدد رقم 53ملحق ستارت - العدد رقم 53
ملحق ستارت - العدد رقم 53Mohamed Abouelsoud
 
20. hemorrhagic septicemia
20. hemorrhagic septicemia20. hemorrhagic septicemia
20. hemorrhagic septicemiaAssadullahSamadi
 
القيادة والريادة
القيادة والريادة القيادة والريادة
القيادة والريادة Loay Qabajeh
 

Ähnlich wie ゲームボーイ向けOSの作り方 (20)

تدريب القيادة والريادة
تدريب القيادة والريادةتدريب القيادة والريادة
تدريب القيادة والريادة
 
'Position Paper on 2012 Constitutional Review
'Position Paper on 2012 Constitutional Review'Position Paper on 2012 Constitutional Review
'Position Paper on 2012 Constitutional Review
 
ملحق ستارت - العدد رقم 29
ملحق ستارت - العدد رقم 29ملحق ستارت - العدد رقم 29
ملحق ستارت - العدد رقم 29
 
21. listeriosis
21. listeriosis21. listeriosis
21. listeriosis
 
Hr 016 物理系進路圖1
Hr 016 物理系進路圖1Hr 016 物理系進路圖1
Hr 016 物理系進路圖1
 
Livre dri
Livre driLivre dri
Livre dri
 
データモデリング入門2021
データモデリング入門2021データモデリング入門2021
データモデリング入門2021
 
Phx19
Phx19Phx19
Phx19
 
Minits november
Minits  november Minits  november
Minits november
 
9. botulism
9. botulism9. botulism
9. botulism
 
Minits taaluk vikasanasamithi
Minits taaluk vikasanasamithiMinits taaluk vikasanasamithi
Minits taaluk vikasanasamithi
 
Meenachil vivarangal- Office-Minutes Zero Land less project.
Meenachil vivarangal- Office-Minutes Zero Land less project.Meenachil vivarangal- Office-Minutes Zero Land less project.
Meenachil vivarangal- Office-Minutes Zero Land less project.
 
Tvs aug minits
Tvs aug minitsTvs aug minits
Tvs aug minits
 
ente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutes
ente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutesente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutes
ente meenachil -Meenachi taluk Office-Taluk vikasana samaithi minutes
 
ملحق ستارت - العدد رقم 35
ملحق ستارت - العدد رقم 35ملحق ستارت - العدد رقم 35
ملحق ستارت - العدد رقم 35
 
Minits (november)
Minits (november)Minits (november)
Minits (november)
 
虛擬股票選擇權辦法說明
虛擬股票選擇權辦法說明虛擬股票選擇權辦法說明
虛擬股票選擇權辦法說明
 
ملحق ستارت - العدد رقم 53
ملحق ستارت - العدد رقم 53ملحق ستارت - العدد رقم 53
ملحق ستارت - العدد رقم 53
 
20. hemorrhagic septicemia
20. hemorrhagic septicemia20. hemorrhagic septicemia
20. hemorrhagic septicemia
 
القيادة والريادة
القيادة والريادة القيادة والريادة
القيادة والريادة
 

Mehr von Yuma Ohgami

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!Yuma Ohgami
 
バイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドYuma Ohgami
 
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介Yuma Ohgami
 
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?Yuma Ohgami
 
60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介Yuma Ohgami
 
来週の展示内容紹介
来週の展示内容紹介来週の展示内容紹介
来週の展示内容紹介Yuma Ohgami
 
DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介Yuma Ohgami
 
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門Yuma Ohgami
 
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門Yuma Ohgami
 
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介Yuma Ohgami
 
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介Yuma Ohgami
 
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介Yuma Ohgami
 
セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介Yuma Ohgami
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介Yuma Ohgami
 
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンYuma Ohgami
 
エミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンYuma Ohgami
 
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」Yuma Ohgami
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングYuma Ohgami
 
メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話Yuma Ohgami
 

Mehr von Yuma Ohgami (20)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!
 
バイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールド
 
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
 
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
 
60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介
 
来週の展示内容紹介
来週の展示内容紹介来週の展示内容紹介
来週の展示内容紹介
 
DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介
 
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
 
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
 
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
 
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
 
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介
 
セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
 
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターン
 
エミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターン
 
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
 
メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話
 

ゲームボーイ向けOSの作り方