neiteen | カオスの坩堝 https://anqou.net/poc Chaos is not kaos. Mon, 17 Dec 2018 14:31:33 +0000 ja hourly 1 https://wordpress.org/?v=6.1.1 https://anqou.net/poc/wp-content/uploads/2018/02/9dc10fe231765649c0d3216056190a75-100x100.png neiteen | カオスの坩堝 https://anqou.net/poc 32 32 GMC-4 https://anqou.net/poc/2018/12/17/2421/ https://anqou.net/poc/2018/12/17/2421/#comments Mon, 17 Dec 2018 14:26:47 +0000 https://anqou.net/poc/?p=2421 この記事は、カオスの坩堝アドベントカレンダー2018の17日目の記事です。

 

まわりに情報系の学生が多いと、初対面での会話に初めて書いたプログラミング言語についての話題はつきものです。僕はどちらかというと組み込み系からプログラミングの入ったのもあって、初めて書いたのはいわゆる機械語です。情報学科の界隈では珍しいらしく、このことを話すと受けがいいので個人的には気に入っています。

 

機械語といってもx86とかそういうたいそうなやつではなくて、学研の大人の科学という雑誌のふろくに付いてきたGMC-4というおもちゃみたいなマイコンの命令セットです。いや、「マイコンみたいなおもちゃ」の方が正しいかもしれないです。なんせ4bit長のデータしか扱えません。当然扱えるデータメモリも50 から 5Fまでの16番地分だけです。基本スペックはこんな感じです。

入出力

out : 7個のLED, 7セグLED1つ(0 ~ Fまで表示できるやつ), スピーカー1つ

in : 0 ~ Fまでの16個のキー入力

メモリ

パソコンとかと違ってマイコンのメモリは実行中のプログラムを保持しておく専用のメモリ領域があります。

プログラム領域 : 0 ~ 4F

データ領域 : 50 ~ 5F

レジスタ : A(演算用), B, Y(アドレス指定用), Z, A’, B’, Y’, Z’

実行フラグ、プログラムカウンタ

命令セット

XレジスタをXrと書く。Mem(X)はメモリの(X + 50)番地を表す。Eから始まる命令はCAL命令といい、実行フラグが1の時のみ実行される。

命令コード ニーモニック 説明 実行フラグ
0 KA 押されているキー番号→Ar キーが押されていたら0
1 AO Ar→7セグLED 1
2 CH ArとBr、YrとZrをそれぞれ入れ替え 1
3 CY ArとYrを入れ替え 1
4 AM Ar→Mem(Yr) 1
5 MA Mem(Yr)→Ar 1
6 M+ Mem(Yr)+Ar→Ar 桁上がり時は1
7 M- Mem(Yr)-Ar→Ar 負数になった時は1
8□ TIA□ □→Ar 1
9□ AIA□ Ar+□→Ar 桁上がり時は1
A□ TIY□ □→Yr 1
B□ AIY□ Yr+□→Yr 桁上がり時は1
C□ CIA□ Arと□を比較 不一致→1
D□ CIY□ Yrと□を比較 不一致→1
F□□ JUMP□□ もし実行フラグが1なら□□番地へジャンプ 1
E0 CAL RSTO 7セグLEDを消灯 1
E1 CAL SETR Yr番目のLEDを点灯 1
E2 CAL RSTR Yr番目のLEDを消灯 1
E4 CAL CMPL Arをビット反転する 1
E5 CAL CHNG Ar, Br, Yr, Zr を A’r, B’r, Y’r, Z’r と入れ替える 1
E6 CAL SIFT Arを1ビット右シフト ビットがあふれた場合は1
E7 CAL ENDS エンド音 1
E8 CAL ERRS エラー音 1
E9 CAL SHTS ぴっ 1
EA CAL LONS ぴー 1
EB CAL SUND Arに指定した音階の音を鳴らす 1
EC CAL TIMR (Ar + 1) * 0.1 sec 処理を止める 1
ED CAL DSPR 5F番地を上位3ビット、5E番地を下位4ビットとし7つのLEDに2進表示する 1
EE CAL DEM- (Mem(Yr)-Ar + 10) % 10 →Mem(Yr), Yr-1→Yr, 実行前にMem(Yr) – Arが負であった場合は、Mem(Yr – 1)から1引いていく 1
EF CAL DEM+ (Mem(Yr)+Ar) % 10 →Mem(Yr), Yr-1→Yr, 実行前にMem(Yr) + Arが10以上だった場合は、Mem(Yr – 1)に1足していく 1

 

例えば、7つのLEDを使ってダイナミック点灯を行うプログラムは次のようになります。

 

アセンブリ :

