メモ
- レトロのVM、オペコードは判りやすいのだが、他のVM含めてI/O周りがまだ何をしているのかよく判らない。素人考えではここら辺は素のC言語の関数を割り当ててしまえば良いのではと思うのだけれど、VMレベルでは文字列をそのまま扱える訳ではないのでそうは行かないのかもしれない。
- 上のように思ったのは、最初、素のVMにコンパイル前のしているイメージファイルを読ませようとしてしまい、要はアセンブラのソースを直接VMに読ませようとした訳で、コンパイルしなければ動くわけ無いのだった、という事に(一応早めには)気がついて、最初に学ぶ言語作成の際に、まずVM作るタイプを選んだ面白さと複雑さを感じた訳です。
- 結局自分にとって、こうしたI/O周りは
1)実際のCPUがどうしているか判っていない
2)書かれているC言語のソースが何をしているか判っていない
の問題があるので、2重に判っていないのだった。 - CPU周りのことは、もしかしたらと思って借りてきた『熱血!アセンブラ入門』を斜め読みしてみたが具体的なCPUの構造の話までは書かれていなかったので、『コンピュータシステムの理論と実装』の方を理解しないといかんのだろうと。
- C言語の方は相変わらず、必要となった時にあれやこれやを拾い読みしている。なんかあってそうな気配がする『Head First C ―頭とからだで覚えるCの基本』をじっくり読んだほうが良いかもしれない。
- 目に見える進展がなくて悔しいのでRetroForthのexampleで遊ぶ。サイトに設置したJavascript版だとマルバツゲームも動く。もう少し勉強したらSDLでJavascript版の機能を持たせるのは自分でも出来そうな気がする。(本家のSDL版もあるのだがまだ「実験」の段階)
- ChromeAppでNetive版Forthってのも見つけた。でもネイティブだからWindows専用かな?
- SDL版やJavascript版が判ると、ワンチップマイコンでIBNIZみたいな事をするという、やりたいことフェーズその1の達成までかなり近くなる。
- DSPで理想のシンセモジュールの実現!はさすがにまだ見えてこないけれど、この線上にあるのだという確信はある。音だけだすんだったらもうちょっと近道もあるんだろうけど。プロペラで動くForthだってもうあるんだしなあ。
- まあでも、PropForthでプロペラをどういじれるのかの実験は、今からやっていても無駄ではないか。