YAMAHAのピアノプレーヤ PPC100RのFDDを自力で汎用のスリムFDDに交換

はじめに

主人公のピアノ

我が家には1995年当時のサイレントアンサンブルピアノがある。つまり、自動演奏ピアノを持っているということだ。これはフロッピーディスクを読んで演奏できるもの。

改造前。ディスプレイ部も映らなくなっている。

なんだが、2015年くらいにはフロッピーが読めなくなっていた。そのとき僕はPPC100Rを分解して適当に触っていたが、たぶんそのときにFDDのヘッドのシークする部分を壊して復活不能にしてしまった。シークしなくなった。モーターがダメになったのだろうか。今年2025年にFDDを見直したら、単純に電解コンデンサーがダメになってただけだった。今更コンデンサーを交換してみたが、FDDの動きがよくなってもシークしないためにフロッピーが読めない。

たまたま2010年代に1990年代後半頃のものと思われるIBMのノートパソコン用の外付けスリムFDDを入手していた。その時はポン付けで直せるかと思って購入したが、どう見てもFDDの内部コネクターの形が違う。それで諦めて放置というか保管していた。

今ならいろいろ知ってるし作業できそうだということで、FDD交換に挑む。

電源の修理

まずはピアノプレーヤの電源が入らないので、電源を修理する。

電源が入るようになった。

ディスプレイの整備

ディスプレイも見えなくなっている。ディスプレイが見えないと各種操作が困難なので直す。これもコンデンサーの不具合らしいので修復に挑戦したが、基板パターンの断線多数で、はんだごてを当てて直そうとして小さいチップの水晶を飛ばしてしまったのでディスプレイの修復は諦めた。

代わりのディスプレイを探す。まったく同じサイズのディスプレイは売っていないようで、ヤマハの修理窓口に電話したが部品だけでは売ってくれないという。工賃込みで4万円でディスプレイが治るというが、どう考えても高い。この古い自動演奏装置にそんなにお金かけるつもりはないので、アリエクでありあわせの部品を探す。横24文字縦2文字のディスプレイ、カタカナ対応で探すと見つかった。LC2421。接続のピン数もちょうどよさそうだ。

アリエクの部品 825円

使えるかどうかはわからないが注文。届いた。純正のディスプレイの線をもらって接続することにした。とりあえず純正品の接続を覚えてLC2421のデータシートとにらめっこ。どうもピン番号とケーブルの色(カラーコード)が対応してるっぽいので、そのように接続。LCDの電源に供給すべき電圧が異なるようなので、1kΩの抵抗で適当にした。そして映るようになった。

ディスプレイ接続成功

作業の途中で知ったが、なんと同じ部品でディスプレイ接続している例があった。これなら絶対接続できるんだろうなと自信をつけた。それを真似て、セリアで買ってきたアクリル板を加工してディスプレイが自立できるようにした。

ディスプレイを自立させる

これでディスプレイの整備はおしまい。

FDDの交換

本題のFDDの交換。FDDの修理は前出の通り失敗したので、交換を目指す。

実はこれもヤマハ純正部品があるみたいなんだけど、部品だけで提供してくれないくせどうせ金かかるし金かけたくないので自作で。30年前のピアノプレーヤなんて将来性ないし

FDDのコネクター回り

FDDは26ピンの1.25mmのFFCで接続されていた。26ピンというと一般的なスリムFDDと同じピン数である。これは接続の期待が高まるな、と思いつつ、FDDコントローラーの仕様を調べる。

FDDのコントローラー HD63266F

FDDコントローラーにはHD63266FFが使用されていた。

データシートを参考にしながらピンアサインを解析すると以下のようになった。以下の図はスリムFDDとの接続も表記してある。

Head Selectが写真奥のピン、手前が5V。
黄色印のピンは不使用とした。緑印はGNDが間にあるよということ。

ということで、電子工作をする。以下のパーツを作成した。

FDDコネクターの変換器

1.0mmピッチのスリムFDD側コネクターとのはんだ付けは大変だった。はんだ付けが正しくつくまで一苦労。

スリムFDD用のFFCも用意して接続をする。

FDDの交換に成功

うまくつながった。動作の確認ができた。基板の設計図を書いて発注してもいいな。量産してもいいけど、ほしい人いるのかな?

おわりに

FDDの交換はどちらかというと別にしなくてよかったんだけど、兄弟に直ったら喜びそうな人がいて、難易度もそんなつらいものではなさそうだったのでやってみた。うまくいってよかった。

たいていの人はヤマハの修理窓口に連絡して部品を交換してもらったほうがいいよ。部品は30年キープしてくれてるようなので、1995年くらいのピアノを持ってる人は急いで直してね。僕はムダ金使いたくなかったからDIYで直したけど。

