Mr.Border [要素を区切る要素の存在]

スクリプト言語を使うプログラマーの私的日常。
多くの事に慣れられない不器用な人間が書く駄文集。

アセンブル中②

2010-05-23 14:35:40 | Weblog
ディスクからデータをメモリに転送して、それを画面上に表示しただけで「あーもうアセンブリ分かったわー」とか思ったつもりになるのはおかしいと言う事に気が付き、やっぱりアセンブルを継続中。

…と、言うのは今考えた建前で、本当はアセンブルが楽しいのでもうちょっと続けたいと思ったから続けてた。
でも上記の理屈ももっともなので、アセンブリだけでもうちょっと色々出来るようにしてから次のステップに移行しようと思う。
だから当分は使えるメモリは1MB。。と言っても今のところ512バイトすら使いきれてないから全然余裕だが。

文字列表示が出来るようになったので、今度はダンプ表示をしたくなった。
とりあえず[7C00]から512バイト分のデータを画面上に表示したいんだけど、そのままの状態で文字列表示関数に渡すと文字化けしまくりで読めないので、ASCIIコードに変換する処理を挟む必要がある。

と、言うワケで以下のプログラムを書いた。
数値は全て16進数。

;処理するバイト数を指定
  mov cx,0200

;初期化
  push cx
  mov bx,7c00
  mov dx,0000
  mov si,dx

変換処理:
  mov ax,0000
  mov bl,dl
  mov ah,[bx]
  shr ax,1
  shr ax,1
  shr ax,1
  shr ax,1
  shr al,1
  shr al,1

  cmp ah,09
  ja 上位アルファベット
  add ah,30
  jmp 上位代入
 上位アルファベット:
  add ah,41
 上位代入:
  mov cl,ah

  cmp al,09
  ja 下位アルファベット
  add al,30
  jmp 下位代入
 下位アルファベット:
  add al,41
 下位代入:
  mov ch,al

  mov bh,80
  mob bl,dh
  mov [bx],cx
  
;ループ継続用処理 & 判定
  add dx,0201
  pop cx
  dec cx
  cmp cx,0000
  jz 終了
  jmp 変換処理

終了:


読みやすくするためにアセンブリっぽく書いてあるけど実際は全部機械語で書いた。
debug.exeをアセンブラ代わりに使ってるけど、その使い方は「『mov [bx],cx』って言う機械語はあるのかな?」と思った時に、辞書の代わりとして使ってる感じ。
全部頼りっきりだとエラーが出た時に理由が分からなくて困るだろうから。

だが、全部ハンドアセンブルなんかしてると、やっぱjmpの飛び先を間違えたり、機械語の入力間違いで変な命令になっちゃってる場合もあったりする。



上記緑字のプログラムは意図した通りの結果を生まない。
理由は不明。
機械語の入力ミスを疑って、ハンドアセンブルをやり直したり、ハンドアセンブルした物を逆アセン用ツールで逆アセンして、意図した通りのプログラムになってるか確認したり、jmpの飛び先を検証したけど、間違いは無かった。いや、正確には、あったんだけど全て修正した。


それでも尚うまくいかないので、一つ一つの機能が自分の意図した通りの動作をしてるか検証するために、debug.exeのgコマンドを使おうとした。

例えば「shr ax,1」×4は、ahレジスタに読み込んだ1バイトの情報を右側に4bitずらすつもりで書いたんだけど、今回初めて使うニーモニックなので、本当に出来てるか分からない。

と、言うわけで、debug.exeで以下のプログラムを書いて実行しレジスタの値を確認した。

2D2B:0100 mov ax,0000
2D2B:0103 mov ax,1200
2D2B:0106 shr ax,1
2D2B:0108 shr ax,1
2D2B:010A shr ax,1
2D2B:010C shr ax,1

上記プログラムを実行すると、俺の予想ではaxレジスタの内容が「0120」になってる筈。
俺は「-G 0100 010D」と入力した。
結果は───

AX=1200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=2D2B ES=2D2B SS=2D2B CS=2D2B IP=0100  NV UP EI PL NZ NA PO NC


予想と異なる結果が出た。
代入は出来てるっぽいが、シフトが出来てない。

……debu.exeに表示されている結果を上記のように書き出している時に気が付いたんだが「IP=0100」になっている。
ちょっとうろ覚えだが、確かIPは「CPUが次に処理するアドレス」だった筈…。
俺は「-G 0100 010D」と書いた。「0100」から「010D」までを実行して欲しかった。
「010D」まで実行したら、次に実行するべきアドレスは「010E」の筈だ。直前の命令がjmpとかじゃなければ。

……とか何とか、よく分からない事を考えて、debug.exeをいじくり回していたら「『-g 0100』と書いたら『0100』の命令だけが実行される。表示されるレジスタの内容は実行前の状態。」と言う事が分かった。
じゃぁ「-g」コマンドの二つ目のオプションは何なんだと思うけど、分からなかった。


