2019年11月15日金曜日

Old Standbyについて、熱く語ってみる②


「Old Standbyについて、熱く語ってみる①」のつづきです。今回は妄想爆裂編です。


♪♪♪


Hohner社的には、Old Standbyという製品はどういう位置づけなんだろうと、Hohnerのページを見てみたのですが、製品リストにありません。

あれ?

そして輸入代理店のモリダイラのページにはMarine Bandラインの一機種として載っていますが、ちょっと気になる記述があります。

*注:海外で販売されているOld Standbyとは仕様の異なる日本国内でのみ販売されるオリジナルの製品です!


ん?どゆこと?


そこで困ったときのWikipediaです。Wikipedia(ja)の”ホーナー”の項には簡単な説明しかありませんがWikipedia(en)の”Hohner”の項を見てみると、Old StandbyはMarine Bandシリーズでも、MSシリーズでもない「その他」に分類されています。いつ頃からあるブランドかの記述はないですが、以前は人気のあるモデルだったけど90年代に樹脂製コームの中国製になって品質が落ちた、、、らしいです。

メイドインチャイナは安かろう悪かろうというのは過去の話で、今では良いものが沢山あります。でも、ことHohner社の製品に限ってはあまり評判がよくないようです。

海外仕様の中華Old Standbyは、モデルチェンジ以前のものと全く別物のようです。YouTubeでもレビュー動画がいくつもありますが、正直どれも残念な内容です。

"terrible crappy harmonica" かぁ。

ぱっと見はSpecial20っぽいですけどね。やっぱり工作精度が低いのでしょうかね?。でも、"I'm not even sure why they make them."とまで言うか(笑)。


♪♪♪


話は日本向けOld Standbyに戻りますが、どうやらこれはWikipedia(en)の言うところの90年代のモデルチェンジ以前の仕様のようです。


 この動画では、戦前のOld StandbyのNOS(いわゆるデッドストックですね)を手に入れたおじさんが、嬉々として開封動画を公開しています。いくらくらいで入手したんでしょうか。ハーモニカとはいえ、なにしろヴィンテージですからね、お高価いのでしょう。

でもこのおじさんにこっそり教えてあげたいですね。日本ではそれと大体同じモノがMarine Bandと変わらない価格で売られてるんですよ。もちろん、Made in Germanyですよ。

ちなみにこのおじさんも、Old StandbyのリードプレートはMarine Bandと同じじゃないかな、と言ってますね。


♪♪♪


結局のところOld Standbyの出自は、ネットを検索したくらいではよくわかりませんでした。

そりゃそうだ(笑)。

モノを見た限りでは、Old Standbyの改良型がMarine Bandであるように見えます。Marine Bandのプックリとしたカバープレートの形状と、音の返りをよくするためのベントが追加されている辺りが、改善された感を放っています。

ホーナー社の創業は1857年(160年以上前!)で、ハーモニカの製造で始まりました。Marine Band 1896の発売は名前のとおり1896年です。仮にMarine BandがOld Standbyの改良型だとすると、1896年以前に作られていたのがOld Standbyなのか?、ということになります。

ちなみに、Marine Bandの歴史は、ここにまとまっていました。

でも、ここで引っかかるのはOld Standbyという名前です。21世紀の今から見れば十分”Old”ですが、当時としては”Old”というネーミングはちょっと不自然さが感じられます。

そこでひとつ仮説を立てると、Marine Bandが大幅にモデルチェンジ(1896年?)して今の形になったあと、「やっぱり昔のモデルが欲しいぞ」の声に応えて、Marine Band 1896とは別に、「Old Standby」という名前で古いデザインのモデルが発売された、とか?

これなら”Old”という名前にも納得がいきます。

また、"marine band"って海軍軍楽隊のことですよね。Marine Bandのケースにも楽団が勢揃いした写真がプリントされています。一方、Old Standbyのケースには錨が描かれています。この錨のマークは、「元」Marine Bandの名残じゃないかと。

それだっ!

この錨のデザインは、おじさんの戦前NOSの(紙製?)パッケージにも見られる歴史のあるデザインです。

パッケージには錨の絵が。

これはPinterestで見つけた1907年当時の広告(パンフレット?)の画像です。ホーナー社の創立50周年のもののようです。Marine Bandの発売から11年、日本でいうところの明治40年ですからなんと故淡谷のり子先生の生まれた年です。関係ないけど。

一番上の左が、赤地に水色の吹き出し(海水?)+黒い錨マークのパッケージ、No.34Bという型番からして、Old Standbyで間違いなさそうです。カバープレートのデザインは違いますけど。そして名前はといえば、M・Hohner'sの下に書かれているはずですが、隠れてしまっているので判別できません。残念です。

