‘MAP-1010’ カテゴリーのアーカイブ

cefucom-21を分解してみた EPROM編

2013年7月29日 月曜日

cefucom-21本体を分解してわかったことをザックリとまとめます。

  • 基板が4枚入っていて、Z80が搭載されたボードが2枚、アナログ回路制御基板が1枚、電源回路が1枚
  • Z80が搭載されている2枚ボードそれぞれにZ80のプログラムが書き込まれたEPROMが搭載
  • 画面制御用のLSI(VDG)の近くにCGROM用のEPROMが搭載

2つのプログラム用EPROMと1つのCGROMがあるので、今回はその中身をザックリとのぞいてみます。

まずはPCU-Iとプリントされた基板に搭載されているEPROMをダンプしてみましたのでバイナリエディタで表示してみて気になる文字列を拾い出してみました。

PCUボードEPROM PCUボードEPROM

cefucom-21は電源投入後に機能選択メニューが表示されるようなのですが、PCU-Iに搭載されているZ80とEPROM内のプログラムは、起動後のメニュー画面や、BASIC以外の機能(スタディ・タイム・スケジュールやCAI)を制御しているように思えます。

あと、EPROMの後半に
PCU MML
MMLデータらしきものが入っていました。

続いてMCUボードのEPROMをのぞいてみます。

MCU02 MCU02

こちらのEPROMはBASICが入っているようです。起動直後はPCUボード側のZ80が動作していて、モード選択でBASICが選ばれるとMCU側のZ80に制御が移るということでしょうか。

MCU02

エラーメッセージが短縮されてない(PC-6001だとSN Errorみたいな2文字表示)ですね。

あと、EPROMの途中に
MCU02
こんなのがありました。開発中の残骸?でしょうか。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バイト並んでいる事がわかります。

CGROM

キャプチャ画像で気になるのは最後の方に埋め込まれている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にもある程度の互換がありますから、画面周りの見た目や音楽がほぼ同じように表現できます。
ただ、メモリマップや周辺回路の制御方法が違いますからマシン語レベルでは互換がありません。

MAP-1010について補足

2013年5月31日 金曜日

MAP先生ことMAP-1010についてのメモ書きです。

周辺機器一覧(実際に発売されていたかどうかは不明)

型番 機器名
MAP-1020 プリンター
MAP-1030 拡張インタフェースボード / ボードを装着するとMAP-1030 BASICが起動
MAP-1040 モニターCRT
MAP-1060 フロッピーディスク / 5inch2台 640KBだそうですが1台320KBなのか1台で640KBなのか不明
MAP-1070 デジタイザー / 用MAP-1030 / ソフトはMAP-1030に組込みされている

MAP-1030には、サウンドジェネレーター、シリアルインタフェース(RS-232C)、ジョイスティックインタフェースがあり、ジョイスティックとデジタイザ(MAP-1070)が接続できるようになっています。
型番の並びでみると1050が抜けてるのですが、存在していたかどうかわかりません。

MAP-1010の書籍は今のところ3冊ほど確認しています。

  • 株式会社文理 畑太郎著 1983年4月5日第1版第1刷 「基本プログラミングガイド すぐに使えるBASIC」 2300円 / 命令のリファレンスや本体パネルの操作方法、マイクを使った2トラックテープの作成方法、豊富なプログラム集と、内容豊富な本です
  • 株式会社文理監修:國澤清典 文:伊藤一郎 イラスト:黒須和清 1983年7月25日第1刷「プログラミング入門 マッピーと楽しいなかまたちの おもしろマイコン・ブック」/ BASICの入門書です。MAP-1010の基本的な操作方法について書かれていますが、汎用的なBASICの本です
  • 株式会社文理編著者:國澤清典 1983年7月20日初版第1刷 「プログラミングガイド プログラミング ちょっとテクニック39」 800円 / 様々な目的ごとに、BASICを使った丁寧な説明とサンプルプログラムが掲載されています。PC-6001やPHC-25などの互換BASICでも動くはずです。最後の方に少しだけマシン語の事に触れています

マッピーといってもマイクロマウスではありませんヨ。

おもしろマイコン・ブック

MAP-1010の広告

2011年1月10日 月曜日

