白 Be 2000 年 8 月
BeOS 及びパソコン関連の日記です。といっても毎日書いているわけではありませんが(^^;)。タイトルは「はくび(白眉)」と読んで下さい。BeOS が最も優れた OS になってくれたらいいなぁ、などと期待しながら……。
[ << 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >> ]
2000/08/31 C FOR 文の実装をちょこっと
FOR 文の実装は複雑だ……。ちうことで、ちょっとお休みしてたんだけど、ようやくコンパイル部ができた。
2000/08/31 B コンパイルはどうなった?
そういえば、ぷよぷよ本家、コンパイルは復活したのかな? 倒産して和議申請か何かしてたけど、その後製品を出したのだろうか。
2000/08/31 A BeOS 版ぷよぷよ
ぷよぷよがあったのでダウンロードしてみたんだけど、どうやらαバージョンのようだ。コンパイルしたらエラーが出たので、何とか直して実行してみたんだけど、デバッグ情報みたいなのしか表示されない。しくしく。
2000/08/27 すこしずつ進化中
Be88-BASICは、変数の実装が終わり(例によって整数のみだけど)、行番号も扱えるようになった。GOTO、GOSUB が使えるようになったので、次は IF、FOR などを実装しよう。
2000/08/22 B 見逃さないですぅ! 探索 / 続 ▼
タイマーソフト、目覚まし時計みたいなやつはあったんだけど、曜日を指定できるやつは見つからなかった。これではテレビ番組のお知らせには使えない。ちっ。
2000/08/22 A 道筋
Be88-BASICは、変数の扱いに頭を悩ませていたけど、ようやく道筋が見えてきた。今日中に実装できるかな? 実装できたら、次は制御構文に着手しよう。
2000/08/20 C 見逃さないですぅ! 探索 ▲
BeOS用のタイマーソフトでいいの無いかな? 時間になったらメッセージを表示してくれるやつ。BeOS使っていると、特命リサーチを見逃してしまうんだ。Windowsなら「見逃さないですぅ!」が常駐しているから大丈夫なんだけど……。先週は見逃したし、今週は野球のせいで無いし、トホホ……。
2000/08/20 B BASIC インタープリタ探索 / 続 ▼
既存のBeOS用のBASICインタープリタを探してみたけど、ちゃんと使えるのがない。DOSプロンプトみたいにカーソルがどんどん下に行ってしまうやつや、シェアウェア料金を払わないとコンパイルできないっぽいやつとかしかない。う〜む。
2000/08/20 A 原始電卓
Be88-BASICのコンパイラ部、仮想マシン部共に、整数の四則演算と簡易 PRINT 命令の実装ができた。これでようやく、超使いづらい電卓としては使えるようになったわけだ。
関数処理、文字列、行番号、複文などなど、まだまだ大変そうなのがたくさん残ってる……。
2000/08/19 自作プログラムがカーネルでバッグランドの入口
開発中のプログラム(Be88-BASICね)を動かしていたら、突然カーネルデバッグランドにご招待されてしまった。今まで一度も招待されたことがなかったのでちょっと嬉しかったんだけど、すぐに嬉しくなくなった。
segment vioration の後にご招待なので、そこの部分のプログラムを見直してみたが、特に問題はない(ように見える)。for文で配列にアクセスしている所なんだけど、添え字オーバーとかしてないし。で、ふと思ったのが、その配列がでかすぎるのでは? ということ。クラスメンバなんだけど、65536個の要素があるからね。スタックオーバー(クラスメンバってスタックに積まれるのかどうか知らないけど)かもしれないと思って new で確保することにしたら、動くようになった。
でも釈然としない。同様のことをしている別のクラスでは問題なく動いているし、落ちてしまうクラスでも、クラスのインスタンスを作る場所によっては落ちなかったりするんだよね……。
2000/08/17 B BASIC インタープリタ探索 ▲
そういえば、BeOS用のBASICインタープリタ、既にあったような(N88互換じゃないけど)。ちょっくら探してみよう。
2000/08/17 A 四則演算ができるぜ
Be88-BASICのVMで、整数の四則演算はできるようになった。ハンドアセンブル(?)で仮想マシンコード(中間コード)を作成し、VMの動作を確認。こんなにプリミティブなことやったこと無いから、わくわくしちゃう。
さあ、VMができた(おい、全然できてないって)から、今度はいよいよコンパイラを作ろう。やっぱりハンドアセンブルじゃあねぇ。構文解析の勉強勉強。Cマガ役に立ちます。
2000/08/16 さてさて、どうやって作っていきますか
Be88-BASIC(安直なネーミングだけど、とりあえずそうしておこう)のインタープリタ部分、どうやって実装すっかね。書かれたプログラムを逐次解析しながら実行するっていう本当のインタープリタにしてしまうと遅そうだよな。構文解析知らなくても力業で実装できそうではあるけど、描画が遅いだけに、インタープリタは少しでも速くしたい。JAVAのJIT(ジャストインタイム)コンパイラみたいに、プログラムを読み込んだ時点でコンパイルを済ませて中間コードを吐き、VM(仮想マシン)で中間コードを実行する方がいいだろうな、きっと。
そうなってくると、やっぱり真面目に構文解析やらなくちゃね……。でも、とりあえずは簡単そうなVMの方から作ろうっと。
2000/08/15 B 出し忘れ?
しまった、Cマガのアンケート葉書出すの忘れた。……と思ったら、この前出しておいたんだ。危ない、危ない。もちろん、良かった記事の所にはBeOS特集って書いておいたぞ。
2000/08/15 A 速度はいずれ……
遅遅インタープリタだけど、頑張って作ってみますか。いくつか高速化の方法を思いついたし、時が経てばCPUも進化するっしょ。構文解析勉強しなくちゃ。
2000/08/14 なんだかんだで作ることに
結局作る気になってしまった。N88BASIC(Disk版)インタープリタ。もちろん、BeOSで。
しかぁし、速度が大問題。とりあえず画面べた塗りでどのくらいのスピードが出るか計ってみたら、なんと、20fpsに満たないではないか。PentiumII 400MHz+RivaTNTなのに。2重に画面を合成しているのが遅い原因だろう。これじゃあ、98エミュレータ上でBASICを動かすのより遅いかも。俺、高速化の技術って持ってないからなぁ。インタープリタ付けたら10fpsを割るな……。
2000/08/13 Virtual98 で懐かしの BASIC を
Virtual98という98エミュレータを見つけた。久々に懐かしいBASICプログラムで遊ぶ。FM音源もばっちりエミュレートしているのがGood。でも、俺のゲームプログラムは、I/Oポート直読みでウェイトを取っているんだけど、Virtual98はそこまではエミュレートしてくれないので、ゲームは動かない。しくしく。
こうなったら、N88BASIC(Disk版)インタープリタを作るか?
2000/08/12 B パソコンネタ
うん、さっきの話、BeOSとは全然関係ないんだけどさ、パソコンネタを書く所ってこのコーナーしかないんだもん。
2000/08/12 A N88-BASIC を動かしたいのだけど
ふと、N88BASIC(Disk版)用のプログラムを動かしてみたくなった。ところが、N88互換BASIC for Windows95は、INP や PLAY、CHAIN MERGE などの命令が使えないので、俺のプログラムでは動かないのが多い。PC-9800エミュレータで本物のN88BASIC(Disk版)を動かすのが一番いいんだと思うけど、N88BASIC(Disk版)をサポートしているエミュレータってあるのかなぁ?
2000/08/11 R5.0.2 はどこが良くなったの?
R5.0.2のアップデータは何が変わるんだろう? 多くの修正があるようだけど、具体的にどのようになっているのか解らない。BeOS社のホームページでは全く触れられていないし。せっかく一生懸命バグ修正したんだろうから、大々的に告知すればいいのに。
2000/08/10 最近使ったファイルの数
Beメニュー内の「Configure Be Menu」で、最近使ったファイルの数を指定できるんだね。いつも be フォルダを直接いじっていたから全然気付かなかった。とりあえず、20個まで表示できるようにしておいた。
2000/08/05 衝動買い
BeOS DR8.3 なるものを見つけてしまったので、フラッと買ってしまった。食べ物以外でフラッと買うことは少ない俺だが、50円だったしね。値札の所に「ケース取りにどうぞ」って書いてあって山積みになっていた(「限定版」なのに)のが少々淋しいが、確かにケースと袋(ちょっと洒落た袋に入れてくれた)で50円くらいになってしまうような。
ロゴは現在と随分違うんだね。……さて、マックなんて持っていない俺は、マックでしか動かないDR8.3をどうすればいいのでしょう?
2000/08/04 ユーザーとメーカー
松下のノートパソコン「レッツノート」にトラックボールが復活したそうな。俺は良く知らないんだけど、トラックボールは使い勝手が良いものの、ノートパソコンの厚さが厚くなってしまうので、薄さで勝負したい松下は一時期生産を止めたんだって。でも、熱心なユーザーの要望に応えて復活の運びとなったとか。
良い製品を作り、ユーザーを大切にするメーカーと、それを支えるユーザー。良い関係ですな。BeOSもそんな風になるのかな?
2000/08/03 デバッグ情報を別ウィンドウで表示
printf デバッグのように手軽にデバッグ情報を表示できるアプリケーション(及びそのアプリケーションに情報を表示するための関数群)、「Debug Host」を限定公開しました。数値、ポインタ、BRect などの情報を手軽に表示できます。
およ、なんか落ちるね。っちうことで、早速修正しました。ダウンロード先は同じです。
2000/08/02 B メディア OS の片鱗
サウンド再生中にディスプレイが省エネモードになっても音切れしないところはさすがBeOSって感じ。Windowsだと省エネモードに入るとき変な音になっちゃうもんなぁ。
2000/08/02 A 巨大サイトの影響力
6月はBe城を訪れてくれた人が妙に多かったんだけど、どうやら2ちゃんねるのスレッド内で引用されたかららしい。集客力の高いサイトの影響って言うのは大きいねぇ。
[ << 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >> ]