とにかくdebug.exeのgコマンドの使い方も分かった。
そしてシフトもちゃんと出来てる事が分かった。

他に新出の命令は無い筈なんだけど、どこが間違っているのだろうか。。


ダンプ表示が出来るようになったら今度は関数を使えるようにしたい。
今は機能単位でプログラムを分けるって事が出来てなくて、数珠繋ぎみたいになっちゃっていて使い勝手が悪い。
pushとpopを使うなりして関数の呼び出し順序とか返り値の保存アドレスとかを決めるべきだと思う。

まぁ、その前にまずはダンプ表示がマトモに出来ないとお話にならないんだけど。

アセンブル中

2010-05-18 22:01:36 | Weblog
windowsのコマンドラインで使える「debug」コマンドを使ってみた。
アレって今まで、書いたら即実行されちゃうと思ってたんだが、gコマンドを使わない限り大丈夫っぽい。

だからdebugで「-a」でアセンブルして、「-u」で逆アセンして、それで得た情報を元にしてFDイメージのバイナリデータを書き換えて、それをVirtualPCに読み込ませて、動作を確認している。

とりあえず「Hello World」の「H」だけ表示する事が出来た。
一文字画面に表示するのに書いた文字列が「B4 0E B0 48 B7 00 B3 15 CD 10」とか……非効率じゃね?……いや、アセンブルすれば他の色んな無駄をそぎ落とせるから、部分的に無駄っぽい所があってもOKだ。
シングルスレッドにして、タスクスイッチを無しにするだけでも、Windowsとかを実行するのに比べればCPUパワーは数%増しの筈だし。

……で、一文字表示するのに成功したら、今度は文字列表示も出来るようにして、お約束の「Hello World」を表示した。
よーしこれでやっとOS開発始められるぜ!と思ったんだが、よく考えたらdebug.exeは16ビットモードしか対応してなくて32ビットモードの機械語を作れない。(作れないって言葉がどうもしっくりこないが他に言葉が思いつかない^^;)
16ビットモードならBIOS利用できるからASCII文字を画面上に表示するのも簡単だし、俺が作ろうとしてるプログラムに64kB以上のメモリなんて必要なんだろうかと疑問に思う点もあったんだが、まぁある物は使わないと勿体無いし……32ビットモードに移行する事にする。そうすればメモリは64kBからいきなり4GBに拡張される……とは言っても、自作OSを入れる予定のPCは128MB位しか搭載してなかったと思うけど。


32ビットモードに移行する関係で、どうしてもアセンブラやCと無関係では居られなくなってきた。debug.exeが使えないなら、32ビットモードの機械語は何で調べるか───選択肢は以下。
 ①32ビットモード対応のアセンブラを使う
 ②IA-32の資料を読む

とりあえず①を選択した。自分で書いたプログラムをアセンブラに食わせてエラーを吐かれると激しくイラっと来るので、以下の手順を実行した。
 ①まずはOS自作入門の付録CDに入ってる「はりぼてOS」のソースを使ってMakeさせる。
 ②エラーが出ない事を確認
 ③アセンブリ言語で書かれてる部分をちょこちょこと変更(HLTと書かれてる所を「HTL(改行)HLT(改行)HLT(改行)HLT(改行)HLT」に変更)を加える。
 ④再度Makeする。
 ⑤出来上がったFDイメージファイルをバイナリエディタで開き「F4F4F4F4F4」で検索をかけて、変更を加えた部分がディスクイメージ上のアドレスでどこになるかを特定する。
 ⑥[③]で変更を加えた部分の後ろに、32ビットモードの機械語を知りたいニーモニックとかレジスタとかを書きまくり、MakeしてFDイメージファイルをバイナリエディタで開いて32ビットモードの機械語を調べて、それを自分で作成したFDイメージの方に書き込んで、自分のFDイメージファイルをVirtualPCに読み込ませて動作確認。

……と、そこまでやった所で「結局アセンブラ使ってるし、もう機械語は使わなくていいんじゃね?」と言う事に気が付いた。

もっと言ってしまえば、IPLなんてマルチブートとかにするんでもなけりゃどれも大体同じだろう。一から自分で全部作る必要は無い気がする。
ある程度理解できてれば、後で何か不都合な事が出てきてもIPLをちょこっとイジればそれで済んじゃうような。。


なんとなく、OS自作入門の「はりぼてOS」を流用する事に抵抗を感じていたけど、まぁ、ある物は使わないと勿体無いし、どうせ自分で作っても同じようなモンになるだけなんだから……。

あ、いや、違う。なんとなく抵抗があったんじゃなくて自分なりのアレンジを加えようとしたらアセンブラに拒否されて嫌になって機械語を使うようにしたんだった。

……流用はするけど、FDイメージファイルをバイナリエディタで編集して機械語で書きまくればいいんじゃないかな。……それも結局、途中でアセンブラのお世話にはなるんだけど。
……機械語で直接書くのっていかにもプログラミングって雰囲気で楽しいんだけど、ジャンプ先を計算するのが結構大変だし、出来ればアセンブラ使いたいなぁ。。

