これなんですか?

PC-9821A-E02ボード(一般的にはハイレゾボード)上のROMをプログラム的に読み出すものです。
アセンブル済みのバイナリは提供しません。
とは別にハイレゾな初代AでEA00セグメントからをROMエミュレータにするプログラムを同梱しています。
上のものを解析してるうちに作れる!と思ったのでとりかかりました。こちらの説明は下段に。


readE02.sの先頭のAHにx0を入れてアセンブルして実行してください。
6000セグメントの64kBにROMを展開します。
意味のあるものはC0-FFまでの256kBでした。
そのメモリをデバッガなりなんなりで切り出してファイル保存してください。

なおホワイトなハッキングで見つけた方法ではありません。
Asの本体ROMを逆アセンブルし、読み通して見つけてきた方法です。
気にする方は気にしてください。

免責
初代AのAsでしか実行していません。
2代目A以降ではハイレゾボード上のROMを必要としなくなったという噂も耳にします。
実行して壊れても私は責任を取りません。まずはソースコードを読んでください。
アセンブルして実行するのはご自身の責任でよろしくお願いします。

2025年10月8日 初版
文責は
drachen6jpの人
https://x.com/drachen6jp


ROMエミュレータ部について
初代Aでしか実行できないようにコードは書いていますが、まだまだ不安はあります。
のでこれも上記免責と同じく私は責任を取りません。
実行にあたってはリターンキーを押す方の責任でよろしくお願いします。

やれること
ハイレゾ機のEA00セグメントからの16kBはノーマル機のCC00セグメントのRAM化機構の残りカスのおかげか
拡張RAMとして前に出せることがすでに判明しています。
そこにブートROMを置けばいろいろ悪さができそうだ、ということです。
具体的な応用相手は、公式にはハイレゾ非対応のPC-9801-100です。
実際にはこの板のROM出現位置が悪いだけで、E6よりも後ろに出現させることができればハイレゾ機でも動作します。
少し前にPC34D0というハードウェアEMSボードにROMをコピーして動作確認をしました。
これをハードウェアEMSなしでもやろう というお話です。

具体的な実行方法
前準備
拡張RAMのEA00セグメントにはIO53dhとIO91hの操作であれやこれややってROMをコピーしてください。
IO53dhのbit2を落としてbit0を上げておくことは必須です。
まとめてしまうとIDEがあれば12hでなければ02hをIO53dhに出してください。
そしてIO91hに0ehを渡してメモリ窓を開きます。8000セグメントからの128kBがメモリ窓として開きます。
そこの8a00セグメントからの16kBが後でEA00セグメントとして出てくる場所です。

コピーが終わったらメモリマネージャがなければコピー後にIO91hでメモリ窓を0ahに戻してください。
メモリマネージャ使用中でしたら(前準備中はあれこれ面倒なのでおすすめしません。)08hにします。

この作業を自動化するものを書くのが面倒なのでこの状態で提出します。
上記の意味が分からない人は残念ですが使えません。初級者お断り状態です。
すみません。私も初級なのでこの自動化プログラムを書くのが邪魔くさいのです。

コードサイズは16kBまで大丈夫になりました。
DIV0ROMのコードだけを置くこともできますがそれは一度起動を挟んでいるわけですからあまり意味はないでしょう。
とにかくハイレゾ機で拡張ROMのうちにさせたいコードがあればそういうものを置きます。
HIRES100.COMというプログラムを使えば安全簡単に100ボードのBIOSをそこに配置することはできます。
https://www7b.biglobe.ne.jp/~marimo9821/scsi/hires100.html
まりもさん、いつも有用なプログラムをありがとうございます。
これの使用の場合にもブート時にINIT0から実行されるので事前準備としてのAX=320hのInt1Bを実行する必要はありません。
(EA_RAMの初版では必要でしたが、バージョン2では不要です。)


その前準備が終わった状態でEA_RAM2.COMを実行してください。(上の準備をせずに実行するとパリティエラーでBEEPが鳴り響きます。)
ピポ音が鳴りリセット動作されメモリチェックが始まりますのでびっくりするかもしれませんが正しい動作です。
このプログラムを使うとブートROMプログラムを実際のROMに焼く必要なくRAMだけで実行できます。
そこは少し便利ですが一度通常起動を挟む必要があるのが不便です。
やはり便利なものは書き込み可能な拡張ROMボードでしょう。それを持っていない人用のプログラムです。

2025年10月9日 初版 ハイレゾボードBIOSを使う機種専用
      10月11日夜半 バージョン2 EA_RAM2.COMへ変更 EA_RAMの手順とは大幅に変更した。フロッピードライブが１台になってしまうバグなどが取り除かれています。
		   振り返る必要のためだけにソースコードは残してあります。