Puppyいじりの記録

自己紹介とか、なんでもいいです。
にぎやかに世間話のできる場所

モデレータ: 暇人, YoN, nyu

アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Hello, Puppy

投稿記事 by fukagorou »

Puppyのインストールも一段落ついたところで、次にやりたいことを書いてみようと思う。
次は、「cc」コマンドを使えるようにしたい。
そして、次のプログラムを実行してみたい。
また、時間のある時に挑戦しようと思う。

#include <stdio.h>

int main(void)
{
printf("Hello, Puppy");
return 0;
}
fukagorou
HP=> http://fuka.moo.jp
486HA
記事: 1142
登録日時: 11/03/06(日) 14:31

Re: Hello, Puppy

投稿記事 by 486HA »

プログラミングを行うには Frugal インストールしたパピーで行うことをお奨めします。
Puppy Linux には、BaCon(BaCon - BASIC→C 言語コンバータ)がインストールされています。
 例えば Slacko 5.7の場合、メニューには表示されていませんが、
コンソールで「bacon --help」または「bacongui」を実行してみてください。
前者は、コンソール上のツールですが、後者の BACON GUI 2.1.9の方が使いやすいかもしれません。
日本語の解説は次のURLを参考にしてください。
http://sourceforge.jp/projects/bacon/
CORE-i7-6700HQ uEFI ram:8GB
Full: Quirky Beaver64-8.7.1(64)
save2dir: Artfulpup-17.11,Dpup-7.5,Xenialpup 7.0.8.1(32)
Slimjet 21.0.8.0(32/64)
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: Hello, Puppy

投稿記事 by fukagorou »

486HA さんが書きました:コンソールで「bacon --help」または「bacongui」を実行してみてください。
今、コンソールでbaconとbaconguiを実行しました。
上手く起動できました。
これから、少しづついじってみたいと思います。
fukagorou
HP=> http://fuka.moo.jp
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: Puppyいじりの記録

投稿記事 by ふうせん Fu-sen. »

C 言語も使えるようにはなっていますが、Puppy では直接的にあまり使わないですねぇ〜 :roll:
カーネルのビルドする時とかでしょうか?

cc は今だと実体は gcc ですね。g++ を代用する事もあるかもしれません。
開発環境である devx を有効にしておく必要があります。

自分も忘れかけているので、試しに……こんな感じですね。
gcc でどうやって実行ファイル生成するかも忘れていました…… :x
gcc20140929.jpg
添付ファイルを見るにはパーミッションが必要です
ふうせん Fu-sen. ( old: 2 8 6 )
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: Puppyいじりの記録

投稿記事 by fukagorou »

ふうせん Fu-sen. さんが書きました:C 言語も使えるようにはなっていますが、Puppy では直接的にあまり使わないですねぇ〜 :roll:
カーネルのビルドする時とかでしょうか?
Puppyでは、カーネルをビルドする時は、C言語の知識が必要なんでしょうね。
やったことが無いので良くは分かりませんが。

僕もgccを実行してみました。
まずは、Puppy_Linux_571JPに、開発環境をインストールしてから、gccを実行してみました。
上手く行きました。
その画像をアップしてみます。
添付ファイルを見るにはパーミッションが必要です
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

bacongui

投稿記事 by fukagorou »

baconguiで、Hello,Puppyを動作させることに成功しました。
BASICでは、一行だけのプログラムになるのですね。
実行したプログラム。

PRINT "Hello,Puppy"

実行した画像を投稿してみますね!
添付ファイルを見るにはパーミッションが必要です
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: bacongui

投稿記事 by fukagorou »

bacon用のサンプルプログラムをコンバート・実行してみました。
うまく行きました。
その画面を投稿してみますね!
添付ファイルを見るにはパーミッションが必要です
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

毎日Puppyを起動

投稿記事 by fukagorou »

このところ、毎日、Puppyを起動しています。
フェイスブック・mixi・ツイッター・楽天ブログを見るのに使用しています。
あと、メールもPuppyで読んでいます。
ネットとメールは、ほとんどPuppyでやっています。
Windowsは、あんまり起動しなくなりました。
元々、パソコン自体あんまり使わなくなったのですが、Puppy導入後、また頻繁に使うようになりました。
Puppyでのプログラミングは、まとまった時間がある時にやってみたいと思っています。
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: 毎日Puppyを起動

投稿記事 by fukagorou »

