Javascriptでゲームボーイエミュレーターを作ってみた

このエントリーをはてなブックマークに追加
1 アッキー(岐阜県)

http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-Interrupts
http://www.blogcdn.com/www.engadget.com/media/2010/11/emulator-game-boy-javascript-1.jpg

新種のゲームボーイエミュレーター、と聞いてももはや新しいものだとは思わないかもしれませんが、それがJavaScriptベースだとしたらどうでしょうか。
JavaScriptは完全なオブジェクト指向言語だし、HTML5で導入されたcanvasタグのおかげもあって、
エミュレーターだって開発できるのかもしれない......実際に確かめてみよう、と挑んでみたのがImran Nazarさん。
結論から言えば、テトリスがちゃんと動くまで到達しています。開発の具体的な内容についてはリンク先、
ゲームボーイで採用されたZ80プロセッサの紹介からはじまる全8パートの詳細解説をどうぞ。
動いている部分だけ見れれば十分という方は、解説のパート8部分にテトリスの動作デモがあります。
ちなみにゲームボーイの解像度は160x144。今日のディスプレイ上で見ると「こんなに小さかったっけ......」と愕然とするかもしれません。

http://japanese.engadget.com/2010/11/12/javascript-html5/
2 暴君ベビネロ(dion軍):2010/11/12(金) 18:59:36.01 ID:HdQ5NL0P0
ブラウザで出来るってことか?
3 バヤ坊(京都府):2010/11/12(金) 19:00:31.91 ID:9BnpNzyJ0
Visual Boy Advanceで十分
4 マー坊(兵庫県):2010/11/12(金) 19:01:06.00 ID:kP7wawpk0
Javaって略すな
5 エキベ?(東京都):2010/11/12(金) 19:02:02.01 ID:OtvVk/ta0
TGB Dual
6 あまっこ(北海道):2010/11/12(金) 19:02:15.15 ID:eI7wyhoh0
ゲームボーイって結局なにが名作だったの?
7 ピアッキー(三重県):2010/11/12(金) 19:03:09.29 ID:+Kn10QZPP
解説がすごいな
8 大崎一番太郎(catv?):2010/11/12(金) 19:03:21.15 ID:9jAOGl000
お前ら感動が足らんぞ
9 ミニミニマン(チベット自治区):2010/11/12(金) 19:04:17.14 ID:/KraedAw0
ゲームボーイなんて仕様がほぼ完全に判明してるからなぁ
VBでも動くのあったし
10 バヤ坊(京都府):2010/11/12(金) 19:04:32.90 ID:9BnpNzyJ0
>>6
夢島
11 チョキちゃん(群馬県):2010/11/12(金) 19:04:38.24 ID:SA7buGpf0
firefoxのアドオンでそういうのあったよね
12 パム、パル(dion軍):2010/11/12(金) 19:04:46.73 ID:BK9i8josP
>>6
sagaシリーズとか聖剣伝説シリーズとかGB発祥じゃね
13 らじっと(チベット自治区):2010/11/12(金) 19:04:50.00 ID:MJmQIxyQ0
聖剣伝説をやらねば
14 パム、パル(チベット自治区):2010/11/12(金) 19:05:22.42 ID:pFpbrC4TP
初代ポケモンってなんであんなにバグりやすいの
15 マンナちゃん(catv?):2010/11/12(金) 19:05:55.93 ID:uyCud5QH0
DQMって評価どうなの?
16 ドコモン(チベット自治区):2010/11/12(金) 19:06:37.64 ID:4+Oiiu9h0
よくわからんがブラウザ上で動くってことだろ?すげーな
17 ラビリー(大阪府):2010/11/12(金) 19:07:13.50 ID:avYCZ/Ht0
ROMはどうしたんだよ
18 暴君ベビネロ(dion軍):2010/11/12(金) 19:07:16.93 ID:UYPRUoBN0
カエルのために鐘は鳴るは名作だろ
19 パム、パル(埼玉県):2010/11/12(金) 19:08:10.23 ID:xmscf1wJP
エミュならゲームボーイウォーズの待ち時間に悩む必要はないのか
20 やまじちゃん(佐賀県):2010/11/12(金) 19:08:26.74 ID:PvjXHwhE0
カセットはどこに差すんだよwwwww
21 ピアッキー(チベット自治区):2010/11/12(金) 19:08:34.30 ID:HhHFkc/BP
爆裂ウォーリア
22 パム、パル(千葉県):2010/11/12(金) 19:10:26.68 ID:EL4Hz3izP BE:62806853-PLT(13334)
JavaAppletで出来たやつなら結構前からあったよな
23 77.ハチ君(dion軍):2010/11/12(金) 19:10:31.33 ID:4/rWmEgW0
カエルの為に鐘は鳴る
赤ずきんがエロい悪戯受けてるような描写が任天堂らしいよね
24 メーテル(福岡県):2010/11/12(金) 19:10:43.56 ID:zsvGvpQA0
>>20
お前のパソコンにはFDD付いてないのかよwww
25 ウッドくん(大阪府):2010/11/12(金) 19:11:05.04 ID:wETAYq+w0
話題が古すぎ
26 パム、パル(catv?):2010/11/12(金) 19:12:01.74 ID:cw5gGp60P
今からブックオフ行ってゲームボーイのカセット買ってくるw ww
27 天女(中部地方):2010/11/12(金) 19:12:18.29 ID:ShzHUAg10
広告でマリオブラザーズが動かせたりするけどあれ通報しろよ
28 ピアッキー(東京都):2010/11/12(金) 19:12:41.95 ID:QXiS4BMEP
Imranって名前を聞くとザカエフを連想する
29 キビチー(千葉県):2010/11/12(金) 19:13:18.02 ID:DkJ8Qlnk0
flashで作れ
30 もー子(静岡県):2010/11/12(金) 19:13:59.21 ID:8IbuFOyf0
>>6
カエルの為に鐘は鳴る
31 ミニミニマン(チベット自治区):2010/11/12(金) 19:14:46.96 ID:/KraedAw0
カエルのために鐘は鳴るのタイトル画面のBGMを完全再現したエミュは意外に少ない
32 ミニミニマン(チベット自治区):2010/11/12(金) 19:16:13.26 ID:/KraedAw0
いやSEか
33 どれどれ(広西チワン族自治区):2010/11/12(金) 19:17:26.36 ID:QUVyW/HlO
六つの金貨
34 みんくる(catv?):2010/11/12(金) 19:17:47.71 ID:4SDPiTXa0
<body id=D onKeyDown=K=event.keyCode-38><script>Z=X=[B=A=12];function Y(){for(C
=[q=c=i=4];f=i--*K;c-=!Z[h+(K+6?p+K:C[i]=p*A-(p/9|0)*145)])p=B[i];for(c?0:K+6?h
+=K:t?B=C:0;i=K=q--;f+=Z[A+p])k=X[p=h+B[q]]=1;h+=A;if(f|B)for(Z=X,X=[l=228],B=[
[-7,-20,6,h=17,-9,3,3][t=++t%7]-4,0,1,t-6?-A:2];l--;)for(l%A?l-=l%A*!Z[l]:(P+=
k++,c=l+=A);--c>A;)Z[c]=Z[c-A];for(S="";i<240;S+=X[i]|(X[i]=Z[i]|=++i%A<2|i>228
)?i%A?"■":"■<br>":"_");D.innerHTML=S+P;Z[5]||setTimeout(Y,i-P)}Y(h=K=t=P=0)
</script>
35 みらい君(長屋):2010/11/12(金) 19:19:09.08 ID:CYkJaagT0
JavaScriptって完全オブジェクト指向なの?
ちょっと触った限りでは普通にCのマイナーチェンジな関数型言語だったけど
もしかして記者はJavaとJavaScriptの違いわかってないでWikipediaから引用してるの?
36 パム、パル(群馬県):2010/11/12(金) 19:19:19.33 ID:qpLxPJEtP
>>33
六つの金貨って難易度が温すぎてやり応えがなさすぎるよね
ステージデザインのセンスもよくないし
37 77.ハチ君(dion軍):2010/11/12(金) 19:27:21.93 ID:4/rWmEgW0
6つの金貨音楽とかいいんだけどなあ
38 マルちゃん(千葉県):2010/11/12(金) 19:29:00.94 ID:otR52kab0
なにこれ□しか降ってこないんだけど
てか>>1を踏んで実際に触ってるやつ少なすぎだろ
39 アリ子(catv?):2010/11/12(金) 19:33:54.04 ID:LLRXECWI0
>>35
プロトタイプベースのオブジェクト指向言語だぞ
40 あるるくん(東京都):2010/11/12(金) 19:36:41.62 ID:k6NkT4T30
>>39
そもそもCのマイナーチェンジな関数型言語とか完全にメルカトルじゃん
41 やじさんときたさん(catv?):2010/11/12(金) 19:38:16.04 ID:aYD+4QKs0
ゲームボーイのゲームの著作権っていつ切れるの?
42 パム、パル(dion軍):2010/11/12(金) 19:40:14.96 ID:EiNH+I10P
ROMはどこに置きゃいいんだ?
もし遠隔でいいならどこでもゲームボーイやりまくりじゃね
43 ドギー(長屋):2010/11/12(金) 19:50:27.12 ID:PfC1h5mN0
そんなん作る暇あるなら、PS3のとか作れよ
44 リーモ(東京都):2010/11/12(金) 19:53:27.44 ID:HA/1dyIw0
今、1からweb勉強するなら何を学べばいいのだ?
HTML5?
45 アリ子(catv?):2010/11/12(金) 20:09:55.23 ID:LLRXECWI0
>>44
webの何がやりたいんだよ。

デザインがやりたいのか
htmlが組みたいのか
Flash作りたいのか
SNS作りたいのか
mixiアプリ作りたいのか
etc...
46 大崎一番太郎(catv?):2010/11/12(金) 20:39:13.15 ID:9jAOGl000
>>44
1からならまあそうだろうな
htmlわからないと何もできないよ
47 なるこちゃん(富山県):2010/11/12(金) 20:41:35.03 ID:BvgfgM170
48 みらい君(長屋):2010/11/12(金) 20:43:21.72 ID:CYkJaagT0
>>40
実際そうでしょ
まあ構文的にはBasicやPASCALって感じだけど
これが完全なオブジェクト指向って言われてもピンと来ない
49 でんこちゃん(東京都):2010/11/12(金) 21:08:33.47 ID:VA7FWK3o0
50 ウッドくん(関東):2010/11/12(金) 21:56:44.59 ID:3l5ImNCkO
完全オブジェクト指向ってなんだ?
Smalltalk実行環境とかlispマシンとかそういうやつ?
51 黄色のライオン(宮崎県)
>Z80
久しぶりに耳にしたw自分の手元に最後まであったのはポケコンだったけど