2014年、MZ-2000を修理し復活させたは良いが、マニュアルがない。
web を探してもなかなか適当な情報が得られなかったので、
手元のベーマガのソースコードを参考に勝手に調べてまとめよう、と決めた。
したがって、本ドキュメントは本来のリファレンスマニュアルとは違う。
勝手に調べたメモなのでそのつもりで。
(逆にマニュアルあるから教えてやるよ、と言う方がいらっしゃったら
是非教えてください。)
なお、本資料は今のところ MZ-1Z001を調べたものをまとめているが、恐らく
COLOR TAPE BASIC MZ-1Z002 も大差ないと思われるので、そのうち MZ-1Z002
についても加筆するかもしれない。
command | usage | description | example |
---|---|---|---|
CONSOLE | CONSOLE St, b, Ccr, Gr | 画面表示まわりのもろもろ設定。引数は区切りカンマも含めて適当に省略・入れ替え可能。
|
CONSOLE S0, 24, C40N, GN CONSOLE R |
REM | REM comment | コメント。何もしない。 | REM ココハコメント |
CURSOR | CURSOR x, y | カーソルを x, y の位置に移動する。CONSOLE命令のスクロール範囲外も可。 | CURSOR 20, 12: PRINT "HOGE" |
GRAPH | GRAPH Ii, fill, Oo |
グラフィックス表示設定。今で言うダブル(というかトリプル)バッファ制御。
|
GRAPH I1, C, O1 GRAPH FCFC |
TEMPO | TEMPO n | MUSIC文による演奏テンポを指定する。nは1〜7。大きいほど速い。 | TEMPO 7:MUSIC "CDE" |
MUSIC | MUSIC str | 文字列 str を MML として演奏する。テンポ既定値はTEMPO命令で指定する。MMLに間違いがあってもエラーは出ない。 | MUSIC "CDEFEDCREFGAGFER" |
GET | GET var | 即時キー入力。文字変数varにその時押下されているキーコードが入る。 押されていなければNULL("")が入る。 |
100 PRINT "PUSH ANY KEY" 110 GET A$:IF A$="" THEN 110 |
POSITION | POSITION x, y | PATTERN 命令で表示するビットパタンの位置を指定する。 | POSITION 160, 100 |
PATTERN | PATTERN [-]len, str | パタンを表示する。len は 1-24 の整数値で、-をつけることができる。ただし負数という意味ではなく、-記号が必要なのでA=-1としたAをlenとして与えることはできない。strは16進数文字列。(以下詳細不明につき調査中) | PATTERN -16, "55AA0102040810204080" |
LINE | LINE x0, y0, x1, y1, x2, y2, ... | グラフィックス面に線を引く。連続して座標を指定することで 折れ線も可。 | LINE 50, 120, 100, 50, 150, 120, 50, 120 |
BLINE | BLINE x0, y0, x1, y1, x2, y2, ... | LINEの消灯版。Blank LINE あるいは Black LINE か。 | BLINE 50, 120, 100, 50, 150, 120, 50, 120 |
CHARACTER$ | CHARACTER$(x, y) | テキスト面の(x, y)座標にある文字を得る。 | ? CHARACTER$(0, 1) |
SPACE$ | SPACE$(len) | スペース(" ")をlen個並べた文字列を返す。 | ? "<";SPACE$(10);">" |
AUTO | AUTO start, step | 行番号を start から step 刻みで自動的に入力してくれる。 リスト打ち込み時などの便利機能。start, step ともデフォルトは 10。 | AUTO 100, 10 |
MON | MON | 機械語モニタ(メモリを直接いじれる簡易エディタ あるいは
超機能限定版デバッガ
のようなもの。
昔のパソコンには大抵ついていた。)に入る。 モニタからBASICに戻るには J コマンドで $1300 にジャンプ。 |
MON |
REW | REW | カセットを巻き戻しする。 | REW |
FAST | FAST | カセットを早送りする。 | FAST |
BOOT | BOOT | 再起動する。 | BOOT |
POKE | POKE addr,data | メモリのaddr 番地に data を書き込む。 | POKE 123,45 |
PEEK | PEEK(addr) | メモリのaddr番地の値を読み出す。 | ?PEEK(123) |
variable | description | writable? |
---|---|---|
TI$ | 時刻を hhmmss 形式で保持する。BASIC起動時が000000。 | yes |
π | 円周率(定数) | no |
まず、MZというのはシャープが'80年代を中心として 作っていたパソコンである(注: ここでは敢えて PCと呼ばずパソコンとしておく。当時PCというとNECのPCシリーズの 「パソコン」を指し、一般名詞としてのPCという語が広まったのは IBM PC が 普及した '90 年代ころからだと思うから。一方、「パソコン」という語は ふつうに使われていた)。 大半が Z80 ベースの 8 bit 機で、一部 16 bit 機もあった。なお、当時日本国内では NEC(PCシリーズ), 富士通(FMシリーズ), SHARP(MZシリーズ, X1シリーズ) が パソコンの御三家と呼ばれ、 大きなシェアを持っていた。逆に小さなシェアを争っていたのは ほとんどすべての家電メーカーと大きなおもちゃメーカーである。 家電・おもちゃ業界がこぞってマストアイテムとしてパソコンを 作ったり売ったりしていた。今では考えられないそんな時代である。
MZシリーズ共通の大きな特徴として、クリーン思想(クリーン設計)というものがある。 要するに OS 的なもの (当時は主に BASIC 言語)を ROM で供給せず、外部ストレージ(例えば カセットテープ)から読み込むというもので、なんだ現在の PC と同じじゃないのはいそうですでも当時は前衛的でした、と言える。ROM に 焼かれているのは IPL (Initial Program Loader) とその他一部のみであった。 そのため、 64 KiB しかないメモリ空間の相当部分が BASIC インタプリタで占められる 他機種に比べてメモリ空間の使い方の自由度は(理屈の上では)高かった (が、実際は搭載可能RAMの制限もあり、まぁ、言うほど素晴らしいかというと 微妙)。とにかく、このページで紹介しているのはそんな MZ シリーズの 銘機 MZ-2000 に標準添付された BASIC、MZ-1Z001 である。
さてその MZシリーズの中でも源流かつ本流とも言えるのが MZ-80/2000 シリーズ である(私見 80 %)。 MZ-80/2000 シリーズには大きく 2 つの系統がある。ここでは便宜上、 80B系と80K系としておく。80B系は高級機でどちらかというとビジネス路線、 80K系は普及機でどちらかというとホビー路線である(たぶん)。 簡単に見分ける ポイントはキーボードで、80B系はキーが現在のキーボードのように一行毎に 約半キーずれたタイプライターのような配列になっている。一方80K系は 電卓のように整然と並んでいる(どうでもいいことだが、メカニカルな制約を 負ったタイプライターが斜めにずれるのは必然だと思うが、 電子式のキーボードにはそのような呪縛はないのだから80K系のような配列も 合理的ではないかと思う。ああいうのが普及していたら現在のPCも もっとカッコ良かったのではないかなぁ)。ただし 80Cと1200は例外で、 これは80K系にも関わらずタイプライターぽいずれた配列をした異端機 である(←ってそれじゃ全然見分けるポイントになってないじゃん)。
MZ-80B系は MZ-80B, MZ-2000, MZ-2200、そしてスーパーMZこと MZ-2500シリーズ (MZ-25xx と番外編の MZ-2861)がある。MZ-80BとMZ-2000 は本体、 キーボード、 CRTディスプレイ(グリーン単色)、カセットデッキが全部くっついた 一体型で、もちろん他にもそういう機種はあったが、それでも外見上の 大きな特徴と言える。MZ-2200 は本体とキーボードの一体型で、 MZ-2500 は一見現在の PC のようなセパレート型なのだが、FDD のみならず、 カセットデッキ(その名もボイスレコーダー)が搭載されているという 特徴を持つ(一部ラインナップに例外設定あり)。
一方の80K系は、MZ-80K, MZ-80C, MZ-80K2, MZ-80K2E、MZ-1200 と続く(その後たぶん MZ-700, MZ-800(欧州専用), MZ-1500 に進化したのだと思う)。 初代 80K の K は Kit の K で(たぶん)、完成品としてではなく、 部品のキットとして売られていた。ユーザは自分ではんだごてを握って 組み立てる必要がある (今の自作PCとは本気度が違う)。 で、それは あまりにも酷でしょうもっと普通の人にも買ってもらおうよ (いや、パソコン買ってる時点で既に十分普通じゃないけどね、当時は) ということで 組み立て済みで売られたのが 80K2、その後 10 万台 感謝モデルとして少しお求め易くしました(なんとたったの148,000円な) のが 80K2E である(当時の広告によれば【限定生産品】)。
その他のMZとしては、本当の初代、ワンボードマイコン(マイコンと言っても 現在のMCU(マイクロコントローラ)ではなく、マイクロコンピュータもしくは My コンピュータの略)の MZ-40K(外見は電子ブロックで作られた 大型電卓と言ったところか。)や、完全ビジネス機の MZ-3000, MZ-5000, MZ-6000シリーズがある。この辺は MZ-5500 が 8086 搭載の 16 bit 機だったことくらいしか知らない。 もっと他にもあるかも知れないが さしあたりぼくの頭に浮かぶのはそのくらい。
いくつかの web サイトでテープソフト(BASICとか)のバックアップ方法が 紹介されていた。時とともに閉鎖してしまうと困るので、 「バックアップ方法のバックアップ」をここにも書いておく。 原理がよくわかっていないので、何がバックアップ取れる対象なのかは (ぼくは)知らない。少なくとも BASIC (MZ-1Z001, MZ-1Z002) は落とせた。