fukagorou さんが書きました:元々、パソコン自体あんまり使わなくなったのですが、Puppy導入後、また頻繁に使うようになりました。
あ、日本語がおかしいです。
Puppy導入後にパソコンよく使うようになったと言いたいのです。
Puppy導入前はスマホでネットやっていました。
今でも、スマホでネットやるけど、Puppyもよく使うようになりました。
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: Puppyいじりの記録

投稿記事 by fukagorou »

う〜ん、Puppyいじりの時間が取れない。
あんまり長時間パソコンいじっていると妻に怒られてしまう。
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: Puppyいじりの記録

投稿記事 by fukagorou »

このところ、Puppyでネットとメールはしてるのだけど、プログラミングする時間が取れないでいます。
Puppyでのネットとメールの使い心地は、最高です。

数日前にUSBメモリーに入っていたPuppyをインストールしなおしました。
その時、USBメモリーのパーティションを切り直ししました。

今は、USBメモリーは、以下のようになっています。

/dev/sdb1 fat32 16.00GiB boot
/dev/sdb2 f2fs 32.00GiB Precise 5.7.1 PAE版(Frugal)・Slacko 5.7(Full)
/dev/sdb3 ext4 9.60GiB

ext4の領域をUSBメモリー上に取って見ました。
f2fsに対応してない、古いPuppyをここに入れてみるのも良いかなと思い、領域を取りました。
まだ、入れてないけれど。
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

マンデルブロ集合

投稿記事 by fukagorou »

baconで、マンデルブロ集合を表示するプログラムを作ってみました。
ソースと画面を公開してみますね。
このソースは、デバック直後のものなので、かなり汚く読みづらいと思いますが、とりあえず、公開してみます。
ソースは、そのうち、暇を見て、もっと洗練されたものに変換してみます。

マンデルブロ集合ソース
↓↓↓↓
INCLUDE "hug.bac"

INIT

'data1 IX=0:IY=0:RT=2
' IX=-0.568:IY=-0.648:RT=0.2
IX=0.0:IY=0.0:RT=2.0

DECLARE RGB$ ARRAY 201

NUM = 0.0

FOR i=0 TO 100

W1 = MOD(NUM,16)
STR1$ = HEX$(W1)
W2 = NUM - W1
W2 = W2 / 16
STR2$ = HEX$(W2)

RGB$ = "#00" & STR2$ & STR1$

NUM2=255 - NUM
W1 = MOD(NUM2,16)
STR1$ = HEX$(W1)
W2 = NUM2 - W1
W2 = W2 / 16
STR2$ = HEX$(W2)

RGB$ = RGB$ & STR2$ & STR1$


NUM = NUM + 2.55;
NEXT

NUM = 0;
FOR i=100 TO 200

W1 = MOD(NUM,16)
STR1$ = HEX$(W1)
W2 = NUM - W1
W2 = W2 / 16
STR2$ = HEX$(W2)

RGB$ = "#" & STR2$ & STR1$

NUM2=255 - NUM
W1 = MOD(NUM2,16)
STR1$ = HEX$(W1)
W2 = NUM2 - W1
W2 = W2 / 16
STR2$ = HEX$(W2)

RGB$ = RGB$ & STR2$ & STR1$ & "00"

NUM = NUM + 2.55;
NEXT

FOR i = 0 TO 200
PRINT RGB$
NEXT

win = WINDOW("フラクタル", 450, 430)
canvas = CANVAS(400, 400)
ATTACH(win, canvas, 0, 0)

SQUARE("#000000", 0, 0, 400, 400, 1)

PRINT "WIN"

X = 0.0
Y = 0.0
ZX = 0.0
ZY = 0.0
A = 0.0
B = 0.0

'main
FOR SY= -200 TO 200
FOR SX= -200 TO 200
A=IX+RT*SX/200
B=IY+RT*SY/200
X=0.0
Y=0.0
'loop start
FOR i=0 TO 200
ZX=X*X-Y*Y + A
ZY=2*X*Y + B
X=ZX
Y=ZY
IF X*X+Y*Y > 2 THEN
BREAK
ENDIF
NEXT i

IF (NOT(i = 0)) AND (NOT( i >= 200)) THEN
PRINT i
PRINT RGB$
PIXEL(RGB$,SX+200,SY+200)
ENDIF
i = 0
PRINT "SX=",SX
NEXT SX
PRINT "SY=",SY
NEXT SY
PRINT "syuryo"
DISPLAY
添付ファイルを見るにはパーミッションが必要です
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: マンデルブロ集合

