アカウント名:
パスワード:
SYSTEM PROGRAM というのは、本体とは別売りのソフトウェア開発環境ですね。「テキストエディタ」「アセンブラ」「リロケータブルローダ(いわゆるリンカ)」「デバッガ」の4プログラムからなります。私が使ってたのはMZ-700ですが、MZ-80でも構成は同じっぽい
で、この4つは別プログラムなので、
1)カセットテープからテキストエディタプログラムをロードして(数分待ち)実行、ソースコードを編集、書いたソースをテープに保存2)カセットテープからアセンブラプログラムをロードして(数分待ち)実行、ソースコードをテープからロードしてアセンブル、出来たオブジェクトファイルをテープに保存3)カセットテープからリロケータブルローダをロードして(数分待ち)実行、オブジェクトファイル群をロードしてリンク、出来たプログラムをテープに保存4)カセットテープからデバッガを以下略。ミスがあったら1)に戻る。
というすごく気の長い開発サイクルになっていました。
当時雑誌(I/Oとか)に載っていたサードパーティーの開発環境はどれも単機能で、1プログラムでエディタとアセンブラを兼ねていて、複数オブジェクトの結合機能はないのでリンカは不要。一度開発環境をロードしたらあとは、待ち時間が発生するのは作ったコードの保存だけという手軽なものだったので、なんでこんな複雑な構成にしてるんだろうとすごく不思議に思ったものです。#で、その保存時間すらおしくて、ついついセーブせずに実行し、それが暴走して編集したコードが失われる、といったことになったりしたものです…
アセンブラとリンカが別プログラムというのは今にして思えば実にまっとうなシステム構成なのですが、テープで動かすのが無謀だったというか「クリーンコンピュータ」という方式は早すぎた時代のあだ花だったのかたと思ってしまいます。
MZ-700はわたしも一時期、所有していた。MZ-80Kの直系で互換性があった。
高性能になったMZ-2000がMZ-80系との互換性を捨てたことが理解できなかった。PC-8001のアプリの多くがPC-8801で動いたことと対照的で、ここで勝負が付いたと思う。
クリーンコンピュータも無理があった。マスクROMはそれほど高価でもなかったのだから、ROMとRAMを切り換えるDIPスイッチでも用意しておけば良かったと思う。
MZ-2000でMZ-80系との互換性を捨てたというか、あれはそもそも商品として別のラインでしたから。PC-8001と8801の関係にたとえるのは不適当で、むしろPC-6001と8001の関係に近いですね。・MZ-80K/K2/K2E/C → MZ-1200 → MZ-700 → MZ-1500 というラインと、・MZ-80B/B2 → MZ-2000/2200 → MZ-2500 → MZ-2800 というラインに分かれていたわけです。80Bから2000の互換性だけはちょっと怪しいですが、それ以外は割と綺麗に上位互換になっていましたよ。
いえ、それは技術的な製品ラインで、売り方はそうではなかった。
事実上、最初に作られたMZ-80/PC-8001を購入した層は、新しい製品に飛びつく、それも当時の製品に飛びつく層であって、割と技術に明るい人達。
その人たちが次にグレードアップした製品として購入するのが、PC-8801/MZ-2000。この段階で、MZ-80ユーザはそれ以前に所有ていたアプリを捨てる必要ができた。
MZ-700はエントリーモデルであって、当然、それ以前にMZ-80を所有していることは少ない。それに相当するのがPC-6001で、同様の理由でそれほど互換性は要求されなかった。
当時、市場の要求が読めなかった、もしくは、無視したというだけの話。
「MZ-700は、MZ-80Kのソフトウェア資産が使える」「PC-6001は、PC-8001用のソフトウェア資産が使えない」というところが、互換性の最大のポイントであり、「MZ-80Kを持っている人が後継としてMZ-700を買う」とか「PC-8001を持ってる人が後継としてPC-6001を買う」人のために互換性があるのではないと思います。
でも、実際の所、MZ-700は、MZ-80Kに対して、ハードウェア的には非常に互換性が高かったけど、それでもいくつかの非互換性がありました。アセンブラプログラムレベルで見ると、
・クロック速度が変わった。2MHz→3.6MHz。自前でテープに読み書きすると動作速度の違いから、MZ-80K用プログラムはMZ-700では正常動作しない。・モニタプログラムがMZ-80K用のSP-1002からMZ-700用の1Z-009Aに変わった。公開モニタサブルーチンは互換性があったが、非公開の内部サブルーチンは互換性がなくなったため、それを使用したMZ-80K用プログラムはMZ-700では正常動作しない。・キーボードが変わった。ポートには変更がないが、キーの割り当てが変わっている。そのため、ハードを直叩きでキー押下状態を読み取るMZ-80K用プログラムはMZ-700では正常動作しない。
というこの3つが大きいですかね。
また、BASICレベルでも、MZ-80K用のSP-5030とMZ-700用のS-BASICは結構互換性はあるのですが、微妙に非互換なところがあった。かといって、SP-5030はMZ-700では動かない。←バイナリ互換性低いってメーカー自ら証明。
もう、どちらかというと「MZ-80K用プログラムはMZ-700で動けばラッキー」ぐらいの互換性でした。
で、互換性を向上させる方法として、・SP-1002をMZ-700上で動かすという技が。
MZ-80KではモニタROMはメモリ空間の$0000~$0FFFに割り当てられています。($1000~$CFFFがRAM、$D000~がVRAMで、RAMは最大48KB)それに対し、MZ-700では、$0000~$0FFFや $D000~$FFFFもバンク切り替えでRAMに変えることができ、64KB全空間をRAM化できました。
そこで、MZ-700でも$0000~$0FFFをRAMに切り替えて、そこにSP-1002を読み込んでやれば、モニタプログラムとしてSP-1002が使える状態になるわけです。ただし、上述の問題があるので、「テープの読み書き速度の調整(3.6MHzで正しいウェイトになるように)」と「キーボード配列の修正を反映」させるようなパッチを当てる必要があります。
こうやってSP-1002を動くようにしてやれば、非常に高い互換性でMZ-80K用プログラムを動かすことができました。SP-5030だって動くようになるので、BASIC用プログラムもSP-5030で動かせば問題なし。#SP-5030については、それ単体で、MZ-700の1Z009Aでも動くようにするパッチもありましたけど。
#そこまで苦労しても、結局モノクロのプログラムしか動かせないので、あんまり嬉しくなかったなぁ。結局「MZ-80K用プログラムがちゃんと動くぞすげー」って一度感動してほぼそれで終わりだった…
> というこの3つが大きいですかね。どれもこれも今となってはそんなことする奴が悪いむしろお前が死ねという事項ですね。それだけハードウェアに「無駄」を許容する余裕がなかったわけで、やっぱり「早すぎた時代のあだ花」だったってことですな。
そういう文脈で「MZ-80」といっちゃうのが軽率では。
80Kと80Bは全く別のマシンなのに、どっちのことをいってるのかさっぱり分からん。
そしてMZ-80B系列なら、FDDを使えばそこそこ快適に使えた訳でして。
昔、シャープでバイトした金で、MZ-80BのFDDドライブ買った(EPSONの互換品)。そして、BASE-80とかいう構造化アセンブラ使って、FDデュプリケーターソフト作ったなぁ。なにもかも懐かしい.... :-)
まあそれに並行してMZ-3500とかMZ-5500とかMZ-6500とか「名ばかりのMZシリーズ」もありましたし。# たしかAX386とかもMZほにゃららだった気がする
部品事業部が開発し、事業統合で産業機器事業部に 事業移管の歴史
MZ-80K/K2/...MZ-80C/ MZ-80B ( 部品事業部で開発、生産)MZ-1200 、 MZ-700 、 MZ-1500、MZ-80B2( 事業移管決定後、 部品事業部は新規開発を停止し、従来技術で単にOEM生産した物)MZ-2000/2200 、MZ-2500 、MZ-2800(部品事業部から移管を受けた技術で、産業機器事業部が MZの名前を継承した物)
システム開発には、コンピュータの処理待ちが凄くかかる部分もあった時代は、人間にも余裕があったのかもしれないな。ビルドだって、夜実行したら朝までかかるから、その間に帰宅することだってできた。今ではほんの数分で終わっちゃうから、ビルド時間を理由に帰ることなんてできない。
コンピュータの性能が向上し、処理時間が短縮した結果、人間の余暇も短縮されちゃった。
目の付け所が未来を向いちゃってるシャープらしいじゃないですか。というか、そういうのばっかりでしたよ昔は。
テープを使わずに、メモリ上で処理する改造があったような記憶があるのだけど、うろ覚え。
開発中、エディタとアセンブラを行ったりきたりする際にいちいちセーブするのはさすがに大変なので、エディタ-アセンブラだけは一体になったソフトが別売りされていました(PDFの50ページにもちょっと説明がありますね)。「SYSTEM PROGRAM BACKUP」という名前のサポートパッケージでした。
SYSTEM PROGRAM BACKUPには確か、エディタ・アセンブラの他にも、完成したバイナリをEPROMに焼くためにフォーマット変換するソフトも添付していたはずです。(バイナリ→インテルHEXへの変換だったかなあ?モトローラSフォーマットもサポートされてたか…さすがに昔の話で記憶が怪しい)
それ以前は跳ね返りスイッチでブートローダー書き込んでなんて時代もあったんですよ。
やったやった。自作のマイコンに、サッポロシティスタンダードっていう4800bpsの変調方式のインターフェイスつけて、カセットテープに保存してあるモニタプログラムを読み込むIPLを、スイッチパチパチして書き込んでた。そのうち、何も見なくても入力できるようになって、人間の記憶って、わりと凄いもんだなーって思ったことはある。で、後日C-MOSバックアップするメモリつけて、この作業は不要になりました。
オーナーの友人は、温度・湿度でリードエラーが多発することがあって・・・と言ってましたな。数年使ってだいぶくたびれてたみたい。(テープの方が)
夏場、読めなくなったテープを冷蔵庫で1~2時間冷やすとロードに成功することがあったりしましたね。
そこですかさず新しいテープにセーブし直す、というのを1年~数年ごとに、儀式のようにやりましたっけ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:5, 興味深い)
SYSTEM PROGRAM というのは、本体とは別売りのソフトウェア開発環境ですね。
「テキストエディタ」「アセンブラ」「リロケータブルローダ(いわゆるリンカ)」「デバッガ」の4プログラムからなります。
私が使ってたのはMZ-700ですが、MZ-80でも構成は同じっぽい
で、この4つは別プログラムなので、
1)カセットテープからテキストエディタプログラムをロードして(数分待ち)実行、ソースコードを編集、書いたソースをテープに保存
2)カセットテープからアセンブラプログラムをロードして(数分待ち)実行、ソースコードをテープからロードしてアセンブル、出来たオブジェクトファイルをテープに保存
3)カセットテープからリロケータブルローダをロードして(数分待ち)実行、オブジェクトファイル群をロードしてリンク、出来たプログラムをテープに保存
4)カセットテープからデバッガを以下略。ミスがあったら1)に戻る。
というすごく気の長い開発サイクルになっていました。
当時雑誌(I/Oとか)に載っていたサードパーティーの開発環境はどれも単機能で、1プログラムでエディタとアセンブラを兼ねていて、複数オブジェクトの結合機能はないのでリンカは不要。
一度開発環境をロードしたらあとは、待ち時間が発生するのは作ったコードの保存だけという手軽なものだったので、なんでこんな複雑な構成にしてるんだろうとすごく不思議に思ったものです。
#で、その保存時間すらおしくて、ついついセーブせずに実行し、それが暴走して編集したコードが失われる、といったことになったりしたものです…
アセンブラとリンカが別プログラムというのは今にして思えば実にまっとうなシステム構成なのですが、テープで動かすのが無謀だったというか
「クリーンコンピュータ」という方式は早すぎた時代のあだ花だったのかたと思ってしまいます。
Re:SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:2)
MZ-700はわたしも一時期、所有していた。MZ-80Kの直系で互換性があった。
高性能になったMZ-2000がMZ-80系との互換性を捨てたことが理解できなかった。PC-8001のアプリの多くがPC-8801で動いたことと対照的で、ここで勝負が付いたと思う。
クリーンコンピュータも無理があった。マスクROMはそれほど高価でもなかったのだから、ROMとRAMを切り換えるDIPスイッチでも用意しておけば良かったと思う。
Re:SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:1)
MZ-2000でMZ-80系との互換性を捨てたというか、あれはそもそも商品として別のラインでしたから。
PC-8001と8801の関係にたとえるのは不適当で、むしろPC-6001と8001の関係に近いですね。
・MZ-80K/K2/K2E/C → MZ-1200 → MZ-700 → MZ-1500
というラインと、
・MZ-80B/B2 → MZ-2000/2200 → MZ-2500 → MZ-2800
というラインに分かれていたわけです。
80Bから2000の互換性だけはちょっと怪しいですが、それ以外は割と綺麗に上位互換になっていましたよ。
Re:SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:2)
いえ、それは技術的な製品ラインで、売り方はそうではなかった。
事実上、最初に作られたMZ-80/PC-8001を購入した層は、新しい製品に飛びつく、それも当時の製品に飛びつく層であって、割と技術に明るい人達。
その人たちが次にグレードアップした製品として購入するのが、PC-8801/MZ-2000。この段階で、MZ-80ユーザはそれ以前に所有ていたアプリを捨てる必要ができた。
MZ-700はエントリーモデルであって、当然、それ以前にMZ-80を所有していることは少ない。それに相当するのがPC-6001で、同様の理由でそれほど互換性は要求されなかった。
当時、市場の要求が読めなかった、もしくは、無視したというだけの話。
Re:SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:2)
「MZ-700は、MZ-80Kのソフトウェア資産が使える」「PC-6001は、PC-8001用のソフトウェア資産が使えない」というところが、互換性の最大のポイントであり、
「MZ-80Kを持っている人が後継としてMZ-700を買う」とか「PC-8001を持ってる人が後継としてPC-6001を買う」人のために互換性があるのではないと思います。
でも、実際の所、MZ-700は、MZ-80Kに対して、ハードウェア的には非常に互換性が高かったけど、それでもいくつかの非互換性がありました。
アセンブラプログラムレベルで見ると、
・クロック速度が変わった。2MHz→3.6MHz。自前でテープに読み書きすると動作速度の違いから、MZ-80K用プログラムはMZ-700では正常動作しない。
・モニタプログラムがMZ-80K用のSP-1002からMZ-700用の1Z-009Aに変わった。公開モニタサブルーチンは互換性があったが、非公開の内部サブルーチンは互換性がなくなったため、それを使用したMZ-80K用プログラムはMZ-700では正常動作しない。
・キーボードが変わった。ポートには変更がないが、キーの割り当てが変わっている。そのため、ハードを直叩きでキー押下状態を読み取るMZ-80K用プログラムはMZ-700では正常動作しない。
というこの3つが大きいですかね。
また、BASICレベルでも、MZ-80K用のSP-5030とMZ-700用のS-BASICは結構互換性はあるのですが、微妙に非互換なところがあった。
かといって、SP-5030はMZ-700では動かない。←バイナリ互換性低いってメーカー自ら証明。
もう、どちらかというと「MZ-80K用プログラムはMZ-700で動けばラッキー」ぐらいの互換性でした。
で、互換性を向上させる方法として、
・SP-1002をMZ-700上で動かす
という技が。
MZ-80KではモニタROMはメモリ空間の$0000~$0FFFに割り当てられています。($1000~$CFFFがRAM、$D000~がVRAMで、RAMは最大48KB)
それに対し、MZ-700では、$0000~$0FFFや $D000~$FFFFもバンク切り替えでRAMに変えることができ、64KB全空間をRAM化できました。
そこで、MZ-700でも$0000~$0FFFをRAMに切り替えて、そこにSP-1002を読み込んでやれば、モニタプログラムとしてSP-1002が使える状態になるわけです。
ただし、上述の問題があるので、「テープの読み書き速度の調整(3.6MHzで正しいウェイトになるように)」と「キーボード配列の修正を反映」させるようなパッチを当てる必要があります。
こうやってSP-1002を動くようにしてやれば、非常に高い互換性でMZ-80K用プログラムを動かすことができました。SP-5030だって動くようになるので、BASIC用プログラムもSP-5030で動かせば問題なし。
#SP-5030については、それ単体で、MZ-700の1Z009Aでも動くようにするパッチもありましたけど。
#そこまで苦労しても、結局モノクロのプログラムしか動かせないので、あんまり嬉しくなかったなぁ。結局「MZ-80K用プログラムがちゃんと動くぞすげー」って一度感動してほぼそれで終わりだった…
Re: (スコア:0)
> というこの3つが大きいですかね。
どれもこれも今となってはそんなことする奴が悪いむしろお前が死ねという事項ですね。それだけハードウェアに「無駄」を許容する余裕がなかったわけで、やっぱり「早すぎた時代のあだ花」だったってことですな。
Re: (スコア:0)
そういう文脈で「MZ-80」といっちゃうのが軽率では。
80Kと80Bは全く別のマシンなのに、どっちのことをいってるのかさっぱり分からん。
Re: (スコア:0)
そしてMZ-80B系列なら、FDDを使えばそこそこ快適に使えた訳でして。
Re: (スコア:0)
昔、シャープでバイトした金で、MZ-80BのFDDドライブ買った(EPSONの互換品)。
そして、BASE-80とかいう構造化アセンブラ使って、FDデュプリケーターソフト作ったなぁ。
なにもかも懐かしい.... :-)
Re: (スコア:0)
まあそれに並行してMZ-3500とかMZ-5500とかMZ-6500とか「名ばかりのMZシリーズ」もありましたし。
# たしかAX386とかもMZほにゃららだった気がする
Re: (スコア:0)
部品事業部が開発し、事業統合で産業機器事業部に 事業移管の歴史
MZ-80K/K2/...MZ-80C/ MZ-80B ( 部品事業部で開発、生産)
MZ-1200 、 MZ-700 、 MZ-1500、MZ-80B2( 事業移管決定後、 部品事業部は新規開発を停止し、従来技術で単にOEM生産した物)
MZ-2000/2200 、MZ-2500 、MZ-2800(部品事業部から移管を受けた技術で、産業機器事業部が MZの名前を継承した物)
Re:SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:1)
システム開発には、コンピュータの処理待ちが凄くかかる部分もあった時代は、人間にも余裕があったのかもしれないな。
ビルドだって、夜実行したら朝までかかるから、その間に帰宅することだってできた。
今ではほんの数分で終わっちゃうから、ビルド時間を理由に帰ることなんてできない。
コンピュータの性能が向上し、処理時間が短縮した結果、人間の余暇も短縮されちゃった。
Re: (スコア:0)
目の付け所が未来を向いちゃってるシャープらしいじゃないですか。
というか、そういうのばっかりでしたよ昔は。
Re: (スコア:0)
テープを使わずに、メモリ上で処理する改造があったような記憶があるのだけど、うろ覚え。
Re:SYSTEM PROGRAM はテープで使うのはきつかった… (スコア:1)
開発中、エディタとアセンブラを行ったりきたりする際にいちいちセーブするのはさすがに大変なので、エディタ-アセンブラだけは一体になったソフトが別売りされていました(PDFの50ページにもちょっと説明がありますね)。「SYSTEM PROGRAM BACKUP」という名前のサポートパッケージでした。
SYSTEM PROGRAM BACKUPには確か、エディタ・アセンブラの他にも、完成したバイナリをEPROMに焼くためにフォーマット変換するソフトも添付していたはずです。
(バイナリ→インテルHEXへの変換だったかなあ?モトローラSフォーマットもサポートされてたか…さすがに昔の話で記憶が怪しい)
Re: (スコア:0)
それ以前は跳ね返りスイッチでブートローダー書き込んでなんて時代もあったんですよ。
Re: (スコア:0)
やったやった。
自作のマイコンに、サッポロシティスタンダードっていう4800bpsの変調方式のインターフェイスつけて、
カセットテープに保存してあるモニタプログラムを読み込むIPLを、スイッチパチパチして書き込んでた。
そのうち、何も見なくても入力できるようになって、人間の記憶って、わりと凄いもんだなーって思ったことはある。
で、後日C-MOSバックアップするメモリつけて、この作業は不要になりました。
Re: (スコア:0)
オーナーの友人は、温度・湿度でリードエラーが多発することがあって・・・
と言ってましたな。数年使ってだいぶくたびれてたみたい。(テープの方が)
Re: (スコア:0)
夏場、読めなくなったテープを冷蔵庫で1~2時間冷やすとロードに成功することがあったりしましたね。
そこですかさず新しいテープにセーブし直す、というのを1年~数年ごとに、儀式のようにやりましたっけ。