マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

2009-06-01から1ヶ月間の記事一覧

Marathon Match 54 現在60位

なんとか頑張ってスコアを82.71まで上げて現在60位となっている。ここからスコアを上げるのが大変になるんだろう。スコアは85までは上げたいところ。あと、システムテストで順位を落としがちなので、システムテストに強いプログラムを作らなければいけないな

Marathon Match 54

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文字が含まれてい…

最適化かけなくてもうまくいった

最適化かける前は駄目だったのに元に戻したらうまくいっている。何でだ?まぁ、とりあえず実機でも動いてくれたので良かった。

-O2付けたらうまくいった

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…