出来るだけアセンブラを使って、ワケ分からんエラー吐かれてイラっときたらそこだけハンドアセンブルすればいいか。そうすればエラーになる原因も分かるかもしれないし。

歴史の勉強中

2010-05-15 01:51:14 | Weblog
OS自作に燃えている俺が勉強する歴史と言えば、それはもちろんPCの仕様に関する歴史なワケだが。

相変わらず自作OSは全く出来ていない。
まぁ、がっつり時間を割く事が出来ないためにどうしても作業が中途半端な状態で分断されるせい……とか言い訳を言ってみるが、出来る人ならそれでも出来る物だろう。自分の未熟さが悲しい。

今、猛烈に欲しい物は───仕様書。
PC/AT互換機の仕様書。
OSを自作するのに必要な資料。


……OS、OSと今まで言っていたが、その目的をよく考えたら俺が作ろうとしている物はOSじゃなくて単純なプログラムだった。
まぁ、それを作るためにはOSを作るのに必要な知識も一部必要なんだが。

特定の処理を行うために、無駄な物を一切含まない、完全に最適化されたプログラムを書くつもりなので、ぶっちゃけマウスは使えるようにしないかもしれない。
USBも、USBメモリは使うかもしれないけど、それはプラグ&プレイのリムーバブルメディアに対応するって事じゃなくて、安価で読み書き可能なメディアとして使うだけ。PC起動中の抜き差しは厳禁。そんな感じ。


そう考えると、ガッチリ仕様書を読んで決められた様式に忠実なプログラムを書く……なんてのは必要なくて、俺が使うつもりの装置で問題が起きなければそれで万事OKなので、テキトーにプログラム書いてそれが期待通りの結果を生んだらもうそれでOKでいいのかもしれない。

本当は、仕様書を読んでメモリマップはどうなっていて、どこからどこまで使用して良いか確認して、問題無い場所だけを使うように設計して、未来に渡って安定動作が約束される良質のプログラムを書きたい。

けど、仕様書が……どこで手に入るのかわからん。。
OS自作入門とかでは「BIOSはまずブートドライブの先頭1セクタをメモリに読み込み、そこに処理を移します」とか普通に書いてあるんだが、どうしてそれが分かったのか、どこからその情報を手に入れたのかが分からん。
本に書かれている情報はまとめられるけど、OSを自作するのに必要な全ての情報が網羅されてるワケじゃない。
USBデバイスを使うとかLANを使うとか、PCボードを使うとか、そういう事をしたいと思った時に必要な情報が……足りない。

仕様書が……欲しい!



と、思ってたら「PC AT 仕様」で検索したら見つかるかもと思い立ち、「PC/AT互換機」のwikiからOADGテクニカル・リファレンスってページに辿り着いた。
喉から手が出そうなくらい欲しいと思ってた物が普通に手に入って、嬉しいやら悲しいやら。

俺って本当に、ネットを上手に活用できてないと思う。

近況2

2010-05-07 17:45:52 | Weblog
■目的■
生きる目的について考えると鬱っぽくなるのがオチなので避けていたけど、やっぱそこもハッキリさせたいなと思い、考える事にした。

まず基本的な所から、生きると死ぬのどちらを選ぶか。
生きる方を選べばこれから先も色んな事で苦しむだろう。
死ぬ方を選んだら、苦しまずに、出来るだけ人に迷惑をかけずに死ねる方法を調べて死ねばいい。
正直あんまりミレンを感じないけど、死んだら母は悲しむだろうし爺ちゃんも悲しむだろう。兄弟やイトコはさんざんイジメてこき使ったので悲しんではくれないかもしれない。
でも爺ちゃんや母を悲しませるのは嫌だから止めとく。
それは生き続けて自分が苦しむ事より嫌だ。

生きるなら、色々必要になる。
食事をするにも、寝る場所を確保するにも、性欲を処理するにも金が要る。
金が要るので働かなければいけない。
俺は今、ラッキーな事に定職に就いている。
死ぬまでに必要な額のお金を定年前までに貯める事は出来そうに無い給料だけど、定年まで働ければとりあえず食うには困らないだろう。
ただ、俺はあまり出来が良くなくて、他の社員と見比べて明らかに、能力的に見劣りする。
このままではクビになるかもしれない。

転職して、自分に合った仕事を探すか、今明らかになっている問題を解決して自分の能力を向上させて今の職場で頑張るか。
正直言って、今の職場以上に適正のある職場は考えられないし、問題は職場じゃなくて俺の能力にあるので転職しても問題は解決しない。
だから俺自身が変わるしかない。なので、自分を変える方向で頑張る。

