SlideShare a Scribd company logo
1 of 38
Download to read offline
ゲームボーイ向け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

More Related Content

What's hot

スケジュール管理・ガントチャートの作成について
スケジュール管理・ガントチャートの作成についてスケジュール管理・ガントチャートの作成について
スケジュール管理・ガントチャートの作成についてagileware_jp
 
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法LINE Corporation
 
MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するuchan_nos
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Nobuhiro Iwamatsu
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事uchan_nos
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。(^-^) togakushi
 
SMTPのSTARTTLSにおけるTLSバージョンについて
SMTPのSTARTTLSにおけるTLSバージョンについてSMTPのSTARTTLSにおけるTLSバージョンについて
SMTPのSTARTTLSにおけるTLSバージョンについてSparx Systems Japan
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかYuki Miyatake
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~miraitas
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいwata2ki
 
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介NSaitoNmiri
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールMITSUNARI Shigeo
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことgree_tech
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 

What's hot (20)

スケジュール管理・ガントチャートの作成について
スケジュール管理・ガントチャートの作成についてスケジュール管理・ガントチャートの作成について
スケジュール管理・ガントチャートの作成について
 
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
 
MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続する
 
IIJmio meeting 5 MVNOとGPSについて
IIJmio meeting 5 MVNOとGPSについてIIJmio meeting 5 MVNOとGPSについて
IIJmio meeting 5 MVNOとGPSについて
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
 
SMTPのSTARTTLSにおけるTLSバージョンについて
SMTPのSTARTTLSにおけるTLSバージョンについてSMTPのSTARTTLSにおけるTLSバージョンについて
SMTPのSTARTTLSにおけるTLSバージョンについて
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
 
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 

Similar to ゲームボーイ向け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
 

Similar to ゲームボーイ向け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
 
القيادة والريادة
القيادة والريادة القيادة والريادة
القيادة والريادة
 

More from 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
 
/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VMYuma Ohgami
 

More from Yuma Ohgami (20)

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ファイルを動かしてみた話
 
/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
 

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