旭駅本屋

SNSが普及しきった今日において、人々はなぜブログを使うのであろうか。

RSS

 

【Minecraft】高速シリアル通信回路作成法

読者諸兄の皆々様、おはこんばんちわ。

ところで皆様はMinecraft*1してますか?

イクラをしたことのある皆様もしたことのない皆様も、恐らくマイクラで電卓*2を実装する動画くらいは見たことがあると思います。見ているだけでクソ威圧感があると思いますが、あれの威圧感の大体の根源はワイヤードロジック*3で回路が実装されているところからくるものだと思うわけです。

それはそう。ワイヤードロジックで実装されたENIAC*4とかいう現代からすればラズパイ*5以下のクソザコナメクジが部屋一つを占拠していたわけです。ワイヤードロジックにはどう頑張っても限界があるのです。

プログラム内蔵方式を実装して、カウンタやフラグレジスタでデータをあれこれするほうが絶対良いに決まっている。そう考えたわけです。しかし、そうなると数Bit長の信号を連続的に流す必要が出てくる。

そこでシリアル通信*6回路が必要になってくるわけです。

まあ、実際のところの動機は遠距離で複数の命令を送るにはワイヤードロジックでは流石に厳しい*7という事情から来るわけですが*8、似たようなものなので大丈夫でしょう。

 

というわけで、早速完成したシリアル通信回路の様子を御覧いただきたいと思います。

 

 

最初に出てくる二段式のコンソール*9で、右下から順に0、1、1、1の4Bitと、右上から順に0、1、0、1の4Bit、併せて8Bit分の命令を入力しています。送信ボタンを押すとこれが1チック(リピータ1遅延分)の長さで出力され、受信回路で受け取り結果を表示します。

ね?簡単でしょ?

 

だけだとわからんので、そこそこ詳しい説明をします。

f:id:Ithikawa:20181030213630p:plain

洞窟内で制作したので非常に暗いですが、送信用回路はこんな感じです。

www.nicovideo.jp

基本的には二段式なだけでこの動画のパクリです。唯一違うのはリピータの遅延を最短の1にしていること。

余談ですが、受信回路をピストン式にすると1チックでBitを表現しようとするとどこかで詰むのでこれをそのまま遅延削減とかはしないほうが良いです。筆者はやろうとしてサクッと詰みました。結果、受信回路の改良に乗り出したわけです。

 

f:id:Ithikawa:20181030214726p:plain

相対する受信回路はこちら。信号分のリピータをタイミングよく止めることでうまいこと信号を取り出しています。

 

リセット用回路なんかがあって見づらいので、原理だけ実装した初期の回路を見てもらったほうが理解が早いと思います。

 原理としては、まず信号を入り口で分岐させて、それぞれを遅延線*10とラッチ回路*11に流します。遅延線側は、リピータで1チック分の遅延を作る以外はただただ普通にリピータで実装した遅延線に信号を送ります。ラッチ回路側は、最大遅延のリピータ2つで8チック分信号を遅らせた上でラッチ回路の2チック分の遅延を経由し、停止用のリピータを介して遅延線のリピータを停止させます。こうすることで、信号線用のリピータに8Bit分の信号が入力された時(1遅延+起動用パルス+8Bit長データ=>10チック経過後)、ラッチ回路を経由した起動用パルスが停止用のリピータに到達し、情報を保持します。

情報を保持しているだけだと読み出せないので、いい感じに回路を伸ばしたのがディスプレイ付きの改良型回路になるわけです。遅延線メモリから直接8Bit分出せるんじゃないかと思ったけどクロック回路とカウンターを付帯させないといけないのでちょっとめんどいので安直に実装しました。

とまあ、こんな感じで8Bitのシリアル通信を1チック長で送ることに成功したわけです。

通信速度にして10bps程度。ピストン式より明らかに早いとはいえ……レベルではありつつも、電卓などで応用すれば小型化で省けるリピータと相殺出来て高速化出来るんじゃないかなと思うものです。

 

というわけで、皆様も是非レッドストーン回路でシリアル通信を実践し、小型で汎用的なマイクロプログラムをマイクラで実装しましょう!!

その時筆者にこっそり教えて頂けると喜んで見に行くのでよろしくオナシャス!

*1:Mojang ABが開発したゲーム。面白い