追記

ディスプレイの線でコントローラーの箱のふたが閉まらない&バックライト明るすぎだったのを直した。リボンケーブルを利用した。

ディスプレイの明るさが適切に

追記2

本体パネルを削って、外付けにしていたFDDを内蔵させた。想像よりきれいに仕上がった。

FDDを本体に内蔵

Windows標準機能だけで簡単に現在の時刻の秒数を(一時的に)確認する

はじめに

Windows 11には、タスクバーに秒数を表示するオプションができた。それを切り替えやすくするバッチを組んだので、共有する。

内容

メモ帳を起動して以下の内容をコピーしメモ帳に貼り付ける。名前をToggleSystemClockSeconds.batとして保存する。

@echo off
reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSecondsInSystemClock | find "0x0"

if %ERRORLEVEL%==0 (
goto Set_1
) else if %ERRORLEVEL%==1 (
goto Set_0
)

:Set_1
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSecondsInSystemClock /t REG_DWORD /d 0x1 /f
exit /b

:Set_0
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSecondsInSystemClock /t REG_DWORD /d 0x0 /f
exit /b

これをダブルクリック等で実行するとタスクバーの秒数表示が切り替わる。
やってることは単純で、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AdvancedというレジストリのキーにあるShowSecondsInSystemClockという値の0と1を切り替えているだけである。
何のレジストリかというと、

ここである。

これだけだとつまらないが、ショートカットファイルを作るととても便利になる。

適当なショートカットキーを設定。実行時の大きさを最小化とすると、ショートカットキーを押すだけで秒数表示が切り替わる。便利。

おわりに

標準機能で秒数を簡単に(一時的に)確認できました。

付録

ショートカットを作るバッチ

@if(0)==(0) echo off
cscript.exe //nologo //E:JScript "%~f0" %*
goto :EOF
@end

// メイン処理
function main() {
    var shortcut = null;
    try {
        // ショートカットを作成する
        shortcut = new ShortcutCreater();
        shortcut.create();

        // 作成したショートカットをコンソールに出力する
        Console.println("ショートカットを作成しました");
        Console.println(shortcut);

    } catch (e) {

        // 例外原因をコンソールに出力する
        Console.println("[error occured]: " + e.description);

        // 異常終了でコマンドを返す
        Console.back(e.number);

    } finally {

        // WSHオブジェクトを片付ける
        if (shortcut !== null)
            shortcut.cleanup();
    }

    // 正常終了でコマンドを返す
    Console.back(0);
}

// コンソール汎用クラス
var Console = ((function() {
    var constructor = function() {}
    constructor.println = echoConsole;
    constructor.back = exitScript;
    return constructor;
})())

// ショートカットを作るクラス
var ShortcutCreater = function() {
    this.wshObj = openWsh();
    this.file = this.wshObj.SpecialFolders("Desktop") + "\\秒数表示切替.lnk";
    this.link = "%USERPROFILE%\\Downloads\\ToggleSystemClockSeconds.bat";
    this.hotkey = "Ctrl+Shift+C";
    this.winStyle = 7;
    this.desc = "システム トレイの時計の秒表示を切り替える";
    this.icon = "%SystemRoot%\\System32\\SHELL32.dll,249";
    this.create = createShortcut;
    this.cleanup = closeWsh;
    this.toString = createrToString;
}

// ----- 以降関数群 -------

function createShortcut() {
    var lnkFile = this.wshObj.CreateShortcut(this.file);
    lnkFile.TargetPath = this.link;
    lnkFile.Hotkey = this.hotkey;
    lnkFile.WindowStyle = this.winStyle;
    lnkFile.Description = this.desc;
    lnkFile.IconLocation = this.icon;
    lnkFile.Save();
}

function createrToString() {
    return "file=\"" + this.file + "\", linkTo=\"" + this.link + "\"";
}

function openWsh() {
    return WScript.CreateObject("WScript.Shell");
}

function closeWsh() {
    this.wshObj = null;
}

function echoConsole(msg) {
    WScript.echo(msg);
}

function exitScript(errNum) {
    WScript.Quit(errNum);
}

// メイン処理呼び出し
main();

参考

以下の記事のバッチをベースに改変しました。
https://qiita.com/y-takano/items/b94312abc17159dce8be

[PTV-W140]ドン・キホーテで売ってるスマートモニターを使うときの注意点

始めに

ドン・キホーテで販売されている「14.0V型防水android搭載ポータブルスマートモニター PTV-W140」を使っていて気づいたことを記す。

