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

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

2009-01-01から1年間の記事一覧

真夜中の研究室

12:00過ぎて3人帰って4人残った。途中まで眠かったが、今は眠くない。今は研究室のマシンにNetbeansをインストールしようとしているが出来なくて困っている。自作OSでも進めようか迷い中。でもNetbean入れないと研究が進まなくて困る。まぁ、別の環境でもい…

友達とモンハン3

友達とモンハン3のオンラインプレイをやった。"孤島のキノコ集め"、"孤島の海中探索"、"牙剥く群れの長を狩れ!"をクリアした。キーボードじゃなかったのでチャットが大変だった。あと、何をすればいいのかわからず、しばらくその場で立ちっぱなしだったり……

softlab hackathon 最終日

今日、softlab hackathonの最終日で、結果発表を行った。OSのファイルの起動とマルチタスクを両方やると止まるという問題が残ったままの発表だったが、システムコールを増やすことが目標だったため、問題にならずに済んだ。そして、それとは別にsoftlab expl…

softlab hackathon 2日目

さてsoftlab hackathonも2日目に入ったところで、OSの開発を進めなければ!といいたい所だけどピンチ!ファイルの実行とマルチタスクを動かすと止まるという問題が。どちらか片方だけならうごくんだけど、両方は駄目。hackathonの目標がシステムコールを増…

久しぶりのGWT

今日久しぶりにGWTを使った。触れてない間にだいぶバージョンが進んだようだ。それで、内容をほとんど忘れていてRPC関係で苦戦。コンポーネントの方は使い方がわかり易いので、すぐに思い出す。どうやら1.5からデフォルトのCSSが用意されているらしい。テー…

softlab hackathon

今日からsoftlab hackathonが始まる。結果を残せるかが心配

結果に差が…

githubにアップしたos.imgとソースコードをmakeしてできたos.imgに差があるな。os.imgはエラーなく動くのに、ソースコードからmakeするとエラーが起きる。アップしたものに差があったか。そもそもgithubにアップしたソースはMakefileが間違っているのでその…

お好み焼きとFDDとモンハンと

昨日、友達と一緒に秋葉原でお好み焼きを食べた。それで、そのついでにFDDを買った。そして友達と一緒にモンハンやる約束をした。プレイ時間にかなり差があるけど…

第一回カーネル/VM探検隊の動画

8月10日に第一回カーネル/VM探検隊というのがあったそうで、いろいろやっていたらしい。で、その様子がyoutubeにアップされている。http://www.youtube.com/user/uramirik#play/uploadsその中でも一番人気(?)のPlan9の動画「今日からはじめるPlan 9 from Be…

環境によって実行結果が違う

今、環境によって実行結果が違うという問題に遭遇している。それは2つのPCに入ってるQEMUでまず起こっている。QEMU 0.9.1だと期待通りの動作だが、QEMU 0.10.5だと除算エラーが発生する。IRETDが関わってる所まではわかってるのだが、IRETDで除算エラーが起…

couldn't open ROM image file '/usr/share/bochs/VGABIOS-lgpl-latest'

研究室から借りたPCでbochs起動したらcouldn't open ROM image file '/usr/share/bochs/VGABIOS-lgpl-latest'と言われた。検索してみたらln -s /usr/share/vgabios/vgabios.bin /usr/share/bochs/VGABIOS-lgpl-latestするといいようなことが書いてあったが、…

hiraganafuck

大学院の後輩がひらがなの列をbrainfuckのプログラムに変換するプログラムを作ったらしい。それもただ普通に文字同士を対応させたわけじゃなく、遷移確率を使って動的に対応する文字が変わっていくとか それでHello Worldのソースがこれ あるところにおいて…

更新

githubに載っけてある自作OSのソースを更新した。USBメモリに入れていたファイルが壊れていたために研究室での作業が進まなかったため、これからこまめに更新していこうかと思う。それで、今回の更新は前回のやつにソフトウェア割り込みを追加した。これから…

TwitterのWhitelistに追加されたので

public_timelineから日本語のエントリ取り出して、Senを使って解析して、どの単語がよくでてくるかカウントしてみようかと思う。まぁ、すでに存在しているものを作ってるんだけど。何かいい考えがでてくればいいなぁ。Twitterで最も人気のあるプログラミング…

ソフトウェア割り込み成功

ちょっと前までエラーがあったのに何故だかRETFによるアプリケーションへの切り替えが成功し、セグメントレジスタにも期待した通りの値が入った。しかし、VRAMへのアクセス位置がずれるという問題が残ってた。DSレジスタの指してるディスクリプタのベース分…

謎の値