*2:卓上電子計算機。ここでは、本来の電卓というよりは基本的な四則演算可能な計算機の意味で用いている

*3:物理的な結線で回路を実装する方式。大昔の電話交換機がイメージしやすいと思う

*4:最初期の汎用電子計算機の一つ

*5:ラズペリーパイ。安いマイクロコンピュータ?パーソナルコンピュータ?シングルボードコンピュータ

*6:データを1Bitづつ逐次的に送信するもの。対義語はパラレル通信

*7:命令の数だけバスが必要になり、保守管理がめんどい、敷設がめんどい、見た目リアルスパゲティと化すなど、様々な厳しさがある

*8:ロッコをCTC制御したいというのが動機

*9:制御卓のこと

*10:遅延線メモリ。遅延線の一種である水銀遅延線は最初期のコンピュータメモリとして著名。それ以外では、初期の卓上電子計算機などは結果の保持に遅延線を用いたものも多い。データはシーケンシャルRWしか出来ないが、シーケンシャルでかつそこそこ大きいデータを保持するには便利だった

*11:1Bitの情報を保持できる回路。ここではRSラッチを指す。これは2つのNORゲートで実装される

年齢の話

年を食っても良いことはないのです。

年を食っても給与は上がらない、増えてもせいぜい有給が一日。酒が解禁されるわけでもタバコが解禁されるわけでもなく、20歳までの人生チュートリアルをすぎるとそこから先にあるのはただただ虚無の人生クリア後モードなのであります。つらくきびしい。

続きを読む

理想の人生

誰しも理想の人生というのはあると思う。これはかつては家を持ち妻子を持ち妻を専業主婦にして車を持つというものだったのであろうが、そういうことが難しくなった現代においてそのような理想の枠組みは無いと言って差し支えないだろう。

では何が理想の人生たりうるのか。

そこで、ここでは筆者の理想の人生について述べていきたい。

 

続きを読む

オタクの村

昔々あるところに、オタクの共同体がありました。

一つの思想でつながり、一体感を持ち、社会からの疎外感を持っていたオタクたちはすぐに意気投合しました。

オタクたちは既往の社会を変えようとしました。しかし、市民は冷淡でした。体制は既往の社会を維持しようとオタクを弾圧し始め、市民はそれを見て見ぬ振りをしていました。

オタクたちは既往の社会の誤りを指摘し、熱心に市民を説得しようとしました。しかし、一部の人民は体制をけしかけ、オタクらを迫害し始めました。

やがてオタクと社会は分断されていきました。特に、一部の過激なオタクは各地で闘争を繰り広げ、市民と軋轢を生んでいきました。

一方で、オタクの考えに共感する人々もいました。しかし、体制はその人々の土地にも弾圧を加えはじめました。

オタクは各地から集まりその土地を守ろうとしました。オタクの村とも言えるような土地を守るべく必死でした。土地収用委員会を襲撃してまでも土地を守ろうとしたのです。

しかし、結局体制には抗えませんでした。

市民も冷淡でした。自由や体制の抑圧よりも、経済的利益の方が重要とオタクを非難するものまで居ました。

やがて、年月が経ち、オタクたちも高齢化していきました。経済的利益に屈し、土地は次々と手放されていきました。

ある地主に聞きました「息子さんにもこの闘争を続けてほしいですか?」

地主は言いました「息子は自由に暮らしてほしい。これは自分の代までだ」と。

ゴートシミュレーターはなぜつまらなくないのか

ゴートシミュレーターはクソゲーです。

 

これだけは間違いなく大声で言えます。

 

ゴートシミュレーターはクソゲーです。

 

ただし、プレイしたことがあるならわかると思いますが、クソゲーと言えどつまらないわけではないのです。それは何故か。つまらない部分で遊べるからです。

続きを読む

ゾーニング

ラノベの表紙は扇情的なので規制しましょう。

 

という問いかけから始まった謎の第n回意識他界系オタクマナー会議もいよいよ表現規制にYESの革新派とNOのオタクとの論戦も大詰めを迎え、未だ日本海溝よりも深いであろう溝は埋まらず、両者平行線を突き進み消失点へと向かおうとしているのであります。

そして思うのです。

ゾーニングとは何かと。

続きを読む

行動力