ただ、少なくとも言えるのは、Old StandbyもMarine Bandも、マイナーチェンジを繰り返しながらも100年以上の歴史があるモデルであることです。基本的な仕様が変わらず100年続いているというのはすごいですね。

「Old Standbyは元Marine Band」説は、我ながら良いところを突いているんじゃないかなとは思ってますが、所詮は根拠のない思いつきです。Hohner社のエラい人には、

全然ちげーよ、ばーか(笑)。

って言われそうではあります。ごめんなさい。

いずれにせよ、このヴィンテージスタイルのOld Standbyが買えるのは日本だけのようです。Marine Bandを愛用している方は一度試す価値があると思いますよ。


♪♪♪


こちらもどうぞ。
Old Standbyについて、熱く語ってみる①
Old Standbyについて、熱く語ってみる③
Old Standbyについて、熱く語ってみる④
Old Standbyについて、熱く語ってみる⑤(お掃除編)
Old Standbyについて、熱く語ってみる⑥(もう少しカバープレート編)
Old Standbyについて、熱く語ってみる⑦(リードの調整編)

2019年11月1日金曜日

Xcodeに関する小ネタをいくつか


Xcodeに関する小ネタがいくつか貯まったので、忘れないように書いておきます。


♪♪♪


「その一」
Xcode11.1にアップデートできない。

→ 古いXcodeをアンインストールしてから、改めてダウンロード+インストールする。

App Storeでアップデートボタンを押すとダウンロードを始めますが、ダウンロードが終わると同時にダウンロード前の状態に戻る、またアップデートボタンを押す、というループに陥りました。

原因はわかりませんが、今回が初めてではなく以前も1、2度起こりましたから、あるあるなのでしょう。


♪♪♪


「その二」
Info.plistの場所を移動したときに、再設定し直すところがTARGETS>Generalからなくなっている。

→ TARGETS>Build Stteings>Packaging>Info.plist Fileで設定する。

ここ。

確か、TARGETS>Generalにボタンが現れて、Info.plistファイルを選択するウィンドウが開くようになっていたと思うのですが、、、なくなっちゃってますね。

確かこの辺りにあったはずなんだけど。


♪♪♪


「その三」
プラグインの影響か、Documentation Comment(Alt+Cmd+/)が無効になる。

→ 証明書で再署名すると復活する。

これですね。
$ sudo codesign -f -s XcodeSigner /Applications/Xcode.app
Password:
/Applications/Xcode.app: replacing existing signature
$
詳しくは、「Vimのようなもの」をどうぞ。

プラグインはXVim2しか入れてないです。この影響なのか何なのか、よくDocumentation Commentが効かなくなってました。インストール直後は大丈夫なのですが、どこかタイミングかで気付くと使用不可になってました。

Xcode11.1にアップデートした現在、いまのところ大丈夫ですが、また無効になったらこの方法で復活させようと思います。


♪♪♪


「その四」
Assistant Editorが見つからない。どこに行ったんだ。

→ Storyboardペインの右上のリスト(?)アイコンをクリックすると、ドロップダウンリストが表示されて、その中に'Assistant'があります。

ここをポチッと。

Assistantがあります。

今後はStoryboard自体を使わなくなって、SwiftUIなのでしょうか。Appleについて行くのも大変です。


♪♪♪


「その五」
iPhoneシミュレータをダークモードにする。

→ ① シミュレータの、Settings>Developer>Dark Appearance(設定>デベロッパ>Dark Appearance)で設定する。


実機だと「画面表示と明るさ」の中にありますが、シミュレータではDeveloperの下にあるので要注意です。

この方法でもいいのですが、いちいちシミュレータのSettingsを開いて設定するのは面倒ですし、あまりさえたやり方だとは言いづらいです。

→ ② もうひとつの方法は、デバッグエリアのデバッグバーにEnvironment Overrideのアイコンがありますから、ここのInterface StyleをONにすれば動的に切り替えることができて便利です。


ただ、この方法だと、各Viewが静的に設定されているときじゃないと変わってくれません。つまり例えば下記のように、ソース上でtraitCollection.userInterfaceStyleを使って設定しているような場合には、そこを改めて通っているわけではないのでEnvironment OverrideでStyleを変えても反応しません。

そりゃそうだ。

こういったケースでは、やはり上のシミュレータの設定でスタイルを固定する必要があります。

結局のところ一長一短、ケースバイケースですね。




♪♪♪


「その六」
アプリをライト(or ダーク)モードで固定したい。

→ info.plistで、User Interface Styleを指定する。

LightもしくはDarkですね。

ソースだとこうなります。

本来ならUser Interface StyleをLight/Darkでちゃんと両方対応するのが筋ですが、ちょっと今は無理ってときは、とりあえずLightに固定しておいてAppleに怒られるまで(笑)時間を稼ぐというのも手です。