内容

  • 14.0V型は画面解像度が1920×1200の16:10のディスプレイ。
  • 標準ではその16:10の画面に16:9表示のAndroid OSが引き伸ばされて表示されている。
  • 画面側のメニューで、アスペクト比の設定をフルから16:9とか1:1とかの適当な項目に変更すれば縦横比を正しくできる。
  • 画面制御側の設定と、Android TV OSの設定があることに留意する。
  • そのため、音量調節が画面側とOS側でできる状態。適当にしておく。
  • 画面側とOS側の音量を両方MAXにしても音割れはしない。
  • スピーカーの音質はそんなに良くない。イヤホン出力は未検証。
  • 電源ボタン、長押しと書かれているが短押しでも反応する。
    • (追記)短押しは電源オンオフではなくスタンバイ/スタンバイ解除の操作らしい(取説に書いてあった)。
  • バッテリーの管理はAndroidからは見えない。独立管理。
  • バッテリー状況は画面の右上に表示される。
  • OSでマイクを使用しようとした後、リモコンのマイクが有効になるまで時間がかかる。有効になるとリモコンの緑LEDが点灯するので、それを確認して話しかける。そうしないと声を認識してくれない。
  • ADBはリモートで使える。

追記 2024/07/09

分解して中を見てみました。

PTV-W140を分解した中身

やはりAndroidを動かす部分は別体でした。ディスプレイとしてしか使わないなら、Androidドングルの電源を抜いておけば、節電になる。

ただたくさんネジを取らないといけないので、覚悟はいる。バッテリーはここまで開けなくても小さい蓋を外せば取り出せる(というかそうしないと取り出せない、そこもネジが多い)。

終わりに

追記があればまた書く。

UATTAB001の最小画面輝度の制限を突破する![要root化]

始めに

イオシスで売られていたすっからかんのタブレット UATTAB001を買って、好き勝手にいじって専用機としたのはいいものの、画面の輝度調整範囲が狭い。それをどうにかした記録。

ざっくり手順

  1. Magisk導入
  2. お好きなソフトウェア等で画面輝度調整

内容

Magisk導入

導入の手順は以下のサイトを参考にした。

  1. https://redo495.blog/14000/
    https://ritorain.jp/14000/
  2. https://smartasw.com/archives/15704

1番目のサイトで抽出済みのboot.imgが公開されているので、ありがたく使わせていただく。DSU-Sideloaderは不要。
2番目のサイトを参考に、Magiskのapkを利用してboot.imgを改変。
前提としてMediaTekのUSBデバッグのドライバーが必要。自分はGoogleのドライバー案内のサイトをつたってダウンロードした。まぁどこでもお好きなように手に入れてもらって。

お好きなソフトウェア等で画面輝度調整

手っ取り早く画面輝度をいじれるのはBrightness Tweakという要rootのアプリケーション。
以下のページで説明されている。XDA Labsはつぶれたので、スレッドの最後の方のミラーリンクからダウンロードできる。
https://xdaforums.com/t/app-root-brightness-tweak.3339579/

まだ未検証だが、以下のMagiskモジュール?を利用しても結果は得られそう。UATTAB001に合うようにスクリプトは書き換えなければならないが。もし書き換えたスクリプトを作った場合は、ここでリンクしようかな。
https://github.com/Geofferey/op7t-brighthack


書き換えたスクリプトを用意できたので、リンクする。
https://github.com/yyya-nico/UATTAB001-brighthack
Magiskモジュール。Releases内の最新ZIPファイルをダウンロードし、Magiskアプリで「ストレージからインストール」を選び、ファイルを選択して待つ。インストールが終わったら再起動する。
追加のアプリを入れたくない場合に便利かもしれない。

終わりに

画面が目に優しくなること間違いなし。

PCでWiiのヌンチャクを使ってマウス操作ができるようにしてみた!(設定ファイル配布あり)

はじめに

PCにWiiの周辺機器 ヌンチャクを、JC-W01Uを使ってつないで、JoyToKeyというソフトウェアを使ってマウス操作ができるようにしました。それに伴って生まれたJoyToKeyの設定ファイルを共有します。

まず以下のものを持っていて、慣れている必要がある。

  • 任天堂 ヌンチャク RVL-004
  • エレコム Wiiコントローラ対応ゲームパッドコンバータ JC-W01U
  • JoyToKey

内容

できるようになること

  • スティック…ポインター操作
  • Cボタン押しながらスティック…スクロール
  • Zボタン…左クリック
  • Cボタン押しながらZボタン…右クリック

本当はCボタンが1秒押されたままでスティックの操作がなかったら右クリックにしたかったんだけどやり方がわからない。しょうがないね。

ダウンロードする

おわりに