じゃぁ、そこから先の話。努力が実ってクビが繋がった場合。
どういう人生を送るか?
天寿を全うするまで平々凡々に生きる。高望みはしない。と、言うのが本心だけど、それは言い方を変えれば「頑張るのは面倒臭いので必要最低限の事しかやりません」と言うのと同じだ。
だからもうちょっと、誤解の無いように「危険を冒してまで大きな利益を得ようとはしないが、人並みの努力はして社会に貢献する」
その人並みの努力が出来なくて、苦しんでいるんだけどもね。

努力実らず、クビが繋がらなかった場合は……とりあえず寮には居られなくなるので実家に帰る。
実家で暮らしながらバイト探して働いて、細々と生きる。
正社員として色んな責任を負いながら判断をしたり指示を出したりって言う高度な仕事は出来ないかもしれないけど、低賃金で単純な仕事をする事はできるんじゃないだろうか。
色んな職場を転々として、社会経験を積んで、仕事のコツを見つけるコツを掴んだら、また正社員として働けないか試してみるのもいいかもしれない。

あと、実家はもう古すぎてボロボロだし、建て替えを視野に入れておかなければいけない気がする。
資金は……親父はアテにならないし、母は家に金をかけるくらいなら栄養のある食事を作るために金を使いたいとか言いそうだし、実際地震で潰れるまで潰さないとか言ってたから話に乗らないだろう。
いくら栄養のある食事を食わせても地震で家が潰れて生き埋めになったら死んじゃうんだよって言う方向で説得できないだろうか。。
とは言え、東海大震災が起きたらどこがどうなるか分からないし、母が言うように「結局死ぬ時は死ぬしかない」から地震に備えてって言う考え方では駄目かもしれない。

考えてみればこの程度の事だけど、この「ちょっと考える」事すら今までやらずに放置してたせいで今まで色々苦しみ過ぎてた気がする。



だがしかし……やっぱり余り深く考えるべきじゃなかったかもしれない。
ちょっと気力と言うか熱意が無くなってしまった。
プログラミングする気にならない。

アレは結局、平面的な画面の中から出てこられない。
それがメリットでもあり、デメリットでもあるんだけど。

様々な材料を加工してロボットとかを作ると、それは楽しいんだけど、まず材料を買うのに金がかかるし出来た物を保管する場所も必要になる。その点プログラムはどれだけ変数や関数を使おうと金はかからないし、保管場所だってHDDの中に入れておける。複製も簡単。持ち運びも楽々。廃棄する時だって金も手間もかからない。

けど、いい加減二次元は飽きた。
……なんて言うほど二次元的な使い方はしてないけど、面白みを感じない。


いや、プログラミングに飽きたんじゃないかもしれない。
俺の感情が凍りつき始めてる。


小説読んでも映画を見ても漫画読んでも音楽聴いても心が全く反応しない。

以前は、友達の家に行って漫画読んだら笑いが止まらなくて「五月蝿ぇ!」って怒鳴られてたのに、今はクスリとも笑えない。笑ったとしてもほんの少しだ。
友達が貸してくれた小説を読む時、中学や高校の頃の俺なら主人公とかにどっぷり感情移入しちゃって泣いたり怒ったり喜んだりしてたのに、今じゃ全く何も感じない。
映画を見て「昔の俺なら絶対ここで泣いてるよな…」と思いながら冷静に見続けている俺がいる。

それがいつからなのかは、何となく分かる。
笑うのが癖みたいな感じだった俺が、ある日を境に笑えなくなった。

今じゃもう、細かい所は思い出せないが、会社でいつものように俺が何かミスをやって、上司に叱られて、暫く冷たく対応されて……ほとぼりが冷めた頃に上司が俺の前で冗談を言った時、俺はそれに気がついた。
笑い方が分からない。笑えない。

こんな風に書くと上司に傷つけられたかのように読み取れるけど、上司の対応は問題無かったと思う。ただ俺がその時何か変な状態だった。

いつか治るといいけど。

近況

2010-05-07 17:41:13 | Weblog
最近ちょっと更新してなかった。
忘れてたワケじゃなくて、書き込むような事が無かったから。

こんな無価値なブログでも見に来てくれる友人や、歓迎しないけどやってくる広告業者なども居るので、不要コメントを削除するついでにちょっと更新しようと思った。


■OS自作■
最近はずっとインテルの資料とにらめっこ状態。
資料には「16進数表記で○○は△△の関数に対応しており、□□形式の引数を利用する」って感じの情報が表形式で書かれてる所がある。機械語を直接メモリに書き込んでプログラミングするためにはその情報が必要なんだが、それ以外にも必要な物があって……その表に記されている様々な単語の意味が解らないと、表が役に立たない。
ぶっちゃけ意味が解らない単語が多すぎる。
「とにかく目的を達成するために、必要になりそうな部分だけ読む」って言うやり方をしているので、読み飛ばしている部分のどこかに単語の意味が書かれているんだろうけど……。
資料に含まれている情報の量はハンパじゃない。全部を読むのは凄く大変。
でも、前進するためにはそれしか無さそう。


