今更、雑誌の打ち込み 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
2025年10月の打ち込み Oh!mz ’86/10:3D迷路 S−OS Fuzzy BASIC用 OK2025年 9月の打ち込み Oh!mz ’86/09:Fuzzy BASIC S−OS用 OK
まず改造ZEDAのパッチプログラムソースをZEDAでアセンブル そのパッチプログラムをZEDAにあてて改造ZEDAを作成 Fuzzy BASICのソースを 改造ZEDAでアセンブルして作成、実行となるのですが リスト4−A BASICソースリスト(1)の 1477行の…”Foundを…”Found ”にしないと スペースが入りません またS−OSの機種によってはBASICソースリスト(2)が メモリオーバーで作成出来ない場合があるようです X1のS−OS SWORDで作成確認済み 2025年 8月の打ち込み Oh!mz ’87/09:Inside−R S−OS用 OK
ZEDA−3でアセンブル 2025年 7月の打ち込み Oh!mz ’87/06:ディスクコピー S−OS用 OK
1ドライブだけでバックアップを行います 2025年 2月の打ち込み Oh!mz ’85/06:Lisp−85インタプリタ S−OS用 OK
EDASMでアセンブル 2025年 1月の打ち込み Oh!mz ’85/08:ゲーム開発パッケージBEMS S−OS用 OK
BEMS本体、サンプルをZEDAでアセンブル ただしそのままでアセンブルすると ソースリストを破壊しながら作成されるのでエラーとなります X8000でソーステキスト格納エリア変更するか 6行の;をOFFSET 2000H等にしてアセンブルします 2024年12月の打ち込み Oh!mz ’85/10:CAP−X85 S−OS用 OK
EDASMでアセンブル Oh!mz ’87/07:アドベンチャーゲーム作成ツール STORY MASTER S−OS用 OK
ZEDA−3でアセンブル 掲載誌でサンプルゲームのダンプリスト(シークレットファイル) となっていますが実際にはサンプルソースのダンプリストになっています 8月号にテープロードの不具合と乱数ルーチンの訂正記事あり 訂正ソースを使用する場合、訂正ソースだけをアセンブルして 分割してオブジェクトをセーブしてSTORY MASTERをロードしてから 訂正のオブジェクトをロード、変更箇所を書き換えるようにします 2024年11月の打ち込み Oh!mz ’87/02:テキストアドベンチャー作成ツール CONTEX S−OS用 OK
コンバートとMAINのソースをZEDA−3でアセンブル サンプルのメッセージデータが1行が長いので E−MATEでないと作成出来ない部分があるようです 他のエディタやテキスト編集機能のあるソフトでは 途中までしか入力できません(ZEDA、TED等) またコンバートは1度に全部コンバートして その状態で各コンバートしたデータ、CINTEXのMAINをロードして 実行ファイルを作成しないといけないようです 後で各コンバートしたデータだけで作成してもハングアップするようです 2024年 7月の打ち込み Oh!X ’88/04:WALRUS S−OS用 OK
ソースリストの方を打ち込みZEDA−3でアセンブル 2024年 6月の打ち込み Oh!X ’89/11:PUSH BON! S−OS、TTI用 OK
キー操作の説明では[I][M][J][K]となっていますが 実際には[8][2][4][6]となっています Oh!X ’89/10:超小型インタプリタTTI S−OS用 OK
ソースリストのマシン語部分を見れば ダンプリストとかなり違うのがわかります 入力、実行方法ではダンプリストの方になっています ソースはZEDA−3でアセンブル、実行が可能です 2023年 9月の打ち込み Oh!X ’89/01:LAST ONE S−OS用 OK
以前に貰ったのですがソースからアセンブルする為 SOURCERYでソースジェネレート、ZEDA−3でアセンブルします Oh!mz ’85/09:MACINTO−S S−OS用 OK
以前に貰ったのですがソースからアセンブルする為 ソースリストの方を打ち込みZEDA−3でアセンブル 2023年 3月の打ち込み Oh!mz ’85/08:ZING S−OS用 OK
以前に貰ったのですがソースからアセンブルする為 S−OS SWORD、SOURCERYでソースジェネレート、 MACE、ZEDAでアセンブル EDASMだと条件文等でエラーになるので 少し修正が必要になります またX1、ZEDAでアセンブルする際 7行の;を外し、OFSET $C000−$4D00を OFSET $D000−$4D00にした方が ソースを壊さずに修正が出来るので楽になります Oh!mz ’85/07:ZAID S−OS用 OK
以前に貰ったのですがソースからアセンブルする為 S−OS SWORD、SOURCERYでソースジェネレート、 MACE、ZEDAでアセンブル EDASMだと条件文IF PV=0〜でエラーになるので 少し修正が必要になります Oh!mz ’85/07: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 Oh!mz ’85/06:新バージョンチェックサム プログラム 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年 2月の打ち込み Oh!X ’89/05:ソースジェネレータ RING S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが SOURCERY変更プログラムをREDAでアセンブル その変更プログラムでRINGにして ダンプリストと同じになったのでOKとします Oh!X ’89/06:超小型コンパイラTTC S−OS SWORD用 OK
以前に貰ったのですがソースからアセンブルする為 SOURCERYでソースジェネレート、ZEDA−3でアセンブルします TTC自体にテキストエディタが無いためサンプルプログラムは ZEDA−3のエディタを利用します これはテキストソースが04E00Hから置かれるので 参考例と同じになり都合が良い為です 2021年 3月の打ち込み Oh!X ’89/02:REDA S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが RINGでソースジェネレート、REDA自身でアセンブルします アセンブラ、エディタ部分は単独で使用可なので それぞれ別でアセンブルします Oh!X ’89/01: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年 2月の打ち込み Oh!X ’88/09:超小型エディタ TED−750 S−OS SWORD用 OK
ソースからオブジェクト作成して手動でリロケータブルファイル作成しています 201行が途中で切れていますがADD A,’0’−’ ’ 2019年 4月の打ち込み Oh!mz ’87/04:TANGERINE S−OS SWORD用 OK
以前にもらったものですが RINGでソースジェネレート、ZEDA−3でアセンブルします メイン部分ダンプで08809H−08FFFHが余分に出力となっていますが 086C0H−08808Hもソースでは DEFB、DEFS命令で000Hで埋まりますが ダンプでは数値が入っています(ゲーム自体に問題はありません) 08809H−08FFFHはソースリストの一部です Oh!mz ’87/04: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 Oh!X ’88/10:MANKAI S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが RINGでソースジェネレート、ZEDA−3で分割アセンブルします ただ、このままではDEMO部分で1行抜けている為アセンブルできません MANKAI DEMOソースリスト 309 PL1: これでダンプリストと同じになります 2019年 3月の打ち込み Oh!mz ’87/02:MARMALADE S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが SOURCERYでソースジェネレート、ZEDA−3でアセンブルします Oh!mz ’86/04:LIFE GAME S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが ソースリストからZEDA−3でアセンブルします アセンブルでは2行のOFFSET $5000−$3000を $8000−$3000に変更してアセンブルします Oh!X ’88/02: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 Oh!mz ’86/08:五目並べ 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 Oh!mz ’87/08: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 Oh!mz ’87/08:碁石拾い S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが ソースリストからZEDA−3でアセンブルします 2017年10月の打ち込み Oh!mz ’86/11: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 へ戻る