宮内 悠介さんの「ペイル・ブルー・ドット」に続いて、図書館で
借りてきたのが『ラウリ・クースクを探して』 。
人捜しのロードムービー本かと思いきや・・・
主役は「MSX」! (中味は、そうZ80)
ソ連に持ち込まれたMSX(ココム規制で高性能マイコンが
持ち込めなかった)であるYAMAHA KUVT(Ямаха КУВТ)
が主役(・・・もちろん人が主役なんですが)。
MSXにこんな話があるなんて知りませんでした。
この他の小物が「水晶」。
それも発振子としての水晶。
こんな会話が。
「もっとも、いまは水晶発振器もMEMSに
置き換わりつつあるがな」
「水晶がなくなっていくのか。それは寂しいな」
そして、Z80がらみでは、
КУВТは乗算ができず、やろうとしても時間がかかる。
これがプログラマたちの頭痛の種で、皆、それぞれに工夫した
自前の乗算ルーチンを持っていた。
ラウリが実装したのは「本当に速い」乗算であった。
簡単に言うと、
ab = ((a+b)^2 - (a-b)^2)/4
であること利用し、あらかじめ二乗の計算結果を持っておく。
この計算結果のテーブルが、1キロバイトほど。
このように小さなテーブルを持つだけで、高速な乗算ができる
というわけだ。
8bit×8bitの乗算をテーブルでとは知りませんでした。
(a+b)あるいは(a-b)ですんで、16bitで出てくる乗算の答えの
テーブル数は255+255の510ワード。
ほんとに「1キロバイトほど」です。
「z80 高速乗算」で検索 するとあれこれ出てきます。
※宮内 悠介さんは、「トランジスタ技術の圧縮」の人!
MSXでの製作物(おもちゃ)で残っているのは「大声コンテスト」。
MSXのROMを抜き去って、アセンブラで書いたプログラムを
ほうりこんでます。
ADC部はこんな回路。
1999年と日付が入ってます。
せっかくですんでソースファイルも。
・ダウンロード - koe2.zip
アセンブラも入れてますんで、コマンドプロンプトから
アセンブル操作ができるかと。
この中で使っている乗除算ルーチンは、普通にシフトで。
まだ現物が動いてます。
年に一度、小学校での「夏のつどい」で。
どっかに写真があったはず。
待機時、小学校の校歌がメロディーとして流れるのですが
中川小学校→大池小学校となって、校歌が変わってし
まいました。
最近のコメント