■借金■
二年前に金を貸したきり行方不明になっていた友人の居場所が分かった。
正直な所、どんな顔して友人に会い、なんと声をかけたらいいのか分からなくて、行くのは嫌だった。
しかし会社の上司や先輩からは「借りる方も悪いけど、貸すのも悪い。そんで、返して貰えない状況をほったらかしにするのも悪い事だと思うよ」と言われていたのを思い出し、この問題を解決する義務が自分にはあると考えて、友人が現在住んでいる場所を訪ねた。

友人とその母親が居た。俺は友人が自分で借金の話を始めてくれる事を期待したが、友人は母親の前で話をする事を避け外出した。
母親は友人が俺から金を借りている事を知らなかったらしく、俺がその事を切り出すまでは世間話をしていた。
飲み物を買いにいくと言って外出した友人が、出かけてから一時間が経過した所で俺は諦めて、訪問の理由を明かした。
おばさんはすぐにケータイで友人を呼び、手ぶらで帰ってきた友人に詰問を開始。
借金がある事を証明できるような物は何も無かったが、友人のこれまでの行いからして疑う余地は無かったらしくおばさんは俺の前で厳しく友人を責めた。
友人がその時、俺から金を借りた本当の理由を喋った。
友人と関係の無い他人が、客観的に考えればその理由は「バカな話」で、金を貸した俺に対しても「別にお前が貸す義理は無い」と言う事になるだろうと思ったが、俺は友人に同情せざるを得なかった。

俺が貸した金の額は結構大きいので、すぐにポンと用意できるようなものじゃない。
なので、おばさんはとりあえず友人が今すぐ用意できるお金を全て集めさせて、それを俺に渡し、残りの分の返済計画を立てさせた。

苦い思いをした。
今回は、おばさんが友人を責めている所を見ているだけで、話がどんどん進んでいったので、俺は友人の追い詰められた姿を見て悲しくなるだけで済んだ。
誰だって辛い思いはしたくない。させたくもない。苦しませる事無く問題を解決する方法があるならそれを使いたい。しかしそんな方法は思いつかない。頭が悪い自分に腹が立ち、友人に借金を作って陥れた金貸しに全ての苦痛を肩代わりさせたいと思った。

俺は友人の他にも金を貸している。
その相手は……おばさんのような立場の人が居ない。
その相手に対しては、俺は自分で、返済を要求しなきゃいけない。
気が重い。


■仕事■
今は連休期間中で、お休み。
あともう数日でこの連休も終わる。

俺は入社以来ずっと、駄目社員だった。
もともと、実力以上の会社に入社してしまい、俺はザコで周りは全員エリートっていう状況だった。
俺は実家での貧しい暮らしに嫌気がさして、安定した職に就きたいと思って今の会社を選んだんだが、自分の実力を考慮するべきだったと少し後悔している。

どういう風に駄目なのかと言うと、基礎的なレベルから駄目。
暗算を間違える。物を数え間違える。聞き間違いをする。言い間違いもする。刻々と変わっていくルールを覚えられない。適応できない。トラブル発生時の対応能力が無い。応用力が無い。コミュニケーションが上手にとれない。相手が必要とする情報を見分けられず、一方通行な伝達方法しか使えない場合によく情報不足で叱られる。文章をまとめる能力が無く、話が長い。
手作業の仕事をやってみても、コツを掴むのが苦手。やり方を変えて効率を上げて処理数を上げるって事が出来ない。危険を予知してトラブルを未然に防ぐってのも出来ない。目が悪いせいかミクロン単位のズレは発見できない。手を使って感触で覚える事も出来ない。
管理者として働いてみても、そもそも自分が作業を最適化するって事が出来ないんだから、他人が働いている様子を見て「こうすればもっと効率上がる」とか「あの人はコレとコレの作業をやらせた方がいい」とか分からない。時間をかければ分からない事も無いけど、それ以外にもやらなきゃいけない事はいくらでもあるんだから、そこにばかり時間を割いてもいられない。

俺はプログラムを書けるから、ただそれだけで生かされているような気がする。
それが無ければ、いい加減に解雇されるなり飛ばされるなりしてもおかしくないと思ってる。

クビになりそうで怖い。
俺の能力から考えて、転職したらどうにかなるって状況では無いと思う。
だから、俺の駄目な部分を変えなきゃいけないと思ってる。
でも具体的に何をすればいいのかが分からない。


■イトコ■
俺には今年中学二年になるイトコがいる。
まぁ他にもイトコは居るが、今ここで言うイトコとはそいつの事だけを指す。
イトコは……俺と同じような感じで、学校など行かなきゃいけない場合を除いて、基本的に外出しない。
テレビも見ない。ほとんどの時間を、ゲームに没頭して過ごす。
見かねた母親がゲーム機をイトコから取り上げると、今度はほとんどの時間を寝て過ごす。
俺は毎週土日にイトコの家に行き、飯を食わせてもらってたりしたんだが、イトコが勉強している姿はほとんど見たことが無かった。

