x86エミュレータ
タイマ割り込みも無事動いて満足!
30日本の11日目まで進みました。ウインドウも表示出来て満足!とはいってもウインドウを表示してるのはOSであってエミュレータはウインドウかどうかもわからずに描画しているだけである。
見た目的には変化ないけどいろいろ変わってます
VMに割り当てたメモリは32MB、OSでちゃんと認識しています
はりぼてOSを動かしてるけどやはり画面描画はきついなーという感じ。テキストベースなら十分な速さに見えるが…
マウスは認識されたようだが…値がオカシイな…
文字もOKといってもフォント読み込んでるのOSだし…描画してるのOSだし…C言語って感じの命令が増えてきた
きたー!
某エミュレータを作り始めて4日目、ついに画面に変化が!
それほど進んでないがもう少しで違う結果が見られそうだ
某OSというかまだブートローダだけど32bitモードに突入したっぽいぞ!ワーイヤッタートロピカルヤッホー
ブラウザでC++なんて夢がありました。未完成の状態になるけど、まぁ、このままだと消えるしかないので
ブラウザ上で動くエミュレータ用ライブラリで標準出力的な何かが消えてしまったので、復活させた
前回(いつだ?どこだ?)から全然進んでないけどエミュレータ
と思う方もいらっしゃるとおもうので、たまにはエミュレータのエントリを書きます。えぇ、x86エミュレータです。今、作ってるblink-dというハイパーバイザ的ななんとかバイザです多分。blink-dにはスーパーバイザがいないのでハイパーバイザといういい方が正…
GWTのバージョン上げたら微妙にblink-dの挙動が変わった気がするが、気のせいだ(おい
何か考えないとなー。ようやく余裕がでてきて、エミュレータ(?)にも力が入るようになった気がする。余裕大事
そのうち公開するであろうblink-dのサンプルコード。とりあえず、ラベル表示編。ウインドウとラベル作って、ウインドウにラベルを追加しているだけである #include <gui.h> int main(){ Window window; window.setText("Hello World!"); Label label; label.setText</gui.h>…
blink-dのC++側のコードです...GUIに関するgui.cppの部分だけ載せています。なぜここに__cxa_pure_virtual()があるのか?とか疑問に思わずに見ることを推奨します #include "gui.h" extern "C" int gui(int, int, int, int, int = 0, int = 0); extern "C" i…
WebGLのCanvasの下に画像を表示している図。VerticalPanelで縦に並べてHorizontalPanelで横に並べることができる
作曲だの3Dだので進んでなかったblink-dを久しぶりに進めようと思っている。浮動小数点数が使えないが、これを使えるようにするかどうか迷い中。floatを使ったソースコードをclangに与えたらSIMDを使ったバイナリが出力された。対応するなら頑張らないと...
以前から言っていたでかいプロジェクトが本格始動した?っぽい?さぁ、どうなりますかね?
1つのプログラムに絞って動画を作りました!デモは前回のと一緒ですが!
何度かスクリーンショットを上げてるように、blink-dはWebGLに対応している。そして今までライブラリが低レイヤーすぎてアレだったが ついに! ラッパーライブラリができてちょっとだけ高級になったんじゃよ
画像も表示できるようになりました!今はネット上のURL指定ですが、HTML5のFile APIでローカルもいけるようになるはず!
まずテキストボックスを作れるようにした。あと、イベントが不便な関係で、WidgetにUserDataを持てるように修正した。これは1つだけ32bitな値を渡せる形だ。これを使えば、イベントでのコールバックで2つ以上のデータを持たせられるはず。スクリーンショット…
まずC++のラムダ式に対応した。これはサーバーサイドの変更だが、コンパイラオプションを変更した。また、buttonなどのクリックイベントから無名関数へのコールバックができるようになった。ちょっと強引な感じもするが... そしてGUIの部品というかレイアウ…
TwitterでMiniVMとかblink-dとかいってるけど一体何なんだ?って話なのかもしれないので、少し説明しておく。タイトルの通り、ブラウザで動くx86エミュレータではあるのだが、実はエミュレートしてない。というかx86ですらない部分がある。それは32bitリアル…
当然のことかと思ってたら当然では無かったらしい。とりあえず、Stringをでっちあげて、日本語も対応!そういや標準出力用のライブラリが今無いのでなんとかせねば
"blink-dにC++の標準ライブラリをどこまで導入するかという悩みがあったが全く導入しないことになりそう。コンパイル後のバイナリがネットワーク流れるし、でかくなったバイナリのエミュレートで遅くなりそうだからというそんな感じの流れで"とFaceBookに書…