SSブログ
English Version

ポケコン(G850)用拡張ボード(EborsyEEP)でCP/M(その4)ランチャーの製作 [ポケコン]

 前回の記事で今回開発した PC-G850V(以降 G850 と記す)用の増設ボード EborsyEEP(RAM & シリアル EEPROM を実装)使って CP/M が安定して動作するようになったことを書きました。今回は CP/M 環境下で既存の G850 用のアプリケーションを起動できるランチャーを制作したので概要を記載したいと思います。

 CP/M が動作している状態で既存のアプリケーションを起動するために G850 内蔵メモリ上で動作していた CP/M loader をメモリの後方に移動し、アプリケーション用のメモリを確保するようにしました。

 下図が CP/M 起動時のメモリ配置の概要図になります。

CP/M 起動時のメモリ配置


 起動時の処理の概要は
  1. loader 自身を 5600H 以降にコピーする。
  2. 未使用だった BAMK0 に loader をバックアップする。
  3. BE00H にブリッジ処理をコピーする。
  4. loader 内の IPL により EEPROM から CCP/BDOS/BIOS を読込み、BANK1 に展開する。
  5. CCP へジャンプし、CP/M を起動する。
となります。

 loader の末尾には backup から loader 自身をリストアする restore モジュールを配置しました。理由はゲーム終了時に リストアすることで、restore モジュールの直前までゲームで使用可能にしようと考えたためです。しかし、loader がある 5600H まで使えれば殆どのゲームが動作可能なようなので resotore 処理は実装までして、現状はゲーム終了時に動かしてはいません(暴走時に restore を起動することで復活できる場合があります)。
 既存のアプリケーションは CP/M の LOAD コマンドでバイナリ変換した後、CP/M のコマンドと区別するために拡張子を ".850" にしています。このファイルを今回作成した RUN コマンドにより CP/M 上で起動することが可能になります。
 また、今回のランチャーは BASIC プログラムの起動には対応していません。

 G850 で動作する CP/M 上で既存プログラムのランチャーが動くことで、ゲーム等のアプリケーションを瞬時に起動できるようになり、利便性がかなり向上しました^^


 Twitter(X?)に投稿した動画付きメッセージを貼っておきます。




[TOP] [ 前へ ] 連載記事一覧 [ 次へ ]

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。