ADHDの一番の強み、それは行動力でしょう。

裏を返せば多動。それが良いのか悪いのかは人次第。本当に人次第です。多動で悩んでるパーソンもおりますが、自分は性格が雑なので多動で何か悩んでいるということはそこまで無いです。はい。

最近行動力がすごいとか言われることが多いです。

良いのか悪いのかはさておき、あんまり出来ないからこそ羨望の眼差しを向けられるのでしょう。人は存外行動力がないものです。まあ自分もステ振りがおかしいだけで本質的な行動力自体はあんま無いんですがね。

 

というわけで、今回はそんな行動力をどうやって培えば良いのか、という話です。

続きを読む

Acer AH101をセッティングしてみた

時代はVR

 

というわけで、今回は最も手頃なHMD+トラッキングバイスの欲張りセットであるところのAcerのAH101のセッティングについての話になります。なんでこんな記事を書くのかって?

そら、情強系なメディアや開発者さんがたばかりが使っていて、市井のHTC ViveやOculusを買えず指を咥えて見ているしかない末端ゲーマの備忘録的なのが無いからですよ。

VR元年ってなんだったんや!VR流行ってるんちゃうんか!!なんでHMDのセットアップ的な記事がそんなヒットせんのや!

 

というわけで、セッティングについてあれこれ末端ゲーマー並みの感想を垂れ流していきます。

続きを読む

VRの時代

時代はVRです!

 

 

 HMDを買いたくて買いたくて仕方がなかったけどHTC Viveの値段を見てそのあまりの価格に驚嘆し、まだまだVRの時代ではないんだな、と思いつつ、秋葉原電気街を今日も歩いていたわけなのであります。

 秋葉原電気街には九十九電機がありまして、そのツクモにはひっそりとVR館なるVR機器を展示し体感できる店があるのであります。数年前の駆け出しの頃はキズナアイのパネルとかあった気がしたんですが、最近はめっきり見かけないですね。そんなところです。

 そこでトランペットを眺める少年のような瞳で値札を眺めていたんですが、世の中にはあるというか、PC向けのそこそこ廉価なHMDが販売されているわけであります。

 それが冒頭に記載してあるAcerのAH101なわけであります。

 これ、淀やツクモでも4万を切る勢いで販売されており、筆者はすぐさま淀に駆け込み店員に在庫を確保させ購入したわけであります。実際4万は4kディスプレイと同じくらいの値段なので安い。本来ディスプレイだし価格帯そんなもんやろ。それでこいつはコントローラーまでついてくるわけです。安い。

 ちなみにそのコントローラーの設定で難儀するのですが、それは別の話。

 

 さて、この機材、MSが規格を定めて各社販売するMSX方式で発売されておりまして、そんなわけなのでMSから提供されるプラットフォームでサクッと導入できるのが売りだったりします。ほかは設定面倒くさいらしいですね。知らんけど。

 ちなみに、そのMSのプラットフォーム自体がゴミ…… 独創的な感じで、なんと最新版のWin10でないと起動しないと。自分はここでWindowsUpdateの自動更新がコケて適用されないパッチがあり起動しなかったことに躓き無為に時間を消費させられました。

 ちなみに、後学のために解決させた方法を書いておくと、

 Windows 10 のダウンロード

 これのツールでWindows10の上書きインストールを掛けました。

 時間はかかりますが、多分最終手段の一つといえるとは思います。

 

 で、そんなこんなでWin10の最新版を適用させて、何度かリトライさせつつインストール作業を行うこと6時間。

 やっとのことでHMDでのVR環境が整いました。

 コントローラーがまともに動かないとか色々あるものの、凄い、凄いですこれは。

 バイノーラル録音みたいな感じで臨場感のある音響が流れる、3軸加速度センサで見たい方向に視野がずらせる。なんかこう、思い描いていたレトロ・フューチャーの世界に全速前進って感じがして凄いです。

 というわけでですね、皆さん、HTC Viveの価格にめげず、AcerのAH101みたいなのを買ってVRしていきましょう。半値だし、手が出しづらいなとか言ってたニキもまあ買えるやろ。トラッキングポインタ別売してくれないけど、まあそれは値段下がった頃に別の買うだろうし良いかなと。

 そんなわけで、筆者はこれからやっと本格的にVRしていきたいと思います。はい。