プ ログラミングやRPG(作るほう)が好きな人の日記
この表は、このウェブページの管理人のパソコンの使用時間を管理・制限するためのものです。
No. | A1. 開始時 運動 |
A2. 勉強 1問 |
A3. 終了時 運動 |
H1.
予定 作業内容 |
H2.
予定 作業詳細(進捗%) 判定×の理由 |
B.
実際 開始時刻 |
C.
予定 使用時間 (当日限度) |
D.
予定 終了時刻 |
E.
実際 終了時刻 |
F.
実際 使用時間 |
G.
判定 ◎ 9分以下
○ 10分~19分 △ 20分~29分 × 30分以上 |
---|---|---|---|---|---|---|---|---|---|---|---|
416 | 全体的・基本・簡潔のRPG | 本番プログラムの整頓 | 21:35 | 1:30(1:30) | 23:05 | 23:14 | 1:39 | ◎ | |||
415 | 全体的・基本・簡潔のRPG | 既存RPGと同じ演出の実現 | 21:10 | 1:30(1:30) | 22:40 | 23:05 | 1:55 | △ | |||
414 | 全体的・基本・簡潔のRPG | 本番プログラムの整頓 | 21:45 | 1:30(1:30) | 23:15 | 23:18 | 1:33 | ◎ | |||
記
録しなかった長時間作業あり。 時間:2日間、各日 数時間 作業内容:PC-9801UV関係 |
|||||||||||
413 | × | PC-9801 関係作業 | PC-9801 関係作業 いろいろ手間が必要で |
15:00 | 1:30(4:00) | 16:30 | 29:00 | 14:00 | × | ||
412 | 全体的・基本・簡潔のRPG | 本番プログラムの不具合解消(70%) | 17:40 | 2:30(4:00) | 20:10 | 20:05 | 2:25 | ○ | |||
記録しなかった長時間作業あり。 時間:2日間、各日 数時間 作業内容:PC-9801 UV11 導入記事作成、ほか |
|||||||||||
411 | 全体的・基本・簡潔のRPG | 本番プログラムの不具合解消(70%) | 21:45 | 1:30(1:30) | 23:15 | 23:28 | 1:43 | ○ | |||
410 | 全体的・基本・簡潔のRPG | タイミングを知るためのオシロスコープ(厳密にはロジックアナライザ)を作成(100%) もし時間内に終わらない場合は:あきらめる |
21:15 | 2:00(2:00) | 23:15 | 23:24 | 2:09 | ◎ | |||
409 | × | 全体的・基本・簡潔のRPG | タイミングを知るためのオシロスコープ(厳密にはロ
ジックアナライザ)を作成(80%) 良いところまでできて、きりがわるかった |
21:20 | 1:30(2:30) | 22:50 | 26:21 | 3:41 | × | ||
408 | web6047のサーバー側プログラム | メニュー表示のしくみ(80%) きりがわるかった |
21:40 | 1:00(1:00) | 22:40 | 24:00 | 2:20 | × | |||
407 | 全体的・基本・簡潔のRPG | タイミングを知るためのオシロスコープ(厳密にはロ
ジックアナライザ)を作成(40%) もし時間内に終わらない場合は:あきらめる |
19:55 | 1:30(1:30) | 21:25 | 21:38 | 1:43 | ○ | |||
406 | 全体的・基本・簡潔のRPG | 全体の基本の動き(骨組み)を再度試作 もし時間内に終わらない場合は:あきらめる |
22:15 | 1:30(1:30) | 23:45 | 24:02 | 1:47 | ○ | |||
405 | 全体的・基本・簡潔のRPG | 全体の基本の動き(骨組み)を再度試作 もし時間内に終わらない場合は:あきらめる |
20:45 | 2:00(3:00) | 22:45 | 22:56 | 2:11 | ○ | |||
404 | 全体的・基本・簡潔のRPG | 全体の基本の動き(骨組み)を再度試作 もし時間内に終わらない場合は:あきらめる |
14:20 | 1:00(3:00) | 15:20 | 15:31 | 1:11 | ○ | |||
403 | 全体的・基本・簡潔のRPG | 全体の基本の動き(骨組み)を再度試作 もし時間内に終わらない場合は:あきらめる |
21:35 | 1:30(4:00) | 23:00 | 23:06 | 1:36 | ◎ | |||
462 | 全体的・基本・簡潔のRPG | 全体の基本の動き(骨組み)を再度試作 (なんか、プログラムを見ているとごちゃごちゃとしていて、どうなっているのか、わからないから) もし時間内に終わらない場合は:あきらめる |
17:20 | 2:30(4:00) | 19:50 | 20:13 | 2:53 | △ | |||
461 | 全体的・基本・簡潔のRPG | エフェクト試作を適用(80%) もし時間内に終わらない場合は:あきらめる |
21:30 | 1:30(1:30) | 23:00 | 23:08 | 1:38 | ◎ | |||
460 | 全体的・基本・簡潔のRPG | エフェクト試作を適用(70%) もし時間内に終わらない場合は:あきらめる |
23:20 | 1:00(1:00) | 24:20 | 24:29 | 1:09 | ◎ |
この表の意図:
多くの人はパソコンのやりすぎやネットゲームのやりすぎには困っていると思い ます。
参考に言うと、この表を使う前の私は 1 回の PC 使用時間がノンストップで 17 時間というときもあったし、平均で言うと毎日 9 時間はやっていたと思います。
この表を使ってパソコンの使用時間を 事前に決めて、ネッ ト上に公開 することで、パソコンのやりすぎを防止できたら、と思います。
また、数年前から考えてきましたが、そういう徹夜とか長時間作業をするより も、昼間の短時間作業のほうが生産性は高いのではないかと思います。そういう意味でも期待しています。
※以前は NO PC WEEK と称してパソコンを使用しない期間を設けることでやりすぎに対処してきましたが、もっと具合の良い方法はないかと考え、この表を使うようになりました。
記入の法則:
ちなみに、分単位で記録を取ったりして、だいぶマメに見えるかもしれませんが、Windows の日本語入力(MS-IME)で「いま」と入力し、 変換 キーを押さずに ↑ ボタンを押すと現在の時刻になります。道具の便利さが人をマメに見せるのかもしれません。
例外事項:
「スーパーPC WEEK」:
連休中(3連休以上)に、NO PC WEEK をオフにして好きなだけパソコンを使ってよいとする期間を、「NO PC WEEK」に対して「スーパーPC WEEK」と言う。
ただし以下の決まりを守ること。
なお、表の中央やや右寄りの「C. 予定 使用時間(当日限度)」列の "当日限度" には UNLOCK と記入する。
中途結果:
結構いい結果になっています。 炊事や掃除、散歩、早起きなどが好ましいリズムでできるようになりました。
(2020年9月6日追記:散歩、早起きは最近あまりできていません。掃除や 炊事は理想的にできています)
ま た、パソコン以外の趣味も進むようになりました。電子回路、ガンプラ、RPG のプログラム以外のモンスターイラストやストーリーなど RPG の肉付け部分の創作、勉強、昔好きだったペーパークラフト等々。
そ してパソコンの趣味自体も深夜遅くまで行うよりも質が高くなったように感じます。制限された短い時間の中で結果を得ようとするの で、取捨選択が行われているし、時間が終了して、空いた時間ができ、それがほどよい休憩になり、今後の作業の方針を落ち着いて検 討することもできます。それが質につながっているのかなと思います。
この取り組みが、15 才 ~ 18 才くらいまでの高専(中退)に所属していた時に実施できていたら良かっただろうなと思います。でもそれくらいの年齢では経験が浅く、このような効果的なルール作りを行うこ とはできなかったと思います。自分は人に比べて「創作意欲」や「ゲームで遊ぶ欲望」におぼれやすいところがあり、そのコントロールはとて も難しいです。
自分の家族にすすめたい方へ:
パソコンのやりすぎやネットゲームのやりすぎは社会問題にもなっているので、「うちの子についてなんとかしないと…」と思っているご家 族の方は多くいらっしゃると思います。
私の両親も過去に私について問題にしていました。学校へ行かず、毎日朝までパソコンに向かい、 悶々としていたんです。
この表はその家族が困っていたときから 30 年後に、私が自分で必要を感じて作ったものです。
私は今 一人暮らしをしていて、自分で生計を立てる中、パソコンにおぼれた生活をすると、生活がうまく回らなくなるんです。
具体的には、
これらを改善するために表を作りました。
でも、このような必要にせまられて「自分の動機で始めた場合」と、「人からすすめられて始めた場合」とでは、結果が異なると思います。
自分の切実な動機で始めたなら自分から進んでこの表を活用すると思いますが、外から押し付けられたものはなかなか定着しないものです。
あまり適当なことは言えませんが、「中途結果」タブの中の青い部分で 書いたことは、本人にとって得になることなので、「ときどき休憩して、他のあの趣味やってみたらどうだ?」とか「ときどき休憩したほうが プログラミングの質が上がるって話だぞ?」という形ですすめてみたらどうでしょうか。(それでも最終的には自立してもらうことは必要だと 思いますが)
私が両親を困らせていたときに、突然、外へ一人で出て行って、一人暮らしを始めたり、接客業を始めたり、いくつか資格取得したりといろ いろ行えた理由というのは、正直言ってわかりません。(※しかし途中で失業して2度、実家に戻ったことがあります。1 回目は 21 才くらいのときに 5 年間、2 回目は 35 才くらいのときに1年未満、実家にいて、何もしてなかったり働いたりしていました)
私が両親を困らせていたのは 16 才 ~ 20 才くらいの学生のころですが、そのころ家族と私自身と友人たちがみんなそれぞれ、私の生活について心配したり困ったり悩んだり、あの手この手を試したりしていました。そう いう煮詰まったような状況が運命をそのように(解決の方向へ)動かすのかもしれません。運命がどうの というのは変ですが、そのくらいのことしか言えません。何かしら取り組む必要があるということですかね。
この社会問題はクリアーすべきものみたいです。
最近観ているアニメ:
日
付 (上ほど新しい) |
タイトル | 無料配信 (各話配信日) |
公評価 | 私 評価 |
---|---|---|---|---|
2021/7/15~視聴中 | ドラゴンボール(リンクは Yahoo GYAO で検索) 冒険・格闘技/1984年週刊少年ジャンプ/各話25分程度 |
月・水・金・・ | ★★★★☆ 4.8 |
★★★★☆ 4.5 |
2021/5 /18~視聴中 | はじめの一歩(リンクは Yahoo GYAO で検索) ボクシング/1989年週刊少年マガジン/各話25分程度 大人になってわかる、ドラゴンボールを上回る面白さ。スケベ表現がたまに
あるので男性向け?
|
月・水・・土・ | ★★★★☆ 4.5 |
★★★★★ 5 |
最近観た映画:
日
付 (上ほど新しい) |
タイトル | 無料配信 (日付まで) |
公評価 | 私 評価 |
---|---|---|---|---|
2021/9/19 | ケース39(リンクは Google Play) ホラーサスペンス/2009年アメリカ/1:49:00/レニー・セル ウィガー レニー・セルヴィガーがお化粧とか全然していなくて、おばさんみたいに
なっちゃった… と最初はそんなことで頭がいっぱいでしたが、
後半になって佳境になるにつれ、そういうことではなくて、良い役をやっているんだなと考え直すことができました。
★4はつけすぎで、★3.6~3.7くらいかなと思います。
|
レンタル割引で100円でした | ★★★☆☆ 3.6 |
★★★☆☆ 3.6 |
2021/8/6 | ターミネーター4 【吹替版】(リンクは Yahoo GYAO で検索) SFアクション/2009年アメリカ/01:54:49/(シュワいな い) |
2021年8月7日(土) 23:59 | ★★★☆☆ 3.8 |
★★★☆☆ 3.2 |
2021/7/30 | インストール(リンクは Yahoo GYAO で検索) ドラマPG12/2004年日本/01:34:31/上戸彩 上戸彩が本当の女子高生みたいに見えたから★4(でも当時二十歳くらいだ
からそう見えて当然か??)
|
2021年8月10日(火) 23:59 | ★★☆☆☆ 2.2 |
★★★★☆ 4 |
最近買ったもの:
日
付 (上ほど新しい) |
タイトル | 公評価 | 私 評価 |
---|---|---|---|
2021/8/7 | 曲:アンインストール(リンクは Apple Music の当該ページへ)
2007年の「ぼくらの」というロボットアニメの主題歌
歌詞を読みましたが、「突然現れた新しい現実に対し、受け入れ、やるっ
きゃない」と言っているのかなぁ…
|
★★★★★ 5 |
★★★★☆ 4 |
2021/7/9 | ゲーム:ザ・トリロジーズ -T&E SOFT / XTAL SOFT COLLECTION-(リ
ンクは EGG の当該ページへ)
PCレトロゲームのセット。RPG開発の研究のために予約で購入。発売日は未定だそうです。
|
発売前 | 発売前 |
2021/5/29 | 曲:最強○×計画(リンクは Apple Music の当該ページへ) 2006年の「すもももももも 地上最強のヨメ」というアニメの主題歌
|
★★★★☆ 4.5 |
★★★★☆ 4 |
2021/5/15 | プラモ:MG スーパーガンダム(ver1.0)(リンクは Amazon 同商品ページへ) 1998年発売のガンプラです。街の小さなおもちゃ屋さんで売れ残ってい
たのを買いました。
|
★★★★☆ 4.1 |
作り途中です |
日記: (上ほど新しい記事です。下ほど古い記事です)
例によって長文になりました。目次をここに記します。(1日分の日記に目次…!!)
今回の作業のついでで、フロッピードライブの内部の磁気ヘッドの動きを撮影したのでご覧ください。
MS-DOS 3.30C の起動と合わせた動画になっています。
MS-DOS の起動設定(CONFIG.SYS)がシンプルすぎるため、起動はすぐに終わるので、動画もすぐに終わっちゃいますが、ちょっと面白いかもしれません。
DOS の最初の「NEC PC-9800 Series Personal Computer」、「マイクロソフト MS-DOS バージョン 3.30C」などの白い文字列が表示されるタイミングと FDD のアクセス音のタイミングに覚えのある方は多いんじゃないでしょうか。
何度も聞いて体で覚えていますよね。
(動画の作成には AVIUTL を使いました。マニアックですがいろいろできる感じの動画作成ソフトです)
外国のこの動画のおかげで、いろいろ解決されました。
「Amiga 500 Disk Drive Chinon FB-354 Rev. E Repair」(Amiga 500 ディスクドライブ「Chinon FB-354 Rev.E」の修理)
https://www.youtube.com/watch?v=KOkZk0RgaPA&t=190s
YouTube説明欄の翻訳:
Chinon FB354 Amiga500内蔵ディスクドライブの修理。 これは非常に一般的なモデルであり、さまざまなフレーバーのAmigaでわずかに異なるリビジョンで使用されていました。 これにはいくつかの問題があり、ランダムな「ディスクの交換」および「読み取り/書き込み」エラーが発生しました。
動画のおおすじの内容(英語でしゃべっているけど、見てるだけでもわかるところがある)
※Chinon FB-354 は Made in Japan だそうです。どこかの遠い外国で使われているんですねぇ。。
ドラッグストアで購入したイソプロピルアルコール(50%希釈済み しかなかった)を使ってヘッドをクリーニングしました。
外国の動画のおかげで、どのような調子で綿棒を動かすとか、勝手がわかり、比較的安心して作業できました。
ついでにカレンダ IC に電気を送っている「充電池」を はんだごて を使って外しておきました。
▼カレンダ IC に電気を送っている充電池を外した
今のパソコンにも、カレンダ IC は、搭載されていると思います。
現在の日付と時刻を、刻一刻(読み:こくいっこく、意味:しだいに時間が経過するさま)と刻み続ける電子回路部品です。
パソコンの電源を切って、3日後に再び電源を入れると、日付はちゃんと3日後になっているのは、このカレンダ IC がパソコンの電源が切れても動いているからです。そのためには充電池を使ってカレンダ IC だけ通電しておく必要があります。
でも、30年も経った古い充電池をそのまま付けておくと、緑青色の液漏れを起こし、基板を激しく浸食してしまうとか…。
クリーニングが終わったので、試しに電源を入れてみたら、
ピー!ピー!ピー!
と3回ビープ音が鳴り、
緑色の文字で How many files (0-15)? と表示されました。
ENTER キーを押すとフリーズ。なんど再起動しても同じ。
ホントだったら、ビープ音はピポッと鳴り、挿し込んだフロッピーディスクから起動されるはずなんです。
そんなバカな。
ここで私はかなり動揺して、同じ状況をウェブ検索しました。
すると、そういう場合は(DOS/V機の場合は)「メモリ関係の異常」だとか…。
私は何か取り返しのつかない問題が起きると、カァーっと熱くなって うろたえます。それがちょっと残念。でも誰でも同じかな…
もしかして、
はんだとかの作業中に BIOS ROM を壊したのだろうか? メインメモリを壊した? VRAM を壊した?
充電池を外した状態で電源を入れてはいけないとか??
いろいろな思いが交錯して、落ち着きがなくなり、いつもどおりの作業ができなくなりました。
どうやっても元に戻らないので、「壊れたのだ」と悟り(読み:さとり)、
これに費やした3万円程度の資金のこと。💸💸💸
羽のついたお金
この PC-9801 UV11 が当初心配していた通り ただのお荷物になったこと。
自分はやっぱりダメなんだ。
と、がっかりしました。まじですか。
▼PC-9801 本体前面のディップスイッチ
「充電池は、動作設定をメモリとして維持する」ということと、98本体前面のディップスイッチの「動作設定保存のスイッ チ」が関係しているんじゃないかと、ふと思い、そのディップスイッチを見てみたら、案の定、一部のスイッチがちょっと前にいじった ままになっていました。これか?これでだめなら
PC-9801 UV11 のハードウェアマニュアルによると、そのスイッチ「SW2-5」は「メモリスイッチ初期化の指定」を行うもので、
ON → "メモリスイッチの状態を変化させることが出来る"
OFF → "メモリスイッチをシステム既定値で初期化する" (工場出荷時はこちらの設定)
とのことでした。
現状を確認したら、ON "変化させることが出来る" になっていました。
これが原因かも!と思って、工場出荷時の設定に戻し、再起動すると、正常に起動できました。
ホッ……ほんとによかった…。
(ちなみに、「充電池は、動作設定をメモリとして維持する」…、そうなのかな?カレンダ IC の維持だけじゃないかな?)
上記ディップスイッチのハプニングはクリアーできましたが、書き込みエラーは相変わらず。
「ディスクが書き込み禁止になっています」
”問題があるときは、表示されたメッセージの通りである” …というこれまでの経験上の教訓が、私の中にはあって、今回のこのエラーメッセージも「そのままそのとおりである」と仮に考えてみました。
「ディスクは書き込み禁止になっているのであ~る」
エラー発生 | エラー表示 | |||
フ ロッピーディスクドライブ装置 | →→ | マザーボード | →→ | MS-DOS |
エラーはドライブ装置にて発生し、マザーボードを通って、最終的に MS-DOS でエラー表示がなされます。
この流れの途中について、昨日はちょっと小細工をしてました。
フ ロッピーディスクドライブ装置 | →→ ケーブル で小細工 |
マザーボード | →→ | MS-DOS |
ドライブ装置とマザーボードの間のケーブルの「WRITE PROTECT」という信号線を回路の GND につないで「OFF」を偽装しました。
何かの間違いで書き込み禁止になっているのなら、強制的に書込み禁止信号を止めて、正常と偽り、そうすれば書き込みを行ってくれるんじゃないか…、と 思ったんです。
意図したとおりエラーメッセージは出なくなり、問題なく書き込みできたかのように MS-DOS は動きましたが、実際は書き込みされていませんでした。
つまりだませたのは、
ここと | ここだけ | |||
フ ロッピーディスクドライブ装置 | →→ ケーブル で小細工 |
マザーボード | →→ | MS-DOS |
だませたのは、マザーボード と MS-DOS だけであって、ドライブ装置の部分は何もだませていないのでした。だからドライブ装置の部分では「書き込み禁止」の状態にちゃんとなっていて MS-DOS からの書き込み命令が来た際には、「WRITE PROTECT」の信号線に「書き込み禁止になってるぜ」の信号を出力し、当然書き込みの動作は行いません。それで正しい動きです。
だからケーブルで小細工しても、当のドライブ装置の中では何も変わっていなかったんです。
注目すべきはケーブル以降のあれこれではなく、ドライブ装置の中です。
”フロッピーディスクドライブ装置の中で、書き込み禁止の状態に確かになっている”
技術が一般に毛が生えた程度である私が(頭の毛はあぶないものの)そのドライブ装置を見て 手を付けられるのは、フロッピーディスクのライトプロテクトを検知する部分だけです。
(「IC の中で何をやっているか」とか、「回路を追う」とか、そういうのはちょっと大変そうです)
▼フロッピーディスクの
ライトプロテクト設定はここ |
フロッピーを ドライブへ さしこむ → |
▼ドライブのライトプロ
テクト検知部分はこの辺にある |
▼その部分の内部を真上から撮影(フロッピーは抜いた状態)
よく見ると、穴状の中にモグラたたきのモグラみたいな動きをする黒い小さなスイッチが2個、縦に並んでいる
▼そのモグラをこんな感じでシャコシャコと押しまくる! 押すべし!押すべし!押すべし!
叩け!モグラ! たたくよモグラ。
30年の月日により、スイッチ部品が接触不良を起こしていたわけです。
運よく、それで「ディスクが書き込み禁止になっています」というエラーは出なくな りました。
▼目的の1つ、BIOS
取得できました。やったぜ |
▼フォーマットできまし
た できましたぜ |
うーん、そういう原因だったとは意外でした。書き込みできないと言ったら「ヘッドの汚れ」とか、「コンデンサの劣化」だと思っていたんですが。
以上の「ライトプロテクトの検知スイッチ接触不良」の情報は日本のサイトでは見つけられませんでした。
とある情報筋(読み:じょうほうすじ)によると、レトロ PC の基板上の充電池はそのままだとやがて液漏れを起こし周囲の回路を激しく浸食してしまうのだとか。
そのため、早めに除去しなきゃいけないと言われています。
私はとりあえず、このようにしておきました。
これを、紙、アルミ、紙の3層にしたつつみ(手作り)でくるんでおきます。
他であまり見られない変則的な処置ですが、こうしておけばいつでも手軽に はんだづけを解除できるし、充電池の代わりの回路を接続することも行いやすいです。液漏れしても3層構造の包み紙がキャッチ。
この充電池はニッカド(ニッケル、カドミウム)電池で、カドミウムが環境破壊につながるとか、ニッケル水素電池のほうが性能が良いとかで、需要が減少し たらしく、同じ電池(写真の電池の型式は GS YUASA の「3-51FT-A」)が売られていません。
ちなみに、「GS YUASA」ってどこか不思議な社名ですが、島津源蔵(イニシャルG.S)湯浅七左衛門(YUASA)それぞれの会社が経営統合してそういう名前になったんだとか。 へぇー!へぇー!
………。
ニッカド電池(Ni-Cd)の代わりに ニッケル水素電池(Ni-MH)を使おう、という考えがあります。
Panasonic「ニカド充電式電池のかわりに、ニッケル水素電池は使用できますか?」
ニッカド電池の充電の仕組みと、ニッケル水素の充電の仕組みを比べてみると、ニッケル水素のほうは「過充電時に観測されるわずかな電圧低下を感知して充 電を終了する」(Wikipediaより)となっているのに対し、ニッカドはそういう仕組みではないみたいです。そのためニッカドを前提とした回路のその 場所に、ニッケル水素電池を置くと、ニッケル水素のための過充電の検知の機能は回路に用意されていないでしょうから、普通に過充電が行われ、電池の品質が 著しく低下する(寿命が早くなる)ようです。(過熱や破裂はないみたいです。よくは知りませんが)
どのくらい寿命が短くなるのかわかりませんが、高価な電池が通常よりも早く使えなくなるのなら、安価なコイン電池を使ったほうが得でしょう。
そこでコイン電池の CR2032 を使う回路が登場します。
下図は私が、どこかのサ イトさんの説明を見ながら、見よう見まねで作った回路です。これでいいのかな?
※図の黄色い部分が、GS YUASA の充電池と置き換える部分です。 |
この電子回路はパソコンのマザーボードから来る、充電池のための充電の電流を、充電機能のないコイン電池に流さないよう にする回路です。 普通のコイン電池に充電の電気を流すと発熱したり破裂したりするそうです。 この回路はPC電源スイッチがオフのときは、3V のコイン電池の電流だけが IC へ流れます。 PC電源スイッチがオンのときは、パソコンからの「充電池のための充電の電流」と、あとちょっとあやふやですがコイン電池の電流も IC へ流れるのかな?(電源が2つ並列になっているときの回路の動きはちょっとよくわかりませんが、実験したら 5V(PC電源)になりました。たしか電源が2つあるときは片方の電源を隠して回路(電流)を考えるんだっけ?「重ねの理」?) その際、コイン電池のとなりにはダイオードがあるのでパソコンからの「充電池のための充電の電流」がコイン電池へ流れることはありませ ん。 PC電源スイッチがオンだと 5V が "カレンダIC" に印加され、PC電源スイッチがオフだと 3V が "カレンダIC" に印加されます。(印加=その電圧がその部品にかかる) カレンダIC(uPD4990A)のデータシートを見ると、カレンダ IC が駆動するための電源として 2.0V ~ 5.5V と書いてあるので、3V や 5V の電圧で大丈夫です。 サイトさんによると、ダイオードが故障したとき、もし短絡する形(ダイオードがただの配線同様になる場合)での故障だった場合、コイン 電池に充電の電流が流れてしまうので、コイン電池が許容できる電流 10mA 以下へ落とすために抵抗を一本入れておくのだそうです。 その抵抗値は PC 電源が 5V なので、5V / 10mA = 500Ω。それより少し高めにしたほうがいいのかな…。 |
電気の実力があまりないから、はっきりとしたことが言えません。
でも上記の回路で実験してみたら、意図したとおりの動きになったのでこれで良いのかもしれません。
実機への搭載はまだしていません。訪問者の方がこの回路図を参考にした結果で 実機が壊れてしまっても私は知りませんので、十分に確認の上で、、お願いします。確認というのはたとえば…
…のような確認が必要です。
充電池を抜き取ったままにする(カレンダは狂ったまま)、という手もありますが、せっかくの PC-9801 ですから、万全の状態のほうが良いなと個人的に思います。
また後日 作業を行おうと思います。
今回はとりあえず、 BIOS(読み:バイオス、意味:PC-9801 本体内の ROM の内容。入出力に関する基本プログラム)が取れて、実機も大きな問題もなく、よかった。
残りの問題は、外付けフロッピーディスクドライブの動作不良(問題1)と、ドライブ2(以前入れ替える前はドライブ1だったもの)の動作不良(問題2) の2つです。
この2つの問題がなくなれば、UVを導入して何も問題がない、ということになります。
(訪問者のどんなニーズと この記事がつながるか)
オークションで購入したレトロPCの PC-9801 UV11。
新品同様と思いきや、結局こんなことをする羽目に。orz
今回の記事は、PC-9801 UV11 本体購入後の経過について書きます。
最終的にやりたいこと(目的)は、
の2点です。
そのための作業手順は大まかに、
…と、作業はそんなに難しくないはずです。
ところが、結果は「惨敗」で、いろいろ問題が 発生しました。
問題は3つ発生しました。
これらの問題のために、BIOS は取れないし、実機をまともに使いたいという願いもかないません。
どんな問題なのか詳しくお伝えします。
BIOS、BIOSって、どうしてそんなに BIOSなのか?
ファミコンをパソコン上で再現するソフトウェアを「ファミコン エミュレーター」(NES とか)と言いますが、同様に昔日本で 90% くらいのシェアを持っていた古いパソコンの PC-9801 をパソコン上で再現するソフトウェアを「98 エミュレーター」(Anex98 とか NP2 とか)と言います。
「98 エミュレーター」はそのままでも、ほとんどの PC-9801 用ソフトが動作しますが、別途 BIOS を用意すれば もっと完ぺきな再現度で動作できます。
BIOS は PC-9801 の中の ROM IC の中に入っていますが、BIOS は一種の「ソフトウェア」なのであって、PC-9801 のメーカーである NEC に著作権があります。
98 エミュレーターの作者が おいそれとコピーして、エミュレーターの中に同梱して良いものではないんです。
そのため、エミュレーターのユーザーが PC-9801 の実物(実機、本体)から「BIOS 取得ソフト」を使って取り出し、ファイルの形になったものを 98 エミュレーターに組み込む(そのエミュレーターソフトのフォルダにBIOS ファイルを置く等する)必要があります。
こだわらなければ、BIOS なしでも大丈夫みたいですが、ソフトによっては
といった問題が起こるようです。
BIOS があれば これらの問題が起こらないほか、「フォントが NEC 純正のフォントになり昔の思い出にひたれる」という利点があります。
(フォントについては、正確には BIOS ではなく、「BIOS 取得ソフト」で一緒に取得される FONT.ROM というファイル)
▼画像をクリックすると切り替えます。 FONT.ROM なし
比べてみると、ほとんど同じですね。でも細かい文字のディテールを覚えていて懐かしく思います。
問題1: 購入した外付けフロッピーディスクドライブ(3モード)は、 不良品?
▼購入したフロッピードライブ(TOSHIBA製 PA2680U。中身は YE-DATA製 YD-8U10)
MS-DOS のマスターディスク3枚のコピー作業は、、
、、という手順で行おうと思いました。
しかし、ディスクイメージは3枚とも無事に作成できたと思いますが、空のディスクへの書き出しが、できたりできなかったりで、悪戦苦闘をしいられまし た。
▼動画: ウィウィーン×4、ブイーンボイーン×4の繰り返し("読めない" を意味する)が5分くらい続く。
途中で止めることができず延々と聞かされて、気が狂いそうになった★ 苦しい!
書き込みのほか、「フォーマット」もできないようでした。(まともにできるのは読み込みだけ)
原因は、どうやら購入したフロッピーディスクドライブに問題があったようです。
事後にそのドライブで作業を行ったフロッピーについて 内部の磁性体の円盤を目視で確認したら、正円状の傷ができているものがありました。
▼正常なディス
クは まっさら。 |
▼ダメなディス
クには、正円状のキズが! |
新品ディスク 10 枚中 2 枚がダメになり、MS-DOS マスターディスク 3 枚は無事でした。
中古商品だったので、しかたないかもしれません。
調べたところ、このフロッピーディスクドライブはだいたい 2001 年 ~ 2010 年くらいの品物のようです。
これが問題1。
注意! レトロ PC(中古品)で遊ぶ のは難しい
レトロ PC のゲームソフトとかは、中には珍しいものや面白いものがあって、結構魅力的ですよね。
Microsoft Bing で「レトロPCのゲームソフト」を画像検索
でも中古で購入したゲームソフトが「フロッピーディスク」で、中の磁性体がカビていたり汚れていたりすると、それを差し込んだフロッピーディスクド ライブは、なんと読み書きできなくなるそうです。サイトさん1 サイトさん2
また、フロッピーディスクドライブのほうも中古で購入すると、ヘッドが汚れていて読み書きできない状態だったり、ひどいときには今回の私の事例のよ うに、ディスクを傷つけて読めなくさせてしまうことにもなります。
せっかく購入したプレミア付き(通常より高い値段)のゲームソフトを、ディスクドライブが原因でダメにしてしまうと大変ですね。
中古でフロッピーディスクドライブを買ったら、まずは壊れても良いディスクを使って読み書きのテストを行い、本番ディスクも中が汚れていないかどう か確認する必要があります。
もしフロッピーディスクドライブが NG だとわかったら、解体してヘッドのクリーニングをしたり、電子回路上のコンデンサの交換をしたりしなければなりませんが、そのへんはもうマニアックな世界です。
それができる経験のある人に頼むしかないでしょう。
問題2: PC-9801 UV11 本体のフロッピーディスクドライブ1もダメ?
問題1により MS-DOS のコピーはできないので、しかたなく、マスターディスクを使って PC-9801 UV11 の電源をオンしました。
すると問題なく MS-DOS が起動しました。なんともなつかしい。
しかし、使っているうちにだんだんドライブ1の挙動がおかしくなり、とうとうドライブ1だけ動かなくなりました。
たまにきまぐれみたいに動くことがありますが…
これが問題2。
問題3: PC-9801 UV11 のフロッピーディスクドライブ1、2ともに書き込みができない?
問題1により、Windows 上でフロッピーディスクのフォーマットができないので、PC-9801 UV11 実機のほうでフォーマットしようとしました。
ところが今度は、実機のほうでも「フロッピーの読み込みはできるが、書き込みができない」という状態でした。フォーマットもできません。
エラーメッセージは、「ディスクが書き込み禁止になっています」。
フロッピーディスクのライトプロテクト(スライド式のスイッチ)は、外してあっても外してなくても このメッセージ。
ドライブ1、2ともに同じ症状。
困ったな、、
そこで、実機内部の、フロッピーディスクドライブとマザーボードを接続しているケーブル(34本の線が横にずらりと並んだペリフェラルケーブルと呼ばれ るもの)の「WRITE PROTECT」という信号線を GND(電池でいうとマイナス極のこと。デジタルとしては「オフ」を意味する)につないで、強制的に「WRITE PROTECT、されてませぇん」という状態にしてみました。
なんと! それで意図したとおり、フォーマットができちゃいました。
ところで、不具合の原因はフロッピーディスク(新品)にあるんじゃないか…もと思って、しかたなく、MS-DOS の3枚目のディスクを犠牲にすることにしました。新品ディスクに比べて、MS-DOS マスターディスクのほうが安定して読み書きできる印象があったので。
30年前から思っていましたが MS-DOS の3枚目ディスクは大した内容ではありません。ディスクイメージも取得済みなので、このディスクを BIOS 取得の作業に使うことにしました。
よし!と思い、つづいて、「BIOS 取得ソフト」をそのディスクに入れて、PC-9801 UV11 上で実行しました。
そしてめでたく BIOS の取得(BIOS.ROM というファイルの作成)ができました。目的1つ達成~♪
ところが!! そのフロッピーを Windows に読ませたら、なんとその内容は…!!
内容は、『MS-DOS の3枚目の内容 + BIOS 取得ソフト だけ』ではないか!
取得したはずの BIOS.ROM がありません。orz
しかもフォーマットしたはずなのに、なんで元の内容(MS-DOS の3枚目の内容)がそのまま のこってんねん。
あれ? 落胆 と思い、PC-98 のほうでもそのフロッピーを確認すると、Windows と同じく、
『MS-DOS の3枚目の内容 + BIOS 取得ソフト だけ』でした。
さっきは存在していた BIOS.ROM が不思議とありません。orz
……つまり、フォーマットや BIOS 取得ができたように見えて、実は、「最初から何もフォーマットも書き込みもされていない」という状態だったようです。
「WRITE PROTECT」の信号線をいじるとそんな結果になってしまうようです。
でも、信号線をもとの状態に戻してやると、やっぱり「ディスクが書き込み禁止になっています」と いうエラーメッセージが出る…。
▼ペリフェラルケーブルの信号線をもとの状態にもどした(平たいケーブルの左から6番目の線に作業跡)
何が、どうして、書き込み禁止??
いろいろ調べましたが、どうやら PC-9801 UV11 の、、
この4つのどれかが原因で挙動がおかしくなっているのかなと思います。
(10月2日(土)追記: 原因は上記4つのどれでもなく、フロッピーディスクのライトプロテクトのスライドスイッチを検知する、ディスクドライブ内の 「ノッチ」(モグラみたいな小型スイッチ)の接触不良でした)
以上が問題3です。
問題1、問題2、問題3のために現在までに行ったことは、
▼フロッピーディスクドライブを解体 |
▼コンデンサを調べ上げています |
▼フロッピードライブのほか電源部やマザーボードも調べ上げ |
多くの人のwebサイトの記述や動画を見たところ、フロッピーディスクドライブの問題は だいたい以下の3点で解決しているようでした。
これらを行えば書き込みについて直るんじゃないかと期待大!、です。
(訪問者のどんなニーズと この記事がつながるか)
このたび レトロPC を購入した目的の一つとして、
「昔買うはずだったパソコンを記念品として置いておけること」
「”本来あるべきものがこれだった” という思いで UV を ながめていたい」
というのがありました。
--- どういうこと? ---
私が中学3年生のころの話ですが、私の進学のお祝いとして PC-9801 を買うことになりました。そのとき、父のすすめでは、父の会社の生協の UV21/11 という機種でしたが、私は「それでは性能がダメだ」と言って、「RX21 が良い」と、ずっと高価な機種を望んで、買わせてしまいました。
それが今思えば、高価すぎで、わがままでした。「特別な情報系の学校に進学するので、、」とい う投資の意味も、父にはあったと思うけど。。その辺を今になって後悔していて、本来自分が持つはずだった機種を手元に置きたい、と思ったわけです。
それで実際に置いて、ながめてみました。
うーん。いやはや。もうちょっと感動してほしいんですけど、
ほんとに後悔してんのかな?
「UV」の文字を見て、、!!
ああ!すげぇな!これか!
ちょっとうるっときました。ありがとさま。ごっつぁんです。
ほんとに、これを選んでいれば、情報系の学校を中退せずに済んだかもしれないな。
そんな特別な機種なんです。
ちなみに!写真に見える本体の向かって左側側面に、角にR(まるみ)のついた長方形のプレートが付いていますよね。
これを90度回転させれば、縦置きしたときに不安定にならずに固定できるというものです。
(訪問者のどんなニーズと この記事がつながるか)
オークションで、だれとも競らずに競り落とした(入札したのが私だけ)、UV 本体が届きました。
この UV11 の仕様へのリンク → ●
UV21 の発売から9か月後に発売された、省スペースタイプの PC-98 です。
NEC の V30 という CPU(Intel 80286 CPU の前世代)を搭載しており、FM音源は最初から搭載しています。
では届いた品物の状態を見ていきましょう。
本体、キーボード、マニュアルのセット。
本体は私が昔持っていた PC-9801 RX21 よりも二回りくらい小さい!
重さも RX21 と比べて、約1/2!(RX21が9.3kg、UV11が5.1kg)
他にプリンタもあって、型番は「EPSON AP-550」です。インクリボン方式で、熱転写用紙があればモノクロ印刷が可能かも…。
本体正面。
本体はだいぶ汚くてススやらヤニやらが こってりと盛られている感じ。キーボードもタバコのヤニか何かでだいぶ黄ばんでいて、一目見て「動作しないだろう」と直感しました。きびしい予感!
きっと内部の基板上のコンデンサも液漏れしていることでしょう…。
本体を開けて、基板をすみからすみまでチェックしてみると、なんだかキレイ…?
30年前の製品なので、「液漏れのコンデンサ」があるはずだと思っていたんですが、見当たりません。
左の写真の左下に波打った形のたる型の部品が時計を維持するバッテリです。30年も経っているので、電池切れしているはずです。
本体向かって右上の電源部分を外し、見えなかった基板部分を確認。
ここもきれい。ホコリ1つ見当たらないぞ?!
電源のファンには大量のホコリが……ない!
軽くちょっと付いている程度。
もしかしてこの機械、ほとんど使ってない?
一緒のものという感じのマニュアルとプリンタが付いているし、後述の個人的なメモも はさんであり、外はべらぼうに汚い、ということから、中古ショップでクリーニングされたからキレイ、というものではなさそうです。
液漏れのコンデンサがあれば、それは故障を意味するので、電源部分の内部の基板もしっかりとチェック。
……しかし、ここもホコリ1つ無く、液漏れのコンデンサも見当たりません。
一体……
写真中央の赤茶色の四角いコンデンサなんかピカピカのツヤツヤではありませんか!
アルミ電解コンデンサの上部の銀色の(Υ状のスジボリのある)フタも ふくれたりせず、キチッと閉まっている。
フロッピーディスクドライブ。
1988年11月製造。。
おそらく製造者の指紋でしょう。写真上部の銀色部分、くっきりと見えています。33年前の…
内部は綺麗だったので掃除の必要はまったくありませんでしたが、外側は超絶に汚れていたのでクリーニング!(左写真)
フロントパネルは食器用洗剤でゴシゴシ洗い、乾かしています。
パネルを取り外す際、ツメが1つ折れちゃった。(残念)
キーボードは表面をがんばって ふき取りましたが、まるでカレーのルウのように黄色い!後日漂白剤で洗おうかな…。
キーボードを触っていて思いましたが、やっぱり、昔の品物はよくできていて、なんか人間にとてもフィットするような、使い勝手が良いような感じ がします。
そしてマニュアルは4冊ありまして、
このうち、ハードウェアマニュアルに誰かが書いたメモが はさんでありました。(左写真) なんだろう……
用紙はA4サイズで向こう側が透けて見えるほどのピラピラとした薄い紙。どこか古めかしい。最下部には「~電気工事株式会社」と印刷されていま す(社名はわからないようにモザイク処理しました)。その会社のための特製の事務用ノート?昔は自社のために専用の用紙をたぶんどこかに注文して 用意していたんでしょう。いい時代でしたね。
メモの内容をちょっと抜粋してみると、、
"PCトレーニング" 充分に活用すること。
[1] 一太郎 (裏島太郎は?ります) (※ 抜粋にて?部は読めなかった)
◎プリンタがきたら、プリンタのマニュアルを見て エミュレーション・プリンタ・モードを調べる。
…
◎逆引き一太郎をよく読むこと(むづかしかったら→マンガ一太郎購入のこと)
…
------
[1] テクノート
[2] 信長の野望
[3] 名文(一太郎の文書例集)
[4] ディス クトレーニング(MS-DOS編)
なんか、会社の事務で、初めてパソコンを導入して、最初のパソコン習得についてその方針を述べているようです。
あと、この用紙が、酒臭いぞ…。30年以上も前のものなのに?
パソコンの内部があまりに綺麗なことと合わせて考えると、30年前にある会社で事務のためにパソコンを導入し、2~3週間くらいパソコンの習得 に 努めたけど、なんらかの理由で結局使わなかった…、使わないけど、会社の事務室にずっと置いてあって、タバコのヤニとか酒盛りのにおい?にさらされ続け た…。って感じかなぁ。。
…ある時代の思い出を垣間見てしまいました。お疲れさまでした。(メモの主の方へ)
(訪問者のどんなニーズと この記事がつながるか)
前々から考えてきた UV をとうとう買いました。
もちろん本体だけ買えばいいのではなく、いくつか他に必要なものもあります。
購入日
付 (撮影) |
通称 | 型式 | 購入方法 | 価格 (税込み) |
---|---|---|---|---|
2021/9/16 |
PC-98本体(レトロ PC) | PC-9801 UV11 | オークション これ 入札が私だけ |
10,000円 送料 1,750円 |
2021/9/16 |
MS-DOS | MS-DOS 3.3C | オークション これ 即決価格に入札 |
5,600円 送料 520円 |
2021/9/21 |
フロッピーディスクドライブ(3モード対応) | YD-8U10 | 通販(中古品) これ | 2,865円 |
2021/9/21 |
ディスプレイコネクタ 変換アダプタ | サンワサプライ AD-HD15NE |
通販 こ れ | 825円 |
2021/9/21 |
フロッピーディスク | 日立マクセル製 10枚 |
通販 こ れ | 3,280円 |
予定 | N88-日本語BASIC | MS-DOS版 | オークション予定 | 3000 円~9000円 |
BASIC を 3000 円で落札したとして、合計で、27,840円。
もし、本体のフロッピーディスクドライブが故障していて、直せない場合、ドライブの交換、または外付けドライブ購入で出費するかもしれません。
以上のいろいろな購入に対応して、期待するもの(対価)は、
※2021年11月9日追記: 価値がないなんてとんでもない! 実機本体の価値は、す ぐそこで動いている実感(体感)にあります。たとえば、車が好きで車に乗りたいならカーレースのゲームよりは、実物の車のほうが強力なエンジン音を全 身で体感出来て良いでしょう。または、エレキギターが好きでエレキギターを弾きたいなら「エアギター」よりは、実物のエレキギターのほうがアンプをき かせて大音量でジャーン!!!と鳴らせば体感できるでしょう。PC-9801 も、エミュレーターよりは、実機のほうがフロッピーディスクのアクセス音やその音に合わせて何かが進む様子(ソフトウェアを作成するときのコンパイル作業が進む様子など) を生(なま)で体感出来て良い感じがします。エミュレーターにはエミュレーターの役割があるとは思いますが、「体感」に注目して見比べてみると、エ ミュレーターの動きは実機に比べて「とてもあっけない」様子で動きます。「コンパイルのコマンド入力 → リターンキー → できました」。え?もうできたの?早っ…という感じです。メカがそこにないからです。
もし、すべてがいろいろうまくいかない場合(最悪の場合)は、BIOS の ROM-IC だけ取り外して、別途電子回路を作成してデータを吸い取る、ということもありえます。
それもできない場合、「重たい飾り」(27,840円の記念品)となります。
それだけは避けたい!
(訪問者のどんなニーズと この記事がつながるか)
私が趣味でほしいと思っているレトロパソコンの PC-9801 UV を買うよりもこっちのほうが先だと思って、兄弟に誕生日プレゼントを贈りました。
以前から贈ろうと思っていて、百貨店の通販サイトにて花と食べ物を選んでおいたものが今日届いたみたいです。
食べ物はちゃんと美味しいものかどうかは食べてみないとわかりませんが、とても喜んでくれていて良かった。
(訪問者のどんなニーズと この記事がつながるか)
少し変わったものを作ったので紹介したいと思います。
プログラムの動きの「タイミング」を可視化するツールを作りました。
この記事は JavaScript の話ですが、技術書みたいな難しそうな図が並ぶので、難しく思えると思います。
ある程度、誰でも理解できるようにおおざっぱですが図の形について説明をしたいと思います。
記事の以降で掲載する "難しそうな図" の、この形の意味は、
プログラムのほうで、
LA.set( "test", "↓press" );
とすると、П の形に盛り上がり、
LA.clr( "test", "↑release" );
とすると、_ の形に戻ります。
LA.set() と LA.clr() の1番目の引数はそのグラフにつける名前で、2番目の引数はグラフの盛り上がりにつけるコメント(図中の文字)です。
たとえば、ある関数の前後に
function abc() {
LA.set( "test", "↓press" );
なにかの処理
LA.clr( "test", "↑release" );
}
このように書けば、その関数が「どのようなタイミングで、どれくらいの時間動いた」というのを この形で知ることができるわけです。
そして、下図のような ⊥ 形は、これ を横方向に →← こう圧縮した状態です。
そして、下図の形 ⊥⊥⊥⊥ は、これ の連続 が、同じく横方向に →← こう圧縮された状態です。
圧縮という言葉を使いましたが、正確には、これ の、「開始から終了までの時間があまりにも短すぎるので、開始と終了が重なっているように見える」、ということです。
以上をふまえておけば、以降の図は少し難しくなくなるかもしれません。
話は戻りまして、、プログラムの動きの「タイミング」を可視化するツールを作りました。
▼上の2つのグラフが async, Promise などの非同期処理の様子、
下の2つのグラフがフレーム(いわゆるゲームループ)とキー入力の関係を可視化している
プログラムの特定の部分の動きを表示することによって、プログラムの動作確認をより簡単に行うことができます。
このツールは読み取った動きを「タイミングチャート」(リンクは Wikipediaです)にして表示することができます。
………と言うとすごくいいものに聞こえるかもしれませんが、やっていることは、
プログラム
console.log( "A" );
プログラム
console.log( "B" );
プログラム
のような、デバッグプリントをビジュアル化しただけです。
console.log() と同じような感覚で、
プログラム
LA.set( "test" );
プログラム
LA.clr( "test" );
プログラム
こんなふうにして使います。(オプションで第2引数にコメントを書けば画面に文字が表示されます)
本当なら、イケてるツールであれば、上記のように set, clr を自分で書かなくても、”ある変数の内容を、自動的に監視して” くれると思いますが、そこまでやらなくていいかなと思いました。
(「オシロスコープ」と言っていますが、正確には「ロジックアナライザ」(ロジアナ)と言ったほうが、電気の世界の人には納得されると思います)
ツールの説明は以上にして、最初の図で示したタイミングチャートを少し説明しておきます。
下図のタイミングチャートは、async, await, Promise の動きを示したものです。
Promise って調べていると、たびたび自動契約機の「プロミス」が出 てきますが、もともとの単語が Promise(約束)で同じってだけで、もちろん両者に関係はありません。
日常の「約束」は
”何か約束をして、その 約束が果たされるのを待つ”
ということを行いますが、ここで言う Promise も、
”何か仕事を頼んで、そ の仕事が終わるのを待つ”
ということを行います。
(JavaScript の Promise について、そのように説明しているWeb ページを他に見たことがありませんが、私はそのように理解しています。Promise のもともとの意味が「約束」であり、その「約束」が JavaScript のプログラムのどの部分を指しているのか、公式の説明はありませんので、私の説明が正しいとも言い切れません。そのへんご注意ください。Promise は JavaScript だけのものではなく、C# とかにもあったと思うので、そっちのほうで名前の由来の説明があるかもしれません)
async, await, Promise の話は少し難しいかもしれません。
同じような説明はこれまでも何度かしましたが、async, await, Promise を使うと、関数を await の時点で停止することができ、Promise の sigotoOk(下記プログラム内参照。一般的には「resolve(解決する)」と呼ばれている)で再開することができます。
test() {
story();
console.log( "'returned from async func'" );
}
async function story() {
alert( "Hello" );
await new Promise( function( sigotoOk ) {
setTimeout( sigotoOk, 3000
);
} );
alert( "World !" );
}
test() を実行すると、async の付いた story() 関数を実行します。
story() 関数は await の部分で一時停止し、setTimeout() で3秒待った後、sigotoOk を実行します。すると一時停止が解除され、await の次の行へ進みます。
これまでこのWeb ページ上で一度も説明したことがなく、ほかのwebサイトでもあまり説明されていないと思いますが、await を実行した時点で、実は処理は二手に分かれて、1つは setTimeout() 等、sigotoOk(resolve)の実行を待ちますが、もう1つはなんと、story() を「ぬけて」、test() 内のstory() を呼び出した行の次の行へと移ります。
この「ぬける」というのは暗黙的な return であって、試しに result = story(); とすると、result には Promise オブジェクトが入っています。
その意味を知るのもまた難しい(わたしもよくわからない)ので、ここでは説明しません。
この await まわりの動きを可視化したくて、タイミングチャートを作ったんです。
(同じ画像の再掲示)
タイミングチャートでは、図中の上のチャートの "↓called async func" のところで story() が起動され、下のチャート story() の "↓await" のところで、すぐに "returned from async func" となっているのがわかります。
これは「await が実行されると、処理は2つに分かれ、1つは async の関数をぬける」ということを示しています。
一方で story() のほうでは、"↓await" のところで、setTimeout により3秒待ってから sigotoOk(resolve)が実行され、await の行の次の行に入るのがわかります。(説明のために 3秒と言っていますが、グラフは本当は 3秒ではなく、 50ms です)
もう1つのタイミングチャートでは、requestAnimationFrame() による関数の実行(ms単位の定期的な繰り返し実行、いわゆるゲームループと呼ばれているもの)と、キーの押下の様子を示しています。
キーは3回連打しています。
その1つ1つの打鍵(読み:だけん)のなかで、一瞬のボタン押しにもかかわらず、requestAnimationFrame() は3~4回実行されているのがわかります。
requestAnimationFrame() ではなく、setTimeout() で同じチャートを作ってみると下図のようになります。
(※ 1 以降の「実際に使用してみた」の文からも参照)
setTimeout( frame, 100 ) としていて、100ms ごとに frame() が実行されるようにしているので、frame ごとの間隔が広いですね。
3回連打のうち、一瞬のボタン押しに対し frame が一度も実行されないまま、キーの押し下げが終わっている場合があります。(連打の2回目。1回目もあやしい)
これだと、人間にとっては、1回、すばやくだけど、ボタンを押したのにプログラムが反応しない…、ということになってしまいます。
(frame のなかで押されたキーを処理しているので)
じゃぁ、間隔を短くすれば??と思って、100ms を requestAnimationFrame() と同じくらい短く、15ms にしてみました。
これならキーの取りこぼしはなさそうです。
でも setTimeout() で 15ms 間隔というのは CPU に負担をかける気がします。
それに、frame の間隔が、requestAnimationFrame() と比べると、少しまちまちになっている様子も見て取れます。
そんな感じで、このオシロスコープ(ロジアナ)によって、いろいろ分析することができるようになります。
このツールは作り途中のもので、今後、もうちょっと改善する予定です。
現在作成中の RPG にて、このオシロスコープ(ロジアナ)を使ってみました。
▼現在作成中の RPG
「街からフィールドへ出る」というイベントスクリプトで、そのスクリプトの実行の最中(街の景色がフェードアウトして、フィールドの景色がフェードイン する というスクリプトの最中)に、街から出るために押していた方向キーを放すと、キーを放しているのに フィールドに出た瞬間に一歩その方向へ動いてしまう、、という不具合があって、どうしてそうなるのかわからず困っていました。(もともとこの不具合のためにオシロスコープ を作ろうと思ったのでした)
▼オシロスコープ(ロジアナ)は対象(RPG)の画面上に表示される
ちなみに、上図で赤く○した部分にキーの情報が表示されていますが、これは、オシロスコープ(ロジアナ)への命令 log() で…
LA.log( "'exit' story", 0, this.keys.length );
…のようにして、第3引数にキーの情報をセットして表示させています。第3引数はオプションであり、指定すればグラフにコメント付け加えることができま す。
タイミングチャートをながめて考えて、解決の見当が付きました。
キーが放されたときのプログラムについてこうなっていたのを…↓
(すばやいキー入力のためプログラムが検知できない場合(上記※1) の対処を書いている)
(押されたキーの情報(キーコード)をマイナス値にすることで、「キーは放されたがまだ処理されていない」ことを示す)
このように直しました。↓
(キー情報 this.keys からキー情報(キーコード)をこの時点で完全に削除するようにした)
(requestAnimationFrame() のようにframeの間隔が短いときは、すばやいキー入力でも検知されるので、キーの取りこぼしの対処は不要)
(プログラムが検知できないほど素早く1回だけキー入力した場合は setInterval( frame, 100 ) のようにframeの間隔を長くしたときに問題になるのであって、requestAnimationFrame() のようにframeの間隔が短いときは問題ないので対処の記述は削除してよい)
それであらためてタイミングチャートを表示させると、キーの情報は0件になりました。
それで「フィールドに出た瞬間に一歩その方向へ動いてしまう、、」という不具合は、めでたく解消されました。
(厳密には、変更したプログラムによって他に問題が出ないか確認しないといけませんが)
実際に使って、また変更を加えたので、その変更後のオシロスコープ(ロジアナ)プログラムを掲載しておきます。
(訪問者のどんなニーズと この記事がつながるか)
すっかり忘れていましたが、NHK のニュースサイトに「茨城県知事選 きょう投票」の文字を見て思い出しました。
今日が投票日だったのか!
たまたま早起きして NHK のニュースサイトを見たので、気が付きました。
でも、投票に行こうにも、候補者のことを全然知らない…
選挙で選ぶ候補者のことを全然知らないのに、適当に名前を書いて投票する??
そんなやり方で投票しても何も良いことはないだろうと思って「行かないことにしようか」と思いました。
――でも、候補者が何を考えているのかという情報が全然ないわけではないと思って、茨城県のホームページを開きました。
するとちゃんとトップページにありましたねぇ
そのリンクをクリックした先のページの、このリンクをクリックして…
表示されるページにて、
この「選挙公報」かなと思って PDF を開きました。
それで公示に書かれた、候補者のアピールの文面を読みました。
(画像リンクは茨城県の PDF を開きます。ただし選挙期間が過ぎればすぐにリンク切れすると思います)
無所属の田中さんと、現職の大井川さん。選挙に興味のない人にはつまらない話かもしれませんが…
田中さんも良いことを考えているようで、雇用を増やすとか、非正規雇用をなくすとか、最低賃金を時給1500円にするとか、その辺で私の心は動きまし た。しかし、今コロナウイルスとか大変な時期にわざわざリーダーを変えることもないだろう…とも、いろいろ考えました。
公示を見ることで初めて候補者の考えについて、こちらも考えることができました。
私はあれこれ調べて自分の考えを持つところまでたどり着きましたが、多くの人はそこまでたどり着かないのではないでしょうか(無関心)。
▼「投票所入場券」の記載
郵便で送られてきた「投票所入場券」には上図のように、「新聞折込に公示を入れて配布」と書かれています。
私は新聞は とっていないのでその公報(=公示)の配布を受け取ることはなく、役所には用がなければいかないし、公報の郵送を頼むのも簡単じゃない気がします。入場券が郵便で届いたと きは「いつもの入場券が来たな」くらいにしか思わなかったので、候補者情報がホームページにあるとは気づきませんでした。
また、日ごろ生活をしていて目に付くところに選挙のお知らせは他にありませんでした。
”選挙がありますよ” という情報は入場券が郵便で届いたということでしかわからないし、候補者の情報はホームページでしか知ることができないという状況です。これでは投票率は上がらないだろう なと思いました。
上図の「選挙公報について」をもっと大きくするとか、Vtuber のひよりちゃんをその入場券に印刷するとか、そうすればもっと活性化できるんじゃないかなと思いました。
選挙の働きかけのとぼしさはともかくとして、さきほど選挙に行ってきましたが、行ってきて良かったです。
「自分の一票なんか、あってもなくても同じだ」。日本のほぼ全員が同じように感じていると思います。
同じように感じていながら、選挙に行く人と、行かない人の違いがありますねぇ。
たとえの話ですが、はんだ付け作業では、目の保護のためにゴーグルをつけたり、作業が終わったらコテ先の酸化を防ぐためにコテ先に はんだを乗せておくのがベストです。
また、あまりなじみはないと思いますが、モデルガンを使って遊ぶ「サバイバルゲーム」(リンクは Wikipedia です )では、BB弾などによる負傷を防止するためのゴーグル、プロテクター、グローブなど必要なものをきちんと装備して遊びます。
でも、それらはいちいち用意しなくても、はんだ付け作業はできるし、モデルガンで遊ぶこともできます。
選挙も同じで、選挙に行かなくたって、生活できます。
しかし、その場に必要なものをきちんとそろえて臨むと、一種の安心感というか、満足感というか、どこか格別の意識を得られます。
日ごろから選挙に行かない人は試しに行ってみてはどうでしょうか。
行っても物理的に何も得られないことは確かですが、意識は得られると思います。
でも正直言うと、昔仕事で一緒だった人が「選挙に行かない人は、政治について語る資格がない」と言っていたことがあり、それが今でも頭に残っていて、そ の言葉に突き動かされて選挙に行っている、というところもあります。
(訪問者のどんなニーズと この記事がつながるか)