無駄
オリンピックロゴも、競技場ザハ案も、会長も、国民からのクレームでやりなおし(いや私は国民だけどどうでもいいと思ってるのでクレーム出してない。これは必要以上に主語が大きくなっている。いわゆるビッグシュゴだ)。現代民主主義の象徴やな。
どれもまあロクでもない経緯があるように見えるけど、新聞しかなかった時代なら誰もロクでもないと知ることも無く穏便に終わってただろうな。
(いやでもザハ案は今の競技場の写真と比べたらクソカッコよく見えるからやっぱやるべきだったのでは…)
MMTとかみたいな、「国の予算はもっと無駄遣いすべき!」みたいな説を信じてる人は、オリンピックとかいう究極の無駄について考えてみるべきだと思いますね。国の予算が増えればオリンピックみたいな無駄が実施される、という現象が発生する。
よく「財務省が諸悪の根源」みたいな言われかたするけど、「財務省がちゃんと財布管理して、オリンピックとかいう無駄を止めてればよかった」みたいな考えかたもできるわけ。
「オリンピックみたいなのではなく、もっと○○に無駄遣いしろ!」という考えをするのも危険でしょ。よく知りもしない他人の仕事と自分の仕事のどちらが無駄かどうかを比較するのなんて無理だし、できると思ってる奴は危険な思想の持ち主だとわたしは思う。
国レベルで見ると、予算というのは、いくらでもやりようのある現金ではなくて、その背後にある実際のリソースに律速するわけ。
オリンピックで考えると、競技場作り直すために使われたリソースが無駄遣いされてなければ、もっとなんか地方の壊れそうな橋やトンネルを修復するのに使えたかもしれない。
これは、現象としては、
- 建設会社にオリンピック関連の補助付きの仕事が行って、建設会社は潤う。建設会社のリソースは需要が上がるので値段があがる
- 建設の値段が上がるので、地方の予算に余裕の無い自治体は橋やトンネルを修復したりできなくなる
という形で表面化する。(まあ競技場建てるリソースと橋を修復リソースがどれだけ重複してるかは私は知らんので雑な議論だけど)
オリンピックが無ければ、地方の橋やトンネルは修復されたかもしれない。(ただ、その場合は建設会社が安い仕事を請け負ってるわけで、建設会社としてはあまり嬉しくはない)
そういうふうに考えれば、「何か健全ではないことが起きてるかも?」という気がしてこないだろうか。
結局MMTみたいな「国の予算もっと増やせ」という考えかたは「実際のリソース配分を判断する人が一部の権力者に偏ってしまう」という形で表面化すると思ってる。
オリンピックをやるかどうかの決定において、大半の国民の意思が入る余地なんてなかったでしょ。それに比べたら、「地方の壊れそうな橋をどういう優先度付けて修復していくか」という判断のほうが、自治体レベルの話になってるので、まだ住民の判断が入ってるのではないでしょうか。
もちろん、オリンピックだって、国威発揚になってみんなが元気になれば、プラスになるかもしれない可能性はある。ただ、僕が健全ではないと思うのは、「やるかどうかの判断に関わっている人間が少ないのでは?」という点だ。
現代の社会の複雑さでは、「一部の賢い人間が全てを判断する」のはもう難しくて、たとえ効率悪くても、それぞれ個人個人がなんかうまいこと判断していかないといけない。
現代の民主主義はひとりひとりがよく考えて判断する、というのを前提に動いてるでしょ。「国の予算もっと増やせ」というのは、その方向に反してると、思いますね。
まあ、これは程度問題ではあって、「雇用を守る」みたいな話になってくる。まあなにごともホドホド…ホドホドがいいデスネ。MMTはホドホドではないと思っている。
献血
2回目に行った。
1回目行った理由は、輸血が必要だという話をなんかで聞いたときに、「これ保存されてる血液量足りない場合助からないんだろうか」とか思ってしまって、「私は献血なんか行ったことないのに、保存されてる血液量の心配をしてフリーライダーだな…」とか考えて、自分がみんなの善意にフリーライドしてるという事実が辛かったので行ってみることにした。
1回行くとクセになったので今日も行った。どちらも全血 400ml。これは、成分献血はいつも予約埋まっていて、3週間前ぐらいから予約入れないといけないのだけど、私は3週間前とかから予約立てるの不可能な人間なので…
全血は土日でも2日前くらいには予定取れることが多い。(私が最初に行ったときは当日飛び込みだった)
http://nano.flop.jp/log2/200711.html#2007-11-05 私は健康診断の採血で貧血になるくらい血が苦手なのだけど(正確には貧血でなくて迷走神経反射)、まあ行けてる。
同じような人向けに書いておくと、献血時には迷走神経反射起こらないように、だいぶ気が使われていて、
- 事前に水分をとれ
- 事後にも水分をとれ
- ちゃんと寝てからこい
- 急に立ち上がるな
- 少しでもフラっとしたら座って休憩しろ
みたいな注意を3回くらいされる。https://www.bs.jrc.or.jp/csk/hiroshima/2017/12/vvr.html 実績としては、1%の人が迷走神経反射にあうっぽい。
私は「血が出てる」みたいな意識するとクラっとしそうになるので、あんま何も考えないようにしながら血を抜いている。
献血に行くと意識が高まるので意識高いついでに書いておくと、今は、感染症対策の影響で、集団献血が減っていて、在庫量がかなり厳しくなっているらしいので、興味ある人は行ってみような。
これは、あくまで私個人の考えではあるけど、今は「医療従事者に感謝を」みたいなことを言われることが多いけど、なんらかの形で感謝をしたいと思ってる人は、献血によってその感謝の気持ちを表現することができると思うんだよね。献血が増えれば助かる医療従事者はそれなりにいると思う。
水平埋伏智歯 抜歯 その後
https://w0.hatenablog.com/entry/2021/01/07/191719 (前回)
特に何もなく抜糸も終わって順調にもとどおりになってきている。
抜く時の痛さがピークで、そこから痛みは右肩下がりに下がって順調に回復した。抜糸はまあちょっと痛かったけど想定内ぐらいかな。ちょっとチクチクするぐらい。麻酔よりは痛くなかった。
まあ抜く時は大変だったけど、人生の心配事がひとつ減ったと考えれば、痛い思いをした甲斐はあったと思う。
抜糸のときに「反対側抜くのも今予約入れれば次回紹介状必要ないからおトクだしラクだよ!」と言われるままに、反対側抜糸の予約も入れました。病院の事情で少し遅れて10月に抜きます…
まあ次はドライソケットになってももう最後だから大丈夫やろ…
水平埋伏智歯 抜歯 感想
https://w0.hatenablog.com/entry/20150306/1425587806
あれから6年…ついに抜きました。
たまに少し痛くなることがあって、「あー抜くべき〜」と思いつつ、結局抜いてなかったけど、去年の9月にいよいよ寝られないくらい痛くなったのでもう限界だと思って昨日抜いた。
予約しはじめたのが9月なんだけど、予約が混んでいて昨日になった。
抜くときはクソ痛くて涙がこぼれたわ…
- 麻酔痛いという感想をネットで見るけど、これは耐えられた。まあ痛いけど、一般的な歯の治療するときと変わらん
- 歯肉を切り開く瞬間は、説明見るとグロいけど、これはほとんどわからなかった。「何か当たってるな」ぐらいしかわからなくて、いつ切れたかもわからんかった。
- なんかでゴリゴリやられる。これは、そんなに苦痛ではなかったな。
- 次に引っぱられる感覚が、顎の奥のほうにクるので、「これ大丈夫なやつか…?顎の神経ごと引っぱり出されないか…?」みたいな心配をしてしまう。痛くはないけど、結構モゾモゾする
- メキメキ割られる。これも痛くはないが、本能的にヤバい感覚がある。まあ歯を割ってるからヤバいことをやってるんだけど…
- 最後気合いで引き抜くみたいになった。これが麻酔を貫通してクソ痛だった。なんか抜くんじゃなくて、押されるんだよね。歯根の先が顎に刺さってない?これ大丈夫?みたいな感じあるし、クソ痛いし、ヤバい感じあるし、早く終わってくれという気持ちで一杯だった
なんか大変だったっぽくて麻酔含めて1時間くらい口の中をゴリゴリやられてた。
もうやりたくないわ…
(これは特別大変だったんやろなぁ…)と思って、お医者さんに「これ反対側抜くのも同じくらい大変なんですか?(そんなわけないよね?)」と聞いたら、「同じぐらい大変だと思います。歯が骨と癒着してたので似たようになると思います」と言われた。もう一回同じことをやらないといけないっぽい。
年をとると歯が骨と癒着するので若い人は若いうちに抜きましょう。(ただし、予防的に抜く場合は保険が効かない場合があります)
今は痛み止めが効いていて、安静にしてれば痛くない。口開けるのがしんどいのであんま食べられない。頬は漫画みたいに膨れておる。
ドライソケットにならなければ、明日(2日目)がピークで徐々に収まっていくっぽいな。
ドライソケットになったら…泣く
やったゲーム
SEKIRO
買ったの去年だけど、定期的に意地になってやってしまった…
- カンスト苦難鐘一心
- ノーマル死闘踏破
まではやった
あとは苦難鐘死闘踏破やな…(多分やらない)
マジでいいゲームだよマジ…
人生でやったアクションゲームの中で一番よいゲームだと思うわ。難しいけど理不尽ではない。
苦難に慣れてからノーマルでやると、理不尽にならないようにめっちゃ気を使って作ってあるのがわかる。
Baba Is You
まじ神ゲー
システムもよく考えてあるけど、全マップ本当によく考えられてあるのがすごいと思うわ。
とか言いながらヒント見ながらやってるけど…
多分あと二個ぐらい残っていて、ヒント見てやるのも負けた気がするし、自力でできる気もしないので詰んでいる
雑感
最近やるゲーム良いやつ多くて、「これもう残りの人生ゲームやってるだけでよくない?」みたいに感じることがある。
なんか、本当によくできてるんだよな。
Baba Is You も Return of the Obra Dinn も、システムが尖ってるけど、完成度高い。
昔のいいゲームって、完成度めちゃくちゃ高いか、システムが尖ってるかで、相反する何かがあったような気がするけど、最近のいいゲームって、なんか両立してるのが多くて新鮮なシステムを楽しむ気持ちと、安定した完成度の心地良さみたいなの両方感じられて満足感すごい。
2020まとめ
一応書いておくか
鹿児島へ行った
そのあと鹿児島へ行った。
あんまり考えないで決めたけど、このあと旅行行くのも難しくなってしまったので行っておいてよかったと思う。
桜島を自転車で一周した。しんどかった…
3日いたけど噴火はしなかった。
トイレットペーパーがなくなった
これ以来家のトイレットペーパーの残弾が無くなってきたら、
「お前はあのときの悲劇を忘れたのか」
と心に刻んで買いにいくようにしている。備蓄は大事
3月の終わりに積雪した
エモくてよかった
緊急事態宣言
もう忘れてるが3/14に出ている
4月
なんもしてない。
家に閉じこもっているのが苦痛すぎて晩御飯の写真を毎日撮っていた記録が残っている。
この頃、色々考えたことを書いておくべきと思ったけど、結局書いてない。もう当時の気持ちは忘れてしまって、なんか日常になってしまったな。
家に閉じこもっているのも苦痛ではなくなってしまった。
5月
起きている時間全部仕事していた。
適度に重いタスクがあると生きている実感があっていいよな。ハゲる夢を3回くらい見た記憶がある。
6月
Green500が1位だった。まあ頑張ったと思う。
7月
8088で遊んでいた。
https://twitter.com/tanakmura/status/1289578933168435201
最終的にはPONG的なものを動かすまでやっている。
権利的なものに配慮して、これは何も見ないで記憶だけで作ったけど、実物見るともっと玉のスピードがはやい。
https://w0.hatenablog.com/entry/2020/07/10/003159
ここには書いてないが、ボードファイルの更新が反映されてないので、githubからソース取ってきても動かないです。
これはXilinxのボードファイルのディレクトリ構成がカスすぎて使いづらいのが悪い。(といってもスクリプト一回書けば終わる作業だけど)
8月
なんか色々
9月
子供が生まれました。
なんか色々あったけど、僕の個人情報ではないので、子供が大きくなったら本人に聞いてください
10月
特に記録が残ってない。
多分このあたりから引きこもり生活に慣れてきている。
というか引きこもりメンタルだった頃の本来の自分を取り戻してきている(いいのか?)
11月
親しらずを抜こうと決意したのが9月で病院混んでいたのでやっと話しに行けたのが11月。
抜くのは1/6です。がんばってね。
12月
世間は大変やな…
所感
なんか色々あったなぁ
まあよかったと思う。
FPGA で 8088 (D8088-2) を動かして自作PCをやる
これまでのあらすじ : https://twitter.com/tanakmura/status/1280152564898557952
FPGAでHello World以上のものが書きたいという気持ちは前からあったので、この機会に少し実用的はHDLを書くことにした。
なにをやっているかの解説を書いておこう。
ソースは、 https://github.com/tanakamura/jisaku_pc_8088 ここにある(上のツイートでは、タイミング問題があってLED点灯しないことがあると書いてるが、これは多分改善してあるはず。)
こういう昔のCPUは、CPU側の命令実行とバスが直結していて、ポインタ0x80 を読むと、CPUの足に、そのまま0x80が出てくる。それを正しくハンドリングして、有効な命令バイト列を返せば、8088を動かすことが可能だ。
この実装では、この足から出てくる信号をデコードして、うまくなんとかやる回路をFPGAに実装して、8088を動かしている。
実装しているペリフェラルは以下
- mem 0x00000 - 0x0ffff : SRAM (Artix の BRAM になっている)
- mem 0x10000 - 0x1ffff : SPI FLASH (https://japan.xilinx.com/products/intellectual-property/axi_quadspi.html の XIP モードでつなげている)
- mem 0x20000 - 0x40000 : DRAM (まだ動いてない)
- mem 0xffff0 - 0xfffff : DS,SSを0に設定して、0x1000:0000 へljmpする命令(https://github.com/tanakamura/jisaku_pc_8088/blob/master/firmware/8088_firmware.s)
- io 0x00 - 0x02 : UART
- io 0x80 : LED
アドレスが18bitしかないのはアドレス線18本しかひっぱってきてないからです…(昔のCPUはアドレス線繋がなくても動くんだなぁ…)
信号の解釈は、ぐぐって出てきたPDF(色々クリアなものかは知らない…)を参考に実装している。
まず、いきなり実機でやるとしんどそうなので、tv80 をFPGAで実装して、シミュレーションとかFPGA単体で動かしたりして、8bit バス ←→ AXIバスの変換が正しく動いているかを確認した。
ただ、Z80 と 8088 はバスの信号が変わってるので、完全に同じではない、そのへんはしかたないので実機で確認した。
https://github.com/tanakamura/jisaku_pc_8088/blob/master/top_hdl/i8088_top.sv#L249 (ALE)
https://github.com/tanakamura/jisaku_pc_8088/blob/master/modules_hdl/i8088_cpu.sv#L214 (WR,RD,IO)
クロックは、DDR使ってみたかったので(結局使ってないが)、 https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze-servers/start これを参考にして、83.333 MHz を AXI のバスクロックにして、それを1/15にして、5.555MHz を作ってそれを8088に入れている。D8088-2 なので、2MHz - 8MHz の間で動くはず。
AXI と CPU クロックが違うので、クロック変わるところはAXI側クロックで2回サンプリングして一致してたらAXIバスクロック側にコピーするようにしている。(これでいいかは知らない。真面目にやるなら非同期キューというものを作るらしい)
これで出たアドレスを https://github.com/tanakamura/jisaku_pc_8088/blob/master/modules_hdl/addr_converter.sv AXIアドレスにあうように変換している。
物理回路のほうは、全く初心者だったので、結構手探りだった。特に一番謎だったのは、現代のFPGAと昔のCPUの信号線を直結していいのか?という点だった。電圧違うとかだと、壊れる気がしたので、それなりに真面目に調べた。
中でも http://www.cepstrum.co.jp/hobby/5v33v/5v33v.html この「そんなに真面目に変換しないでいい」という説は採用していいのかかなり悩んだが、結局8088はクロックだけは確実に5Vを入れる必要があるということがわかって、これは採用しないことにした。あとADの8本は方向変わるので、これもどうしたらいいかよくわからなかったので。
結局よくわからんので全ての信号線に http://akizukidenshi.com/catalog/g/gM-08250/ これを入れることにした。あとから考えたら、今のFPGAの出力では昔の8088のバスを動かすだけの電流流せない可能性があったので、ちゃんとバッファありの電圧変換にしたのは余計な問題踏む確率が減るという点で正解だったと思う。
で Fritzing で超汚い回路図を書いて、ブレッドボードにして、それを奥さんに実装してもらった。Fritzingは、ブレッドボード図と回路図で整合性取れてるか調べられて、汚い回路図でもまあショートしてないかぐらいは確認できたので、まあよかったかな。
(あ、なおすの忘れてたけど、一番右上の2DIRはGNDに接続するのが正しいです。あと今はSSOはA17につなげてます)
(なお、これはICの幅をまちがって書いていて、実際はもう2列占有する)
ADの8本はZになる可能性があるので、10kのプルアップを入れてる。(プルアップが必要な理由も今回はじめて知りました)
最後に、spi flash へ 8088 のプログラムを書き込む時に、vivado なしでも書けるようにして、完成。
https://github.com/tanakamura/jisaku_pc_8088/blob/master/flash/flash.tcl
OpenOCD があれば、raspberry pi からでも8088 のプログラムが更新できるようになっている。(flashの0x0080_0000にプログラムを置くと、CPU の 0x10000 にマップされる)
これは将来本格的にプログラムを書くことになったときにTAT短縮のために必須の機能だと思ったので。
最初動いて、ILAで8088からの信号が届いたのが見れたときは感動しましたね。何十年も故障しないで生きててえらい!
まあ少し大きめのHDL書けたので満足かな。SystemVerilog は Verilog HDL(略してVHDL(大嘘)) より色々便利になってたのでよいと思った(まあASICで採用するのは難しいかもしれんが)
追記 : Digilent の Arty のボードファイルは、SPIのSSとIOAがいれかわっているので、そのままでは使えないです。(https://github.com/Digilent/vivado-boards/commit/9c664934db09612f4d1f4aff7b3d6a58251d9577) 手元で入れかえて使ってください。