そんなイトコに対して、俺は今まで完全にノータッチの状態だった。
ゲームの攻略方法とかを話したりする事はあったが、学校での成績はどうとか、テストの結果がどうとか、授業の内容は理解できてるかとか、友達とはどこでどんな遊びをしているかとか、気にはなっていたが聞かなかった。

だが、俺は今年の始めに、会社で上司にドン叱られて、自分の普段の生活を見直し、その時に「時間が有り余っていて、やらなきゃいけない事が明白なのに、黙って見過ごすような考え方は駄目だ」とイトコの事について考えて、口出しするようになった。
今、学校の授業ではどんな事を教わっているかとか、イトコは今まで教わった事をどれくらい覚えているかとか、勉強に意欲が沸かない理由は何なのかとか、将来の夢は無いのかとか、夢が無いなら探せばいいんじゃないかとか、探す意味が無いと思うなら今後やらなければいけない事をハッキリさせてそれに対応できるように準備する目的で勉強をするようにすればいいんじゃないかとか、色々な事を言った。
他にも、俺の話を聞いて何か考えた事は無いのかとか、話をしてから一週間経ったけど何か行動を起こしたりはしたのかとか、親に相談してみたらどうかとか。

そしてイトコは母親に相談して、春休みになったらどこかに連れていって貰う事になった。とイトコから報告された。
その報告を受けたのは今年の一月頃で、春休みまで親もイトコも何もしないつもりなのかと俺は思って、それもイトコに言った。しかしイトコは春休みまでの間の計画を立てるとか方針を報告するとかはせず、親も上記の約束をイトコと交わしただけで他には何もしなかった。
とりあえず俺は親を信用する事にして春休みまで黙っている事にした。

そして春休みがやってきた。
相変わらずイトコは家でぐうたらしているばかりで以前と何も変わらない。
親の方も、平日に体調を崩して会社を早退して寝込んだにも関わらずイトコの妹が「山に遊びに行きたい」と言えば片道二時間近くかかる山まで車を運転して遊びに行ってるような状況。

イトコ達の春休みの中で、最後の土日がやってくる前日に、俺はイトコに電話をかけた。
「おばさんとした約束、覚えてる?もう果たされた?」
返事は、覚えているけど果たされていない。いつ連れていってもらえるのかも不明、との事だった。
そこで俺は「お前の方から催促して、いつ連れて貰えるのか確認しろ。俺がそうしろと言ったからとは言うなよ」と指示を出した。
次の日、俺がイトコの家に行くと、イトコとその親、そしてイトコの妹が不在だった。
家に残ってた婆ちゃんに行き先を聞いたら、三人で県外のどこかに出かけていると言う事が分かった。
その日の夕方、出かけていた三人が帰宅した。
俺はイトコに、どこに行って何をしてきたのかを聞いた。
「山に行って遊んできた。帰ってくる途中で○○ってお店でご飯食べた。あと、なんかよく分からないお寺に行ってお坊さん見てきた」
イトコの報告はそんな感じだった。
ハッキリ言って、いつもの休日と全く変わらない内容だった。
もっと言ってしまえば「おばさんとイトコの妹が遊びに行くついでに、イトコを連れて行っただけ」だった。

俺はおばさんに対して「イトコから話聞いたけど、随分扱いが雑だよねぇ?妹に対するのとはえらい違いだけど、どういう事?」と訊ねた。
するとおばさんは「人は自分で成長する気にならなきゃ成長できない。周りがどう言った所で本人がその気じゃないなら無駄。今のあの子は何を言っても無駄になるだけ」と答えた。
本人がその気にならなきゃ変われないと言うのは俺も同意できるが、だから今はどれだけ時間があろうと何もしないと言うのは納得いかなかった。
イトコが今のままではいけないのは明らかなのに、変化する気になるようなきっかけを作ってやるとか、外に連れ出して色んな人と関わらせるとか、そういう事をしようとしないのは………ただの、子育てで手抜きをする言い訳として言ってるだけなんじゃないの?

と、言ったら「人の家庭の事情に踏み込みすぎ」と言う理由で追い出されて出入り禁止になった。
確かに踏み込みすぎとは思ってたけど、母親がイトコに対してあまりにも理不尽な怒り方をするし改善する気配が無いから変化を促そうとしたんだが……「これ以上立ち入るつもりなら、貴方が私の代わりに全てをやりなさい。仕事と家庭を両立して、子供の健康も勉強も全て面倒みきって御覧なさい」と言われたのが非常に残念だった。
母親が駄目だから、俺が変わりに親になるなんて事は言ってないのに。
仕事で疲れきって、家事は一切婆ちゃんに任せっきりなくらいヘトヘトでとても子供の面倒なんか見られないようだから、そこだけは俺が見てやろうかと思っただけなのに。
おばさんは会社で一緒に働く人の事を、家では「あの人はあーいう時にこーいう事をするんだけど、それっておかしいよね。他の人はこーいう事をするためにあんな努力をしてるんだからー」とか、そういう風に言ったりするんだから、そういう思考が出来ない人では無い筈で、理解できないわけでも無い筈だから、ちゃんと伝えれば了承してくれると思ってたのに。。