L2:
TIA 0
L1:
TIY C
AM
CY
MA
TIY E
AM
TIY C
MA
AIA 1
TIY C
AM
CY
MA
TIY F
AM
TIY C
MA
AIA 1
CAL DSPR
CIA C
JUMP L1
JUMP L2

命令コード

80AC435AE4AC591AC435AF4AC591EDCCF02F00

 

今ならばこのような貧弱な計算機は1度触って飽きるところですが、中学1年の自分には新鮮そのもので、当時は授業そっちのけで狂ったようにプログラムを書いていました。卓球ゲームやルーレットを書いたり、入出力周りを改造して2色の4×7ディスプレイを点灯させたりと、飽きるまで遊び尽くしました。当時はフローチャートもアセンブラも知らなかったので、ノートに命令列を直接書いてプログラムを書いました。たぶんクラスメイトからは変なやつだと思われていたでしょう。

 

こんなGMC-4の何が面白かったのかと考えると、プログラムメモリが40バイトしかなかったからではないかと思います。どうやったら40バイトに収まるか?得点の記録機能は追加できるか?そうやって試行錯誤を繰り返しながらプログラムを完成させるのは、C言語のプログラミングとはまた違った楽しさがありました。それはおそらく、近年の一般的なプログラミングにはない楽しさだったと思います。

 

GMC-4はシミュレータが無料で公開されています。よかったら遊んでみてください。もしもプログラムを作ってみた人がいたら、僕にも見せてくれると嬉しいです。

]]>
https://anqou.net/poc/2018/12/17/2421/feed/ 1
8月16日◎ https://anqou.net/poc/2018/08/17/post-1842/ https://anqou.net/poc/2018/08/17/post-1842/#comments Thu, 16 Aug 2018 16:03:55 +0000 https://anqou.net/poc/?p=1842 五山の送り火に行きました。

加茂大橋についた時、すでに火は消えていました。

なるほど、五山の(見)送り火ってやつだ。ははは。

]]>
https://anqou.net/poc/2018/08/17/post-1842/feed/ 1
8月5日◎ https://anqou.net/poc/2018/08/05/post-1769/ https://anqou.net/poc/2018/08/05/post-1769/#comments Sun, 05 Aug 2018 14:12:51 +0000 https://anqou.net/poc/?p=1769 8がつ5にち はれ

 

きょうは なんの へんてつもないひ

らじおたいそうをして おきょうをよむ

ゆうがた ひこうきが にき とんでいました

あしたも きっと そう

]]>
https://anqou.net/poc/2018/08/05/post-1769/feed/ 1
衣川の桜 https://anqou.net/poc/2017/12/23/post-653/ https://anqou.net/poc/2017/12/23/post-653/#comments Fri, 22 Dec 2017 15:41:36 +0000 https://anqou.net/poc/?p=653 この投稿は「カオスの坩堝 Advent Calendar 2017」の21日目の記事です。

 

「いや、急に呼び出してすまない。」
慌ただしく席に座った彼は、私の長年の友人だ。

「ああ、久々に会えて嬉しいよ。前にあったのは2年前か。」
そう言って座席に腰掛ける。この硬い木の椅子は今も変わらないようだ。

「結局、僕らは一度として川に飛び込めなかったね。」
なるほど、どうやら彼は昔話がしたいらしい。むろん私もそのつもりだったのだが。

私たちはしばらくの間、懐古を楽しんだのだった。

=================================

私たちの出会いがいつだったか、いや、そんなことを考えるのも野暮だろう。私たちは同じ年に同じ集落に生まれた。衣川に架かる沈下橋を渡った対岸、谷の少し奥まったところにポツンとある、8世帯の小集落だ。生まれた子供は、集落のものとして一緒に育てられる。物心ついた頃から、いつも二人は一緒であった。

橋のたもとの祠に行くと彼がいる。カラッと晴れた夏の平日の昼前、川に飛び込む中学生たちを横目に見ながら、ゆっくりと橋を渡る。小学生の足では5分はかかっていたであろう。国道に出てしばらく、こじんまりした寺に着く。私たちは、ここの和尚に将棋を習っていたのだ。神木の桜の木が見守る境内で、黙々と将棋を指す。それが私の中の幼少期の思い出であり、彼のそれでもあった。

私たちの故郷は、美しかった。これは高慢でもなんでもない。透き通る水をなみなみとたたえる衣川と青々と茂る山並み、コンクリートの無機質な構造物である沈下橋のミスマッチに魅了され、観光客は後を絶たない。そしてここには、東京の街並みがどれだけ変わろうが、100年後も200年後も変わらない、そう言った昂然さがあった、と思われたのだが…

1970年代に、この原風景は失われてしまったのである。

=================================