今、RETFを使って、CS、EIP、SS、ESPを同時に切り替えようとしている。それで、試しに下のコードを実行してみるとbochsがCSがおかしいと言い出す。それで、そのCSの値を見てみると0x38。しかし、0x38なんて値は入れていない。下のコードのEBXには0x3bがECXに…

何か新しい言語(?)作成中 その3

コメントを除いて、最小限のコードでHello Worldを書くと、世界一長い気もするんだがどうなんだろう?世界一長いHello World…得することなんかないだろう。まぁ、それはおいておいて、インスタンステーブルというインスタンスのリストを追加。この言語にある…

RatingPanelを使ってみる

評価を星の数などで表すときに使うRatingPanelというのを使ってみた。wicket-extensionsが必要 星(別の画像でもOK)をクリックするとonRatedが呼び出されるけど、これを無視してボタンで星を増やすようにして参加者数や多数決などを星の数で表すことができる…

SSレジスタの値が変わっていなかった

実行形式ファイルに移動するためにRETFでレジスタの値を書き換えていたが、SSレジスタが書き換わってないことに気づく。特権レベルを下げてないので当然だった。それで、特権レベルを下げて見たところ、qemuでエラーが発生して落ちた。セグメントディスクリ…

原因がわかった気がする

どうやら、データセグメントのベースのぶんだけ、VRAMへのアクセスする位置がずれていたようだ。ベースを偶数にすると、どんどん文字列がずれていくのがわかる。奇数にすると背景色が変わる。しかし、どう対処すればいいのかわからないな。

一般保護例外

実行形式ファイルのエントリポイントへのfar callをやめてretfによるレジスタの値の切り替えを行ったら、qemuのアボートがなくなり、変わりに一般保護例外が発生するようになった。それで下のブログエントリの char* data = new char[segsize]; を char* dat…

DS、ESに値を代入すると落ちる

DS、ESに値を代入すると落ちる。GDTの設定は以下の通り。setGDTの引数はインデックス、ベース、リミット、アクセス権の順になっている。 g_GDTManager->setGDT(7, (uint32_t)data, segsize - 1, 0x4092); dataは char* data = new char[segsize]; としていて…

何か新しい言語(?)作成中 その2

前回のやつに命令追加。まだループは実装していない。追加した命令は以下の通り o スタックからオブジェクトを1つ削除する v スタックの中身を表示する x Integer.MAX_VALUEを定義する(文字列がすでにある場合は除去される)ただでさえHello Worldも読ませる…

何か新しい言語(?)作成中

アルファベット一文字に何か命令を持たせれば小文字だけでも26通りの命令が作れる!と考え新しい言語(?)を作るにいたった。とりあえずHello Worldのソースコード。java上で動作する auiiiiiiiaiiiiaiiiiiiiiiiiaiiiiiiiiiiiaiiiiiiiiiiiiiiauddddddddddddddd…

Stackとリフレクションを使って変なことをしてみる

Stackにクラス名とメソッド名やフィールド名を突っ込んでそれを実行するプログラムを作った。メソッドを呼び出す場合は引数、引数の数、メソッド名、クラス名、staticでなければオブジェクト。フィールドの場合はフィールド名、クラス名、staticでなければオ…

別にJavaである必要ないんじゃね?

前回の日本語でJavaを書くとかなんとかの続き。確かJava日本語化プロジェクトは英語がわからなくてもJavaを書ける(プログラミングの敷居が下がる)のが利点だったと思うが、Javaに慣れてる人に取ってみれば、いちいち日本語を英語に訳すという作業が入ってし…

日本語でJavaを書くとかなんとか

前にどこかでJavaを全部日本語で書くとかいうのがあったのを思い出して、探してみたが見つからない。でも、何かその続きの研究みたいなのを見つけた。前はpublicが「公の」と訳されていたが、新しいやつでは「公開」になっていた。privateはいいとしてprotec…

ELFを実行できた…しかし…

ELFを実行できた。文字列もしっかり表示できるようになった。しかし、callで呼び出したものである。本当ならfar call使わなければいけないはず。しかし、far callを使ったら実行はできるが文字列が表示されなくなった。まぁ、セグメントディスクリプタのベー…

Senを使う準備

Javaの形態素解析ライブラリであるSenを使う準備をした。まずはSenのダウンロードページに行き、最新版をダウンロード。そして、unzipしてできたディレクトリに入りantした。そしてsen.jarとcommons-logging.jarを取り出し(junitも入ってるけど使わないのか…

ELFを実行はできたが…

ELFを実行できたが、文字列を読み込めていない。文字列テーブルに入ってることはわかったけど、どうすればいいのかわからない。スタックに積めば…などと思っていたがS准教授に聞いたところ違うと言われて、説明を受ける。…が、どうすればいいのかわからない…