とにかくそういうワケで、俺はイトコの家に行く事が出来なくなったので実家に帰省する事が多くなるかもしれない。


■親父■
人生最大の敵と認識していた親父が、職場で何かトラブルを起こしたらしく解雇され無職になった。と母から聞いた。
本人は正社員として雇ってもらえる場所を探しているらしいが、能力と性格と年齢を考慮すれば無理な話と母は言っていた。

俺は毎度思うのだが、母はどうしてあんな男と結婚したのだろうか?

とにかく、親父は無職になった。
だから平日でも大体、家に居る。
まぁ、俺が実家に居た頃は休日でも親父は居ない事の方が多かったと思うが。

俺は負の感情が嫌いだ。まぁ、好きな人はそうそう居ないだろうが。
負の感情を生む原因になる物も嫌いだ。
そんな俺にとって、今までの親父は俺にとって、他の誰より負の感情を量産する最低最悪な極悪人だった。
そして、そんな親父を一時期は本気で殺す事も考えたりした自分の事も嫌いだった。

親父は財政面で母親を困らせていた。
パチンコが好きで、好きで、仕事が終わったら一目散にパチンコ屋に行こうとしてトラックに撥ねられて両足を複雑骨折しちゃったような馬鹿野郎だ。
辛いリハビリに耐えて、色んな医者の助けによって普通に歩く事が出来るようになったと言うのに、スケートなんかやって転んだりして骨がズレたらしく三日間くらい絶対安静が必要になり、母親は不安に押し潰されそうになりながらもパートタイマーとして働いて家計を繋いだ。その後親父は母や俺たち子供に何を言うでもなく、普通の生活に戻って働いていた。家族がどれだけ心配したか微塵もわかっちゃいない馬鹿野郎だと思った。
親父は運送会社で働いていて、トラックのドライバーだったので、寝不足などになれば命の危険に繋がるんだが、ゲームが好きで夜更かししまくっていた。母親は毎日、親父が無事に帰ってくる事を祈りながら、苦しい家計をなんとかするためにパートタイマーの仕事を続けていた。母を苦しめ続ける親父が人として最低だと思うのに時間はそうかからなかった。

そんな親父が、常に家に居る。
俺は出来れば顔を合わせたくなかったが、イトコの家の件を母達に報告する用事などがあり、帰らざるを得なかったので帰省した。

親父は確かに家に居た。
しかし、十年前の頃とは様子が違っていた。
以前は、親父は家に居る時は居間の真ん中でふんぞり返るようにして座ったまま動かず、テレビを見てバカ笑いしているだけだった。
母親が台所に立ち料理を作っている時も、洗濯物を干している時も、一日の家計の収支をまとめている時も、家に居る時の親父はテレビを見てるかゲームをしてるかのどちらかだった。
親父が事故って減給になり、苦しい家計が更に苦しくなってる時でもそれは同じだった。
それが以前の話。

今は、常に立っていて、母の指示を待ち続け、指示が出たらすぐ買出しに行ったり郵便を出しに行ったり家の電話を受けて取り次いだりしていた。
正直な所、少し見直した。
そんな事を本人に言えば調子に乗るのは目に見えているので決して言わないが。
親父は今回の件は本当に反省しているらしく、ハローワークなどに行く時以外は基本的に母と行動を共にしているらしい。
まぁ、母としてはウザったいらしいが、俺としては昔の状況よりはだいぶマシだと思っている。

そして、親父は「家族に対して何の配慮も出来ない奴」だと言う俺の認識が間違いだったかもしれないと思い始めている。
親父は、俺と同じで出来が悪い。頭が悪くて仕事が遅い。聞き間違いや言い間違いをする。そして───非常にタチの悪い人間に取り囲まれている。
精神的にかなり問題がある妹達が起こす問題で苦しめられている。
妹達が起こした問題で迷惑を被った人たちから責められている。

奴には余裕が無かったのだ。
元々キャパシティが小さめの人間に対して、次から次へと大きな問題がふりかかってきて、親父は正常な思考が出来る状態じゃ無くなっていたのかもしれない。

───だとしたら、人生最大の敵とは、親父じゃなくて、親父が相手している奴らと言う事になる。

俺は肉親を敵と認識しなくて良くなった事でかなり心の負担が減った気がする。
でも結局血縁の人間が敵なので、負担が完全に無くなりはしない。


■愛情■
俺は愛情と言うのがうまく認識できない。
どういう気持ちがそうなのか分からない。
そもそも何故こんな事を考えたのかと言うと、そろそろ彼女とか妻とか必要かなと思ったから。

今までは女の子と仲良くなる事はあっても、彼女にしたいとか結婚したいとかは思った事が無かった。
メリットが無い気がするから。
彼女とか妻とかっていうのは排他的な存在で、日本だったら普通は、一人居たら他には手を出さないのが常識。
俺は一人の人と深く仲良くなるよりは、大勢の人と広く浅く仲良くしたいタイプだ。