投稿記事 by fukagorou »

前回の投稿で作成したマンデルブロ集合を表示するプログラムを修正して見ました。
これで、少し、見やすくなったかな。
このプログラムの実行結果の画像も投稿してみますね。

プログラムは、ここから。
↓↓↓↓↓↓↓

INCLUDE "hug.bac"

'FLOATの数値を正数化し16進数の文字列にする----------
FUNCTION FTOS$(FLOATING FNUM)

W1 = MOD(FNUM,16)
STR1$ = HEX$(W1)
W2 = FNUM - W1
W2 = W2 / 16
STR2$ = HEX$(W2)
S$ = STR2$ & STR1$

RETURN S$
ENDFUNCTION

'マンデルブロ集合を作成する----------
FUNCTION FURA(FLOATING FIX, FLOATING FIY, FLOATING FRT)

SQUARE("#000000", 0, 0, 400, 400, 1)

PRINT "start"

X = 0.0
Y = 0.0
ZX = 0.0
ZY = 0.0
A = 0.0
B = 0.0

'main
FOR SY= -200 TO 200
FOR SX= -200 TO 200
A=FIX+FRT*SX/200
B=FIY+FRT*SY/200
X=0.0
Y=0.0
'loop start
FOR i=0 TO 200
ZX=X*X-Y*Y + A
ZY=2*X*Y + B
X=ZX
Y=ZY
IF X*X+Y*Y > 2 THEN
BREAK
ENDIF
NEXT i

IF (NOT(i = 0)) AND (NOT( i >= 200)) THEN
'PRINT i
'PRINT RGB$
PIXEL(RGB$,SX+200,SY+200)
ENDIF
i = 0
'PRINT "SX=",SX
NEXT SX
'PRINT "SY=",SY
NEXT SY

PRINT "end"

RETURN 0
ENDFUNCTION


'プログラムスタート----------

INIT

'マンデルブロ集合の初期値----------
' IX=0.0:IY=0.0:RT=2.0
IX = -0.568: IY = -0.648: RT=0.1
' IX=0.0:IY=0.0:RT=2.0

'RGB$ データの作成----------
DECLARE RGB$ ARRAY 201

NUM = 0.0

FOR i=0 TO 100

RGB$ = "#00" & FTOS$(NUM)

NUM2=255 - NUM
RGB$ = RGB$ & FTOS$(NUM2)

NUM = NUM + 2.55;
NEXT

NUM = 0.0
FOR i=100 TO 200

RGB$ = "#" & FTOS$(NUM)

NUM2=255 - NUM
RGB$ = RGB$ & FTOS$(NUM2) & "00"

NUM = NUM + 2.55;
NEXT

'FOR i = 0 TO 200
' PRINT RGB$
'NEXT

'Windowの作成----------
win = WINDOW("マンデルブロ集合", 430, 430)
canvas = CANVAS(400, 400)
ATTACH(win, canvas, 0, 0)

'マンデルブロ集合の表示----------
FURA(IX, IY, RT)
DISPLAY
添付ファイルを見るにはパーミッションが必要です
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: マンデルブロ集合

投稿記事 by fukagorou »

またまた、マンデルブロ集合のプログラムをいじってみました。
今度は、ボタンを設置してみました。
7種類のサンプル画像を見ることができます。

プログラムは、
ここ

http://ikrst.net/p/f4.bac

Windowsから見るとこのプログラムのコメントが文字バケします。
Puppyからは、ちゃんと見れるはず。
実行結果の画面は、
これ
添付ファイルを見るにはパーミッションが必要です
fukagorou
HP=> http://fuka.moo.jp
アバター
fukagorou
記事: 283
登録日時: 14/02/26(水) 22:34

Re: マンデルブロ集合

投稿記事 by fukagorou »

”f4.bac”では、ボタン押下時にDISPLAYと言う命令を呼んでいたのだけど、
それを、DRAWとSYNCと言う命令に置き換えてみました。
DISPLAYをボタン押下時に呼ぶと、システム内で、多重ループになる気がするので、
変えて見ました。
そのプログラムは、
ここ

http://ikrst.net/p/f5.bac
fukagorou
HP=> http://fuka.moo.jp
返信する