まだiOS13以前を切ることはできそうにないですから、ソースがif #available(iOS 13.0, *) {/**/}だらけになるのはちょっとなぁ〜、です。

つまりはiOS13のシェア次第ということで。


♪♪♪


「Xcodeの」というくくりとしては微妙なものも混じってますが、それはそれとして(笑)。


2019年10月15日火曜日

自作キーボード沼に入ってみた件(おまけ)


最終回と書いておきながらの、、、追記です。


♪♪♪


キーボードって汚れますよね。特に黒色だとホコリとか目立ちます。そんな事を考えていたとき、こちらのページを見てダイソーに走りました。キーボードを掃除するのに便利そうです。


もちろん100円です。

僕が買ったのはメタリックという銅色のものですが、他にパステルというのがありました。色はちょっと忘れちゃいましたが、まぁ、同じものでしょう。



そういえば、たしか掃除専用のジェルが売ってたよな、とAmazonを見てみたら、ありました。


たぶんモノは同じようなものだと思うのですが、量が多いですね。191gです。ダイソーのジェルは80gなので、2.4倍ですか。でも値段が8倍以上ですから、やっぱりダイソーの勝ちです。


♪♪♪


上のページではディスプレイにも良いって書いてありますが、ディスプレイに溶剤(たぶん水分)の跡が残るので、ちょっとおすすめできません。

これはオススメ。あなたが6歳未満でなければ。

しかしこれ、ダイソーでは「おもちゃ」として売られているんですけど、どのあたりが面白ポイントなんでしょうか?

まぁ、スライムとかもよくわからないんですけどね(笑)。



こちらもどうぞ。
自作キーボード沼に入ってみた件①
自作キーボード沼に入ってみた件②
自作キーボード沼に入ってみた件③
自作キーボード沼に入ってみた件④
自作キーボード沼に入ってみた件⑤
自作キーボード沼に入ってみた件⑥
自作キーボード沼に入ってみた件⑦

2019年10月1日火曜日

Old Standbyについて、熱く語ってみる①


なかなかうまくなりませんなぁ、ハーモニカ。

TL;DR
Old Standbyはいいぞ(笑)。


♪♪♪


普段練習にはHohnerのMarine Bandを使ってます。無印のクラッシック(正確にはMarine Band 1896/20X)です。このモデルは多くのプロミュージシャンが使用していて、アマチュアにも人気のモデルです。いわゆる「鉄板」なやつですね。

ならば、Marine Bandで良いじゃないかと言われればその通りなのですが、そこは初心者にありがちな「色々試したい欲求」がむくむくと起こってくるわけです。そこで試しにHohnerのBlues Harp、Golden Melody、Old Standbyを買ってみました。

Blues Harpは10穴ハーモニカの代名詞になったモデルですし、Golden Melodyはあの形がなかなか渋いです。これらについては別の機会に書くとして、問題はOld Standbyです。


♪♪♪


Old Standbyを選んだのには大した理由はありません。分解掃除できるMarine Band Deluxeにしようかなとも思ったのですがちょっと高価いなと。ならば、鉄板Marine Bandよりちょっぴり安いOld Standbyでいいか、見た目はさえないけどね、って感じです。

ザッツ・びんてぇじ。



♪♪♪


ところがこのOld Standby、マウスピースが薄いためかやけに吹きやすいです。Marine Bandと違ってベントがないところも僕の好みです。

見たところMarine Bandとほぼほぼ同じ大きさです。なんとなくMarine Bandとカバープレートが違うだけのような気がします。どちらもカバープレートが釘止めですから、リードプレートやコームが同じものかどうかは確かめられないのが残念です。

カバープレートが違うだけ?


カバープレートの形はMarine Bandが曲線を描くようなベル形であるのに対して、Old Standbyは直線的で単純なメガホン型です。そしてMarine Bandのほうは刻印がくっきりしているのに対して、Old Standbyは、なんだかこう、はっきりしません。ヴィンテージ感を出すための演出でしょうか。

左がOld Standby

Marine Bandのようにふっくらしていないので、くわえた感じがすごく薄く感じますが、全体の一番厚いところはどちらも19ミリ前後で、実はほとんど変わりません。

ただ、直線的かつ傾斜しているので、ハーモニカホルダーにはちょっと挟みにくいのかもしれません。僕はハーモニカホルダーを使いませんし、持っていないので断言できませんが、ここは要注意です。

僕の一番のお気に入りポイントは、カバープレートの開口部です。Marine Bandの折り曲げ部分は単純な直線ですが、Old Standbyは謎のギザギザ装飾がクラッシック感を醸し出しています。

折り返しは音にも影響が大きいはず

見た目だけではなく、左右の折り曲げ部分以外に4箇所でリードプレートに接地してます。カバープレート自体もエンボス加工ですし、結構な強度があると思います。おそらく変形とは無縁でしょう。

