ブログの練習

ブログを書く練習です。
最近はレトロな計算機(電卓、マイコン、パソコンなど)
に関することを書き始めました。

FM-7のキーボード修理

2022-08-15 14:36:15 | レトロPC
外観が汚かったせいか、箱、説明書付きで1700円(+送料1850円)と、送料の方が高い値段で入手できたFM-7。キーボードの調子がかなり悪く、半分以上のキーが入力できない。入力できるキーはたったこれだけ。

接点復活剤とか注入すれば直るのではと甘く考えていたんだけど、FM-7のキー不良は交換しなきゃいけないという情報をTwitterで見つけてちょっと心配になる。
キー不良(数個程度)のFM-7がもう一台あるから、最悪こっちをドナーにして使えるキーだけ使えばいいかと思いながらとりあえず分解してみたところ、初めて見る構造のキーボード。


テープみたいなのを剥がして接点復活剤をかけてみようかと思ったのですが、念の為にもう一度ネットを調べて見たところ、「FM-7のキーボードはグリグリすると直る」という情報を発見。出典はこちら。

富士通 FM-7の内部写真

ジャンク品のFM-7を1,000円で購入しました。 1982年発売 126,000円 ジャンク品でしたが正常に動作して、拡張スロットには漢字ROMとFDDインターフェースもささっていま...

 

半信半疑で試してみました。

テスターで確認してみると、確かにグリグリすると直ってる感じだったので一通りグリグリしてみたところ、

なんと直ってしまいました。実は、直ってないキーが数個あったのですが、バシバシ叩いたら打てるようになりました。
というわけで、今回のトリビアは、
「FM-7のキーはグリグリすると直る。」
でした。( ・∀・)つ〃∩ ヘェーヘェーヘェー
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Fairchild F8 Family (F3850)

2022-08-11 14:18:16 | マイコン
Fairchild F8ファミリーのCPUとメモリインターフェースを入手しました。上がF3850PC(CPU, メーカーのロゴが無いけどFairchaild製だよね?)、下がMostek MK3853P(SMI, Static Memory Interface)です。最近読んだ「I/O別冊8 マイコン活用アイデア集」の最後に紹介記事があったCPUですが、それを読むまでその存在を知りませんでした。
そんなマイナーなCPUにも関わらず、電脳伝説さん(SBCF8が完成)が基板の作成やBASICの移植をしてくれていたので、基板とデータパックを使ってTiny BASIC for the F8を動かしてみました。

ハンダ付けするだけで何のトラブルも無くあっさり起動。プラモデル感覚です。
メモリとUARTは別基板になっていて、全体像はこんな感じ。

最近入手したレトロLED、東芝TLR101を使ってみました。


ASCIIART.BASを整数型BASIC用に書き替えて走らせてみました。
値をF倍して変数に格納して、演算時に整数部分と小数部分に分けて計算しています。
50行目の416はほんとは416.6なので四捨五入して417にしたいのですが、それだと微妙にオーバーフローしてしまうことがあるというギリギリのところなので416にしています。
100行目のa*a-b*b(a+b)*(a-b)の方がかけ算が1回で済んだり、オーバーフローしにくかったりするので良いかと思ったのですが、大差なかったので元のソースに近い式にしています。
130~140行目の発散判定は、計算量削減のために整数部だけで計算しています。
リストはこちら。

10 F=50
11 REM F is '1.0'
20 FOR Y=-12 TO 12
30 FOR X=-39 TO 39
40 C=X*229/100
41 REM 0.0458*F
50 D=Y*416/100
51 REM 0.0833*F
60 A=C
70 B=D
80 I=0
90 Q=B/F; S=B-Q*F
100 T=(A*A-B*B)/F+C
110 B=2*(A*Q+A*S/F)+D
120 A=T
130 P=A/F; Q=B/F
140 IF (P*P+Q*Q)>4 THEN 180
150 I=I+1;IF I<=15 THEN 90
160 PRINT " ",
170 GOTO 200
180 IF I>9 I=I+7
190 PRINT CHR(48+I),
200 NEXT X
210 PRINT
220 NEXT Y

結果は35分29秒。先日のZilog Z8671 BASIC/Debugとほぼ同じでした。

これを走らせている過程で、Tiny BASICのバグらしきものを2つ発見しました。1つ目はこれ。128で割るとエラー(HOW)になります。-128でも同様でした。最初は除数の範囲が-127~127というタイニーな仕様なのかと思ったのですが、そうではなかったようで、128のときだけエラーになります。

もう1つ見つけたバグがこれ。行番号が1桁のときの挙動がおかしいようで、1桁の行が書けなかったり消されちゃったりします。

データパックにソースもあることだし、中を見てみようかな。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする