1220319
Jun's Homepage

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21|


無題 投稿者:alamosk 投稿日:2006/10/31(Tue) 13:26 No.1377  
こんにちは。rvtlをはじめた者です。
junさんは、rvtl関連のサイトをここ以外知っておられますか?
あと、私はrvtlで関数のグラフを書きたいのですが、
単にドットを打つだけのプログラムとか
単に線を描くだけのプログラムとか、ありませんか。
もともと入っていたサンプルでは、複雑すぎて改変できませんので…。


rvtl jun - 2006/10/31(Tue) 23:27 No.1378  

スペースがつぶれると思いますが、赤い点線を(100,100)から
水平方向に長さ100だけ引きます。

1000 z=& : 空きメモリ先頭
1010 d=z z=z+24 : 配列領域(先頭アドレスをd)を確保
1020 [=0 : アクセス範囲チェックをOFF
1030 C=$f800 : 色(16ビットの赤)
1040 Y=100 : Y座標
1050 |fbo : フレームバッファのオープン
1060 "width :" ?=g[0] /
1070 "height:" ?=g[1] /
1080 "depth :" ?=g[6] /
1090 [=0 : アクセス範囲チェックをOFF
1100 d[0]=f : 描画領域先頭アドレス
1110 d[4]=1280*4 : 転送先X方向のバイト数
1120 d[5]=g[6] : 1ピクセルのバイト数
1130 X=100,200
1140 d[1]=X : 転送先のX座標
1150 d[2]=Y : 転送先のY座標
1160 d[3]=C : 色
1170 |fbd : 点の描画
1180 @=X+2
1190 |fbc : フレームバッファのクローズ
1200 #=-1

配列dに引数を設定して、|fbd で点を描画します。
ライン描画の場合は配列l(エル)に引数を設定して|fbl で線を描きます。
Readme.txt の800行目付近から描画命令の説明があります。
rvtl関連のサイトは他にはないと思います。


rvtl jun - 2006/10/31(Tue) 23:31 No.1379  

ちょっと修正
1110 d[4]=g[0] : 転送先X方向のバイト数

コメントの間違い
1140 d[1]=X : 描画するX座標
1150 d[2]=Y : 描画するY座標


Re: 無題 alamosk - 2006/11/01(Wed) 17:58 No.1380  

ありがたや!ありがたや!


無料コンパイラ 投稿者:jun 投稿日:2006/10/09(Mon) 01:24 No.1374  
最近、Visual Studio 2005 Express Edition の VisualC++であそんでいます。
いつものように低レベルプログラミングで Win32 API を直接使ってのプログラム
を作成しています。15年前の「プログラミングWindows ver.3」が役に立っている
ので、APIの安定性は抜群ですね。Delphiでのお気楽Windowsプログラミングで
なまった頭のリハビリ中です。簡単なGUIライブラリを作っているわけですが、
20KBほどのプログラムができてしまうので生APIも面白い。

サーバの OS として Linux の安定性は抜群ですが、GUIのクライアントプログラム
の寿命の長さは Windows の方が上ですね。

無料コンパイラでマイクロソフトに釣られた?


Re: 無料コンパイラ jun - 2006/10/09(Mon) 01:26 No.1375  

ところで「無料」という単語をはねていたので、上の記事が書き込めませんでした。
で、「無料」という単語を解禁しました。


J3W Z-Buffer版 jun - 2006/10/29(Sun) 01:40 No.1376  

J3Wはペインターアルゴリズムを使っていますが、WindowsでZ-Bufferを試していました。
DirectXを使わなくても、最近のマシンではソフトウェアでのZ-Bufferも速度的に
問題なさそうです。
Visual Studio 2005 Express Edition で作成中です。


玄箱 rvtl 投稿者:BigJoe 投稿日:2006/07/21(Fri) 08:16 No.1363  
はじめまして!
「玄箱 cgi」でググッていたところ、こちらのページへたどり着いた者です。
rvtl は perl に比して軽いとの事でしたので、早速 DL させて頂きました。
アーカイブを解凍後、実行ファイルを /usr/bin にコピーして起動しようとしたところ「Segmentation fault」とエラー表示されてしまいます。
環境は玄箱HG(Debian3.1sarge2.6.17.3)です。
稼動への足掛かりをご教授頂きたくお願いいたします。
※PCのFedoraCore5上でx86版は正常動作しております。


Re: 玄箱 rvtl jun - 2006/07/22(Sat) 00:10 No.1366  

はじめまして。
rvtl-3.03ppc.tar.gz ですよね。
手元で玄箱と玄箱HGで確認してみましたが、問題ないようです。
カーネルは 2.6.17.3 でしょうか? 私はカーネルを変更していないので
そこに問題があるのかもしれません。PowerPCの 2.4 と 2.6 のカーネルに
大きな違いがあるのでしょうか。


$ gdb /usr/bin/rvtl
(gdb) run

とすると、どのように表示されますか。


Re: 玄箱 rvtl jun - 2006/07/25(Tue) 01:17 No.1367  

玄箱/HG を同じ環境にしてみました。

jun@KURO-BOX:~$ uname -a
Linux KURO-BOX 2.6.17.3-kuroboxHG #2 Sat Jul 1 10:32:37 JST 2006 ppc GNU/Linux



jun@KURO-BOX:~/rvtl-3.03ppc$ ./rvtl
Segmentation fault

再現しました。
$gdb rvtl
(gdb) run
Starting program: /home/jun/rvtl-3.03ppc/rvtl
warning: shared library handler failed to enable breakpoint

Program received signal SIGSEGV, Segmentation fault.
0x1000009c in ?? ()

調べてみます。


Re: 玄箱 rvtl jun - 2006/07/28(Fri) 00:05 No.1368  

システムコールの前後でレジスタ(r4とかr5)が保存されないような感じです。
2.6.14ぐらいからカーネルのソースを眺めてみるとPowerPC系では
結構変化している模様。これは手強い。


Re: 玄箱 rvtl jun - 2006/08/02(Wed) 00:50 No.1369  

カーネルの2.6.17.3と2.6.17.7で確認してみましたが、
sc 命令の前後で r0,r4-r12 が保存されない場合があります。
ABI的には保存する必要はないのでしょうが、カーネル 2.4.17では
保存されていました。2.6のソースでも保存されているように読める
のですが、どうも違うようです。

とにかく sc 命令の前後で r4-r12 を保存するようにrvtlを変更したら
動作しました。もう少しテストしてから公開します。


rvtl-3.03.1ppc jun - 2006/08/03(Thu) 00:31 No.1370  

rvtl-3.03.1ppc を公開しました。

jun@KURO-BOX:~$ uname -a
Linux KURO-BOX 2.6.17.7-kuroboxHG #1 Sat Jul 29 18:18:41 JST 2006 ppc GNU/Linux

jun@KURO-BOX:~$ rvtl
RVTL v.3.03.1 2006/08/02, (C)2006 Jun Mizutani
RVTL may be copied under the terms of the GNU General Public License.

<07BD>

RvtlWiki も動作しました。

ダウンロード: http://www.nk.rim.or.jp/~jun/rvtl/rvtl_ppc.html


Re: 玄箱 rvtl NH3 - 2006/08/13(Sun) 21:44 No.1371  

 玄箱ではないのですが、親から借りたMacに自分のPCを接続して、PowerPCのアセンブラで遊んでいます。将来的には玄箱を買おうかと考えてはいます(経済的にも学生にとってはそちらのほうがいいですしw
 とにかくPowerPCのアセンブラに関しては情報が少ないので(苦笑)、junさんのrvtlの"stdio.s"をいろいろといじりっており、まさに"手探り"状態です。そこでネットでオペコードを調べていたところ、Altivecについて興味を持ちました。Appleのサイトなどを見てベクトルの性質についてはおおよそ理解できました。ここで問題が発生したのですが、どうやったらベクトルのレジスタの内容をstdoutに出力できるのでしょうか?
 まだアセンブラには慣れていないので命令なども教えていただけるとありがたいです..


Altivec jun - 2006/08/15(Tue) 20:18 No.1372  

Macは持っていないので、Altivecは使ったことがありませんが、
AltiVec(TM) Technology Programming Environments Manual を読んでみると
lvx、lvxl、stvx、stvxl 命令でメモリとvectorレジスタ間の転送するようです。
出力したいvectorレジスタをメモリに転送し、そのメモリの内容をstdoutに出力
すればよいと思います。


Re: 玄箱 rvtl NH3 - 2006/08/15(Tue) 21:17 No.1373  

 ありがとうございます。
 IBMに4MB超のマニュアルがあったので、lvx命令の使いかたを調べてやってみます。


OS 投稿者:NH3 投稿日:2006/07/21(Fri) 12:02 No.1364  
 書店で「OS自作入門」なる本を見つけました。
 4000円弱と少々高いですが(汗)、アセンブラから始まっていてとても読み応えがあります。またとてもわかりやすく書かれているので、自分のような初心者でもきちんと理解できます(苦笑
 初心者向けなのでWindowsで解説されていますがUNIXでの開発もできるようになっているので、コンパイラ、インタプリタの次はOSをつくってみてはいかがでしょう(って何かの回し者みたいですが


Re: OS jun - 2006/07/21(Fri) 23:39 No.1365  

OSは作ったことがあります。
大昔の8bit機ですが。

「MONA」も「OS自作入門」も一応持っています。
が、OSをスクラッチから作る元気はないです。
ハードウェアの進歩についていけないですね。


玄箱のフタが・・・ 投稿者:テリー 投稿日:2006/07/03(Mon) 13:43 No.1362   <Home>
玄箱のフタが固くて開けられません。力を入れても難しいし、これ以上力を入れるのは結構怖いものがありまする。ブログに記事で書いたので誰かコツを知ってる方いましたらご伝授ください。よろしくです。


GAME言語 投稿者:FancyHead 投稿日:2006/05/26(Fri) 17:28 No.1357  
GAME言語とはずいぶんと懐かしいです。
私は当時Appleしか持っていなかったのでApple用にGAME言語がリリースされたときは必死になって打ち込んだものです。もちろんコンパイラも…
スターウォーズ的なゲーム(迷路の中に爆弾を仕掛けて逃げる?)をコンパイルしたら死ぬほど早く動いて感動したことを覚えています。

なんかうれしくなって、唐突に書き込んでしまいました。


Re: GAME言語 jun - 2006/05/27(Sat) 00:33 No.1358  

数年前に、インターネットで検索してもVTLもGAMEもほとんど情報が見つからないので、
それならば、ということで自分で作り始めました。
最近、Linuxの実行形式をrvtlを使って試しているうちに、rvtlコンパイラを作ってしまいました。
rvtlコンパイラもインタープリタと比べると最大70倍(計算が多い場合)ほど早くなります。


Re: GAME言語 FancyHead - 2006/05/29(Mon) 11:01 No.1359  

そう言えば、TL/1なんてのもありましたね。こちらは最初からコンパイラ言語だったように記憶していますが…
BASICにもコンパイラがありましたが、逆にRUN-C(ちょっとうろ覚え)のようにC言語のインタプリタなどは入門時の敷居の低さとデバッグの容易性を売りにしていました。インタプリタでデバッグして、実行はコンパイルしてという棲み分けでしょうね。
昔はコンパイラで展開されたコードに興味がありましたが、最近のコードはさっぱり理解不能だったりします。そう言う意味でrvtlのような手作り環境は興味深いです。


rvtl コンパイラ解説 投稿者:jun 投稿日:2006/05/18(Thu) 00:21 No.1356  
rvtl コンパイラのソースコードの解説を書いてみました。

http://www.nk.rim.or.jp/~jun/rvtlc/rvtlc01.html

150KBにもなってしまいました。


玄箱やっと買いました 投稿者:mm 投稿日:2006/05/09(Tue) 00:16 No.1348  
サーバー用途としてパーティションの構成を自分なりに考えていたのですが、
いろいろ制限があるみたいですね。

「/var」を40GBに変更しようとしたら出来ませんでした。
皆さんdefaultのパーティションで使用されているのでしょうか?


Re: 玄箱やっと買いました jun - 2006/05/09(Tue) 23:22 No.1349  

>「/var」を40GBに変更しようとしたら出来ませんでした。

どのようにできなかったのでしょうか?
「/」はインストール時に2GBになりますが、/var を別パーティションに
マウントできませんか?


Re: 玄箱やっと買いました mm - 2006/05/10(Wed) 00:53 No.1350  

/varの配下を「/var1」にコピーしておき、その後で「/var」を「/var-org」に
変更しました。
そしたら、1分と経たないうちに「/var」が新規に作成されていました。
「/var(?)」を監視しているプロセスが居るのかなと思っています。

シングルモードで玄箱を立ち上げることができれば、パーティションの変更も
自由に出きると思うのですが…。
それとも監視プロセスをkillしてみるか…。


Re: 玄箱やっと買いました jun - 2006/05/10(Wed) 22:02 No.1351  

/var は klogd や syslogd がログを書くために、なければ作られるかもしれません。
パーティションを作成して、そこに /var の内容をコピーして /var に
マウントしたらどうでしょう。マウントポイント以下にファイルがあっても
そこにマウントすると前にあったファイルは隠れて新しいパーティションの
ファイルが見えるようになります。それで問題がなければ /etc/fstabに
書いたらどうでしょうか。または /var 以下で容量を使うディレクトリ
をマウントポイントにしてもいいかもしれません。
監視プロセスというものはなく、ログを書き込むプロセスがあるだけです。


Re: 玄箱やっと買いました mm - 2006/05/11(Thu) 00:09 No.1352  

junさん、どうも有難うございます。

実は、fstabとsmb.confを弄ったらミスったみたいで
玄箱がたちあがらなくなってしまいました。
今度の休みにHDDを初期化し直しです。


Re: 玄箱やっと買いました mm - 2006/05/14(Sun) 20:35 No.1355  

/varの件は、 klogd, syslogdをkillして「/dev/hda5」を「/var」 に
mountできました。
玄箱インストールmemoを参考にしながらインストールしています。

玄箱に関するHPめぐりをしていたら、1時間に数秒狂うという記述が…。
自分の玄箱で確認したら、1日稼動しただけで4分くらい遅れてました。
皆さんNTPで補正しているのでしょうか?


rvtl コンパイラ公開 投稿者:jun 投稿日:2006/05/03(Wed) 00:39 No.1347  
自分で自分をコンパイルできるようになったので rvtl コンパイラを公開します。

http://www.nk.rim.or.jp/~jun/rvtlc/rvtlc.html

コンパイル後のコンパイラでは、78KBのソースが 0.1秒でコンパイルできました。


投稿キー 投稿者:jun 投稿日:2006/05/01(Mon) 01:20 No.1346  
1日平均700回ほどのスパム書き込みを防御していましたが、1%程度はすり抜けていました。
ちょっと疲れたので「投稿キー」を使うことにしました。
投稿時には数字を入力して頂くようお願い致します。