マーク5の拡張RAMでFLEX9を試す その3 (FLEX Loader)

ベーシックマスタレベル3でFLEX9を動作させる作戦の続きです。

FLEX.CORをフロッピのTrk1,Sct1に置いてマーク5の64KB拡張メモリにロードするローダを作ってみました。

ベースはTSC社のFLEXアダプテーションガイドのAPPENDIX Eにレベル3のディスクルーチンを追加したものです

拡張メモリのバンク切り換え機能を含め256バイト以内に収まりました。

まだまだ改良の余地もありますが、とりあえず目的の動作は達成しました^^

MS-DOSのクロス開発環境でAS63_DOS.EXEのアセンブラを使わせて頂きました

拡張メモリのバンク切り換えでは上半分の$8000~$FFFFをバンク切り換えしていますが、
バンクレジスタ$FFE8にビットをセットするとバンク切り換えができるようですが$FFE8を
操作する前に ORCC #$50 で割込みを禁止しないとうまく切り替わりません。
この辺、正しい使い方をまだまだ調べる必要がありそうです^^;;

拡張メモリの書込み専用モードに切替
LDA #$10
STA BANKREG ;($FFE8)

標準メモリに戻す
LDA #$00
STA BANKREG ;($FFE8)

 

▼マーク5エミュでの動作確認手順

AS63_DOSでアセンブルしmot Sフォーマットで出力(debug.mot)しDL コマンドでメモリ―にロードします
(DL 0 でSフォーマットのアドレスからオフセットゼロのアドレスにロード)
D 4400でロードされたかダンプして確認
R PC 4400 でPCを移動して
Tでステップ実行しながら動作確認
ある程度進めたらGで一気に実行

正常にロードが完了したらトランスファーアドレス($DCF4)にジャンプし

レベル3のモニタに移ります

この状態で拡張メモリ側の内容を確認すると

正常にロードされているようです^^

最初のセクタにあった$CC00からのデータもOK

最終セクタにあった$DD65から126バイトを確認すると$DDE2に$39でOK

$DDE2に$39でOK

先頭セクタの展開OK、最終セクタの展開OK、トランスファアドレスジャンプOK
でFLEXローダの動作はOKのようです。

全てのデータが64KBの拡張メモリ側にロードできているので、拡張メモリへの
ローダとしても大丈夫そうです^^

メモリへのロードはOK

次はBIOSを作成してFLEX9を実行させる準備にかかります^^

そんなFLEXローダ製作の記録・・・

ベーシックマスタの情報をお探しの方は是非こちらからどうぞ → Amazon

「マーク5の拡張RAMでFLEX9を試す その3 (FLEX Loader)」への2件のフィードバック

  1. あけましておめでとうございます!
    Mark5のFLEX対応化、進んでますね!64KB拡張RAMカードの利用は BMCALC以外で
    見たことがありませんでしたので、楽しみです。
    引き続き注目していますので、宜しくお願い致します^^

    1. あけましておめでとうございます
      今年もよろしくお願い致します^^
      レベル3でFLEX9を使うときに私にはVRAMエリアが対処できないので64KB拡張RAMを使って挑戦してみることにしました。
      FLEX9を拡張64KBRAMで動かしてROMのルーチンやROMの裏RAMも自由に使えるようになると素敵なFLEX9マシンにできそうですが私にはハードルが高いです^^;;;
      S1でCP/M80を動作させるのに4年以上かかりましたが、FLEX9はそんなにかからないようにしたいですね^^

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。 本文に全角文字を2文字以上含めて下さい (スパム対策)