まぁ、友達にはなれたけど彼女にしたいと言って駄目だったら友達ですらいられなくなるのが怖いって言うのがあって言わなかった時もあるような気がしないでもないけど。。

そういうワケで俺は生まれてからずっとフリー。
これからもフリーのままでいいと思ってた。
老後は寂しいかもしれないけど、俺のヤワい体に老後の人生があるのか疑問だし。
彼女も妻も居なければ、誰とどこで親しげに話しても、二人でご飯食べに行ったり映画見に行ったり遊んだりしても良心が痛む事は無いし。

それに、俺が背負ってる色んな問題もバレ無いし。
バレてもただの友達なら相手には関係無いから友達では居られるし。

……と、今までは思ってたんだけど……会社で、上司にドン叱られて、今までの自分を振り返ると、それじゃぁ駄目な気がした。

俺は気楽な人生を送りすぎている。
まぁ、親父がらみの問題のおかげで、俺は学生の間は常に精神が張り詰めたような状態になっちゃってたけど、そんだけだ。
張り詰めた気持ちが爆発しないように色んな揉め事を避けて安全な道を探して生きていた。
苦しい状況に居るつもりで、凄く平和な環境を構築していた。

俺はイトコの人生について口出ししたり、イトコの親の教育方針について口出ししたり、友人の借金を取り立てたりしている最中、俺もこのままではいけないと思っていた。

自分を変える。今までだって環境に合わせて変えてきたつもりだったけど、今までのやり方じゃ全然成果が得られない。
自分の中で考えて、他人に影響が及ばない狭い範囲で行動を起こして、自分を変えようとしてみても、確かに変化はするけど速度が遅すぎる。
犠牲を払えばその分効率が上がるかもしれない。

俺は本気で大事にしている物は絶対に触らないようにしていた。
本当は色々やりたい事があるんだけど、それをやって大事な物が傷ついたり壊れたりしたら嫌だから、似ている何かを使って何十回も何百回もテストした上で安全が確認できたら、最大限注意を払いながら大事な物にその行為を行う、というような感じ。

でも実際には、大事な物を傷つけちゃって後悔するよりは、他の物に対して時間を消費し過ぎた事を後悔する事の方が多かった。
傷つけたり壊したりする事を恐れずに、最初から本番のつもりで大事な物に接する。似ている何かに割く時間は省略して、本当に大切な物だけに注力した方がいい。

いざ彼女が出来たらどうすればいいのだろうか?
親父に対してさんざん「義理」を求めた俺なので、まさか俺がそれを果たさないわけにはいかないと思うんだが、何をどうすればいいのだろうか?
とりあえず浮気は駄目だ。だけど浮気ってどういうのが浮気?
前に一人の女の子から「かも君は彼女が居てもこうやって他の女の子とご飯食べたりしちゃいそうだよね。浮気とは思わずに」と言われた事があった。色々シチュエーションがあると思うけど、まぁ「女の子と二人だけで外食」とか「複数の人と一緒に外食行ったけど普段から親しく話してる人と隣り合わせで座って食事」とか現象だけを見れば浮気っぽい。実際逆の立場だったら俺は嫉妬し過ぎて狂って死んじゃうかもしれない。
……まぁ、何をしたらいけないのか、注意しながら行動するのがいいと思う。普段からそういう事をしていれば、会社とかでも普通にそういう事が出来るようになるはず。

やっちゃいけない事の次は……やらなきゃいけない事だろうか。
義務が生じるような類の物では無いと思うが……強いて言えば「やっちゃいけない事をやらないように注意する事」をやらなきゃいけない、とか。

……なんだか、こういう風に考えていると、凄くおかしい気がしてくる。
彼女とか妻って言うのは、まぁ時系列で考えると複数存在するのも全然おかしくない事だけど、同時に複数存在するのはあまりよろしくない性質の物で、特別な物の筈なのに、上記の考え方でいくと、何か特別なこだわりが無い限り、相手は誰でもいいような……。
そもそも彼女を「作る」とか妻を「持つ」とかいう言い方とか考え方に違和感がある。

「好きだから何かしてあげたい」と思って、自分が出来る事と相手が望む事が一致したら上手く噛み合うんじゃないだろうか。互いにその関係が成り立てば最高、かもしれない。
何か色々すっ飛ばして結論に辿り着いたような気がするけど、それが正しい気がしてならない。とりあえず試してみたいけど、俺に出来る事ってなんだろうか。
よく「かも君見てると和む」とか「癒されるよ」とか言われるけど、俺の何がそうさせるのか分からんしな……。それにそういう癒しって、会社とか神経張り詰める環境では重宝するかもしれないけど、それ以外の所ではどうなんだろう。

二次元では萌えるドジっ娘もリアルに居たらウザいと言うし。
結局俺は付かず離れずぐらいの距離までしか近づけないんじゃないだろうか。