2009-06-01から1ヶ月間の記事一覧
なんとか頑張ってスコアを82.71まで上げて現在60位となっている。ここからスコアを上げるのが大変になるんだろう。スコアは85までは上げたいところ。あと、システムテストで順位を落としがちなので、システムテストに強いプログラムを作らなければいけないな
Marathon Match 54に参加してるけど、今回は酷いことになりそうだ。パズル問題だけど、全然点数伸ばせる気がしない。とりあえず、blueに踏みとどまれるように頑張りたい。あと、気づけば最後の参加から1年も経ってるんだな。怠けないように、これから参加を…
第127回 Ruby vs Java ダックタイピングとインタフェースで見る多態性を読んで、なんとなくリフレクションを使ってみたくなったので、リフレクションを使ったJavaのコードを書いた。C++のtemplateを使った人がいたので、俺はリフレクションを使うんだー!と…
ファイルの内容を表示させようとしたら、TextVRAMの境界(?)を越えてしまったことが原因らしい。ファイルの内容を表示させないようにしたらうまくいった
ファイル読み込み時にエラーが発生。sizeが512以下になったときに、エラーがでるっぽい。1回の読み込みで512バイト読み込み、1250バイトのファイルを2回まで読み込んだら、1024バイト分読み込んでくれたが、残りの226バイトを読み込もうとするとエラーになる…
ディスクの書き込みが思ったより大変そう。1ブロックごとに書き込んでいくので、ある場所に30バイトだけ書き込みたくても、1ブロック書き込んでしまい、ブロック内の他の部分を消してしまう。それを防ぐために1度1ブロック読み込んでおいて、メモリ上で変更…
大学院の研究でJavaを使っていて、リフレクションを使いたいなと思ったので、リフレクションを使った簡単なプログラムを作ってみることにした。リフレクションでコンストラクタを呼び出すクラスはPassedFilterとNotPassedFilterというinterfaceのFilterを実…
ファイルを読み込めたはいいが、実行が出来ない。とりあえず、cppなソースをコンパイルしてelfに変換して、これを解析することにした。objdumpを使えば必要な情報は揃うが、自分でやらなければいけない。それで、Googleで『elf ヘッダ』で検索したらELF/実行…
Rubyではてなメッセージ一覧を取得するスクリプトを書いてみた。フォーム情報の取得、送信にはMechanizeを使ってる。 require 'rubygems' require 'mechanize' username = 'hoge' password = 'password' class HatenaMessage def initialize() @agent = WWW:…
ファイルの先頭512バイトを読み込むことに成功した。後はファイル全体を読み込むのみ
ルートディレクトリにあるファイルの名前とサイズを取得できるようになった。ファイル情報は0x2600から始まるので、19セクタ目から読み込んで、ファイル情報を取得。最初に見つけたファイルはシステムファイルみたいで、何故だか名前にNULL文字が含まれてい…
最適化かける前は駄目だったのに元に戻したらうまくいっている。何でだ?まぁ、とりあえず実機でも動いてくれたので良かった。
gccのオプションに-O2を付けたらtickのところもエラーがでなくなった。変わったこと言えばファイルサイズが小さくなったこと。メモリに読み込んだ位置も64KBより手前で終わってるので、それが良かったのかな?しかし、必要な処理まで最適化で消えてしまって…
TimerManagerのtickが問題だったらしい。呼び出してる部分1行をコメントアウトしたら正常に動いてくれた。しかし、tickの何が問題なんだ?unityTimeを表示させてみるとめちゃくちゃな値が入っている。何でだろう? TimerManager::TimerManager(){ unityTime…
どうやら、カーネルをメモリに読み込んだ位置が64KBをまたいだのが問題だった可能性が。試しに64KBをまたがないようにサイズを小さくしてみたら、文字列がうまく表示できた。しかしエラーは、まだ続く。qemuでもbochsでも途中で止まってしまう。何でだ?と思…
文字列が正しく表示できたと思っていたが、何故だか4文字しか表示できない。イメージファイルをバイナリエディタで開いてみると、しっかり4文字以上の文字列が書き込まれているのに。相変わらず、1文字ずつ代入していく方法だと全部表示できる。なんでだ…
文字列が意味不明な文字列になってしまう問題はリンカのオプションを変え忘れたから起こった問題だった。無事文字列が表示されるようになった。しかし、新たなエラーが発生write_virtual_checks(): write beyond limit, r/w何だ?これは
今まではfirstboot.bin、secondboot.bin、third.binをcatでくっつけただけだった。ただ、こうするとファイルシステムが構築できなさそうなので os.img : ${FIRST} ${SECOND} ${THIRD} Makefile cat ${FIRST} ${SECOND} ${THIRD} > $@としてたところを os.img…