PROMスプリッタが出力したbytestreamファイルを見てみるとこの時点でMSG1とMSG2の隙間にFFが3個(1ワード)しかなくバッファ空き領域の詰め物が無くなってしまっています。
よくよくマニュアルのbytestreamファイルに関する説明をみてみるとちゃんと書いてありました。
アドレス情報が失われるので不連続なメモリブロックがあるコードからbytestreamファイルは生成できないとあります。有効なコードだけで前詰めしちゃったということでしょう。
ではどうするかです。
まず考えられるのが24ビット幅プログラム空間に置くROMのイメージを上位、中位、下位と3本HEXファイルで出力し(この時点ではアドレス情報を含んでいる)これをそれぞれバイナリに変換してそれをつっくけて1本のダウンロード用バイナリにするということです。3本のバイナリファイルから1バイトづつ順に拾ってきてU,M,L,U,M,L・・・と連結していかなければならないのでcopy /b file1+file2+file3という訳にはいかず簡単な処理ですがマージツールを作る必要があります。
ですがEXEファイルのフォーマットは公開されているので、何もいったんバイト毎のHEXファイルを経ることなく、ダイレクトに1本のバイナリにする方がよほど簡単で早いわけで、このEXE2BINツールを作ることにします