この折り曲げ部分の元々の目的は、強度を増してカバープレートの変形防止だったのだろうと想像しますが、結果的に音の性格を左右することになっています。SUZUKIのManjiの音の明るさも、折り返しがないことと無縁ではないはずです(まぁ、あれはカバープレート自体がかなり薄いですし、他の仕様が違いすぎるので単純に比較できませんけど)。


♪♪♪


Old Standbyは音が小さいという意見がありますが、たぶんMarine Bandとそんなに違わないと思います。ベントがないぶん音の返りが少ないので、音が小さく感じられるんじゃないですかね?

代理店価格(メーカー希望小売価格?)は4,000円、サウンドハウス価格では2,680円です。しかもサウンドハウスでは時期によってポイントが増額されることがよくあるのでお得感満載です。

売れないのでしょうか(笑)。
やっぱり?

ちなみにMarine Bandは、代理店価格は4,300円、サウンドハウス価格では2,850円です。

もし違いがカバープレートだけだとすると、この価格差がどこから来るのか今ひとつわかりませんが、Marine Bandを使っている人は、一度これを試してみるのもいいんじゃないでしょうか。


♪♪♪


Old Standbyについて、熱く語ってみる②」につづきます。


こちらもどうぞ。
Old Standbyについて、熱く語ってみる②
Old Standbyについて、熱く語ってみる③
Old Standbyについて、熱く語ってみる④
Old Standbyについて、熱く語ってみる⑤(お掃除編)
Old Standbyについて、熱く語ってみる⑥(もう少しカバープレート編)
Old Standbyについて、熱く語ってみる⑦(リードの調整編)

2019年9月15日日曜日

自作キーボード沼に入ってみた件⑦


「自作キーボード沼に入ってみた件⑥」のつづき、シリーズ最終回です。


キーボード本体とファームウェアができたので、最後はキーキャップです。

当初は、せっかく自作するのだからキートップくらいはオリジナルにしよう、と考えていました。まさかプレートの塗装をすることになるとは思ってなかったですから。

こちらのページを参考に、昇華インクで印字できるかと思い、PBTのキーキャップを用意しましたが見事に失敗しました。やっぱり黒のキーキャップに昇華インクの印字はうまくいきませんでした。


うすうす気付いていましたけど。


UVプリントとかレーザー刻印とか何とかしたいところですが、当面は無刻印で使うことにしました。

無刻印で使うのはいいとして、購入したキーキャップはすべて同じ形ですから、ホームポジションの印が必要です。そこでダイソーのスワロフスキーを付けてみました。Pro Microのもげ防止にも使ったエポキシ系接着剤でピタッと。


というわけで完成です。めでたし、めでたし。


♪♪♪


最後に一通りパーツをリストアップしてみます。

「必須のパーツ」
[Keebio]
  • Iris rev.2 PCB $17.99
  • Iris用アルミプレート $27.99
  • 送料 $24.22
合計 $70.20(7,842円)

[遊舎工房]
  • Kailh BOXスイッチ(10個×6) 2,520円(税抜き)
  • 送料 300円(税抜き)
合計 3,046円(税込み)

[TALP KEYBOARD]
  • Pro Micro ATmega32U4 5V/16MHz(2個) 1,100円(税込み)
  • DSA PBT キートップ(2個×30) 3,300円(税込み)
  • 送料 300円(税込み)
合計 4,700円(税込み)

[Amazon.co.jp]
  • TRRSケーブル 820円(税込み)
  • ゴム足 358円(税込み)

[ありもので間に合わせました]
  • USBケーブル


全部で16,408円ですか。送料とかパーツの選定を工夫すれば、もう少し安く上げられるかもしれませんが、まぁまぁな金額でしょうか。キースイッチやキーキャップはロット数があるので、ぴったりの数でなく、数個あまります。

Keebioはドル建てなので、レートによって若干上下します。rev.3も発売されましたから、そっちだともう少し高価くなるかもしれません。

ゴム足は必須かというと微妙ですが、なしでは滑りますし机も傷つきそうです。


♪♪♪


「必須の道具、その他」
  • ハンダごて
  • ハンダこて台
  • ハンダ
  • ドライバー
  • ニッパー
  • カプトンテープ
  • エポキシ系接着剤

自作キーボード界隈では温調機能が付いたハンダごてが推奨されているようです。たしかに、キーボードはハンダ付け箇所が多いので温調機能があると便利ですが、ある程度慣れているなら普通の30Wくらいのもので十分だと思います。熱に弱いのはダイオードとLED(光らせたい人だけですが)くらいですし。

と、思いましたが、ちょっと見てみると温調付きでも安いものもありますね。んー、新しく買うならやっぱり温調付きなのかなぁ。

カプトンテープは、マスキングテープでもいけそうですが、高価いものではないですから、やっぱりカプトンテープを用意した方がいいと思います。

