Kの開発メモ #0006
- (by K, 2013.07.30)
- ここは川合の開発の進捗などをレポートするところです。
2013.07.30 Tue
- http://herba.fragile-graciousness.net/ というサイトを見つけました。OSECPUでたくさん遊んでくれています。バグの指摘もあるので、ちょっと精査してみます。
- junkApi_inkeyのmode: おっと、確かにWikiが間違っている・・・今から直します!
- このページの著者はなんとお呼びすればいいのだろうか・・・。
- JIT-VMで動かすより最終的にはネイティブコードにプリコンパイルした方が早そうな気がしますが何故JITなのでしょうか?: これはpage0034の[Q0009]で回答しました。
- PALMEM0やPASMEM0の第三引数に間違えてRレジスタを渡すとコンパイラが落ちる: これはpage0034の[Q0010]で回答しました。
- 括弧の後の引き算がエラーになる: えー、まさかー、そんなことはないだろう・・・と思ったら本当にコンパイル失敗しました!・・・すみません、急いで直します。
- P30の扱い: これはpage0034の[Q0011]で回答しました。
- junkApi_drawLineで水平、垂直線を引くとずれる: 確認中・・・
- ブロック崩しゲームはなかなかよくできています。重力っぽい落ち方をするのが新鮮です。ちなみにソースにはまだデバッグマクロが残っていて、それを削除した上でpage0045の(2)のリリースモードで作り直すと、block.oseは1035バイトになります。うーん、これだけ凝ったゲームを作っても1KB程度なのか・・・。
- ちなみに214行目の jnukApi_exit(0); を削除すれば、1023バイトになってついに1KBを切ります!(もちろん動作は変わりません) 参考:page0046の(1)の(5)。
- 上記のdrawLineの問題について
- 試しました。確認用コードが非常によくできています。これはひどい!直さなくては。
- いや実は前からちょっとおかしいなと思う現象はあったのですが、いまいちよくわからなかったのです。確認用コードがあって助かりました。
- とりあえずosecpu.cのdxやdyの計算を素直にしたら直りました。
- 上記の「括弧の後の引き算がエラーになる」について
- osectolsの、減算の演算子を符号に解釈するルールを改良して修正しました。
2013.07.31 Wed
- herbaさんが、またいっぱい不具合を発見! (勝手に呼び方を決めてしまってすみません)
- fopenReadで読み込んだメモリからLMEMで読み込む際T_UINT8以外だとsecurity errorが発生する
- junkApi_openWinでxsizが160未満だとWindowが開かない
- これはご提案の通り、とりあえず160にする方向で検討します。
- 結局160化とかはやめて、Windowsまかせでうまくやって、openWin(1,1)もできるようになりました。
- junkApi_openWinでosecpuが開いたWindowがサイズ変更できる
- junkApi_fopenReadで開いたファイルが途中までしか読み込めない
- サイズ制限は実用上の問題がなければ、当面このままとさせてください。ただ、テキストモードでのオープンは非常にまずいですね。申し訳ありません。これは直します。
- herbaさんが不具合を見つけてくれるのはとても助かります! OSECPUがどんどんまともになっている気がします。
- ファイル周りは現状は暫定仕様なので、いろいろおんぼろですが、致命的なもの(テキストモードでしか開けないとか)は修正いたします!
2013.08.02 Fri
- 今日はPLMEMやPSMEMのテストをする予定です。
- そういえばT_VPTRでもPADDは正しく動くのだろうか?ちょっと心配になってきた・・・。
- テストしました。
- PADDはうまくできていなかったので直しました。
- PLMEMやPSMEMもバグっていたので直しました。これで、PAPLMEMやPAPSMEMも含めて、うまく動くはずです。
2013.08.05 Mon
- drawLineとdrawOvalを実装しました。
2013.08.07 Wed
2013.08.09 Fri
- 僕は今までがんばってOSECPUを作ってきた。そしてできたものはたった24KBのプログラムだった。でもこれは間違いなく僕の今までの作品の中では最高傑作だ。僕はこの24KBがほしかったんだ。たったそれだけのために、今まで何年苦労してきただろう。
- そしてこのOSECPUを見ていると、つくづく思うのは、「今までのOSASKとは一体なんだったのか」ということだ。今までのOSASKはできそこないだった。
2013.08.14 Wed
- 現在の名称は「~CPU」となっていて新しいCPUブランドに見えてしまうので、末尾がVMになるように工夫したらどうかと言われました。確かにそうです。
- じゃあOSECPU-VMに名称を変更しよう。そうしよう。
2013.08.15 Thu
- 近況:
- takeutch-kemecoさんの「OsecpuBasic」が毎日更新されてすごいことになっています。なんとベクトルや行列までサポート!
- IrisさんはOSECPU-VM上で動作するテキストエディタを作ってくれています。しかもこれが1KBを切りそうな勢いです! 第一世代OSASKのtviewc01ですらtek5圧縮を適用しても1KBを超えてしまったというのに・・・。
- lambdaliceさんの関数型言語Fulynが、ついにサンプルをコンパイルできるところまでできました!
- lambdaliceさんとIrisさんがOSECPU-VMをたくさん使ってくれているので、昨日は1日で不具合が3つも見つかりました。最近はVMのバグは見つけにくくなってきたので、短期間でこんなにたくさん見つけてもらえたのはとても助かります。
- セキュリティキャンプが終わったら、まとめて公開する予定です。
- 「JITコンパイルでもステップ実行みたいなことができないか」といわれました。むうう。まあできるような気もするけど、いつやるかな・・・。
2013.08.17 Sat
- 近況:
- Irisさんのサイズ改善技術が神がかってきていて、テキストエディタは900バイトよりも小さくなる見込みです。
- なんでそんなに小さくなってしまうのか、正直なところもはや自分でもよく分かりません。OSECPUが魔法みたいに思えることがあります。
こめんと欄
- osecpuベースで動くエディターを使って、osecpuアプリのソースを書くという行為にロマンを感じるので、俺もそのエディターを使ってみたいです。公開されるのを期待してます。 -- 名無しさん 2013-08-17 (土) 19:34:48
- ななしさんありがとうございます。きっとIrisさんはこのコメントに喜ぶと思います。IrisさんとLivaさんと僕の3人の共通の夢は、言語もシェルも.oseで書くことです。そうすれば完全にセルフ開発できちゃいます! -- K 2013-08-17 (土) 21:30:47