今更、雑誌の打ち込み S−OS


(注)このページは、いまだに雑誌のプログラムを打ちこんだ事を記すだけの    全機種共通モニタのページです。   S−OS SWORDのコマンド  #D[〈デバイス〉:]               ディレクトリ表示  #L〈ファイル〉[:〈アドレス〉]         ファイルロード  #S〈ファイル〉:〈Sadd〉:〈Eadd〉[:〈Start〉] ファイルセーブ  #ST〈ファイル〉:P または :R        ライトプロテクト(P:オン、R:オフ)  #K〈ファイル〉                  ファイル削除  #N〈旧ファイル〉:〈新ファイル〉         新ファイル名に変更  #DV〈デバイス〉:                デフォルトデバイス変更  #J〈アドレス〉                  プログラムコール  #M                        各機種のモニタへ飛ぶ  #W                        画面の40字、80字モードの切り替え  #!                        ブートコマンド   デバイス名  A〜D:ディスクドライブ  E〜F:リザーブ  T  :共通フォーマットテープ  S  :各システムフォーマットテープ  Q  :QD
2024年07月の打ち込み  ’88/04 Oh!X WALRUS S−OS用 OK    ソースリストの方を打ち込みZEDAでアセンブル     2024年06月の打ち込み  ’89/11 Oh!X PUSH BON! S−OS、TTI用 OK    キー操作の説明では[I][M][J][K]となっていますが  実際には[8][2][4][6]となっています    ’89/10 Oh!X 超小型インタプリタTTI S−OS用 OK    ソースリストのマシン語部分を見れば  ダンプリストとかなり違うのがわかります  入力、実行方法ではダンプリストの方になっています  ソースはZEDA−3でアセンブル、実行が可能です     2023年09月の打ち込み  ’89/01 Oh!X LAST ONE S−OS用 OK    以前に貰ったのですがソースからアセンブルする為  SOURCERYでソースジェネレート、ZEDA−3でアセンブルします    ’85/09 Oh!mz MACINTO−S S−OS用 OK    以前に貰ったのですがソースからアセンブルする為  ソースリストの方を打ち込みZEDA−3でアセンブル     2023年03月の打ち込み  ’85/08 Oh!mz ZING S−OS用 OK    以前に貰ったのですがソースからアセンブルする為  S−OS SWORD、SOURCERYでソースジェネレート、  MACE、ZEDAでアセンブル  EDASMだと条件文等でエラーになるので  少し修正が必要になります  またX1、ZEDAでアセンブルする際  7行の;を外し、OFSET $C000−$4D00を  OFSET $D000−$4D00にした方が  ソースを壊さずに修正が出来るので楽になります    ’85/07 Oh!mz ZAID S−OS用 OK    以前に貰ったのですがソースからアセンブルする為  S−OS SWORD、SOURCERYでソースジェネレート、  MACE、ZEDAでアセンブル  EDASMだと条件文IF PV=0〜でエラーになるので  少し修正が必要になります    ’85/07 Oh!mz ZEDA S−OS用 OK    まずS−OS MACE VER0をVER1にします  <01F6AHの変更>   X1/C/D/turbo    00FF   MZ- 2000/2200(G-RAM 有) FFFF   MZ- 80B/2000(G-RAM 無) 00D0   MZ- 700 /1500      00D0   MZ- 80K /C/1200    00C0    <バージョンナンバー変更>   X1/C/D/turbo      154DH 00→01   MZ-80B/2000/2200      132AH 00→01   MZ-80K/C/1200/ 700/1500 123AH 00→01    以前に貰ったのですがソースからアセンブルする為  S−OS SWORD、SOURCERYでソースジェネレート、  COPYでディスクファイルを共通テープファイルへ変換  共通テープファイルをEDASM X1でアセンブルします  オブジェクトはX1テープフォーマットなのでS−OSではロード出来ません  S−OS MACE起動後NMIでモニタからロード  G1FFAでS−OSに戻りSコマンドでセーブ  MZ−80K用もMZ−700でMZ−700 S−OS MACE起動  リセットでモニタからロード、J1FFAでS−OSに戻りSコマンドでセーブ  訂正記事あり(DEFB)、DEFW)のデータのセパレータ     4910 1E FE 2D 28 23 FE 2A 28 :E4   4918 2B FE 2F 28 34 3A D6 4C :10   4920 B7 C0 CD A6 38 C8 FE 29 :11   4928 C8 FE 2C C8 23 18 F3 23 :0B   4930 D5 CD 94 49 E3 19 18 09 :9C   4938 23 D5 CD 94 49 E3 B7 ED :29   4940 52 E3 18 0A 23 D5 CD 94 :B0   --------------------------------   SUM: 12 3F CE A5 01 E9 8D 4A :85    ’85/06 Oh!mz 新バージョンチェックサム プログラム S−OS用 OK    EDASMでアセンブル  訂正記事あり   <3000H〜>  (誤) 3072〜 0D 20 FA 0E  (正) 3072〜 2D 20 FA 2E  (誤) 30E8〜 CD B8 31 F5  (正) 30E8〜 F5 CD B8 31    <B000H〜>  (誤) B072〜 0D 20 FA 0E  (正) B072〜 2D 20 FA 2E  (誤) B0E8〜 CD B8 B1 F5  (正) B0E8〜 F5 CD B8 B1    ただしソースに対しての変更部分がないので下記の様にします  ソースの場合(共通部分のみの変更でOK)    78 DEC  L    81 LD   L,3   150 PUSH AF   151 CALL @PRNT     2023年02月の打ち込み  ’89/05 Oh!X ソースジェネレータ RING S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  SOURCERY変更プログラムをREDAでアセンブル  その変更プログラムでRINGにして  ダンプリストと同じになったのでOKとします    ’89/06 Oh!X 超小型コンパイラTTC S−OS SWORD用 OK    以前に貰ったのですがソースからアセンブルする為  SOURCERYでソースジェネレート、ZEDA−3でアセンブルします  TTC自体にテキストエディタが無いためサンプルプログラムは  ZEDA−3のエディタを利用します  これはテキストソースが04E00Hから置かれるので  参考例と同じになり都合が良い為です     2021年03月の打ち込み  ’89/02 Oh!X REDA S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  RINGでソースジェネレート、REDA自身でアセンブルします  アセンブラ、エディタ部分は単独で使用可なので  それぞれ別でアセンブルします    ’89/01 Oh!X FLICK S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  RINGでソースジェネレート、ZEDA−3でアセンブルします  ただしソースは参考なのでまずZEDA−3用に修正します  EQU命令内の計算、INC H,H等は展開してINC H:INC H  [ニモニック]はオペコードに変換(BIT命令の所は若干違う)  メッセージはDMでDBを分ける  プログラム中のラベル+nn*mmの掛け算は計算してラベル+aaに変換等    なお訂正記事は標準以外のキャラクタを使用していたのを変更   5010:A5 A5 A5 A5 → 2E 2E 2E 2E       2021年02月の打ち込み  ’88/09 Oh!X 超小型エディタ TED−750 S−OS SWORD用 OK    ソースからオブジェクト作成して手動でリロケータブルファイル作成しています  201行が途中で切れていますがADD A,’0’−’ ’     2019年04月の打ち込み  ’87/04 Oh!mz TANGERINE S−OS SWORD用 OK    以前にもらったものですが  RINGでソースジェネレート、ZEDA−3でアセンブルします  メイン部分ダンプで08809H−08FFFHが余分に出力となっていますが  086C0H−08808Hもソースでは  DEFB、DEFS命令で000Hで埋まりますが  ダンプでは数値が入っています(ゲーム自体に問題はありません)  08809H−08FFFHはソースリストの一部です    ’87/04 Oh!mz INVADER GAME S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  RINGでソースジェネレート、ZEDA−3でアセンブルします  ここで注意するのは説明されている通りに  分割ではなく個別でアセンブルします  なお分割で行なおうとすると  ラベルの2重定義のエラーがでます    <MZ−80B/2000/2200 S−OS>   S−OS上でキー入力時にカーソルキャラクタの取り込み   1B61:20 → 1E    <PC−8801 S−OS>   ブロックが突き抜ける症状   1178:20 → 7B    ’88/10 Oh!X MANKAI S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  RINGでソースジェネレート、ZEDA−3で分割アセンブルします  ただ、このままではDEMO部分で1行抜けている為アセンブルできません    MANKAI DEMOソースリスト   309 PL1:  これでダンプリストと同じになります     2019年03月の打ち込み  ’87/02 Oh!mz MARMALADE S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  SOURCERYでソースジェネレート、ZEDA−3でアセンブルします    ’86/04 Oh!mz LIFE GAME S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  ソースリストからZEDA−3でアセンブルします  アセンブルでは2行のOFFSET $5000−$3000を  $8000−$3000に変更してアセンブルします    ’88/02 Oh!X ELFES S−OS SWORD用 一応OK    以前にダンプリストで打ち込んだのですが  SOURCERYでソースジェネレート、ZEDA−3でアセンブルします  ただORGが2つあり、8バイト隙間が出来るのですが  その中にソースリストが残ってしまいます  それが1バイトずれています(私自身のタイプミスの可能性有り)  作成したオブジェクト自体はOKなので  例えば+01Hを+1H等のタイプミスが考えられるのですが  何回見直してもありませんでした  そこでZEDA−3のテキストをディタコマンドX4E01を実行して  1つ後ろにずらしてからアセンブルで作成すればダンプリスト通りになります    <MZ−80K/700/1500>  ゲーム終了時の誤動作   8F6D:80   914A:00 00   9154:00 00    ’86/08 Oh!mz 五目並べ S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  SOURCERYでソースジェネレート、ZEDA−3でアセンブルします  プログラム本体は$3000からなので  O2000、X7000等の設定でソースジェネレートを行います  アセンブルでは58行のOFFSET $1D00を  $1E00に変更してからでないとZEDA−3ではアセンブル出来ません  なお訂正記事はLOCルーチンの動作関連です  <変更>   4751:CD 1E 20→CD B0 4A   475B:CD 1E 20→CD B0 4A    <追加>   4AB0:F5 CD 1E 20 F1 C9    ’87/08 Oh!mz SOURCERY S−OS SWORD用 訂正記事あり    以前にダンプリストで打ち込んだのですが  SOURCERY自体をソースジェネレートしてテキストを抽出  テキストエディタで編集、イメージに書き直しました  ソースリストはZEDA−3で分割アセンブルします  また訂正記事があります    <マクロ関係の訂正>   38DD FE 40 DA DF 33 FE 70 D2 : 6A   38E5 DF 33 E6 07 FE 06 D2 DF : B4   38ED 33 4E 23 CD 58 40 CA DF : B2   38F5 33 7E A9 FE 09 C2 DF 33 : 35   38FD A1 28 05 FE 09 C2 DF 33 : A9   3905 CD 69 40 4C 44 20 20 20 : 66   390D 00 79 0F 0F 0F 0F E6 03 : 9E   3915 47 79 0F E6 03 4F C3 5D : 27   391D 3B : 3B   ---------------------------------   SUM: 33 C2 EF F0 F1 46 93 76 3A06    ’87/08 Oh!mz 碁石拾い S−OS SWORD用 OK    以前にダンプリストで打ち込んだのですが  ソースリストからZEDA−3でアセンブルします     2017年10月の打ち込み  ’86/11 Oh!mz MAZE IN MAZE S−OS SWORD用 一応OK    MZ−2000 S−OSなら完全に動作しますが  他の機種のS−OSでは動作しない場合が多いようです  ソースからのアセンブルもOK  SOURCERYでソースジェネレートする場合  DEFM(DM)を一気に指定するとバッファオーバーする場合があります(マップデータ)  X1で作成の場合マップデータ(BIN)だけセーブしてディスクBASIC上で  フリーアドレス内にロードしてアスキー変換をすれば楽にマップデータを作成できます     PC−8001 S−OS 画面が少しおかしい  (プレイ可)  PC−8801 S−OS 画面が少しおかしい  (プレイ可)  MZ−80B  S−OS 画面が出ない     (プレイ不可)  X1      S−OS 3D迷路表示がおかしい(プレイ不可)     Home へ戻る