エポキシ系接着剤は、Pro MicroのUSBソケットのもげ防止に使います。


♪♪♪


「あると便利」
  • ピンセット
  • テスター
  • ハンダ吸い取り線(もしくはハンダ吸い取り器)
  • ハンダごてのコテ先クリーナー
  • 耐熱ゴムの作業マット
  • マグネット式のUSBアダプター

ピンセットはPro Microの書き込みテストで使います。もし面実装のパーツを使うときには、ハンダ付けで必須となります(やったことないけど)。

テスター、ハンダ吸い取り線(もしくはハンダ吸い取り器)は、上手くいかなかったときに必要となります。幸運なことに、今回は出番はなかったです。

コテ先クリーナーは、こて台付属のスポンジでも十分ですが、おすすめは金属たわしみたいなやつです。

マグネット式のUSBアダプターは、Pro MicroのUSBソケットのもげ防止のためですが、これがあるとUSBの抜き差しが格段にらくになるのでおすすめです。ちょっと掃除しようとしたときなんかに便利です。

ただ、当然ながらデータ通信ができるものが必要です。うっかり充電専用を買ってしまわないように注意です。


♪♪♪


「塗装に使用したもの(誰もやらないと思いますが)」

[ホームセンター]
  • ボデーペンプラサフ 832円(税抜き)
  • ボデーペン(つや消し黒) 1,093円(税抜き)
  • シリコンオフ(ミニ缶) 554円(税抜き)
  • 耐水ペーパー(#120, #240, #2000) 54円(税抜き)×3枚

[その他]
  • マスキングテープ
  • ガムテープ
  • 角材(割り箸でも可)
  • 古新聞
  • ガムテープ

♪♪♪


最後に心残りといいますか、自分に宿題をいくつか。
  • オリジナルのキートップ
  • パームレスト

オリジナルのキートップは上に書いたとおりです。遊舎工房のオリジナルプリントキーキャップが始まりましたが、1個1,000円ですからちょっと無理ですね。どうしたものでしょう。

足というのは、ちょっとわかりにくいですね。ゴム足を付けたじゃないかと。

ゴム足を付けただけだと、キーボードは平面にペタッとしている状態ですが、これの親指側を上げた形で傾けたいのです(チルトっていうのかな)。そのためにくさび形の足を付けたいなと。3Dプリンタの出力サービスを利用して何とかならないかなと思っています。


♪♪♪


というわけで、今では国内でかっこいいオリジナルキーボードのパーツが入手できるのに、今さらなぜIrisなのかと思わなくもないですが、なかなか満足度の高いキーボードです。周回遅れなのはわかってますが(笑)、楽しいですよ。


♪♪♪


こちらもどうぞ。
自作キーボード沼に入ってみた件①
自作キーボード沼に入ってみた件②
自作キーボード沼に入ってみた件③
自作キーボード沼に入ってみた件④
自作キーボード沼に入ってみた件⑤
自作キーボード沼に入ってみた件⑥
自作キーボード沼に入ってみた件(おまけ)

2019年9月1日日曜日

「30日でできる! OS自作入門」をどう読むか?


名著と名高い「30日でできる! OS自作入門」を読み始めました。

なんだよ、「Blender2.6マスターブック」の次はこの本についてだらだら書いていくのかよ、とお思いかもしれませんがそうではありません。「OS自作入門」の内容については既に色んな方が書かれているので、僕がつたない知識で解説なんておこがましいです。

じゃぁ何だよ。

この本、残念なことにちょっと古いです。2006年初版です。Windows Vistaがリリースされた年です。世間的にはXPがバリバリ主流の頃です。9x系だってまだ現役だったはずです。

そのため、いかに名著といえどもサンプルコードがそのままだと動かないので、そこのところをどうしたかということを書いておこうと思います。少しググればすぐにヒットしますから、この本を読むような層には不要かもしれませんが、30日どころか、初日で躓いて読むのをやめることになってしまうのはもったいないです。


♪♪♪


まず「30日でできる! OS自作入門」自体ですが、紙の本の他にKindle版もあります。ちょっとお得に買えます。古い本なので、古本も豊富です。古本だと著者さんに印税が入らないですけど、その辺りはお財布と相談してお好きなものをチョイスしてください。

付属のCD-ROMは絶対必要です。でもありがたいことに、この本のサポートサイトでISOイメージが公開されているので、CD-ROMが欠品していても大丈夫です。

サンプルコードを動かすマシンは素直にWindows機を用意しましょう。Macでもいけるという話もありますが、ムダな苦労はしないのに越したことはないです。

僕は最初古いWindows7機を引っ張り出してきて使いましたが、ディスプレイが小さくて辛かったので、途中からMacのBoot Camp上のWindows10で進めることにしました。

アセンブラやC言語を書くためのエディタは、お好きなものを使ってください。僕はいつものVSCode+Vimプラグインです。



1日目のhelloos.imgを編集するためには16進のエディタが必要ですが、xeditというフリーソフトを使いました。適当に選んだのでこれがベストかどうかはわかりませんが、とりあえずちゃんと動いたのでよしとします。


♪♪♪


ディレクトリ構成はドキュメント(Documents)フォルダの中に以下のように作成しました。
C:Document
├─Days30
│  ├─CD
│  └─tolset
│      ├─helloos0
│      │  ├─!cons_nt.bat
│      │  ├─helloos.img
│      │  ├─install.bat
│      │  └─run.bat
│      ├─old
│      │  └─※省略
│      ├─z_new_o
│      ├─z_new_w
│      ├─z_osabin
│      └─z_tools
│          ├─guigui00
│          ├─haribote
│          ├─osa_qemu
│          ├─qemu
│          ├─qemu_9x
│          ├─win32
│          ├─※省略
│          ├─imgtol.com  ←これ!
│          ├─※省略
│          └─wce.exe
CDフォルダには、付属のCD-ROMの中身をすべてコピーしておきます。このなかから、随時プロジェクト(例えばCD¥projects¥01day¥helloos0)をtolsetフォルダの直下にコピーして、編集して使用します。

フォルダをコピーしたら、まず!cons_9x.batは削除します。!cons_nt.batしか使いません。

次は用意できるものによって変わってきます。MacのBoot Campの場合は、フロッピーでブートできませんから(できないよね?)、エミュレータを使うしかありません。そのまま!cons_nt.batで開いたコマンドプロンプトでrun.batを実行します。

Windows機が用意できた方でも、フロッピディスクードライブが用意できなかった場合は、やっぱりMacのBoot Campと同様にエミュレータを使うしかありません。

フロッピーディスクドライブが用意できた方は、ここに書かれているように、imgtol.comを上書きしてから、install.batを修正してディスクを作成して、フロッピーで起動することができます。

そのまま続けていくとtolsetの下がいっぱいになってごちゃごちゃになりますから、次の章に行くときにoldフォルダに放り込んでいきます。必要なときには随時oldからtolsetに戻して動かせばOKです。


♪♪♪


この本ではフロッピーディスクの解説がされていますし、せっかくなのでできれば三日目くらいまではフロッピーディスクを使いたいところです。身近なオジサンに聞いて回ればUSBのフロッピードライブを持っている人がいるかもしれません。ひょっとすると、使っていないフロッピードライブ内蔵のPCが借りられるかもしれませんよ。


2019.10.31追記
「30日で〜」の著者が監修をしている、「作って理解するOS x86系コンピュータを動かす理論と実装」林 高勲(著), 川合 秀実(監修)という本が出てました。「30日で〜」の後継に当たる本なのでしょうか。
悔しいので、僕は「30日で〜」を読んでいくことにします(涙)。



2019年8月15日木曜日

自作キーボード沼に入ってみた件⑥


「自作キーボード沼に入ってみた件⑤」のつづきです。


ハード的に出来上がったので、次はファームウェアです。Pro Microの書き込みテストにはQMK Toolsを使いましたが、前回書いたように、今ひとつ調子が悪いのでQMK firmwareをそのまま使います。

まずはhomebrewのupdate, upgradeして、さらにdoctorでエラーはもちろん、ワーニングも消しておきます。これ大事。前回に続いて2度目です。
$ brew update
Already up-to-date.
$ brew upgrade
$ brew doctor
Your system is ready to brew.
$

適当なディレクトリに、QMK firmwareをcloneします。
$ cd fuga/
$ git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
Cloning into 'qmk_firmware'...
remote: Enumerating objects: 166138, done.
remote: Total 166138 (delta 0), reused 0 (delta 0), pack-reused 166138
Receiving objects: 100% (166138/166138), 125.98 MiB | 1.21 MiB/s, done.
Resolving deltas: 100% (108911/108911), done.
Checking out files: 100% (10943/10943), done.
Submodule 'lib/chibios' (https://github.com/qmk/ChibiOS) registered for path 'lib/chibios'

※省略

Receiving objects: 100% (24906/24906), 16.42 MiB | 1.33 MiB/s, done.
Resolving deltas: 100% (16001/16001), done.
Submodule path 'lib/chibios': checked out '587968d6cbc2b0e1c7147540872f2a67e59ca18b'
Submodule path 'lib/chibios-contrib': checked out 'ede48346eee4b8d6847c19bc01420bee76a5e486'
Submodule path 'lib/googletest': checked out 'ec44c6c1675c25b9827aacd08c02433cccde7780'
Submodule path 'lib/ugfx': checked out '3e97b74e03c93631cdd3ddb2ce43b963fdce19b2'
$ 

cloneしたQMK firmwareのディレクトリに移動して、インストールします。
$ cd qmk_firmware/
$ util/qmk_install.sh
Already up-to-date.
==> Installing avr-gcc@7 from osx-cross/avr
==> Downloading https://gcc.gnu.org/pub/gcc/releases/gcc-7.4.0/gcc-7.4.0.tar.xz
Already downloaded: /Users/hoge/Library/Caches/Homebrew/downloads/8b80c959666a423edc65d1fa057cf52e3bb84f33d23e31c0b40b7b7cd93c5ad9--gcc-7.4.0.tar.xz
==> ../configure --target=avr --prefix=/usr/local/Cellar/avr-gcc@7/7.4.0 --libdir=/usr/local/Cellar/avr-gcc@7/7.4.0/lib/avr-gcc/7 --enable-languages=c,c++ --wit
==> make
==> make install
==> Downloading https://download.savannah.gnu.org/releases/avr-libc/avr-libc-2.0.0.tar.bz2
==> Downloading from https://nongnu.freemirror.org/nongnu/avr-libc/avr-libc-2.0.0.tar.bz2
######################################################################## 100.0%
==> ./configure --build=i686-apple-darwin18.5.0 --prefix=/usr/local/Cellar/avr-gcc@7/7.4.0 --host=avr
==> make install
==> Caveats
avr-gcc@7 is keg-only, which means it was not symlinked into /usr/local,

※省略

==> Pouring dfu-util-0.9.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/dfu-util/0.9: 11 files, 115.7KB
==> Caveats
==> avr-gcc@7
avr-gcc@7 is keg-only, which means it was not symlinked into /usr/local,
because it might interfere with other version of avr-gcc. This is useful if you want to have multiple version of avr-gcc installed on the same machine.

If you need to have avr-gcc@7 first in your PATH run:
  echo 'export PATH="/usr/local/opt/avr-gcc@7/bin:$PATH"' >> ~/.bash_profile

For compilers to find avr-gcc@7 you may need to set:
  export LDFLAGS="-L/usr/local/opt/avr-gcc@7/lib"

Linking /usr/local/Cellar/avr-gcc@7/7.4.0... 20 symlinks created

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/avr-gcc@7/bin:$PATH"' >> ~/.bash_profile
$ 


♪♪♪


動作チェックとして、デフォルトのキーマップを書き込みます。

早速左右のキーボードをTRRSケーブルで接続して、左手側のPro MicroにUSBケーブルを挿します。

キーマップをコンパイル(hexファイルを生成)します。ディレクトリは、cloneしたQMK firmwareのディレクトリのままです。
$ make keebio/iris/rev2:default
QMK Firmware 0.6.328
Making keebio/iris/rev2 with keymap default

avr-gcc (GCC) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling: keyboards/keebio/iris/iris.c                                                             [OK]
Compiling: keyboards/keebio/iris/rev2/rev2.c                                                        [OK]
Compiling: keyboards/keebio/iris/keymaps/default/keymap.c                                           [OK]
Compiling: quantum/quantum.c                                                                        [OK]
Compiling: quantum/keymap_common.c                                                                  [OK]
Compiling: quantum/keycode_config.c                                                                 [OK]

※省略

Compiling: lib/lufa/LUFA/Drivers/USB/Core/Events.c                                                  [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.c                                         [OK]
Compiling: lib/lufa/LUFA/Drivers/USB/Core/USBTask.c                                                 [OK]
Linking: .build/keebio_iris_rev2_default.elf                                                        [OK]
Creating load file for flashing: .build/keebio_iris_rev2_default.hex                                [OK]
Copying keebio_iris_rev2_default.hex to qmk_firmware folder                                         [OK]
Checking file size of keebio_iris_rev2_default.hex                                                  [OK]
 * The firmware size is fine - 23244/28672 (5428 bytes free)
$ 
hexファイルはQMK firmwareの直下に、keebio_iris_rev2_default.hexの名前で作成されます。これを使えばQMK Toolsで書き込みができるのでしょうが(未確認)、ここではコンパイルが通ることだけを確認します。


今度は、末尾に”:avrdude”を付けて、コンパイル&書き込みを行います。

’’Detecting USB port, reset your controller now....”の表示がでたら、キーボードのリセットスイッチをポチッと押します。そうすると書き込みが始まります。
$ make keebio/iris/rev2:default:avrdude
QMK Firmware 0.6.328
Making keebio/iris/rev2 with keymap default and target avrdude

avr-gcc (GCC) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Size before:
   text    data     bss     dec     hex filename
      0   23244       0   23244    5acc .build/keebio_iris_rev2_default.hex

Compiling: tmk_core/common/command.c                                                                [OK]
Linking: .build/keebio_iris_rev2_default.elf                                                        [OK]
Creating load file for flashing: .build/keebio_iris_rev2_default.hex                                [OK]
Copying keebio_iris_rev2_default.hex to qmk_firmware folder                                         [OK]
Checking file size of keebio_iris_rev2_default.hex                                                  [OK]
 * The firmware size is fine - 23244/28672 (5428 bytes free)
Detecting USB port, reset your controller now.................               ←ここでポチッと!!
Device /dev/tty.usbmodem14101 has appeared; assuming it is the controller.
Waiting for /dev/tty.usbmodem14101 to become writable.

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.

※省略


avrdude: input file .build/keebio_iris_rev2_default.hex contains 23244 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.17s

avrdude: verifying ...
avrdude: 23244 bytes of flash verified

avrdude: safemode: Fuses OK (E:FB, H:D8, L:FF)

avrdude done.  Thank you.

$ 


♪♪♪


無事書き込みができたら、Macデフォルトのキーボードビューアを使って、すべてのキーが動作するか確認します。

システム環境設定の「メニューバーにキーボードビューアと絵文字ビューアを表示」にチェックを入れて、メニューバーからキーボードビューアを開きます。

チェックを入れます。


キーボードビューアを表示を選択。


キーボードビューア

上手くいかない原因はケースバイケースですが、特定のキーだけが効かないときに、最初に疑うべきはハンダ付けのし忘れです。ハンダ付け箇所が多いのでありがちです。

わたくし、一カ所忘れてました。


♪♪♪


ハードウェアに問題がないことが確認できたら、キーマップのカスタマイズです。

上記のデフォルトのキーマップは、qmk_firmware/keyboards/keebio/iris/keymaps/のdefaultディレクトリにありますので、このディレクトリを同じ場所に別名でコピーして作成します。

$ cd keyboards/keebio/iris/keymaps/
$ cp -r default piyo
$ ls -la
total 16
drwxr-xr-x@ 42 hoge  staff  1344  5  1 00:58 .
drwxr-xr-x@ 14 hoge  staff   448  5  1 00:49 ..
-rw-r--r--@  1 hoge  staff  6148  5  1 00:58 .DS_Store
drwxr-xr-x@  4 hoge  staff   128  4 30 08:28 ave-63
drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 bmoorey
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 broswen
drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 davidrambo
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 dbroqua
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 default        ←これをコピーして
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 drashna
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 drashna_lp

※省略

drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 olligranlund_nordic
drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 omgvee
drwxr-xr-x@  5 hoge  staff   160  5  1 00:54 piyo           ←これを作成
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 rdhaene
drwxr-xr-x@  7 hoge  staff   224  4 30 08:28 rs
drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 s1carii
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 saviof
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 swedish
drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 transmogrified
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 via
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 vyolle
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 wanleg
drwxr-xr-x@  5 hoge  staff   160  4 30 08:28 xyverz
drwxr-xr-x@  6 hoge  staff   192  4 30 08:28 yanfali
$

キーマップは3つのファイルで構成されています。
$ ls -l piyo/
total 48
-rwxr-xr-x@ 1 hoge  staff    867  5  1 00:54 config.h
-rwxr-xr-x@ 1 hoge  staff  12387  5  1 00:54 keymap.c
-rwxr-xr-x@ 1 hoge  staff     45  5  1 00:54 rules.mk
$ 

主に修正するのはkeymap.cになりますが、まずはこのままコンパイルしてみます。方法はデフォルトと同じですが、defaultの部分をコピーして作ったディレクトリ名に変更します。

QMK firmwareのディレクトリに戻ってmakeします。書き込みも同じように後ろに:avrdudeを付けます。
$ cd fuga/qmk_firmware/
$ make keebio/iris/rev2:piyo
※省略
$ make keebio/iris/rev2:piyo:avrdude
※省略
$

後は、QMK firmwareのドキュメントを見ながら、新しく作ったキーマップファイルを自由にカスタマイズします。

これで頑張ってHammerspoonで設定する必要がなくなりました。


さよならHammerspoon、今までありがとう。
あとKarabinerも。


参考になるかどうかはわかりませんが、ここに僕のキーマップを置いてありますので、よかったら見てみてください。サブレイヤーもひとつですし、tap danceも何箇所か使ってます。

Escを左手の親指という特等席に置いたVimmer仕様にしたため、数字キー(一番上の段)が左にずれて、なかなか慣れません(笑)。


♪♪♪


そして次回は、キーキャップとまとめです。


♪♪♪


こちらもどうぞ。
自作キーボード沼に入ってみた件①
自作キーボード沼に入ってみた件②
自作キーボード沼に入ってみた件③
自作キーボード沼に入ってみた件④
自作キーボード沼に入ってみた件⑤
自作キーボード沼に入ってみた件⑦
自作キーボード沼に入ってみた件(おまけ)