cefucom-21本体を分解してわかったことをザックリとまとめます。
- 基板が4枚入っていて、Z80が搭載されたボードが2枚、アナログ回路制御基板が1枚、電源回路が1枚
- Z80が搭載されている2枚ボードそれぞれにZ80のプログラムが書き込まれたEPROMが搭載
- 画面制御用のLSI(VDG)の近くにCGROM用のEPROMが搭載
2つのプログラム用EPROMと1つのCGROMがあるので、今回はその中身をザックリとのぞいてみます。
まずはPCU-Iとプリントされた基板に搭載されているEPROMをダンプしてみましたのでバイナリエディタで表示してみて気になる文字列を拾い出してみました。
cefucom-21は電源投入後に機能選択メニューが表示されるようなのですが、PCU-Iに搭載されているZ80とEPROM内のプログラムは、起動後のメニュー画面や、BASIC以外の機能(スタディ・タイム・スケジュールやCAI)を制御しているように思えます。
あと、EPROMの後半に
MMLデータらしきものが入っていました。
続いてMCUボードのEPROMをのぞいてみます。
こちらのEPROMはBASICが入っているようです。起動直後はPCUボード側のZ80が動作していて、モード選択でBASICが選ばれるとMCU側のZ80に制御が移るということでしょうか。
エラーメッセージが短縮されてない(PC-6001だとSN Errorみたいな2文字表示)ですね。
あと、EPROMの途中に
こんなのがありました。開発中の残骸?でしょうか。BASICの文法に互換のあるPC-6001ではBASIC ROMが16KByteですが、cefucom-21はBASIC ROMに32KbyteのEPROMを使っているので余裕ありまくりですね。
最後はCGROMです。フォントデータは2値を1bitで表します。1文字は8×10ドットです。高さが10ドット分ですが、CGROM内では1文字を16Byteで管理しているため、1文字毎に6バイトが使われていない事になります。実際にCGROMをのぞいてみると、10Byte毎に00Hが6バイト並んでいる事がわかります。
キャプチャ画像で気になるのは最後の方に埋め込まれているSANYOのASCIIコードですね。使われていない領域にASCIIコードでテキストを埋め込んであります。
CGROMは、MAP-1010とPHC-25のCGROMとまるっと同一でした。
MAP-1010はSEIKO製品で、PHC-25がSANYO製品です。時系列ではPC-6001のBASIC互換=PHC-25 → ハード構成をSEIKOにOEMしたのがMAP-1010 → さらにOEMでcefucom-21ということになりそうです。これらの機種はCPUと画面制御ICと音源ICが同じなので(PHC-25とMAP-1010は音源別売)、BASICにもある程度の互換がありますから、画面周りの見た目や音楽がほぼ同じように表現できます。
ただ、メモリマップや周辺回路の制御方法が違いますからマシン語レベルでは互換がありません。