Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

キャンパス作戦

 

 

キャンパス作ります

 

麻布と、MDFを買ってきた

f:id:hope_is_dream:20190127220941j:image
f:id:hope_is_dream:20190127220952j:image

あと、タッカー

f:id:hope_is_dream:20190127220923j:image

 

水を濡らして生地を伸ばして、タッカーで止めた。意外と良さげ。

 

f:id:hope_is_dream:20190127221305j:image
f:id:hope_is_dream:20190127221301j:image
f:id:hope_is_dream:20190127221257j:image

◆キャンバス 910x600mm

・MDF 350円

・麻布 450円

 

だいぶ安くで作れた。

キャンバスだと約10,000円もして買えなかった。。

 

f:id:hope_is_dream:20190127220957j:image

下塗りを始めた。

黒にするか、白にするか悩む。

とりあえず白を塗って。

黒を塗って。

 

何を描こうか

線を引きたいけど何色で塗ろうか

 

黒線で塗ると

黒背景部分ではのらないし

 

と、やってると。

終わらなくなってきた。脳汗。

 

キャンバスは面積が限られる。

制限の中で、なにを残すか。

一方を立てると、他方が傾く。

 

でも、描きたいという衝動は止まらない。

 

描く という行為と

その、結果 の描かれた絵

 

は異なる。

 

まるでプログラミング!笑

 

プログラミングで一番大事にしているのは、作るもののコンセプトをまず決めること。

描き始める前に、紙とペンで時間をかけて設計する。テスト駆動開発や、README駆動開発の思想である。

ダラダラとコードから書いては終わらない。とりあえず書き始めると、手段が目的となりコードを書いてしまう。それはコーティングが好きだから。楽しいから。手段が目的なのである。コードが書けるからコーダーになったのだ。それ、を、作りたいからじゃない。だから、作るものは初めに決める。作る目的と目標を定める。それを指針に作る。

 

そう、絵を描きたいのだ!

あらためていうなら、筆や絵の具を使って色を乗せたいのだ!

でも、それだけじゃ足りない。

 

コーティングがしたい!

+

役に立つものを作りたい!

 

逆でした。

抽象度が高い順に書くと。

 

役に立つもの作りたい!

自動化したい!

コーティングしたい!

 

つまり、プログラミングを使って、冗長な仕事を自動化し、役に立つものを作りたいのである。

 

では、

プログラミングと同じように考えると。

絵を描きたい。の上位概念を考えないと。。

 

f:id:hope_is_dream:20190127222228j:image

以上

 

 

 

 

 

自作OS| (2日目) アセンブラ学習とMakefile入門

a# OSをつくる

ずっと前からOSを作りたくて作りたくて やっと参考書を購入して手を動かし始めました

参考書はモチロン

30日でできる!OS自作入門

30日でできる! OS自作入門

30日でできる! OS自作入門

OS屋になるための一路 - Hope is a Dream. Dream is a Hope.

(2日目) アセンブラ学習とMakefile入門

概要

アセンブラからブートイメージを作るまでをMakefileで管理する.

詳細

これまでは、アセンブラから機械語へ翻訳し、フロッピーのイメージ作成を、参考書の著者作成の「nask.exe」で実行していた.

しかし、実際のブートセクタは512バイトだけ。あとはずっと0x00で埋まっているだけだった。

そこで、ブートセクタだけのソースコードを書き、「edimg.exe」を使って、その他の部分は自動で作ってもらう。

上記の作業をコマンドラインからいろいろやるのは大変なのでMakefileを作る.

Makefileの使い方で、ファイルの生成に関して勉強になったので以下に書いておく。

make.bat

..\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

Makefile

# デフォルト動作

default :
    ../z_tools/make.exe img

# ファイル生成規則

ipl.bin : ipl.nas Makefile
    ../z_tools/nask.exe ipl.nas ipl.bin ipl.lst

helloos.img : ipl.bin Makefile
    ../z_tools/edimg.exe   imgin:../z_tools/fdimg0at.tek \
        wbinimg src:ipl.bin len:512 from:0 to:0   imgout:helloos.img

# コマンド

asm :
    ../z_tools/make.exe -r ipl.bin

img :
    ../z_tools/make.exe -r helloos.img

run :
    ../z_tools/make.exe img
    copy helloos.img ..\z_tools\qemu\fdimage0.bin
    ../z_tools/make.exe -C ../z_tools/qemu

install :
    ../z_tools/make.exe img
    ../z_tools/imgtol.com w a: helloos.img

clean :
    -del ipl.bin
    -del ipl.lst

src_only :
    ../z_tools/make.exe clean
    -del helloos.img

自作OS | (1日目) PCの仕組みからアセンブラまで 後半

OSをつくる

ずっと前からOSを作りたくて作りたくて やっと参考書を購入して手を動かし始めました

参考書はモチロン

30日でできる!OS自作入門

30日でできる! OS自作入門

30日でできる! OS自作入門

自作OS | (1日目) PCの仕組みからアセンブラまで 後半

概要

アセンブラを写経して、Hello Worldを表示する

詳細

前回 は、バイナリエディタを使って、直接バイト列を書いた.

フロッピーディスクに書き込むことを考えているので1,474,560Byte(1440 x 1024 バイト)。 1Byteが0xFFのような8bitデータなので。 数字が2949120文字ならぶ。。

フロッピーディスク = 1440 x 1024 バイト = 1,474,560 = 1440KiB

しかもほとんどが0という.

f:id:hope_is_dream:20190106073605p:plain

そうすると、あるていど決まった文字列は省略して書きたくなります。 また、文字(例えば、"HELLO WORLD")が入る場所等は、バイト列よりも文字で書いたほうが分かりやすい。 ということで、利用するのがアセンブラです。 参考書では著者作成の「tools/nask - hrb-wiki」というソフトウェアを使います

f:id:hope_is_dream:20190106073847p:plain

そうすると、 DB, DW, RESBという命令を使って入力することができる!?

DB : バイト列を入力
DW : 2バイト列を入力
RESB : 0x00で埋める

あら、すごい便利

f:id:hope_is_dream:20190106073909p:plain

これでアセンブラがかけた?

まとめ

アセンブラを写経して、Hello Worldを表示できた

無事1日目が終わった。

書籍を読むだけでは、分かっているんだけど腹落ちしてなかったが、 全く同じ内容を写経しただけで腹落ちした。写経すごい。

アセンブラだったが、恐れがなくなった。

以上