026 X1 S−OS

*eX1turboを使用
さてX1で個人で開発となると CP/M、DUAD−X1その他と色々ある S−OS上でやるのがはやいし、うまいし(?)、やっすいーのである よく最強とかいわれるけれど、個人的にはそれはチト... という感じ(OSとして見たら) そもそも各機種のEDASMを一歩進んで 各機種の共通モニタとして... で、mz−80Kが共通として足をひっぱ... でもmzユーザとして、開発ツールとしてもありがたいし... もちろんX1ユーザとしてもありがたい 雑誌のプログラムを打ち込めばかなりの開発環境が整えることが出来るのが 侮れないS−OS(とそのソフト)なのでR   ↑DUAD−X1は他機種のDUADよりもイイと思うがお値段が...   大体はS−OSダンプリストを打ち込み実行、ヤッホーとなる しかしソースリストが載っているんだからアセンブルしたい というのも人の情けというもん(んな情けは無い) しかしダンプリストで打ち込んだり貰ったりしているので たまにアセンブルする為にソース化してアセンブル オブジェクトをチェックと無駄な事をやっている 今回はイメージファイルを整理したかったので 作業行程を思い出しながらの作業   <S−OS SWORD アセンブル茨の道のり> 1.’85年1月号のEDASMを打ち込み、   訂正記事があるので訂正する   操作はI/OのEDASに近く   ガシガシ書いて修正も楽(だと思う) 2.’85年6月号のS−OS MACEを   アセンブルする為にソースをOCRでテキスト化、   WIN上のテキストエディタで編集、   テキストソースをイメージ化、アセンブル、修正する   オジェクトのチェックサムを確認して   S−OS MACE VER0の完成、訂正記事があるので訂正        ↑まずはEDASMでMACEをアセンブル     3.’85年7月号のMACEをVER1にしてから   ZEDAのソースをアセンブル   ZEDA自身VER1以降でないと動作しないようになっている   これはテキストのオーバーフローする場合を考えて   OSのメインメモリ上限+1を知るようにしただけで   MACEの変更はそれほどない   4.S−OSのMACEとZEDAを使って   ’86年2月号 S−OS SWORDのソースをアセンブルする   ソースには参考と気にはなるが   とりあえずはMACEのソースを元に   SWORDのリストに変換   X1用ソースリスト965、967行の@が抜けているのと   786  LD  A,1が無いので追加   そしてアセンブルするワケだが上手くいかない   チェックするとわかるがMACEは英小文字は対応していない   勝手に変換される(mz−80Kと互換の為かぁーーーっ)   英子文字が出力されないのはMACEの仕様   そこでワンポイント(キラリ)      “SWORDソースはSWORDでアセンブルする”     どどーん、仕方ない100%了解です!   で、SWORDでアセンブル、オブジェクト作成   これでダンプリストと同じになるのをチェックサムで確認   ソース自体はおかしくなく、   当時のソースを入力の人はどうしてたのかな?   ダンプリストをみながらメッセージ部分を修正?   それともSWORDで再アセンブル?   だから参考なんだなぁと思いつつ、   もう一つ困った事が起こる        ↑今度はSWORD+ZEDAでSWORDを作成   5.作成したオブジェクトのSWORDは3つに分かれてて      メイン        01500H〜0297FH※    共通DOSモジュール 02100H〜02AFFH※    ディスクI/O    02B00H〜02CFFH     重複部分(※)があってオブジェクトを順番にロードすると   一部分が上書きされてしまう   重複部分はメイン側は未使用部分なので   メイン部分のオブジェクトを2つに分けてセーブすればよい   つまりX1 S−OS SWORDの場合      メイン−aとして01500H〜028FFH    メイン−bとして02900H〜02AFFH     と2つに分けてセーブして   メイン−a、共通DOSモジュール、メイン−b、ディスクI/O   の順にロードすればOKとなる   他にもブロック転送プログラムを自作して一時退避して   最後に転送しなおす手もある   前もってFORMAT&SYSGENもアセンブルしたら   新しいディスクをフォーマット、システムディスク作成すれば一応完了   テープ専用にするのなら変更したりすればよい   後から出てくる不具合の修正は後で修正して   掲載された号を記せば区別がつくとして...   その訂正記事が間違っているのもあるけどソレは置いといて...   mz用も似たようになるが   mz−80K系はマシン語のセーブがモニタ上では出来ない為   何かしらのセーブの出来るモニタとかでなんとかするしかない   Oh!mz誌上の質問箱でもそんな感じだったりする   なんかmz−80Kに対して扱いが酷いよーな気もする   まぁmz−700/1500があれば   そちらで作成する方がラクではある   6.とりあえずアセンブルしてからのSWORDの完成となる   俺は天才だぁー、天才は何をしてもいいんだぁー   と、心の中心でネタを叫ぶ   ね、簡単でしょ?(茨の道のりって書いてるけど)   ↑最初のSWORDが完成     S−OS SWORDでディスク対応になってからかなり使い勝手がよくなり コンパイラやアセンブラが用意されているので 雑誌の企画(?)としてはかなり面白い これだけで十分やっていける そりゃあCP/M80の莫大なソフト量には負けるが X1の頃には日本でCP/M本体はよくみかけても、 CP/M用ソフトがなかなかみかけない 幸い私は業務で使用しないものを引き取れたけど 元が8インチなので当時FM−11使って コンバートしてもらったりしたものである もしそんな事がなければCP/Mソフトを使おうと思うかどうか そりゃあCP/Mの付属だけで8080アセンブラ、 根性のEDでやってやれない事もない 8080アセンブラでZ80コードを書けるのか? DEFB命令があるじゃあないの(普通はしないって) まぁシャープさんやアスキーさんから色々と出ていたっけ まぁそんな事をしなくてよいのがS−OSなのです   ↑後はソフトを増やしていくと...   ちなみにEDASMでいきなりSWORDをアセンブルしてみたけど 完全にアセンブル出来なかった(少し修正すれば可能)    
前に戻る Homeに戻る