「桜が、枯れたそうだ。」
彼はそう切り出した。
「なるほど…」
私は妙に納得した。いつも私から誘っていたのが、今回は彼から突然誘いが来た意味を。
「30年…前になるね。小学校卒業の年だった。」
「ああ。あの時はあんなにも大々的にテレビに取り上げられたのに、今では見向きもされない。」

寺を見守っていた桜の大木は、ダム建設の際に山腹へ移植された。ダム建設の事業主の提案によってなされた移植であったが、枝を切り落とされ、重機で運ばれる大木の無残な姿に、日本中で非難が巻き起こった。しかし、奇跡的にも移植は成功し、今では美談として語り継がれている。

「30年前、僕たちは桜の木以外、全てのものを失った。毎日通った小学校、国道沿いの釣具屋、境内に埋めたタイムカプセル、そして僕らの住まい。全て湖の底さ。」
「そして今、衣川の桜までも僕らは失ってしまったと。」
「そういうこと。もう痕跡はどこにもない、が。」
そういうと、彼は水を一杯含んで、さらに語り続けた。

==================================
中略
==================================

—————緊急ニュースをお伝えします。今日午前10時ごろ、X県Y市の衣川ダムにて、武装した男複数人による立てこもり事件が発生しました。犯人の要求は未だ不明。ダムの不審な放流操作が行われており、現在下流の住民を避難誘導中です。警察は、「下流の住民全てを人質に取った、極めて悪質な犯行」との見解を出しており、現在突入作戦を計画中とのことです。—————

 

この話はフィクションです

 

この記事は「カオスの坩堝 Advent Calendar 2017」の21日目の記事でした。 nèiténg が担当しました。22日目は、 私はサンタ さん担当の予定です。

]]>
https://anqou.net/poc/2017/12/23/post-653/feed/ 1
房総のやべー奴ら https://anqou.net/poc/2017/12/09/post-253/ https://anqou.net/poc/2017/12/09/post-253/#comments Sat, 09 Dec 2017 10:54:22 +0000 https://anqou.net/poc/?p=253 この投稿は「カオスの坩堝 Advent Calendar 2017」の9日目の記事です。

 

とうとう僕の番が回って来てしまいましたね。neitengです。普段はプログラミングをやっていますが、せっかくのAdventCalendarです。普段話さないようなことを書きたい。一回目は、僕の興味の一つである地理(?)について語ろうと思います。うまく魅力を伝えられるかな?


古来より大洪水は文明、ひいては世界を滅ぼすものの象徴として描かれている。

中でも旧約聖書の「ノアの箱舟」はあまりに有名だろう。神が地上に増えた人々の堕落を見て、人類の種を絶やさんとして大洪水を起こし、地上の生命を滅ぼし尽くしたと言う。まあノアは助かったんだけど。

似たような神話として、大洪水から生き残った兄妹が結婚し、地域の始祖となったと言う物語が沖縄県からインドネシア、ポリネシアにかけた各地に残されいる。これには「洪水型兄妹始祖神話」と言う身も蓋もないような名称がつけられている。明朝体で書きたい。

これ以外にも、大洪水が起こって文明が滅ぶと言った類の伝説は世界各地に残されている。もはや神話界の一大コンテンツだ。各地に残った神話を見比べてみると、「神が怒る洪水が起こって全てが滅びる正しい人間だけが生き残る」がテンプレとなっていることに気づく。

なぜなんら関係のない世界各地に、同じような内容の伝説が残されているのか。単なる偶然ではないだろう。これには諸説あるが、一説には、多くの古代文明が、河川に育まれた土地で発達しているからと考えられている。

古代人たちにとって河川は農業用水をもたらす命の源であるとともに、ひとたび氾濫すれば全てを押し流す恐るべき存在である。狭い世界に住む古代人にとって、一つの大河の氾濫はまさに「世界を呑みつくす大洪水」であっただろう。そのような人々が洪水の強烈な記憶に対し、洪水にまつわる神話を生み出して、彼らの人生にとって欠かせない部分を説明し対処しようとするのは珍しいことではない。実際、河川の氾濫や、津波の被害を受けない地域の民族は、大洪水説話を持っていないことが指摘されている。 – Wikipedia「大洪水」より

そう、彼らは、自分たちの力では到底抗えないもの、説明のつかないものである「洪水」が、神(水神)の仕業であるとすることで解決しようとしたのである。

彼らには、洪水を食い止めようにもなす術がなかった。人々は、このようにどうしようもない事象に出くわすと、その事象を司るより高次元の存在––––今回の場合は水神である––––を信じ、それを畏怖する傾向がある。河川の氾濫を鎮めるため、水神に対し生贄を捧げると言った儀式は世界各地で行われてきた。それは日本も例外ではない。洪水は、河川を司る水神が生贄を求めるためとも考えられていたので、生贄と引き換えに洪水を収めてもらおうと考えたことも頷ける。

