【概要】
今回の趣旨は、著者自身が本体外装に加工をするのが趣味ではなく、flashfloppyのOLEDを穴をあけたりせずに搭載するにはどうすればいいのかと悩んだ末、
amiga界隈ではやっている、RGB出力にflashfloppyの表示を合成して表示する方法(OSD)を取り入れてつかおう、また、内蔵してまでUSBでやり取りするのもナンセンスなので、ここもどうにかしようとSDカード利用方式にした形です。
この改造の利点は、MSXの横向きのドライブの場合、OLEDを横に見て確認するということも必要ありません、同様の改造はVGA出力やアナログRGB(15khz)と、CsyncやHsync(Vsync)ができるタイプの古いPCであれば合成できると思います。
解像度がポンポン切り替わるx68000やPC98ではどうなるかはわかりません。
【用意するもの】
gotek(flashfloppy)化したもの 1台
bluepill(偽物おおいので注意) 1台
usbシリアル(5v対応できるもの)1台
抵抗 4.7kohm 2個
抵抗 270ohm 2個
74hc125 1個
74hc04 1個
パスコン
線材
(以下はお好みで、SDカードが利用できるならなんでも)
FA404M (2ドライブ化する場合でこれを使うと収まりが良いし、readyもつかえる)
yedataのYD-8V07やYD-8V06(FDDなし)もおすすめです、こちらも702j-6637が内蔵しておりready改造もすぐできます
または適当なSDカードリーダー
困難に打ち勝つこころと道具類(ピンセット、拡大鏡等)
【改造箇所】
■bluepillを入手してください。aliexpressやamazonで500円前後でてにはいります。
1.bluepillのbootjumperを両方とも0にします
2.usbシリアルの配線を以下に接続します。(半田付けやジャンパをつかうかはおまかせします)
USBserial bluepill
GND G
vcc(5v) 5v
TXD A10
RXD A9
3.USBシリアルで電源を入れて、STM32 Flash loaderを使い、FF_OSDのファームを書き込む
よくわからん人はflashfloppyの書き換え方と同じようにすすめて、書き込むファームを変えてください。
FF_OSD
https://github.com/keirf/FF_OSD/wiki/Downloads
書き込み参考
(GOTEK FDD Emulator の FF仕様(導入編)
4.bluepillのジャンパを両方とも1にします。
5.配線を接続
以下の図面を参考に接続してください。
flashfloppyのOLEDをよく繋ぐところにある、4pinのところより
flashfloppyのピン配置
■FF_OSD対応
上の図でやっていることは
flashfloppy bluepill
vcc(3.3v) 3.3
GND G
SCA B7(4.7kで3Vへプルアップ)
SCL B6(4.7kで3Vへプルアップ)
また以下をショートします(忘れずに)
Bluepill
A0
A1
次に以下の配線を行います。
bluepillのA8をコンピュータのRGBのCsyncに接続
※HSYNCとVSYNCが別れている場合は以下に読み替える
bluepill(A8) HSYNC
bluepill(B14) VSYNC
bluepill(B15)を74hc125の2pin目へbluepill(PA15)を1pin目へ、74hc125の3pin目を270ohm経由でコンピュータのRGBのいずれかの信号へ接続
※図には74hc125のvccとgndのパスコン処理及び未使用ピンの処理は書いていませんが、未使用入力ピンは必ずプルアップやプルダウン等で処置すること
この状態でflashfloppyのUSBを接続をぬいた状態でPC本体の電源を入れて、
flashfloppyのボタン操作でFF_CFGを選び、config操作を行い、
Display EnableをPA15 act.low
Horizontal Offset
Vertical Offset
等でビデオ出力とOSD表示位置を調整してください、最終的にPC本体の電源をきることで内容がセーブされます。
ff_config
■SD対応
1.まずSDカードリーダーの配線を他の回路から何らかの方法で切り離します。
2.flashfloppyのSTM32F107の3-5pinをGNDに落とします。ブリッジさせてGNDにつなぐのが早いです。
3.SDカードリーダーの以下を接続します。flashfloppyのU8にあるSPI Flash端子の部分からSDカードリーダーの端子へひっぱるといいでしょう。
SDcardはカード端子を上にみて左(一つさがった端子)から912345678という並びになっています。
flashfloppy(U8) SDcard
1.cs pin1
2.sdo pin7
4.gnd pin3&pin6(ともにGNDへつなぐ)
5.sdi pin2
6.sclk pin5
8.vcc pin4
4.カードリーダーのカード検出swをテスターで反応を確認します、ほとんどのカード検出端子はGNDにおちる仕様になっているので、カードリーダーの端子をすべて切り離しているのであれば、片方をGND、片方を
10k程度の抵抗でVCCにプルアップしつつ、74hc04のpin1、74hc04のpin2をflashfloppyのSTM32F10xの42pinめに気合でつなぎます。
これで、未挿入時はflashfloppyではlow、挿入時にHiになり、カード挿抜が検出されます。
※flashfloppyの電源ON状態で挿抜をしないのであれば、無理に実装しなくてもいいです
※当然ですが74hc04のVCC,GND端子パスコン、未使用入力PINは適切に処置します。
■おまけ(図にはないのでおこのみで)
レバースイッチ(こういうの)
の配線をflashfloppyのそれぞれの左右のボタンに割り当てて、センタークリックをJAにジャンパして、ff.cfgをいじれば、ロータリーではないですがボタン操作ができます。にがさんところみたいにPICにしてないのでファイル数多いと地獄をみますが
■あとがき
amiga等の場合、キーボード操作でそもそもflashfloppyも制御できちゃうので、同じようにしたいけど、MSXはシリアルなキー入力をしているので、ここを断念しています。
だれかどうにかしないかなー。(他力本願)