ごろ寝マウスの代わりにいかがでしょうか。ヌンチャクなんてどこのリサイクルショップにも安値であるから、使いつぶすのも楽しいかもね。

iPhoneのホーム画面でアプリを選んでApp Storeでの詳細を見れるショートカットを作った

はじめに

iOSだと、アプリアイコンを長押しして「Appを共有」できるが、App Storeでの詳細を見るのは「リンクをコピー」してSafari開いて「ペーストして開く」して…と標準では手間がかかる。この作ったショートカットでは選んだアプリから簡単にApp Storeへアクセスできるので紹介するぜ!

内容

準備

「アプリの詳細」ショートカットを追加する

上記のリンクをタップして、指示に従ってショートカットを追加しよう。

使い方

使用のイメージ動画を見る場合は下から見てね。

「アプリの詳細」ショートカットを実行する動画

手順1

iOSホーム画面

ホーム画面を表示する。

手順2

ホーム画面でクイックアクションを実行

詳細を見たいアプリアイコンを長押しして、クイックアクションを実行、開かれる。とりあえず「Appを共有」を選択。

手順3

共有メニュー

ここに上記で追加したショートカットが表示されているはず。ここで「アプリの詳細」をタップ。

手順3.1

プライバシーの確認

最初はプライバシーの確認が出る。最終的にはApp Storeが開くので、それに問題がなければ「常に許可」を選んでもらっていい。

手順4

App Storeのアプリについての画面

無事アプリの詳細が開かれる。

おわりに

あんま使う人いないだろうけど、せっかくなんで公開した。便利に使ってくれるといいな。iOS15以下はよくショートカットが動作不良になって端末を再起動しないとうまく動かなくなるから、そこんところは気を付けて。iOS16以降ならたぶん大丈夫。

余談


今どきのAndroidだと標準機能で1タップとはいかないが1回長押し2回タップぐらいで簡単に見れるよ。

ffmpegの入力としてBluetoothマイクを簡単に指定する方法

はじめに

Raspberry Piでの話。どうすればマイクを利用できるか検索しまくった結果を書く。

前提

Raspberry Pi OSの標準機能でBluetooth機器をペアリングして、入力デバイスとしてマイクを指定しておく。

入力の指定部分のコード

-f pulse -i default

簡単な説明

どうやら今どきのUbuntuとかのOSはBluetoothオーディオ機器にアクセスしようと思ったらPulseAudioを利用・経由するのが今風らしい。Raspberry Pi OSもそうだった。マイク一つだけならデフォルト指定で良いっぽいので、コードはデフォルトを指定した。まあなんか他が指定したいなら参考サイト見て番号とかラベルとかなんでも指定して。

自分の利用例

ffmpeg -vn -f pulse -i default -ac 1 -acodec aac -ab 128k -ar 48000 -f flv rtmp://192.168.0.8:1935/live/audio
ffmpeg -vn -f pulse -i default -ac 1 -acodec pcm_s16le -ab 1024k -ar 8000 -f flv rtmp://192.168.0.8:1935/live/audio

参考になったサイト

Capture/PulseAudio – FFmpeg

初代iPadに入る最新のYouTubeとTwitterのアプリケーションID

はじめに

現在初代iPadではいくら古いApple IDを利用したとしてもYouTubeとTwitterの使える最大のバージョンを単体でインストールすることができない(*追記)。仕方ないのでiTunesを駆使してできるだけ新しいアプリをインストールした。その作業に必要な情報をメモする。

アプリケーションID一覧

YouTube

id: 14985895
version: 1.3.0

1.4.0以降はインストールできない。

Twitter

id: 84735001
version: 5.12

5.13以降はインストールできない。

おわりに

追記:「Checkmate, Store!」をインストールすれば単体でインストールできるようになる(知らなかった)。リンクを置いておく。 Checkmate, Store! 脱獄しないとだめなので、注意。

拡張機能Stylusを使うにあたって、ユーザースタイルを探すのに便利なサイトのメモ

はじめに

どこで探せばいいか最初わからなかったので、ほかの人にも教えれたらいいと思って書く。

サイトの紹介

UserStyles.world

UserStyles.orgが不便になって、その代わりになるようにとできたユーザースタイル配布サイト。まずはここで探すといい。

UserStyles.org Archive

UserStyles.orgで配布されていたような古い過去のユーザースタイルを探すときに便利なサイト。くまなくいろんなユーザースタイルを見たいときはここでも検索するといいだろう。

Stylusの配布ページ(参考)

Chromium系ブラウザー向けは以下のサイトで配布されている。
Stylus – Chrome ウェブストア

おわりに

あとはまだ知らない。とりあえずおわり。