つまり何を言いたいのかと言うと、人々は概して川を畏れるものだということである。彼らが明日生きるも死ぬも、全て川次第であったからだ。

 

 

しかしである。今まで述べてきたことを綺麗に裏切ってくれる地域が日本に存在した。

関西に棲まう我々にとって、房総という地名は聞きなれないかもしれない。安房国・上総国・下総国を合わせた地域の呼称らしいが、大雑把に言えば千葉県南部のことである。

かつてこの地域では、河川短絡工事が盛んに行われてきた。川廻しと呼ばれ、これはこの地域特有の呼称である。彼らは、トンネルや切通しを開削することで山間部を蛇行する河川を短絡し、旧河道を堤防で締め切り、干上がった川底を水田などに転用していたと言う。いかんせん資料が少ないため、広くは知られていない。

一般的に、河川の流路変更のほとんどは、水害対策のために行われてきた。しかし、房総においてはこの常識が通用しない。水田耕作する土地を捻出する、それだけのために、川の流れをやりたい放題にしていた。その数、無数。房総丘陵の地形図を眺めていると面白いほど見つかる。大規模なものは村主導で、小規模なものは集落単位で、それも45人で施工されていたと言うから驚きである。房総地方では、川廻しはごくごく普通の新田開発だったのかもしれない。むやみに川の流れを変えて、氾濫の危険はなかったのだろうか。彼らに、川に対する畏敬の念が少しでもあったのだろうか。

国土地理院地図・千葉県君津市笹付近を参考に作図

緑色が旧河川跡、赤色が新しく掘削された水路を表す。現在は亀山ダムの湖面が迫るため分かりにくいが、本流、支流にそれぞれ1つずつ短絡が存在したことがわかる。

いくら川が蛇行しているからといって、河川の短絡で作り出せる耕作地はたかが知れている。それでもなお、彼らは時に100m以上の長さのトンネルを手掘りで掘削して、川跡を水田に変えた。なぜそこまでして水田を作ろうとしたのか。それには、房総地方特有の地形が関係している。

房総の河川は深い谷を作っていて、川は人々の足元のはるか下を流れている。そのような地形条件のため、房総丘陵で水田耕作をすることは困難であった。水田には安定した灌漑設備(農業用水を供給する設備)が不可欠である。水は高いところから低いところにしか流れないので、深い谷の下を流れる川の水を引くことはできない。

そこで、房総の人々は発想を変えた。川の水を引くことができないのであれば、川それ自体を水田にしてしまえば良いのだ。賢い。こうして、川への冒涜とも言える河川短絡工事は江戸時代に始まり、明治時代の末まで続いた。

なぜ人力でこれほどの工事を行うことができたかというと、房総丘陵は柔らかい砂岩でできているからだ。

面白いほどよく掘れたので、何か不都合があればすぐトンネルを掘る習慣ができていたのだろう。房総には川廻しのトンネル以外にも、素掘り(手掘り)の道路トンネルや用水路トンネルが無数に存在することが知られていて、トンネルマニアの聖地となっているらしい。

この用水路トンネルもなかなか面白くて、200mを超える水路トンネルを村人たちが人力で掘ったというのだから凄い。房総地方の伝承を調べていると、しばしば用水路トンネルの開削のエピソードが見られる。彼らは日常的、とまではいかないにしても、当たり前のことのように山に穴を開けまくっていたのだろうか。

房総丘陵に暮らす人々は、明暮、川を見下ろして生活していた。もしかしたら、彼らにとって、谷深く流れる川はまさに下界だったのかもしれない。彼らは川の流れを司る高次元の存在として、川の流れを変えてきたのかもしれない。彼らにその自覚があったかは定かではないが、少なくとも、僕はそう思わざるを得なかったのである。彼らは、確かに水神であった。

現在、川廻しによって作られた水田では耕作放棄が進んでいる。その多くが山奥にあるため、放棄地の拡大は避けられないのだ。また、宅地造成などによって、川廻しの地形が失われつつある。

このまま風習は忘れ去られてしまうのだろうか。奇抜なアイディアで次々と水田を開いていった彼らの痕跡は失われてしまうのだろうか。その運命に抗うための一つの助力として、この記事を書いた、ということを付け加えて、筆を置かせていただこう。

 

この記事は「カオスの坩堝 Advent Calendar 2017」の9日目の記事でした。neitengが担当しました。10日目は ほんわか さん担当の予定です。

]]>
https://anqou.net/poc/2017/12/09/post-253/feed/ 1