2018年5月4日金曜日

FLEXシステムの作成方法(その1)

(1)FLEX.CORを入手する
「SWTPC emulator」でネット検索して「Evenson Consulting ServicesのSWTPC 6800/6809 Emulator」を探し、その中のDownloads/UpgradesタブからComplete Setup current versionをクリックするとSWTPCemuSetup.exeがダウンロードできます。
適当なコンピュータで実行するとSWTPCemulatorがインストールされ、その中のDisksフォルダ中にFLEX6800,FLEX6809の2つが作られ、それぞれ100近いDSKファイルが入っています。
それらのDSKファイルをバイナリエディタで開いてDirectoryを見ると、FLEXx.SYSやFLEXx.CORが見つかります。(6809の場合はFLEX9.SYS,6800ではFLEX2.SYS)

 (6月21日訂正)ご指摘を受けましたので、上記の説明文を次のように訂正します。
Downloads/UpgradesタブからFULL KitをクリックするとSWTPCFULL.zipがダウンロードできます。
このzipファイルを解凍するとSWTPCFULLフォルダ中にSWTPCemuInstallX.exeがありますので、これを実行するとProgram Filesフォルダ中にEvenson Consulting Services\SWTPCemuフォルダが作られます。この中のDisksフォルダ中にDSKファイルがあります。
(2019年7月1日訂正)SWTPCFULL.zipに関する質問がありましたので、Evenson Consulting Servicesのサイトを見ましたら、ファイルの置き場所が変わっていました。
下の質問の回答中に置き場所を書きましたのでそちらをご覧ください。

(2)Driver、Console I/Oルーチンを作る
この2つのルーチンは各自のシステムに合わせて作成しなければなりません。
DriverルーチンはFLEX用Virtual Driverの作り方(4月21日)で説明しましたコマンド応答に合わせて作る必要があります。
私が使用している、この6809シングルボード用のDriverルーチンとConsole I/OルーチンをGitHubに上げておきます。

(3)FLEX.SYSを作る
最後に、CORファイルとDriver、Console I/OルーチンをFLEXのAppendコマンドでつなげば良いのですが、そもそもFLEXが動いていなければAppendコマンドは使えません。

バイナリファイルの模式図

どうすれば良いかですが、そもそもAppendコマンドは、COR, Driver, Consoleの3つのファイルのセクターを連続させているだけなので、直接、バイナリエディタでくっつけてしまえば良いのです。
エディタ上でFLEX.COR,Driver.bin,Console.binを並べて各セクターの先頭4バイトのレコード番号値を直接書き換えます。
そして、FLEX.CORの先頭セクター、最終セクター、セクター数をDirectoryに書き、SIRの情報もそれに合わせて書き換えます。




私が使用しているDriver,ConsoleルーチンをGitHubに上げておきます。




3 件のコメント:

  1. こんにちはpakapooと申します。
    詳細なドキュメントを書いていただいているので
    私もやってみたくなって100MBほどのSWTPCFULL.ZIPをとってきたのですが、
    中を見ると巨大なsetup.exeが1つしかなく、SWTPCemuInstallX.exeが
    見当たらない状態です。これは何か違うzipをとってきてしまった
    状態でしょうか?

    返信削除
    返信
    1. ご質問を拝見し確認してみました。サイト「Evenson Consulting Services SWTPC 6800/6809 Emulator」を見ましたら、以前と変わっていまして、Downloads/UpgradesタブにはFULL Kitは無く、Complete Setup current versionとなっていました。これではだめなので、Event Calendarタブ中の12/28/2003にある「FULL CD」をダウンロードしますとSWTPCFULL.zip(101680KB)が得られます。これを解凍してできるSWTPCFULLフォルダ中にSWTPCemuInstallX.exe(102804KB)がありますので、これを実行しますとProgram Files中に目的のファイルが得られました。

      ということで、100MBほどのSWTPCFULL.ZIPでしたら上記のファイルと同じもののように思えますが、中身がsetup.exeというのは変ですね。私が確認しました上記の手順を試してみていただけますでしょうか。

      また何かありましたらご連絡ください。

      削除
  2. pakapooです。
    確認ありがとうございます。
    何かおかしなモジュールをつかまされていたようですが
    Old68fun様の手順に従い正しそうなモジュールを入手することができました。
    手順に従いflexの生成を試してみようと思います。

    返信削除