古いマイコン雑誌を眺めていたらMAP-1010の広告が掲載されていました。

MAP-1010広告

雑誌名は「月刊ラム(RAM)1983年1月」です。誌面の新製品記事でも小さく取り上げられているので、MAP-1010はこの頃に発売されたのでしょうね。

SEIKO MAP-1010の内部動作

2010年9月9日 木曜日

武田さんがMAP-1010エミュレータを制作した際に、私の方で実機を調査した情報を記録しておきます。

  • BUSREQは上がってこない。未使用と思われる。
  • NMIは未使用
  • CPU Clockは約0.240μs → 4.16MHz
  • INTは約16.691msの間隔で発生。垂直同期のタイミングと思われる。
  • メモリアクセス時にWAITが入る。
  • INT発生後にWAITが長い時間で発生 → 画面更新でVRAMアクセス?
  • 画面の描画状況によってWAIT信号の入り方が変化する

    IO周りはI/Oポートをほとんど使わずにメインメモリにマッピングされているようです。ハード構成の詳細は不明ですが、マニュアルやBASICのROMを元にして武田さんがあっという間にエミュレータとして実装されまして、ソースコードも公開されていますから、そちらを読んだ方が早いと思います。

    武田さんのお話によると、SEIKO MAP-1010はSANYOのPHC-25をベースにしているのではないか、とのことでした。そう言えるほどにハードウェア構成が似ていて、MAP-1010のBASIC ROMにはPHC-25にあってMAP-1010に無い周辺回路のコードが残っているそうです。これについては、私がMAP-1010のFONT ROMを吸い出した際にROMダンプを眺めていたところ、最後の方にSANYOの文字列があったので、SANYOのOEMかもしれないなと思っていました。その後、PHC-25のFONT ROMと比較したところ、同一でした。PC-6001、MAP-1010、PHC-25はハードウェア構成が似ていて、VDPには同じICが使われていますし、8×10ピクセルではフォントが似てきてしまうのですが、フォントデザインが1ドットも違わずに完全に同一ということはありえないのですね。

    ちなみに、PC-6001のフォントとMAP-1010(PHC-25)のフォントを比較したGIFアニメをアップしてみました。どっちがどっちかわかるかな!?

  • SEIKO MAP-1010のキーボード

    2010年9月9日 木曜日

    MAP-1010キーボードMAP-1010キーボードコネクタ

    MAP-1010のキーボードとコネクタです。コネクタのピン数が多いです。

    SEIKO MAP-1010に関するメモ書き

    2010年5月29日 土曜日

    MAP-1010の実機とマニュアルからいろいろとわかったことを書いていきます。

    SEIKO MAP-1010は、株式会社服部セイコーから発売された、SEIKOMAPファミリーCAIシステムを構成するハードの一部です。とはいっても、MAP-1010が中心となって、その他のMAPから始まる型番の周辺機器があるという構成だと考えていいと思います。具体的には、次のような周辺機器が発売されていたようです。

  • モニターCRT SEIKO MAP-1040
  • 拡張I/Oボード SEIKO MAP-1030
  • デジタイザー SEIKO MAP-1070
  • プリンター SEIKO MAP-1020
  • フロッピーディスク SEIKO MAP-1060
  • また、本体のMAP-1010ですが、PC本体を1010、セパレートタイプのキーボードを1010Kと呼ぶようです。

    拡張I/Oボードには、サウンドジェネレーター、シリアルインタフェース(RS-232C)、ジョイスティックインタフェースが備えられており、ジョイスティックとデジタイザ(MAP-1070)が接続できるようになっているようです。拡張I/Oボードにサウンドジェネレーターが内蔵されていますが、これは、MAP-1010には音源が備わっていないという事を意味します。BASICのPLAY/SOUND命令の説明文には拡張I/Oボードが必要と記述されていますので、先日のMAP-1010分解で音源ICらしきものが見あたらなかった事からも、本体には音源が搭載されていないということで間違いなさそうです。

    メモリ構成ですが、マニュアルによると、ROM 24KByte、RAMが32KByte(通常のRAM)と6KByte(ビデオ用)となっていて、RAMはトータルで38KByteということになります。先日の分解でもDRAMが32KByteでSRAMが6KByteだということがわかりましたが、これでSRAM 6KByteの使い分けがわかりました。ちなみに画面処理用ICのM5C6847P-1をICのマニュアル通りに使用すると6KByte程度のビデオメモリを必要とすることからも、間違いなさそうです。ただ、BASICでは2つのページを持てるようなので、そのあたりをどのように管理しているのかは不明です。

    キーボードはJISキー配列が57個、カーソルキーが4個、ファンクションキーが4個、テンキー部分が16個です。キーボード左側には上からESC、GRAPH、CTRL、SHIFT、右側には、DEL、RETURN、KANA、SHIFTキーがあります。KANAキーを押すとKANAランプ(LED)が点灯し、ひらがなやカタカナが入力出来るようになります。GRAPHキーを押しながらJISキーを押すと、記号を入力できます。

    BASICについては・・・あまり興味がないのですが(えー)、ざっと特徴を説明します。画面切り替えによるページは最大で2ページです。ページ数の設定ですが、PC-6001と異なり、BASIC起動時に最大ページ数を入力するのではなく、BASICのSPAGE命令によっていつでもページ数を設定する事が出来ます。ページ数1でのフリーメモリは約29000Byte、ページ数2では約23000Byteのフリーエリアとなります。
    MAP-1010にはカセットデッキが内蔵されていて、BASIC上から早送り、巻き戻し、マーカー検出による頭出し等のコントロールが可能です。もちろん、CLOADやCSAVEといった命令によるプログラムの読み込みや保存も可能です。CLOAD+RUNをまとめて実行するCRUNという命令や、画面の内容をテープに読み書きするSLOAD/SSAVEという命令もあります。
    BASICの画面モードは4種類で、PC-6001と同じようです。PC-6001と同じ画面処理ICを使っているので当然では、と思われるかも知れませんが、M5C6847P-1は細かくみていくと14種類の画面モードがあり、また、画面モードを変更するSCREEN命令の書式もPC-6001と同じですから、意図的に揃えたのではないかと思われます。
    MAP-1010にはカレンダー制御ICが組み込まれていますが、BASICから制御できるのは時分秒だけで、MAP-1010の電源を切ると時計が止まってしまう(リセットされる?)ようです。

    MAP-1010のメモリマップですが、まず、I/Oもメモリ領域に割り当てられています。7800H~7FFFHがI/O用メモリ領域ですが、その使い方はマニュアルには記載されていないのでBASIC ROMを解析するしかなさそうです。ビデオメモリ(SRAM 6KByte)は6000H~77FFHに割り当てられています。

    以上が、マニュアルから読み取れた情報です。BASICが格納されているEPROMの吸い出しは出来たので、解析すればもう少し詳しい事がわかるとは思いますけど、解析をする予定はありません。エミュレータは、いずれ武田さんが作られると思いますので、楽しみにしています(笑)。

    MAP-1010 BASIC ROM

    SEIKO MAP-1010の中身

    2010年3月17日 水曜日

    MAP-1010中身

    大きな基板が2枚です。主要なLSI/ICを書き出してみました。

    • D780C-1 / 毎度おなじみZ80互換CPU
    • D2332C / 4Kbyte ROM. PC-6001と同じでフォントデータ用?
    • M58725P x 3 / SRAM 2Kbyte x 3
    • D416C x 16 / DRAM 2Kbyte x 16で32KbyteのRAM? 実際は24Kbyteという話もある。
    • M5L2764K x 3 / EPROM 8Kbyte x 3で24KbyteのROM。BASICインタプリタ? [追記]
    • M5C6847P-1 / PC-6001と同じ、VIDEO DISPLAY GENERATOR
    • D1990AC / SERIAL I/O CALENDAR & CLOCK CMOS LSI
    • TC9144P / TAPE DECK CONTROL IC
    • M51342P / Chroma Demodulator Circuit – NTSC TV Game Demodulator
    • なぜか、音源用のICが見あたりません。マニュアルとキーボードがあればもう少し詳しく調べられるのですが、残念ながら手元には本体しかないのでした。

      [追記]検索してみたところ、広告がありました。どうやらRAMは38K(32+6)のようです。