エレクトロニカBKシリーズ

エレクトロニカBKシリーズは、非営利団体の科学センターによってエレクトロニカブランドとして開発された16ビットのPDP-11互換のソヴィエト連邦のホームコンピュータのシリーズである。 より強力なUKNCとDVK microsの前身でもあった。 最初に発売されたのは1984年（1983年に開発された）であった。BKシリーズはК1801ВМ1 (ソヴィエトのLSI-11互換CPU) を搭載しており、大量生産向けに設計された唯一の「公式」なソヴィエトのホームコンピュータであった。 BKシリーズは約600 - 650ルーブルで販売された。 高価であったが、わずかに手頃な価格でもあった。そのため、BKシリーズは、多くの問題を抱えているにもかかわらず、ソビエト連邦の最も人気のあるホームコンピュータの1つになった。 1990年代後半、強力なCPU、簡単な操作、容易にプログラミングできる設計がBKシリーズをデモ機として人気があるものにした。 BK (БК) は、"бытовой компьютер"のロシア語の頭字語であり、「家庭内（あるいはホーム）コンピュータ」という意味である。 このコンピュータは、キャッシュレジスターとして短期間使われたこともあった。例えば、グム百貨店で使用された。 BK-0010は低価格なソヴィエトのPCの1つであり、速度、メモリ、グラフィックスなどは単純な8ビット機と大差なかったが、世界初の完全な16ビットホームコンピュータの1つであった（16ビットコンピュータTI-99/4AはRAMと周辺機器を8ビットバスで接続していた。それと対照的にBK-0010は、16ビット幅のデータバスを持つコントローラーチップを搭載していた）。 インテレビジョンはBK-0010とよく似た完全な16ビットCPUであるGeneral Instrument CP1600を搭載しており、キーボードコンポーネントとECS（英語版）拡張を接続すれば、完全な16ビットホームコンピュータになった。 IBM PCとIBM PCjrは、8ビットと16ビットが混在したコンピュータであった。それらに使用された8088 CPUが8ビット外部バスと16ビット内部バスを搭載していたからである。 BKシリーズは、本質的に周辺機器や開発ツールの付属しないベアボーンマシン（最小構成のマシン）であった。 ROMファームウェアを除けば、最初から使えるソフトウェアは、付属磁気テープに入っているいくつかのプログラミング例（BASICあるいはFOCAL（英語版）の例）といくつかのテストプログラムだけであった。 ROMファームウェアは、機械語を入力する単純なプログラム、そしてBASICあるいはFOCALのインタープリターを搭載していた。 BKシリーズはより大きくてより高価なDVKプロフェッショナルモデルやSM EVMシリーズのような産業用ミニコンピュータと多少の互換性があった。その一方でより強力なマシンのためのソフトウェアの直接的な使用は通常除外されていた。 初期のBKシリーズは、32KiBのメモリを搭載しており、プログラマーは通常16KiBだけを使うことができた（拡張メモリモード時は、28KiBを利用可能である。しかし、ビデオ出力は画面の1/4に制限される）。 DVKは、BKシリーズ用ソフトウェアの一般的な開発環境になった。そして、BKシリーズのメモリが後に128KiBに拡張されたとき、ほとんどのDVKのソフトウェアは最小限の変更で直接使用することができた。 自作ソフト開発者たちは、DVKとUKNCからいくつかの開発ツールを移植したので、自作ソフトというニッチな需要をすぐに満たした。 このことが自作ソフトの爆発的増加を牽引した。自作ソフトは、テキストエディタとデータベースからOSとビデオゲームまでに至った。 ほとんどのBKシリーズの所有者は、内蔵RAMを少なくとも64KiBまで拡張していた。このことはより進化したシステムからソフトウェアを移植することを容易にするだけではなかった。拡張に伴ってフロッピーディスクドライブコントローラーも拡張することが多かったので、自分の自身のディスクオペレーティングシステムを作成することがBKシリーズの競争的な娯楽になった。 BKシリーズの弱々しいグラフィックスは強力なCPUによって補完されたので、ゲームとデモシーンのコミュニティも繁栄した。 公式には、RT-11を改造したOS BK-11と一緒にBKシリーズは出荷されたが、オペレーティングシステムとしてMS-DOSとファイルフォーマットに互換性のあるANDOS（英語版）も使われた。 BKシリーズは、当時としては強力な16ビット単一チップのK1801VM1（英語版）を搭載していた。クロックは通常3MHzであった。 K1801VM1は、PDP-11拡張命令セット（EIS）とさらに進化した拡張命令セットを欠いていたが、ディジタル・イクイップメント・コーポレーションのLSI-11シリーズとほぼ完全な互換性があった。 製造元は、PDP-11の内部アーキテクチャを綿密にコピーした。 各モデルは、Q-busと電気的な互換性はあるが、機械的な互換性はないカードスロットを一つ搭載していた。 最初のバージョンは、32KiBのDRAMを基板上に搭載していたが、その半分の16KiBはビデオメモリとして使われた。 後期のモデルは128KiBに拡張されるとともにビデオメモリを16KiB×2ページへ拡張した。 BKシリーズのビデオ出力は、かなり簡素なチップであるK1801VP1-037 ビデオディスプレイコントローラによって提供された。 事実、ビデオディスプレイコントローラとして配線をプログラムされたわずか600ゲートのゲートアレイであり、2つのグラフィックスビデオモードを可能にする。高解像度（512×256画素。白黒）、低解像度（256×256画素。4色）、そしてハードウェアによる垂直スクロールを支援していた。 後期のモデルは、ハードウェアで実現された64色中4色のカラーパレットを16個持つことができた。 テキストモードはなかったが、BIOSによって2つのテキストモード32×25文字と64×25文字をシミュレートした。 ANDOSのようないくつかのオペレーティングシステムは、より高密度に文字を配置することによって、IBM PCから取り込んだテキストを表示するとき80×25文字のテキスト出力を実現した。 ビデオ出力は、白黒TVあるいはカラーTV／カラーモニターのために2つに分かれた5ピンのDINコネクタを通して出力される。 最初、全モデルの音声は、基板上のピエゾ素子スピーカー（圧電スピーカー）に接続された単純なプログラマブルカウンターを通して出力していた。 その後、ゼネラル・インスツルメンツAY-3-8910がアフターマーケット（商品販売後に生じる市場）における人気のある追加ハードウェアになった。 全モデルは、周辺機器を接続するための入出力バスが分かれている16ビット汎用パラレルポートを搭載していた。このポートで接続する周辺機器は、プリンター（東側諸国のプリンターは、一般的なセントロニクス社のIEEE 1284ポートの代わりに互換性のないIFSP (ИРПР)（英語版）インターフェースを使っていた。そのため、IEEE 1284のプリンターは変換アダプタを必要とした）、マウスあるいは音声出力のためのCovox（英語版）のDAC、そしてデータストレージのためのテープレコーダーポートであった。 後期のモデルは、製造元によって提供されたフロッピーディスクドライブコントローラー（Q-busカードスロットに接続する）が最初から付属していた。 そのフロッピーディスクドライブコントローラーは、初期のモデルでも利用可能だった。 しかし、自作のフロッピーディスクドライブコントローラー（最初のBKシリーズの貧弱なメモリを拡張することもできる）がより一般的であった。 そのような周辺機器や改造のための家庭内産業が繁栄した。 Электроника БК-0010は、最初のモデル（1983年に最初に発表された。連続生産は1984年の中頃から）。 このモデルは擬似メンブレンキーボード（キーキャップなしの機械式マイクロスイッチの配列の上に柔軟なオーバーレイを被せていた）、32KiB RAM、BIOS内蔵の8KiB ROM（K1801RE2-017チップ）、FOCAL（英語版）インタプリタを搭載した8KiB ROM (K1801RE2-018チップ)、デバッガを内蔵した8KiB ROM (K1801RE2-019)、そして空きのROMスロットを搭載していた。そして、CPUクロックは3MHzであった。 テープレコーダーは、工場出荷時設定においてデータストレージとして使用された。 このモデルは使いにくいキーボードが批判された。本来はメカニカルなのにキーキャップがないので、押した時の反応に満足がいかないという事態を起こしてしまった。このようなキーボードは完全に密閉することが容易にできるが、家庭や教育で使用されたときに容認できるものではないように思われた。そのため、このバージョンは産業用コントローラとして広く使用されることになった。 批判されたその他の点は、出荷時に提供される旧態依然としたFOCALプログラミング言語、そして周辺機器とソフトウェアが完全に欠落していることであった。 説明書は全てのハードウェアについてよく書かれており、扱いも容易であった。その一方、プログラミングツールなしで出荷された。 次のバージョンのБК-0010.01 (時々、-0010-01と書かれる)は、本質的に同じものであったが、従来型のフルトラベル・キーボード（押されたキーが深く沈むキーボード）を搭載、Vilnius BASIC（英語版） pコードコンパイラをROMに内蔵し、前機種の最も弱い点を修正していた。 使用されたBASICの方言（Vilnius BASIC）は、かなり強力でよく最適化されていた（実際はMSX-BASICを幾分か縮小したクローンであった）。その一方、キーボードは微妙なものであった。 そのキーボードは、より快適に扱えたが、期待されたほどのものではなかった。押されたキーが突き刺さったまま戻ってこないことが多く、チャタリングが激しく、すぐに磨耗した。後により改良されたキーボードが付属するようになった。 FOCALインタプリタは廃止されなかったが、その代わりとしてQ-busスロットに挿入することができる外部ROMカートリッジに搭載されることになった。 Электроника БК-0010Шは、学校での使用に特化することを狙ったモデルであった。 BK-0010とBK-0010.01のどちらでもこのモデルになることができたが、Q-busスロットに挿入することができる19200bpsの特別なカレント・ループ方式のネットワークアダプタが付属していた。 そのアダプタは、ゲートアレイチップK1801VP1-035（後にK1801VP1-065）を搭載しており、DEC DL-11とKL-11シリアルインターフェースとの互換性があったが、モデム制御ビットはなかった。 このモデルは、モニター（通常は仕様変更されたYunost' compact TV）も同梱されていた。学校環境で使用するので、家庭用TVと接続することは想定していなかった。 BK-0011は1989年に発売された。 1ページ16KiBのページ単位に分かれた128KiBのRAMを搭載しており、CPUは工場出荷時に4.6MHzのクロックを供給されていた。 ROMに新しいバージョンのBASICを搭載しており、16個の選択可能なカラーパレットを搭載していた。 このカラーパレットは、奇妙な色の組み合わせをするためユーザーによってほとんど普遍的に批判されていた。 フロッピーディスクドライブコントローラーを搭載していたが、ドライブは未だに別売りだった。 BK-0011にいくつかの変更を行った。それらの変更はマイナーであるが、初期の-0010モデルとの非互換性を作ってしまった。 特にカセットテープから-0010のプログラムをロードすることができなくなった。 プログラムをロードできたとしても音声のような極めて重要なサブシステムは非互換であった。 公衆はそれを批判し、製造元に再設計を強制したので、初期モデルとの互換性は復活した。 その結果できたモデルであるBK-0011Mは、すぐに生産に入った。そして、BK-0011シリーズのほとんどは実のところBK-0011Mであった。 変更はマイナーだったので、市場に出た少数の-0011モデルのほとんどが愛好家によって-0011Mモデルへ更新された。 使用しているBKシリーズをより便利にするために1つあるいは2つのメカニカルスイッチを取り付けることは、所有者の間では珍しいことではなかった。一般的な改造の一部を以下に示す。 リセットボタン。プログラムはしばしばハングする。いくつかのゲームは終了機能をきちんと実装していなかった。このボタンがないと、電源ボタンの入切によってコンピューターのリセットを行う必要があった。このことは、外部電源の電源スイッチをやがて磨耗してしまうことに繋がった。リセット割込みは、オペレーティングシステムによって捕捉することができる。そのため、そのようなOS（例えば、ANDOS（英語版）、MK-DOS（英語版））の場合、リセットボタンを押すことによって、OSのファイルマネージャーへ脱出することができる。 ポーズスイッチ。このスイッチは、プロセッサの命令実行をハードウェアによって一時停止する機能を有効にする。ポーズスイッチは、ゲームを一時停止するために便利だった。ほとんどのゲームは一時停止機能を持っていなかった。しかしながら、少数のゲームは、一時停止から戻った後で正常に動作しなかった。なぜなら、プロセッサに組み込まれたプログラマブルハードウェアタイマーは、命令実行が一時停止されている間でも動作しているからであった。BKシリーズはソフトウェアによってポーズをするためのキーの組み合わせも持ち合わせていたが、このような改造が必要とされるということはあまり役に立たなかったのであろう。 クロック速度スイッチ（"ターボ"スイッチ）。プロセッサのクロック速度を変更する。BK-0010シリーズの場合、標準の3MHzから4MHzあるいは6MHzへ変更できる。BK-0011シリーズの場合、標準の4MHzから3MHzあるいは6MHzへ変更できる。全てのプロセッサの個体が6MHzで安定して動作する訳ではなかった。このようなオーバークロックが可能かどうかは、各個体毎に実験を行なって確認しなければならない。クロック速度を切り替えることによって、活動的なゲームのペースを変更することができた。ターボスイッチは、通常、ポーズスイッチと一緒に取り付ける必要があった。なぜなら、クロック速度を切り替える最も単純な回路は、メカニカルスイッチが切り替えられたときにチャタリングが原因でクロック信号の中に歪んだ形状の信号を生成してしまう。そのため、プロセッサが一時停止状態になっていないと、ソフトウェアがハングするリスクが生じてしまうからである。 音声ON/OFFスイッチあるいは音声ボリュームノブ。音声ボリュームノブは、可変抵抗器（ポテンショメーター）を使って内部のピエゾ素子スピーカー（圧電スピーカー）の音量を調整する。これを追加するのと同時に改造者はより音の大きいスピーカーと交換することもあった。 これらの改造は比較的単純であり、はんだごてを扱えるユーザーによって実践することができた。プログラムを販売する家庭内産業で働くほとんどの人々は、少額の料金で改造を請け負うこともあった。愛好家はBKシリーズコンピュータにより進化したデバイスをなんとか接続した。愛好家はハードディスクコントローラーを開発し、2.5インチHDDをBKシリーズで使用することに成功した。それ以外の一般的な機能拡張は、AY-3-8912音声チップとCovox Speech Thing（英語版）（プリンタポートに接続するDACであり、音声出力に使われた）であった。 現代のIBM PC互換機のために様々なソフトウェアエミュレータが存在する。あるエミュレータはオリジナルのBKシリーズよりもより高速に動作させることができる。 MiSTのようにFPGAでBKシリーズをほぼ完全に再実装したものもある。 BKシリーズで実行されるデモの例。 "In Your Space" sound demo for BK-0010/11. Final version - YouTube "Однажды" demo party version / Excess team / BK0011m / Real hardware - YouTube BK-0010, Ray Demo - YouTube БК-0010, Demo 3D (BK-0010, Demo 3D) - YouTube Электроника БК-0011М, демо Happy (BK-0010, Happy demo) - YouTube ^ ソビエト連邦政府は、経済計画の一環として承認し、説明した。 ^ 当時のソヴィエトの平均賃金は、毎月約150ルーブルであった。 ^ CPUのオーバークロックは比較的容易である。しかし、低速度のDRAMをオーバークロックするのは困難であった。ほとんどの一般的な「ターボ」速度は6MHzである。 ^ DEMOZOO Electronika BK-0010/11M ^ “BK0011M (USSR retro home computer) core for MiST board” (2016年3月29日). 2016年4月16日閲覧。 エレクトロニカ (ソビエト社会主義共和国連邦) PDP-11 DVK UKNC Heathkit H11（英語版） Electronika BK0010(-01) & BK0011(M) USSR PC [PDP-11] BK0010 Russian computer emul. v1.6 w/src Archive software and documentation for Soviet computers UK-NC, DVK and BK0010.