BUBCOM80の解析

BUBCOM80の実機をお借りする機会を得ましたので、とことん調べてみました。

本体キーボード写真

実機の写真はこちらにUpしてあります。
Googleフォト – BUBCOM80

本体内の主要なICは以下の通りです。

名称 用途
SHARP Z80A CPU
NEC D8257C-5 DMA
MB471 8bitラッチ付き3ステート出力バッファ
M8008A LX11
MB8863H 通信用?RS-232C?
NEC D3301D-2 CRTC
SHARP Z80-CTC タイマ

お借りしたBUBCOM80は、電源投入ですぐにBASICが起動するようになっていました。本体基板の左上隅にBASIC用ROMが搭載されていると思われるボードがありましたが、ROMが基板に直付けされていて、その基板自体も取り外しが難しく、詳細は不明です。

BUBCOM80起動直後画面

本体起動直後は、起動用ROM(MB8516)のプログラムが各種初期化処理を行ってから、起動デバイスの検索と起動処理を実行しています。ROM BASICの起動シーケンスは、ROM BASICの有無確認、I/O空間経由でROM BASICをRAMへ転送、RAM上のBASICを起動という流れになっています。
MB8516は2716互換のEPROM(2KByte)でしたので、手持ちのROMライタで吸出しが可能でした。また、別途用意したMB8516を使って自作プログラムの書き込みと起動確認もできました。

ROM BASICはハード的な吸出しは出来ませんでしたが、BASIC上からアクセスする方法が判明したので、吸出しをしました。(吸出しプログラム自体は簡単なものですが、その後のコンバートが面倒なので非公開です)
ROM BASIC自体のサイズは0x9C00byteのようです。

ROMダンプ

BASICの解析はしていません。国会図書館にあったBUBCOM80のBASICの解析本によると、0000-F1FFがBASIC本体とプログラムエリア、F200からがVRAM、FDB8からFFFFがBASICのワークエリアのようです。

いくつかのBASICの命令を実機で実行してみた結果を録画してYOUTUBEにUpしました。

Z80周りの信号線の様子も見てみました。

CPUには4MHzが供給されています。NMIとWAIT信号は変化がありませんでした。

BUSREQが約500us毎に発生しています。下のキャプチャでは500us毎の塊になっていますが、拡大すると細かなパルスで構成されています。用途は不明です。
BUBCOM BUSREQ

INT信号は約10004us(10.004ms)毎に発生しています。タイマ割り込みかもしれませんが、こちらも用途は不明です。

コメントは受け付けていません。