とりあえずやってみる
make CC=emcc CXX=emcc
・これだけではうまくいかない
・なぜ?→ファイル読み込みと画面描画ができない
8
Slide 9
Slide 9 text
エミュレータの構造
9
CPU
G
U
I
V
G
A
G
L
F
W
memory
glDrawPixels
fetch,
read
set palette
read VRAM
O
S
s
t
d
li
b
flo
pp
y
B
I
O
S
write
int 0x13
read disk
load “haribote.img”
fread
Slide 10
Slide 10 text
ブラウザ上では...
10
CPU
G
U
I
V
G
A
G
L
F
W
memory
glDrawPixels
fetch,
read
set palette
read VRAM
O
S
s
t
d
li
b
flo
pp
y
B
I
O
S
write
int 0x13
read disk
load “haribote.img”
fread
Slide 11
Slide 11 text
今回やろうとしたこと
11
CPU
G
U
I
V
G
A
G
L
F
W
memory
glDrawPixels
fetch,
read
set palette
read VRAM
O
S
s
t
d
li
b
flo
pp
y
B
I
O
S
write
int 0x13
read disk
load “haribote.img”
fread
Slide 12
Slide 12 text
進捗どうですか?
できませんでした...
12
Slide 13
Slide 13 text
進捗
13
CPU
G
U
I
V
G
A
G
L
F
W
memory
glDrawPixels
fetch,
read
set palette
read VRAM
O
S
s
t
d
li
b
flo
pp
y
B
I
O
S
write
int 0x13
read disk
load “haribote.img”
fread
できた
なんもわからん
Slide 14
Slide 14 text
なぜできなかったのか?
・WebAssemblyでのpthreadがまだproposalだった
14
・glDrawPixels()が使えなかった
glDrawPixels()はOpenGL ES 2.0で削除
WebGLはOpenGL ES 2.0相当
エミュレータの構造
20
CPU
G
U
I
V
G
A
G
L
F
W
memory
glDrawPixels
fetch,
read
set palette
read VRAM
O
S
s
t
d
l
i
b
f
l
op
p
y
B
I
O
S
write
int 0x13
read disk
load “haribote.img”
fread