98システム解析スレッド2022年1月-1 /人'A`;人\ 2021年12月31日(金) 15:37 |
メモリ窓検索ルーチン リウ 2022年1月5日(水) 0:55 |
一応手元では完成したとは思っています。 アルゴリズムは以下のとおりですが、実際のコードではバグっている可能性は多々あります…。 1月10日微修正変更
1 PCIかREDWOOD、PC-H98シリーズでないことを確認 2 IO53dhが読めるか0000:05A7hに保管されているものがあればそれを使用 !注 IO53dhが読める機種の場合bit2が立ったままです。メモリ窓操作を行う必要があるならこの数値を信用せずにbit2を落とさなければ行けません。 3 CC00(ハイレゾならEA00)などに現に見えているものをどこかに保管 4 512kbが切り離されているなら接続 メモリ窓をノーマルならCでハイレゾならEで開け パリティエラーを無効にし、IO53dにノーマルならFBh、ハイレゾならBBhを出力してメモリ窓の中に全て出現させる 5 メモリ窓に出てきたものとさきほど保管していたものを比較 一致したならRAM扱い (補足)IDEが出ているとSASI領域にROMがいる場合(普通は同時使用不可)であってもメモリ窓内と拡張ROM域での比較では一致してしまいます。またサウンド部も同様 (さらに補足)D4からの16kbに100ボードのBIOS1.00以外が存在する場合D7からが0で埋まります。それをRAMと勘違いする可能性が存在します。ので0埋めやFF埋めはROMと仮定します。 6 メモリ窓をeで開け 9000:0000にFFFF以外のものが見えることを確認する 見えなければシャドーRAM未搭載 ここも追記11日 IO 461hに機能が無い場合切り替わらずに9000に中身が存在してしまう。EPSON286機? 7 未搭載機種の場合に今(窓内ではなく拡張ROM領域の方で)見えているものとさきほどコピーしておいたものが一致するか再度確認 一致したならばそれは内蔵ROMが前に出ている。(追記 ここでの内蔵の意味がSCSI専用スロットの場合定義が難しいので表現に注意 SCSI専用スロットのものを内蔵とするか外付けとするかに問題あり ただしbit操作では問題にならないはず) 8 5と7で確認したものをIO53dhに出力 そして0000:05A7hに保管 9 512kbが切り離されていた設定なら元に戻す。パリティエラーも有効に戻す。io43fで必要なこともやる。メモリ窓の開け先も戻す。
という長々とかかりますが一応CC00に何かがいてもD700に何かがいても何とかなりそうです。 さきほどこのアルゴリズムで壁ごえSCSIとLBAパッチをアップロードしました。
デスクトップ8G壁機種でLBAパッチが動作できないという報告を複数受けています。解決できそうでしたら教えてください。なんとかして確保する予定ではあります。
追記22:03 気づいたこと 昨晩のバージョンではそもそも8G機では絶対パッチできない状況でした。さきほど相対ジャンプの値を気にせずにコードを検索するように改修してみました。どうでしょうか。報告待ちです。
IDEのワークエリアがE600:4000になる状態だとLBAパッチは色々危ない気配がしますので私の出すものについてはB4670ボードは非対応で行きたいと思います。2000扱いの部分を単純に4000に書き換えれば行けそうな気配はなくはないですが試せませんので…
6日14:00追記 twitterでF000セグメントのPCIレジスタ操作が暴走原因と教えていただきました。まずBIOSパッチ前に無駄にF000に書き込みをしていたので止めました。PCIレジスタを戻す前にwbinvdを追加しました。これでなんとか暴走だけは止まるといいな、という対策です。
22:35追記 どこで止まっているかの詳細が報告されバグを修正しました。今度こそデスクトップ8G機で動くはずです。しかし報告がなければF000セグメントのやらかしにも気づけずやはり動作確認してくださる方には頭が上がりません。
7日0:15追記 XAにはシャドーRAMが存在するようですがやはり286機には準備されていないように思います。ITFがあるかどうかは何か確認方法あるでしょうか?BIOSROMを剥がして吸うというのが能力としてありません…。IO43Dに適当な数値を入れて比較でよさそうですがDOSからのデバッグでは暴走が怖いです。しかしやっておきます。
|
新春のお題、053Dhの値 まりも 2022年1月5日(水) 6:43 |
ハイレゾモードで053Dh出力値の最上位ビットは、B4670ボード存在設定(システムセットアップメニューで)のときにIDE BIOSのRAM部分のアドレスをEA00:0に変える機能みたいなのですよね<最後に補足あり>。したがってハイレゾではFBh決めうちができません。B4670を無視すればBBhでしょうか。なおこの機能はAnとA 3-mateにはありましたが、初代A-mateにはありません。ミイソによる入れ忘れなんでしょうかね。この設定の状態はUndoc2にあるようにSDIPスイッチのI/Oで読み出せます。AfとA2-mateもたぶんそれで行けます。 サウンドボードのBIOSは本体内蔵物がRAMなのだから、Cバス物もRAM化して問題はないように思いますね。26K無しボードの場合は26KありのBIOSデータを持っていればRAMに展開してもよさそうです。B-mateあたりで使う人はいるかもしれません。よくわからないのは9801-101/9661のRS232CボードのROMをCC00に置いた場合です。このボードのROMはやたらとアドレス設定自由度が高いので、そういう利用形態もあり得なくはないです。
<22:40追記> タイムスタンプが21:54の頃のLBA_IDEですが、8GB対応機(Xa200/D)でハングアップしますね。DA/UA割り当てがおかしいようで、セカンダリマスタに1台だけつながった状態で 80hにはならずに82hにしようとしているようにみえます。追追記:そこは仕様でしたか、うーん、、、6000行あるので読み切れていません。
>B4670ボードは非対応で行きたい 以前そのことを書いたと思いますが、わたしも同じです。B4670ボードなんてオークションでもまず見ないし、そもそもサーバの構築法がわからないので利用価値がありません。30年前のシステムを保守しているような人・機関が仮にあったとしても、うちらの発展ツール類を導入するはずもありません。
<6日23:20追記> きょうの22:32版ですが、Xa200/Dでまだハングアップします。DLBA_IDEもデバッグ番号が0-1-2-3-4-8-7-6-4-3-2-1-5と遷移して止まってしまいます。
ところで、80286後期から80486前期の98ですが、実質的に ITFが存在する=シャドウRAMが存在する と考えてよいのでしょうか?Undoc2では 9801RAからシャドウRAMが存在するようなことが書かれていますが、たとえばRXやEXはCPUも386でないわけですがこれに該当するのかどうか。たぶんこのアーキテクチャの最終機はBX/BAなのでしょう。 Undoc2によればAfから(実際は初代A-mateからのようですが)はITFのバンク数が増えて ROMが8組あるとなっていて、getitf98の対象機です。これの確実な判別法がよくわからないのですよね。力づくで バンク切り替え前と後のF800:0hの内容の比較で行けますが、ハイレゾのときに怪しい感じがします。
<7日11時追記>ハイレゾのport 053Dhのbit意味は少し記憶違いしていました。( )内はノーマルモードでの相当機能。Anでの調査です。 bit7 EA00-EDFFに何らかのROM/RAMを出す(SOUND) bit6 E900-E9FFのIDE RAM後半をつぶして何かのBIOS ROM/RAMを出す(SASI) bit5 EE00-EEFFのSCSI BIOSおもて bit4 E600-E7FFのIDE BIOS本体 したがって FBhや7Bhを出力してはIDE BIOSワークエリア後半が違うモノにされる可能性があります(しかしB4670ボード不使用なら実体はIDE RAMそのものかも?)。BBhなら粗大ゴミは現れますが問題ありません。bit7=1で出る実体は16KBもある裏RAMですので使い道は大いにあります。メモリウィンドウ経由で書き込むことができます。PC-9801-100をハイレゾで使えないかという密かな・・・
|
98アーキテクチャ上重要な機能の有無を調べる まりも 2022年1月7日(金) 16:52 |
表題のようにツールを作ってあったのでソースつきで公開してみました。 ttp://hp.vector.co.jp/authors/VA012947/util/arc98.html 調べる項目はまずバスアーキテクチャやメモリコントローラの操作上大きな違いになる次のものです。これらは排他です。 ・H98 NESA ・REDWOOD ・PCIバス PCIバスもコンフィグレーションメカニズム#1,#2というのがあり別物ですからそれも区別します。いずれでもないのは昔からの「レガシー98」とでも呼ぶべきものですが、これも進化の過程でいろいろな機能装備が加わります。独断と偏見で勝手に次のようなものが重要と考えました。それぞれ排他ではなく、部分だったり独立です。 ・8バンクのROMあり ・ITFあり ・レガシー裏(shadow)RAMあり ・CPUが80386以上か レガシー98では機種判定するのに「××の機種はCPUが△△だから」というのはあてにできません。CPUアクセラレータがいろいろありすぎるからです。そこで他の情報をあてにせずにこの要素ごとに「力尽くで」調べることにしました。ITFの有無はport 043Dhの切り替えでF800:0の内容が変わるかどうかで、ROM8バンクはport 043FhにE0..EEを与えて現れるF800:0の内容の不一致で判断しています。
なおPCI,H98,REDWOORD機ではこれらはすべて装備されているとして調べていませんが、H98で8バンクROMがあるのかどうかはちょっと怪しいです。存在していても仕組みはレガシーとは別でしょう。REDWOODの判別法はリウさんのLBA_IDEにあるように0900hの参照としています。
9801DXあたりは載っているROMが27C010×2個で256KBありますから、器としては大きいです。したがってITFは存在、ROMは8バンクありそうですが、043Fhの機能として備わっていないのではないかと推測します。実装RAMが1Mバイトびっちりですから裏RAMは機能も含めてあるはずです。9801RAにあってDXに欠くとは思えません。この仕様はBX/BAまで同じなのか?というのが最近の疑問です。それと、いちおう独立のはずですが、ITFのあることと裏RAMのある機種範囲は完全一致なのかもふと疑問に思いました。古めのレガシー機種をお持ちの方は調べてみてください。うちではH98m105を除くとAeが最古なので(まもなくDX入荷予定ですが)。ITFもない時代のものは一緒くたですが、今回CPUが80_86でも動くように使う命令セットには注意しましたので、初代9801から動くはずです。 #MASM6では .8086と書けば次行から80ゼロ86仕様に戻せることを初めて知ったという、、、
<20:50追記>あれ、XfでもPCI#1のほうになってますね(汗。先にメカニズム#1を調べたときにFFFFFFFFhを返すのでは無くなにかしら反応しているんですかね。BXでおかしいというのは理由がわかりませんが、4MBitものROMがあるのですから8バンクITF ROMは存在していておかしくないし、Port 043FhのE0..EEも使えるのかもしれません。なのにgetitf98は使えなかったというのがどういう状況なのかよくわかりません。あ、ひょっとしてITFと思って読み出したデータはFFhで埋まっているのか!それなら不一致になり、「ITFあり」判定になってしまいますね。機能はあるけど実体はないというところですか。そういう場合は「あり」でも悪くは無いような?
TGNOWの画面崩壊はキャラクタパターン読み出しの問題ではないかと思います。図形描画や画面ブロック描画は問題なく、文字が描けないということですから。グラフィックチャージャを使用しての描画ですが、その故障もちょっと考えにくい感じです。BX以下の機種だと低速なので、コードアクセス・ドットアクセスなどのモード設定の基本的なミスで読み出せないのでしょう。
<23:00追記>一旦登録削除します。まず9801DXあたりの機種のITF,裏RAMの判断には問題がありそうです。レガシー486とPCI一般の機種は従来から扱ってきたのでまあ問題ないはずです。 >RA2は、MATE/FELLOWやCe以降の486機と判断される あぁ、これがUndoc2にも書かれている、RA21からとRA2の非互換部分に引っかかったのかもしれません。
|
RE:ARC98 KAZZEZ 2022年1月7日(金) 21:52 |
早速、手近にあったレガシー系機種を調べてみました。恥ずかしながら私はスレ内容を理解不足であることが多いため、調査の時はこういうツールを用意していただけるとありがたいです。 [7][6][5][4][3][2][1][0] CPU判定 機種判定 -0-0-0-0-1-1-1-1 0480h 80486 レガシー486機一般(略) ←【BX3+DX4ODP】 -0-0-0-0-1-1-1-1 0480h 80486 レガシー486機一般(略) ←【PC-486HA2】 -0-0-0-0-1-1-1-1 0435h 80486 レガシー486機一般(略) ←【Ce/S2+DX2】 -0-0-0-0-1-1-1-1 042Ah 80486 レガシー486機一般(略) ←【NS/A】 -0-0-0-0-1-1-1-1 8439h 80486 レガシー486機一般(略) ←【RA2+IBM486BL3】 -0-0-0-0-1-1-1-1 0308h 80386 レガシー486機一般(略) ←【RA2+XL^2用機能拡張プロセッサ】 -0-0-0-0-1-1-1-0 0100h NEC V30 その他・不明 ←【RA2のV30モード】 -0-0-0-0-0-1-1-1 A422h 80486 9801RX,EX,DXで CPUを486に換装? ←【VM21(VX21)+IBM486SLC2(拙作WAPICOでワークエリアのCPU情報を自動修正)】 -0-0-0-0-0-1-1-1 0300h 80386 9801RX,EX,DXで CPUを486に換装? ←【VM21(VX21)+IBM486SLC2(ワークエリア修正なし)】 -0-0-0-0-0-1-1-1 0300h 80386 9801RX,EX,DXで CPUを486に換装? ←【VM21(VX21)+386SX(ワークエリア修正なし)】 -0-0-0-0-0-1-1-0 0200h 80286 9801RX,EX,DX(native CPUが386未満) ←【VM21(VX21のCPUボードで286)】 -0-0-0-0-0-1-1-0 0100h NEC V30 9801RX,EX,DX(native CPUが386未満) ←【VM21(VM21のCPUボード)】 -0-0-0-0-0-0-1-0 0100h NEC V30 その他・不明←【UV11】 -0-0-0-0-0-0-1-0 0100h NEC V30 その他・不明←【PC-286LE20】 以下、とりあえず気付いたこと… ・V30切り替え可能環境ではV30モードでもITFビットが立ち、素でV30の場合だけITFビットが0になるようですが、VM21は例外でVX同様にITFビットが立つようです。 ・PC-486Hの独自PCIはINTELSATだと#2と誤認したんですが、ARC98では正確にどちらでもないと判断できているようです。 ・RA2は、386のままでも(←修正)MATE/FELLOWやCe以降機と判断されるようです。 ・ARC98自身はCPUリセットによる386のCPU-IDを拾っていないようですが、WAPICOでのワークエリアのCPU情報の登録の有無にかかわらず、286機+CPU換装の判定ができているようです(追記:仕様かもしれませんが386SXのアクセラレータでも「486に換装?」と出ますね)。
|
削除後にはなりますが報告 リウ 2022年1月7日(金) 23:24 |
削除後の報告になりますので意味なしが混じっているかもしれません。手持ち機種をありったけ試してみました。twitterに画像で報告しています。Xf以外で想定外の結果はREDWOODであるLtで"REDWOOD note機"と表示されずに"その他・不明"と表示されることと(ソースを見るかぎりきちんと飛びそうなのですが)手元の機種群ではLBAパッチを当てているとシャドーRAMなしになってしまいます。 PC-9801DXはITFを読んでもメモリ窓を開けたり閉めたりしていません。開け先は8固定でした。自前で色々開けてみるとCバスメモリの空間には窓経由でアクセスできるようでしたが61SIMMの部分にはメモリ窓経由ではアクセスできないようでした。システムボード上には256kワードのメモリチップが12枚立っていました。計算上は768kBあるので何かはいると思われます。
RvII、RsIIのSMP機とNf(GoldenGateというPCIチップセットらしい)が実は抜けていますが事実上無視でもいい気がします。そんな機種を使う人の場合はガワを見れば一目瞭然です。
BXとDXではTGNOWが異常動作する報告も上げました。反応ありがとうございます。
追記8日0:22 シャドウRAMの検索ルーチンCheckShodowRAMですが IO53dhのbit2が立っている状態で検索するとメモリ窓内ではFFFFで出てきてしまいます。それをLBAパッチが動いた後だとbit2を落としている状態で検索できてしまうのできちんと比較が成立するのだと思います。ver1.00ではやはり逆判定になっていると思います。
|
古めの98のグラフィックは甘くない まりも 2022年1月7日(金) 23:58 |
皆様方ご報告ありがとうございます。無謀にも持っていない範囲の機種のことを総調べしたくなって変なものを作りました。ちょうどKAZZEZさんのお持ちの機種群がまさにうちで欠けている範囲なので助かります。<8日追記>やはり053Dh bit2をいじらないと裏RAMはみえないようなので、調査後は即リセットしてもらうか完全FDD運用してもらう仕様に変更するしかなさそうです。
PCI機種あるいはAnばかりいじっていて知らなかった(知っていても問題がおこらず意識から外れていた)点として、古い機種のグラフィクスの問題があります。まずいつでもCGパターンが読めるわけではないということと、灰色プレーンのE000セグメントは、システムセットアップメニューで「拡張グラフィクス」にしていてもそのままでは書き込みできないという点です。TGNOWの動作がおかしいのはその両方かと思います。エミュレータではたぶん問題ないのでしょう。
ちなみにVRAMsegなどという変数なのに実際にはVRAMのセグメントになっていないのは、IPLwareのときは(かまわずどこ使ってもいいのですが)わかりやすいVRAMを使うためです。開発の始めなどでメモリ確保ルーチンを書くのが面倒なとき、「とりあえずVRAM」というのはメインメモリよりもVRAMのほうがデカかったPC-8800の頃からのクセです。しかしE000に書き込めないのは盲点であった・・・
|
RA21も同じっぽい? KAZZEZ 2022年1月8日(土) 2:41 |
> RA21からとRA2の非互換部分に引っかかったのかもしれません。 そのあたりの仕様はRXでも前期(RX2/4)と後期(RX21/51)で異なるのか気になるところですが、とりあえずRA21(+EUD-Q、Cx486DX2/80)でも結果は変わらないようでした。 -0-0-0-0-1-1-1-1 0480h 80486 レガシー486機一般(A-mate,B-mate,X-mate, Multi Ce〜Cx)
> KAZZEZさんのお持ちの機種群が RX前期(&VM11)やDXは手放して久しいのが残念です。RX後期やEXは一応持っていますが、仕舞いこんでいてすぐにはいじれそうもありません。電源が壊れたDOも取っておけば良かったのですが、当時は台数を減らさなければなりませんでしたのでやむを得ず…。UR/UF/NVは…まだ修理できていません。(汗
> 9801DX 前にも述べましたが、DXは、オンボード54/61SIMMソケットの内部プロテクトメモリ(恐らく専用親亀も)をEMM.SYSで普通にハードウェアEMSとして使うことができる特殊な機能を持つ機種だったと思います。RX/FXなどの通常の機種でプロテクトメモリをEMM.SYSで認識させるとVRAM裏バンク(B0000〜)を使うようでグラフィックを使うソフトが色化けしましたが、なぜかDXの場合は普通にC0000〜でEMSを使用できました。Cバスメモリの53ボードはハードウェアEMSに設定しても起動時メモリカウントを行い、メモリマネージャの設定次第でハードウェアEMSにもプロテクトメモリにもなりましたので、DXのプロテクトメモリはそれと同じような仕様があるのではないかと予想しています。
|
undoc io_mem.txtに くりすと 2022年1月8日(土) 6:34 |
EMSボード用制御ポートに対象PC-9801-53、PC-98HA、PC-9801N・NS・NS/E・NC・NS/T・NL・NS/L・NA・NS/R、PC-9801DX・UR・UFとありますね。 詳しくはundoc見ていただいた方が早いかと思います。
|
何もかもが期待外れでショボいDX まりも 2022年1月8日(土) 14:52 |
電源ユニットをPU727代用で9801DXが動かせるようになったので調べましたが、ITFというかF800の裏ROMは存在しますね。ITF ROMバンクは切り替わらない感じです。ROMの物理アドレス配置との対応を調べたかったのですが残念ながら基板直付けのマスクROMでした。シャドウRAMの方は存在が微妙なようです。0Eバンクに切り替えてもFFhしか読めません。しかしB000裏メモリは存在しています。リウさんの推測では実装されているメモリの物理容量は768KBですがそのようです。BFFFhまでは裏RAMがあるけどもそれ以上には無いということになり、システムBIOSがRAM化されていませんし、内蔵SCSI用のRAM BIOSの出現もできないようです。SCSI HDDユニットを実装してあれば053D制御対象外でROMが出現するのでしょう。RAやDAとは違っていてずいぶんとグレードダウンしています。Undoc2に記述がないのも道理です。DXのメリットはダウングレードついでにメモリのパリティチェックがないことぐらいです。何をやってもパリティエラーが出ません。
ともかくシャドウRAMの存在定義を明確にする必要が出てきたので、「F000のシステムBIOSがRAMで存在すること」、としておきたいと思います。それによればDXはシャドウRAM無しの機種となります。
<9日追記> このようにシャドウRAMがない機種もあるので、「特定の拡張ROMに何かを見つけたら構わずRAM化」というのではマズいということになりますね。メモリウィンドウ制御で出たものに書き込んでみた後に、本当に書き込まれたかのチェックも必要になります。 >CLKEPS とは意味合いがだいぶ違うかもしれませんが、装備を調べる点では同じかもしれません。最近読み直したザベの記事によると、EPSON機には機種IDというのが286V以降の機種全てにあるようですから、機種判定だけならそれを調べるのが手っ取り早そうです。9821だとA-mate以降はそのような判別法が使えます。
|
286機はそんなモン かかっくん 2022年1月8日(土) 21:50 |
B0-BFのRAMはEMS用で、R以降に有る物とされて居ます。此れはシャドウRAMではないですね
> 何もかもが期待外れでショボいDX
286機はそんなモンです DXの旧型機に対してのアドバンテージはSCSIスロットが憑いた事、5インチ機にも音源が憑いた事位です
あと気になるのはRSやDSですか。中グレード機でRAM 640Kに成って居るのでRAやDAとは違いそうです 8M系機ですし # ESは高グレード機扱いでRAM 1.6M
> 表題のようにツールを作ってあったのでソースつきで公開してみました。
CLKEPSのみいそ機版のやうなモノですか
> ITFが存在する=シャドウRAMが存在する
例えばVM21やVX2にもITF(初代)は有りますがシャドウRAMは無く、640Kの額面通りしか載って居ません。 # (41464x4)x5 RX21は現物が手元に有るので調べてみませう
> F000のシステムBIOSがRAMで存在すること
元々ITFとシャドウRAMは無関係なので此の定義がベターかと 286と云えば、XLは1152K(ハイレゾ1024K)載って居る事に成って居ますが実質は1.5Mで余分も載って 居ると思います (シャドウRAMの可否は不明。多分有ってもEMS RAMだけと思われ)
> ・V30切り替え可能環境ではV30モードでもITFビットが立ち、素でV30の場合だけITFビットが0になるようですが、VM21は例外でVX同様にITFビットが立つようです。
VM21にはITFが有るので正常な動作でせう。UR UFは勿論、多分VM11 DO DO+でも同様でせう
ウチで旧くてITFが無い物はF2 VM2 UV21が有りますから此の辺でデータを採ってみますか # DOSアプリだけでなくROM BASIC下でRS-232Cから流し込めるともっと助かります # DATA文をPOKEしてCALLやDEFUSR/USR()で起動するやうな物
> ちなみにVRAMsegなどという変数なのに実際にはVRAMのセグメントになっていないのは、IPLwareのときは(かまわずどこ使ってもいいのですが)わかりやすいVRAMを使うためです。開発の始めなどでメモリ確保ルーチンを書くのが面倒なとき、「とりあえずVRAM」というのはメインメモリよりもVRAMのほうがデカかったPC-8800の頃からのクセです。しかしE000に書き込めないのは盲点であった・・・
ノーマル機なら必ず有るAFD0:0〜2FF(A800:7D00〜7FFF)かA800:0〜7FFFがよろしそうな?
|
レガシーとは負の遺産のこと也 まりも 2022年1月9日(日) 20:59 |
おととい公開してすぐとりやめた、98アーキテクチャ調査ツールarc98 ですが、「レガシー98」な機種の装備を徹底的に調べ上げて元に戻すようにしました。またソースコードはわかりやすさ重視でかなり書き直しました。サウンドBIOSはもちろん、「固定ディスク接続ユニット」BIOSだの、「ハイレゾの謎の16KB RAM」だのが先に存在していても大丈夫なようになっています(ハイレゾのB4670はさすがにガン無視)。判別ロジックは画像のとおりとしています。あと改良すべき点とするとハイレゾモードでのHIMEM.SYS使用状況に応じてメモリウィンドウの本来のアドレスを10hか08hかを変える点ですが、ハイレゾで使う人は少ないし、その場合でもふつうHIMEM.SYS使いますよねということで08hに固定になっています。IPLwareに流用するときは10hにする必要があります。 ttp://hp.vector.co.jp/authors/VA012947/util/arc98.html Version 2.00となっていますがただの調査目的ツールですからβ版としておきます。Xfでの判定結果がわからないこともあってです。RAから486のmateまで共通する98アーキテクチャも、ROMバンクがなさそうなものやシャドウRAMのないものまであるというのは、DXを仕入れたことでよくわかりました。でももう捨てたくなりましたw 場所取りでしょうがないのですよね。DAかRA21にしておけばよかったです・・・ <追記>βですが早くも430LX対応でδは終息、ε、、、οまで逝きそうな
|
DXに対する愚痴とXf独自のi430LX リウ 2022年1月9日(日) 22:41 |
私も改造プログラムが本物286でどう動くかの調査のためだけに所持していますがDXはきっついです。 ttps://weblabo.griffonworks.net/dorlog/2nddorcom/pc-98/17129.html ttps://weblabo.griffonworks.net/dorlog/2nddorcom/pc-98/16629.html この情報を見たときは悲しくなりました。 BIOSがRAM化できないのも理由の一つでひとつひとつの動作がとても遅いです。
昨晩は430LXで嘘を書いてしまい申し訳ありません。 さきほどXf実機で再調査を行いました。しかしソースコードを覗くと2.00ε版にもBitPCI2のbitが立つ場所がありません…。ver1.00も原因はそこだったようです。
|
UV21とRX21でのARC98 2.00の結果 tyama 2022年1月10日(月) 0:20 |
もうどなたか実施されているかもしれませんが、 PC-9801UV21とRX21でARC98 2.00を実施してみましたので一応結果を記載しておきます。
[7][6][5][4][3][2][1][0] CPU判定 機種判定 -0-0-0-0-0-0-0-0 0100h NEC V30 9801初代〜(略)UV11,UFあたりまで?←【UV21】 -0-0-0-0-0-1-0-0 0200h 80286 9801RX,EX,DX(略)386未満 ←【RX21】
|
正式版として(ギリシャ文字終息) まりも 2022年1月10日(月) 1:26 |
皆様動作報告ありがとうございました。日付も変わりましたので1:00頃に2.00正式版をアップロードしました。ハイレゾ時HIMEM.SYSの有無にも対応しました(ε版では逆だった)。レガシー98機種が正しく判定でき、影響を与えずに正常終了できればいいと思っています。 VX21以降、RXもEXもDXまで286はアーキテクチャ上進化なしなのでしょうね。専用スロットのメモリアクセスまで遅いというのは、当時の$のログ見て落胆したのは覚えています。使い込むつもりはなく80286を試したいだけだったので、VX21にしときゃよかったと思っています。FDDの5インチベイには拡張性を感じます。インターフェイスはどうするというのはありますがHDDも突っ込んだりできます。それかEPSON 286です。PC-386族までは共通で、ミイソとは別の方式の裏RAMがあることが知られています。ただ持ってませんので今回のARC98では全く対応していません。
あと知っておきたいのがFA/FS/FXとBX/BAですね。ROM 8 バンクが無いのはそうなのかどうか?過渡期の初代9821、98GS、98Doなどはどうなるのやら。
|
DXとか KAZZEZ 2022年1月10日(月) 4:27 |
完成版ARC98をDLしました。今日はもう遅いので後日試してみようと思います。
> EMSボード用制御ポートに対象 その中で286機はDXだけですね。286機はプロテクトメモリをソフトEMSで使うという問題があるので、ハードウェアEMSとして使えるのは利点だと思います。
> この情報を見たときは悲しくなりました。 私はDXでは結局専用親亀が入手できませんでしたので、それは存じませんでした(汗)。ただ、オンボードスロットの61/54SIMMは速いということですので、高速なプロテクトメモリをハードウェアEMSとして利用できる利点はあるのかもしれません。DOSなら2MBあれば充分と言われていますので。それでもRX(専用親亀で最大3.6MB)よりダウンしていますが。どちらにせよCPUアクセラレータを載せてしまえば仮想EMSが使えますので意味無いのですが(汗2)。286用CPUアクセラレータは内部キャッシュの多いものを使うとメモリ速度の対策になりますから、専用親亀を使う場合はそのほうが良いでしょうね。
> メモリのパリティチェックがないことぐらいです。 そう言えば、DXのオンボードSIMMスロットはパリティの無い54SIMMにも対応していますので(昔は実際にDXで使っていました)その関係でしょうかね? だとすれば54SIMM対応機はいずれもパリティが無いのでしょうか? もっとも、多くの機種では親亀を介しますので、親亀の仕様によるのかもしれませんが。たしか9801Tだったか、同じ機種でもサードパーティ製の親亀だと54に対応せず61だけ対応していることもありました。
> DOSアプリだけでなくROM BASIC下でRS-232Cから流し込めるともっと助かります FDDの壊れた本体への対策でしょうか? 個人的には外付けFDDと電源だけを接続して、DOS起動FDのAUTOEXEC.BATでARC98をリダイレクトでテキストファイルに保存するように記述しています(エスケープシーケンスと思しき記号も拾ってしまいますが、肝心な部分さえ拾えれば良いですので)。そうすればキーボードもモニタも接続せずに(恐らく画面の映らなくなったノート機とかでも)調べることができます。ROM-BASICでシリアル転送だとキーボードもモニタも接続する必要があると思いますので…。故障でROM-BASICしか起動しない本体であればどうしようもありませんが、ソース付なら移植は難しくないのでは。
> インターフェイスはどうするというのはありますが VX4/41の内部SASIインターフェースだけ入手できれば、マザーは共通なのでそれにSASI-HDDをつなげるかもしれません。現実的には内部コネクタのあるCバスSCSIを使うか、隙間からフラットケーブルで引き込む形になるでしょうね。 ttp://kazzez.html.xdomain.jp/98/vx.htm IDE-98は当時RA2では動かなかったので、VX時代の機種で動くのかどうか…。たしかRX51では動きましたが、最低でも386以上のCPUアクセラレータが必要でした。
|
/人'A`;人\ 2022年1月10日(月) 7:43 |
エプソン版青本には486GRくらいまでしか機種IDのデータが載っていません.
FA/U2(製造番号から多分1992年3月製造).しかしコプロソケットにEUF-EP(Am5x86-133)を取り付けています.ドライバは組み込んでいない状態ですが,486SX-16の方は多分停止していてAm5x86が16MHzで動いているのではないかと.しかしこういう部品は寒い時に弄るとピンを曲げてしまったりするんでこのままで実行.DOSは6.2. [7] H98シリーズ 0 [6] REDWOOD機 0 [5] PCIバス機#2 0 [4] PCIバス機#1 0 [3] 8 BANK ROM 1 [2] ITF/BIOS切替 1 [1] レガシー裏RAM 1 [0] 386命令可 1 ※[4]−[7]が0で,[0]−[3]が1でした. 機種判定:レガシー486機一般(以下略) CPU判定:04F4h 80486 事前のシステム共通域 0000:05A7hの値はゼロです.今回の結果で新たに設定しました
------------------ 製造番号から多分1992年2月製造の別FA/U2(iDX4のハイパーメモリCPU入り)でも [3] 8 BANK ROM 1. どノーマルUS(386SX-16,製造番号から多分1993年4月製造).CPU判定:2308h 80386 以外は上のFAと同じ([4]−[7]が0で[0]−[3]が1.事前の〜のメッセージ?も同じ).
|
FA/FS/FXあたりと、EPSON 286/386 まりも 2022年1月10日(月) 8:33 |
8バンクROMがあると判定されていますが、確かgetitf98は動かない(動いても結果がおかしい?)ということらしいので、これはFAか初代BXあたりを手に入れないと詳しいことは分かりづらいですね。上で書いてますがPCI#2の情報よりもEPSONレガシー裏RAMの有無を盛り込むべきだったという気がしてきました。既に98だらけで足の踏み場がなくなってしまっているのですが(汗
|
色々報告 リウ 2022年1月10日(月) 12:59 |
PC-9801BXを持っているので調べました。 GETITF98は環境チェックで弾かれます。(追記F8E8:0000に9821が存在しないことが原因でした。ここを書き換えたら動作しましたのでさきほど吸いだしたものと一致するものが取り出せました。 ということで初代9821やもっと古い9801機種群などでもここの条件ジャンプを消せばROM0-ROM7まで同一になるかもしれませんがITFを吸い出せるようになると思います。) ついでですのでITFを吸い出すものを作りました。8bank全て中身が違いました。中身を覗くとPCI機種群と同じような構成でした。きっちりIO43FhはBANKを切り替えることはやってくれます。しかしこれが実行されたりどれかから参照されているかはわかりません。サウンドBIOSの中身がいました。がHELPメニューにはサウンド使用の項目がありませんのでRAMにコピーされるようなコードはなさそうです。
それとarc98_2.00正式版でのバグ報告です。サウンドカード側のROMがCC00hに存在するだけでRAM判定になってしまいコマンド終了後CC00に触りに行くとパリティエラーが起きてしまいます。まだソースのどの部分か読んでいません。SCSIカードとDC00hで同じことが起きるかも調べていません。
追記14:21調べました。 InspectRealROMで見つけてきたものを CompareROMRAMルーチンで比較するときの対象が "メモリ窓内"と"53dhで全開けされた後の拡張ROM領域"の比較になっていますのでSASI/IDEやSCSIとは違ってIO43fhのC2やC4で出してこなくともSOUND部だけは必ず一致してしまいます。
20:56追記 PC-9801BXで2.10を実行しました。先述のCC00hのものはきちんと直っていることを報告致します。 このスレの頭で提案した方法ではどうしてもコードが長くなってしまいます。他の方法も思いつく度にダメな部分が見えてしまうものでした。
|
意外と古い機種から8バンクのITF ROMはありそう まりも 2022年1月10日(月) 14:27 |
なんと、BX/BAでgetitf98が動かない(対象外と判定される)のは、Windows 95のIDEドライバがBX/BAで動かないのと同じだったわけですか(笑)。きっちりミイソと同じことをやっているのだから、悪いのはBX/BAのほうということで。
Undoc2のほうに「Af以降」と書いてあったので9821チェックを入れてありましたが、それを外した版を公開しなおすことにします。FAあたりはITF ROM8バンクは絶対あるはずと思っていました。DXでの感触では、043FhをE0..EEで叩いてもとくに有害な事象もなさそうですから、チェックは甘くしてかまわず実行することにします。
ARC98 2.00正式版のほうですが、サウンドROMがあると実行後RAMになりますか。う〜んなんでだろ。 SCSIのほうはそういうことは起きていません。ROMのときはそのまま問題なくROMが現れたままで終了します。いっぽうSCSI_RAMでRAM化している場合は RAMであると判定され、実行後もRAMが現れます。 <追記>14:21の追記読みました、やっぱ実行開始前に保管したデータでの比較でなきゃいけませんね。ROM状態との比較では、RAM BIOSにパッチが当たっていた場合データ不一致となって、BIOSは元に戻されてしまいます。実行開始前の状態を正義とするしかありません。 <20時30分追記>ということでバージョン2.10となりました。一応確認した点 ・CC00にROMボードがあった場合に適用後本体RAMが現れないこと ・IDE HDDを載せずD800にROMボードを置いて適用後IDE RAM BIOSが現れないこと ・SCSI_RAM適用前にはDC00がROM、適用後にはRAMと判断されること 調べる方法はすべて同じなので、試してませんがSASIの場合もCバスボードならROM、(シャドウRAMがある機種で)本体内蔵ならRAMと判断されるはずです。本体SYSTEM BIOSも同じ方法なので、事前にRAM BIOSでパッチが当っていてもROMに戻されることはありません。
それにしてもレガシー98のRAM/ROM BIOSを手抜きなしに調べ上げるだけのプログラムで3800バイトにもなるのは痛いですね。表示文字列省いても3KBくらいなわけで、ROMアプリケーションに丸ごと組み込むにはいささか大きいです。作業用メモリも128KB使っていますし(まあチェック範囲を縮小できなくはないですが)。
|
286VJとRv20 Jilly 2022年1月10日(月) 23:38 |
旧年中は大変お世話になりました。 手持ちの古そうな機種のPC-286VJとそれとは正反対な?Rv20の2機種です。タイミングが合わず正式版になってからの記載ですみません。 PC-286VJの方は素ノーマル、Rv20の方はP3-S,PCI#1にYMF744,PCI#2にIFC-PCI7ESAU2,PCI#3にGeForceGT610を挿したままです。
追記11日20:42 素ノーマルという書き方だとちょっと適当すぎたので。PC-286VJの方は26k互換音源を標準内蔵、SASI/SCSIのHDDインターフェイスは無し(PC-286VJ-5なためオプション)でメモリ増設もしておりません。Cバスボード類は全て外し、本体正面のディップスイッチ及びHELP押しソフトセットアップメニュー内の設定は工場出荷状態に戻した上で外付けFDからDOS6.2でARC98を実行致しました。
|
気になるのがEPSON まりも 2022年1月11日(火) 0:15 |
個人的にはBXやFAはどうでもよくなってきて、今や一番気になるのがEPSON 286機です。裏RAMがあるのはNECの286機に対するアドバンテージですが、方式は全然違うはずです。とザベに掲載の記事を読んだ限りではそう思うのですが、なぜか裏RAMありと判定されるようですね。286VJの頃にはNEC互換な機構を付けたのでしょうか。しかもサウンドボード内蔵でしたっけ?
なおgetitf98を更新しましたが、確かFAに載っている486SXは一部の486命令が使えないという話しだったと思います。getitf98ではそれらしいキャッシュ無効命令を使っているので動作しないかもしれません。
|
2.10版の結果。 KAZZEZ 2022年1月11日(火) 2:43 |
新たな機種はまだ発掘していませんが、2.10版で前回の手近な機種を再び調べてみました(CPU判定はたぶん同じだと思うので省略)。 [7][6][5][4][3][2][1][0] -0-0-0-0-0-0-1-0- 各自で判断して下さい.【←UV11】 -0-0-0-0-0-0-1-0- 各自で判断して下さい. [6] 【←PC-286LE20】 -0-0-0-0-0-1-0-0- 9801RX,EX,DX(native CPUが386未満)【←VM21(元のCPU)&VX相当の286/V30】 -0-0-0-0-0-1-0-1- 9801RX,EX,DXで CPUを486に換装?【←VX相当でIBM486SLC2】 -0-0-0-0-1-1-1-0- 各自で判断して下さい.【←RA2 V30モード】 -0-0-0-0-1-1-1-1- レガシー486機一般【←RA2 IBM486BL3】 -0-0-0-0-1-1-1-0- 各自で判断して下さい. [6][5] 【←RA21 V30モード】 -0-0-0-0-1-1-1-1- レガシー486機一般 [6][5] 【←RA21 Cx486DX2】 -0-0-0-0-1-1-1-1- レガシー486機一般 [4] 【←NS/A、BX3】 -0-0-0-0-1-1-1-1- レガシー486機一般 [5][4] 【←Ce/S2】 -0-0-0-0-1-1-1-1- レガシー486機一般【←PC-486HA】 以下、気付いたこと…。 ・[1] (レガシー裏RAM)については、VM21には無いようですが、同じV30機でもUV11やPC-286LEにはあるとの判定です。 ・PC-98だとRA2ではSASI/SCSI用RAMが無く、RA21にはあるようです。 ・[3] (8 BANK ROM) については、VM21やUV11には無く、RA2の頃からあると判定されています。 ・PC-286LE20(V30機)ですらSASI用RAMの判定があるのに、なぜかPC-486HAではIDEやSCSI用のRAMの判定がありませんでした。PC-486HAでは、SCSI_RAMを実行したときもそうでしたが、実行後にSTOPキーを押すと操作を受け付けなくなるようです。EPSON-PCI機では裏RAMの操作に難があるのでしょうか? ・VM21は、他のV30機とは判断が違い、元のCPUボードでもRX,EX,DX(の386未満)と判断されますね。
|
勝手に補足 リウ 2022年1月11日(火) 12:08 |
シャドウRAMの存在bitとシャドウRAMの使用状態に疑問がありそうなので勝手に補足します。作者さまの意図と違っていればご指摘ください。 RA21の[6][5]はDOS起動時点でそのセグメントの隠しRAMの使用状況を示していて、存在は示していません。 例えば486世代機で[5]が立っていない機種でSCSI_RAMを使用すると[5]が立つように変更されます。 [6]が立っているのでこれを見るとSASIのD7は標準機能で隠しRAMにcopyされて実行されているのだろうと予想されます。 RA2でbitが立っていないのはHDDを切り離す設定なのかな?との予想もできます。
|
RAM化状況表示はオマケ機能 まりも 2022年1月11日(火) 13:07 |
リウさんの解説の通りで、[1]レガシー裏RAM が使用されていると判定された機種では、潜在能力としてCC00, D700, DC00 のRAM化機能も持っているはずです。ただしD800の機能はIDEのない機種にもあるかどうかは、未だわかっていません。RAM BIOS使用状況はそのとおりであって潜在能力の有無とは別になります(まったく能力がなければRAM表示はありえませんが)。これを調べている目的は、単に「元どおりに戻す」ことに尽きます。98のメモリ制御のI/Oポートは読み出しが基本的にできないので、元に戻すことがとても大変なのです。わたしがこれまで公開したE10PAT、SCSI_RAM、EXTBT2DDいずれも特殊な環境下では元に戻すことが不完全なままとなっています。それでは不味いので、結果を共有することも合わせて今回このようなものを作ろうとしました。
IDEがない機種でD800がRAMとして使えるかどうかは、I/Oポート1E8Ehを81hで叩いてDA00:0000にRAMが出るかどうかとセットだと考えられるので、デバッガひとつで容易に試すことができます。ARC98に調べる機能を追加するまでもないでしょう。 #などと書くと追加してみたくなったりはしますが(汗
|
54SIMMにパリティRAMが無い代わりに かかっくん 2022年1月11日(火) 15:15 |
54SIMMにパリティRAMが無い代わりに親亀の方に載って居ます page.auctions.yahoo.co.jp/jp/auction/s1023477709 aucview.aucfan.com/yahoo/s1023477709 auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0212/users/1cb220097eb9e5dea7ba7e8f8db57cc78c84eee4/i-img1200x900-1638404991kqcnbv1446.jpg auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0212/users/1cb220097eb9e5dea7ba7e8f8db57cc78c84eee4/i-img1200x900-1638405071pbjy5d1495.jpg auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0212/users/1cb220097eb9e5dea7ba7e8f8db57cc78c84eee4/i-img1200x900-1638405102rznzn71570.jpg aucfree.com/items/s1023477709 img.aucfree.com/s1023477709.1.jpg img.aucfree.com/s1023477709.3.jpg
|
KAZZEZ 2022年1月11日(火) 17:26 |
書き忘れていましたが、今回調べたレガシー機種の中でレガシー裏RAMの検出された機種(つまりVM21以外)は、事前の0000:05A7はゼロという表示は同じでした。
> 隠しRAMの使用状況を示していて、存在は示していません。 > RAM BIOS使用状況はそのとおりであって潜在能力の有無とは別 補足していただき、すみません。なるほどそういうことでしたか、失礼しました。やっぱりよく理解していませんでしたね(汗)。 軽く調べなおしたら、実際に裏RAMのある機種でSASI/SCSI/IDEのBIOSが出現する状況なら検出されているというだけのようでした。RA21には内蔵HDDユニットもCバスSCSIも差していましたが、RA2はどちらも差していなかった、というだけでした。RA2でもCバスSCSIを差したらSCSIのRAM使用状況が検出されました(ぉ)。ただそれでも、PC-486HAでは、内蔵IDE-HDDも、CバスSCSI(+機器)も差してあるのに、どちらのRAM使用状況も検出されません。やはり(ある程度新しい?)EPSON機の裏RAMのアクセス仕様が謎ということなのですね。
> 54SIMMにパリティRAMが無い代わりに親亀の方に載って居ます やはりそういうことでしたか。9801T(?)で純正親亀は54SIMM対応のはずなのにサードパーティ製では使えなかったというのも、コスト削減されていたと考えられそうですね。DXと同じようにマザーに直接61SIMMソケットがあるのは他にUSくらいしか存じませんが、USで54SIMMが対応していない(?)のであれば、これもパリティの関係なんでしょうかね。逆に、何らかの方法でパリティを無効にできれば、9801Tのような61SIMMの16ビット(386SX)機でも、54SIMMが使える場合はあるんでしょうかね。
|
/人'A`;人\ 2022年1月11日(火) 18:25 |
今朝の結果ですので既報と重複があるかもしれませんが,エプソン不人気機種2台の結果: ■386GS3(Cx486DRx2),26K互換音源標準内蔵,内蔵SCSI HDDユニット追加増設,1992年1−6月期製 00000011([0]と[1]のみ1) [7] SOUND BIOS RAMが存在します [5] SCSI BIOS RAMが存在します 機種は各自で判断 システム共通域の値はゼロ ■286VF-STD(286),内蔵音源なし,内蔵HDDなし,1990年1−6月期製 "PC-98マシンアーキテクチャ調査プログラム V2.10〜〜" の反転タイトルバーの下の行頭に全角カタカナ反転文字のアが永久(多分)に点滅.ドライブの不調のためかと思って読み込みドライブを変えても同じ.外付けFDDから読み込んでも同じ.286VFが壊れているのかもしれませんが. ------------------- ■昨日と同じUS(26K互換音源標準内蔵,内蔵HDDなし)で確認.286VFのと同じ外付けFDDから読み込んでも同じなんで,286VFの結果は読み込み時のファイル破壊のためではないと思われます. 00001111 [7」 SOUND BIOSが存在します
|
EPSON機の互換性はそこそこ立派 まりも 2022年1月11日(火) 19:57 |
EPSONでのご報告ありがとうございます。不人気機種ほど萌えるものがありますw 386GSでもどうやらメモリウィンドウや裏RAM機構はミイソ同等のようですね。しかしITFは見つけられなかったことから、その部分の機構はミイソと違うようです。まあ違っていても一般のアプリケーションやメモリボードのデバイスドライバからは無縁のところです。この程度の違いで「エプソン機はミイソとの互換性が低い」などと言ってはいけないレベルです。 #ミイソのPCI機の方がレガシー486機から見たら遥かに互換性がないと言えます
問題は286VFでの実行結果です。文字が永久に表示され続けるというのは、メモリリークのようなものを除くと、スタック溢れや不正な割り込みが発生した場合などにありがちです。286VFだけで起こったのはおそらくDOSの環境に依存するところですが、思い当たるところはあるので、直してみます。
<23時追記>ということで早くもバージョン2.20となりました。修正内容は次のとおり。 ・タイトル表示のときの暴走バグ修正(スタック破壊が原因) ・DIP SW3-6で512-640KBのメモリが切り離されている場合でもテスト可 ・430LX機表示可(ちょっと危うい) ・機種判定表示の修正(機種名ではなく装備が何かを示す方向) ・ここで補足されたことをドキュメントに追加 <12日追記>430LX機でレガシー裏RAM bitが立っているのはちょっとしたバグですが、DXでは内蔵デバイス(サウンド、HDD)のBIOSが引っ込んでしまうバグ?
53Dhの機能をいままで勘違いしていたようです。シャドウRAMのあるたいていの機種(というか043F, C6が効く機種)では、実質的にRAMを出すか何も出さない(ROMも出ない)かでしたが、DXのような機種では、ROMを出すか何も出さないかの違いとなるのですか。これって全面的にプログラムの構造を見直さないといけないことになりますね(汗 <12:30追記>ということで場当たり的にそこだけ直しまして 2.21です。2バイト半角もやめました。
|
特にPC-486Hを除き かかっくん 2022年1月12日(水) 11:11 |
> #ミイソのPCI機の方がレガシー486機から見たら遥かに互換性がないと言えます
PC-286 m0 STDとPC-486Hを除き ですか。後者は双方ととも互換性が低いです。実際動かないソフトも多いです
|
世代の分類 かかっくん 2022年1月12日(水) 11:47 |
Arc98の解説ページですが、
> 第0世代:各装備が不完全(GRCGなし,GVRAM半量,FDD両用でない,メモリ<640KBなど) > 初代,E/F/M/U, 98XA > 第1世代:ITFの無い機種(ROM総量96KB〜128KB) 80286+EGCの有無で大別(普通は) > Vm/VF, VX, UX, 98XL ?
此の分類だとVFとVM0/2/4はRAM<640KかつVRAM<256Kなので第0世代に成ります。UV2も同様です # VRAM 192K(8色。16色はPC-9801-24で対応) RAM: VF 256K VM0/2/4 384K UV2(RAM 384K)も此れに成りますね 能く『VMがリファレンス』と云われますが、此の意味で真にリファレンス足り得るのはVM21/VM11と云う事に 成ります
VX0/2/4とVX01/21/41は共にITF(初代)有ですが、共にV30や286/8ではEGC無と見做されます 詰まりVX0/2/4では仕様上は無で隠されて居ます あとA20制御が旧式か新式かも判ると良さそうですが、旧式は286機とXL^2と云う事ですかねぇ?
SOUND BIOS RAMについては、ハードEMS板とESOUND等を入れた場合でも出そうな?
# ソースコードの文字コード判定がJIS X 0213に成りましたが2バイト半角に因るやうです あとIPLwareでは動かないと有りますが、文字表示だけでなくRAM確保も原因の一つですね RAM確保ルーチンをつぶすだけでIPL-DOSでなら動くかな?
|
/人'A`;人\ 2022年1月12日(水) 19:03 |
286VJってのは1991年9月発売で,下手な386機より後に出たものです.というかこれより後の386機は386P(同10月,386SX-16)だけです.
今朝の結果.本体286VF. 上はNEC製DOS6.2とDispell!でエプソンチェックを外したNEC製DOS3.30Cでの場合.全角カナのアが反転<-->非反転を繰り返します.昨日書いたのはこの意味です(汗 下は3太郎のDOS2.11での場合.出っ放しの全角カタカナのアの後に矩形が点滅. なお文字が青いのはディスプレイケーブルの色信号ラインが一部断線しているためです(殴
裏RAMだかの記述があるかどうかわかりませんが(当たり前でしょうが目次には裏RAMなる語はありません),エプソン版青本(EPSON PC システムガイド)は,近畿圏の公立図書館やと大阪府立中央図書館と滋賀県立図書館にあることになってますな.大学・高専やと大阪電気通信大学図書館にあることになってます. 古い上に700ページ以上あり重くて造本もよくないですから,コピーのためにガバッと開くと背割れ起こすでしょう.んで下手するとページが外れる(取れる)かもしれません.コピー取る場合には事前に館員(大都市の図書館員なら心得ているでしょうが)にその点を伝えておいた方がよいかと.
|
F2では誤動作 かかっくん 2022年1月12日(水) 23:11 |
と云うワケで無怪造のF2予備機でも試してみますた 結果は途中でBEEPが鳴り続けて止まりました。どうやらDIP SW3-6チェックの > mov dx,43Fh > mov al,80h > out dx,al で引っ掛かるやうです。8086機とU2には元からSW3は無く、元のRAMも128Kか256Kで512K〜640Kは必ず 増設ですからこのルーチンはスキップしても良いでせう # 8086ボード?今更無視しても良いでせう # F2ではI/O 43FhはI/O 37hと解釈される。システムポートに出鱈目な値を入れれば誤動作しますな # out 37h,80hは全ポートをモード0出力にする
入力用ポートに出力するとか可也ヤバス、でも流石(?)nMOSの石だけあってタフですな、多少の事では飛びません
|
ワクチンどころか検査薬の副作用 まりも 2022年1月12日(水) 23:32 |
9801F2には標準でマウスインターフェイスもないので、いきなりDIPSW3-6を読みにゆくのはまずいですよね。というかなんでミイソはそんなところにDIPスイッチの読み出し回路を繋いだのか?8255が空いてたからでしょうが、DIPスイッチ読み出しの専用のInポートくらい最初から作っておけよと思いますね(DIPスイッチ読み出しも98の機種による違いが大きすぎる大問題)。F2も「不完全な機種」ですがI/Oアドレスのデコードビット数が足らないのも後々困ることになっています。勝手に37hにデコードされたらそりゃたまりません。 第0世代から第1世代は装備内容もわかっているわけですから、ARC98としては対象外にしてしまいたいところです。CPUでV30以下は切り捨て御免でよさそうです。RシリーズはV30ではない方で調べてください。
ところで「ア」で止まる事象の方は全然理由がわかりません。普通にDOSファンクションで文字列表示しているだけなので、そこで止まるとするとDOS内部がおかしいということになるからです。プログラムのソフト的なバグではなく、ハードウェアを叩いたことの副作用で動作がおかしくなっているのでしょうかね。F2もそうですから。286VFもI/Oデコードが不完全な機種ですかねぇ。次のバージョンで、文字列の表示の時期を変えてみますので、それでも通らないようならハードウェアをいじった副作用ということに確定しそうです。
|
判別が済んでから表示する要望 かかっくん 2022年1月12日(水) 23:39 |
表示の時期を変えるのでしたら、判別ルーチンと表示ルーチンを完全に分けて、判別が済んでから表示するやうに 成るとIPLwareやROM BASIC BINに移植し易く成ると思います 因みにI/Oをフルデコード化したF2怪ではI/O 043Fhはスルーされるので完走します。全部0です。 > 機種判定: 9801初代〜E/F/M/U, VF,Vm,UV 〜 Vm11,UV11,UFあたりまで?
>/人'A`;人\ さん プログラム上『ア』で止まるとは考え難い(『アーキテクチャbit フラグ』(フラグは半角)を一気に表示するので 止まるとしたらDOSのルーチン内)ので、DOSから直接実行でなくデバッガ(DEBUG.COMやSYMDEB・ExDEB等。 DDEBは286VFでは不動)でトレースすると何処で止まりますか?
|
機械語BINモジュール まりも 2022年1月12日(水) 23:49 |
それは逆のご要望になりますね(汗 判別の前にアで始まるタイトルだけ表示しておこうと思いました。IPLwareへの移植は想定内であり予定に入っています。N88 ROM BASICのBINモジュールの方ですが仕様的なものは忘れています。確かBASIC側では def seg =&h絶対セグメント とやってBLOADでそこにロードし、CALLはどうするんでしたっけか。機械語モジュールの開始オフセットは0000でよかったでしたっけ? BLOAD ファイル名,&h0100,R でいけるのか。
ところでシャドウRAMがなくてつまらない9801DX,RX,VX,EX ですが、EMSメモリボードのRAMにシステムBIOSからSCSI BIOSまでを移動させるってのはどうでしょうね。EMSSOUNDというのは既にあるそうですが。RAMになったからと言ってもCバス上だと非常に遅いことには変わりません。といってもDXではCバスメモリも内部メモリも大差ないというくらいですから、ちょっとは効果はあるかもしれません。ただしSCSIボードはそのROMバンクが切り替わらない(flatな)9801-100ボードなどに限定されるとは思います。
|
表裏切り替えのSCSIでは実験済み リウ 2022年1月13日(木) 0:54 |
壁こえSCSIがA6とA7(修正)に出せるハードウェアEMSを利用していますので僭越ながらSCSIではすでに実用化されていたりします。
P.S.V166青札を入荷しました。しっかりバグっていたのでデバッグ中です。 13日2:16追記LBAパッチをデスクトップ8G機に対応させました。8G壁機ノートとはBIOS構造が違っていました。パッチあたるはずがありませんでした。 14日0:55追記 触りすぎでとんでもなくバグっていましたのでかなり見直しました。 どうやら動くようにはなったと思います。
|
BASICのBINへの移植は自前でします かかっくん 2022年1月13日(木) 0:55 |
N88-BASIC(86)のCALLは文字通り整数変数にオフセットアドレスを代入してCALLします。BINの方はBASICに 戻る部分でretやretfでなくiretにします。引数が不要なら CS=-32768:IP=256:DEF SEG=CS:BLOAD "Arc98.bin",IP:CALL IP とかでも実行できます。BSAVEの際にオフセットを指定して居ればBLOADでの指定は不要です。 # BLOADでの指定が優先されオフセットの変更が可能 表示ルーチンはBASICで書いても良いと思います。 iretで戻る点でお判りの通り、戻る際のSP値は開始時と同じ必要が有ります。値が同じでありさえすれば良いので 開始時のSP値を保存してIRET直前に書き戻せばpush/popやcall/retのネストが違っても戻れます
で、8086機はE/F/Mでメインボードが共通なので違いは其々のサブ板に有るのは自明ですが、V30機は VMとUVで電源やFDD・Cバス籠のサイズと音源の有無だけが違いと思いきや、VMはVM0/2/4とVM21で 世代が変わったのとは対照的にUV2とUV21は小変更(顔の形状、RAM増量、RTCが1990→4990、 此れだけならメインボードのパターンは其の儘適用可)だけだったので(UV21を入手する迄知りませんですた。 てっきりVM21同様ITF有りでピポると)、違いを見つけるのは大事だと思います
|
エミュレータでは かかっくん 2022年1月13日(木) 12:07 |
Arc98は98汎用ですからエミュレータでも試してみますた 画像は順に ・NP2 0.83 ・機種 VX 音源 86(ROM有)
・NP21 0.81a ・機種 VX 音源 86(ROM有)
・NP21/W 0.86 rev.79 ・機種 VX CPU Celeron
・T98-Next Jan 24 2002 ・CPU 486DX 音源 86(ROM有)
エミュで調べる事により何の世代をエミュレートするかが判ります
|
|
/人'A`;人\ 2022年1月13日(木) 19:56 |
デバッガはexdeb ttps://www.vector.co.jp/soft/dos/prog/se008450.html 本体は286VFでDOSはNEC版6.2.arc98は少し前のV2.20.
"PC-98マシンアーキテクチャ調査プログラム V2.20〜〜" の表示が出てから28ステップ目で先に進まなくなりました.28ステップ目でそれまで命令とかが表示されていた箇所に "REP STOSW" が表示され,以後t(トレース)を何回実行しても表示は変わりませんでした.
----------------------- 1/14朝追記 3枚目の画像のところで止まります.2回テストしてて2回とも同じところで止まりました.Aが点滅して以後キー入力を受け付けなくなります.
|
|
P :繰り返しやCALLをパスする、デバッガのコマンド まりも 2022年1月13日(木) 20:48 |
rep が頭についた命令はものすごい回数繰り返されるものです。具体的にはcxの値が減算されてゼロになるまで繰り返されます。tをあと3FFEh回繰り返せば次の命令に行けます。しかしそれはあんまりなので、pのキーを押すと繰り返しは終了まで一気に行って次の命令に移ります。Pはhelpを見るとprogram step と説明されるコマンドです。
ところでARC98の2.21では応急的対処なので、DX他では内蔵SASI/SCSIのBIOSが引っ込んでしまうと思います(ソース中に呟きあり)。やっぱりポートF0の内蔵装備bitの値をカンニングするしか手抜きな方法はないですかねぇ。そっちの方が王道であるのでE10PATでは最初からそうして内蔵検出しています。メモリウィンドウの内容チェックだけでできるかと思っていたらDXのようにRAM化されないままの機種があるとは知らなかったというか、やってみて発見されたりするわけです。まさかとは思いますが内蔵IDEでRAMにBIOSがない機種があると同様にダメです。
ポートF0も一筋縄でなくて、IDEとSASIの区別がつかない仕様ですので、さらにそれがどっちであるか別手段で判定しなければなりません。最初に適応機種を限定しているプログラムなら仮定できますが、こういう検査プログラムではあらゆる可能性を考えないといけません。で、ひとつ調べる要素を増やすと、それがより古い機種には副作用になったりするわけです。
|
2.20での調査になりますが…。FXはぴぽらず。 KAZZEZ 2022年1月13日(木) 22:38 |
RA2では普通のレガシー386/486機と判断されるのに、下位機種では少なくともRX後期からDXまではアーキテクチャの進化が無いということですので、気になるのは386SX機種だと思います。そんなわけでDX後継の下位機種であるFX2を十数年ぶりに引っ張り出しましたが・・・残念ながらぴぽりませんでした。やはり電源でしょうか? とりあえずARC98 2.20にてPC-386LSのデータを取りました。あとV30HL機として画面の映らないNVのデータも取れました。なお比較のために既存の機種も一部再調査しています。↓ [7][6][5][4][3][2][1][0] -0-0-0-0-0-1-1-0- 情報が得られていない機種です. 【←NV】 -0-0-0-0-0-0-1-0- ITFバンク切替機構がNECレガシー機と異なる機種のようです.【←PC-286LE20(メルコのEMS装備)】 -0-0-0-0-0-0-1-1- ITFバンク切替機構がNECレガシー機と異なる機種のようです.【←PC-386LS20(PC34でプロテクトメモリ装備)】 -0-0-0-0-0-0-1-0- ITFバンク切替機構がNECレガシー機と異なる機種のようです.【←UV11(EMJをIOバンクで使用)】 -0-0-0-0-1-1-1-1- レガシー386/486機一般 【←PC-486HA2、PC-9801RA2・RA21】
UV11では裏RAMはあるようですが、EPSON機と同じ警告が出ます。同時期のRA2では出ません。もしかしてEMJを載せているせいでしょうか? UV11ではEMJをバンク兼用モードでバンクメモリとして使っているので、ちゃんとSW3-6切り離し警告が表示されました(前バージョンまでの調査結果も同様の環境でした)。 > ・・・ ・・・-・ により ・・・KB-・・・KB の本体・・・は切り離されています. ↑2バイト半角とのことですので、案の定、リダイレクト出力したテキストをWindowsに持ってきても正しく表示されませんでした。
PC-486HAでは通常のレガシー386/486機と出ますのでITFバンク切替機構がNEC機と同じと判断しているようですが、前述のようにSTOPキーでハングするなど不具合が出ますので、誤認の可能性もあるかもしれません。 (追記)よく考えたらもしかして単に[2]ITF/BIOS切替ビットに由来するメッセージでしたか。
----補足---- 手持ちのUV11はサウンドBIOS切り離しジャンパの無いロットですが、入手時点でサウンドBIOSが出現していませんでしたので、恐らくROM KILL済みの個体だったようです。その他のFM音源搭載機種のサウンドBIOSは切り離す設定にしています。うちにはFXのデモFDくらいしかサウンドBIOSを使う(アドレス移動できない)ソフトは無いですので、EMSに制限が出るほうが厄介です。
|
IPLwareを見据えて リウ 2022年1月14日(金) 1:54 |
2.21のソースを読みました。 DXでSASIが出たり入ったり SCSIの表記が狂ったりすることについて調べました。 このスレッドのTOPに書いた5-7のやり方しかないと思うのですがサウンド部だけがそうなっていましてSASIとSCSIは敢えて外しているように読めます。 SASI領域を使うものがCバスにいた場合を想定しますと、事前にコピーしたものとIO53dhの操作によって内蔵ROM側が前に出てきたものとの比較でチェッカが働き そのbitは無効にして再度53dhの操作でCバス側が前に出ると思うのです。 もしSCSI側bitがDXのように無効の場合も事前コピーとIO53dhの操作が無効によりCバス側が選ばれて比較で一致してしまいますがそこは結局無効で元通りです。 文章での判定は狂うかもしれませんがIPLwareとして使う場合には問題なさそうなのです。
ですが調査プログラムとして表示をする場合はこれでは確かに片手落ちです。IOF0hは内蔵であっても何もつないでなければ反応もありませんから結局はSDIPになりそうですか…。機種依存が強そうです…。 内蔵IDEがあるかどうかだけはIO74Chの反応で確かめられると思います。内蔵SCSIは無理ですよねえ…。それこそDC00に出てくるコードが内蔵のものであると決めつけるほどの比較が必要な気がします。
1/14朝追記を読んで追記9:45 うわー IO53dhに出しただけで暴走…やばいですね 最初の前提が狂いました。 見間違い修正 43dhです NEC機でのITFとBIOSの切り替え操作で暴走ですね。EPSONID272Aがあればこっちの操作をしない、というのではどうでしょうか、と提案してみます。ところでnp2のソースにはEPSON機でのメモリ窓操作IOが載っています。C07hだそうです。
|
えぷ機にもBIOSにITFへ切り替えるヶ処は有る筈 かかっくん 2022年1月14日(金) 16:14 |
> 見間違い修正 43dhです NEC機でのITFとBIOSの切り替え操作で暴走ですね。EPSONID272Aがあればこっちの操作をしない、というのではどうでしょうか、と提案してみます。ところでnp2のソースにはEPSON機でのメモリ窓操作IOが載っています。C07hだそうです。
えぷ機の『BIOS』の絶対アドレスFFFF0hからの飛び先に、リセット時にITF(相当のルーチン)へ切り替えるルーチンが 有る筈ですから、取り敢えず稼働時に表に出て居るE8-FFを讀み解いてみては?
|
機種を知るプログラムが予め機種を知っているのは まりも 2022年1月14日(金) 18:04 |
うーんやっぱりDXと486機はI/Oポート53Dhの仕様が違って困りますね。全然違うならましですが似て非なるものであるが故に難しいです。DXでは内蔵デバイスのBIOSは53Dhで装備 bitをゼロにすると本来のアドレスのROMの存在が消されます。いっぽうレガシー機の内蔵品例えばE10などは装備 bitをゼロにしても本来のアドレスのDC00に存在します。メモリウィンドウの9C00の方から消えるだけです。本体内蔵ROMかCバスROMかを内容で判断するのに53Dhを使うと、そこでどうにもならなくなります。<追記>というかレガシー486の内蔵BIOSのうちでSCSIスロットのROMだけが別仕様なのか!
機種を知るプログラムなのに、機種をあらかじめ(別手段で)決めてから調べるというのは本末転倒なので、いくら正常に動作するといってもやりたくはないですね。<追記>SCSIスロットは内蔵ではなくてCバス上だということにすれば53Dhの仕様の違いはないですから,その方向で行きますかね。
|
↓を試してみて下さい かかっくん 2022年1月14日(金) 21:49 |
>/人'A`;人\ さん V98のROMREAD2.EXEに←をパッチ(ITFR.COM)してITFREAD.EXEを実行してみて下さい。 www.vector.co.jp/soft/towns/util/se034406.html 基本的に同じ事をして居るので止まる筈です。完走するとITFの内容を画面に表示します。 # V98では此れをファイルにリダイレクトしてITFを得て居ます
先ずは ITFREAD >nul で完走する(nulへのリダイレクトなので何も表示せず戻ります)か確かめて下さい。完走したら ITFREAD だけで完走する(画面に表示します)か試して下さい。次に、 ROMREAD2 >nul と ROMREAD2 をお試し下さい # ROMREAD1は何も切り替えずに讀むのでBIOSを得られます。此れは完走する筈です
|
SCSI別扱いで2.50 まりも 2022年1月15日(土) 0:00 |
arc98はバージョン2.50で表示が少し変更となりました。内蔵の可能性のあるBIOSの「RAM化」という表示をやめ、Cバス、内蔵ROM、内蔵RAMのいずれかの実体を示すようにしました。ただしSCSIだけは、すくなくともA-mateのE10では仕様が他のデバイス(IDE,SOUND,SASI)と違うらしく、053Dhの当該bitを0にしてもBIOSは出っぱなしです。メモリウィンドウにはそれなりに現れます。このためSCSIだけはBIOSのメモリ属性を正しく表示できない(判定も誤る)場合がありますが、053Dのbitを0にしてもしなくても問題がないようなので、判定が違っていても影響ありませんし、SCSI BIOSに一切触らなかったとしても大丈夫なようです。とりあえずDXとAnでテストしました。ただしDXなどでの専用SCSI内蔵HDD(RA-37)でもそうなのかはわかりません。画像の事例のDXでは-100ボードですから当然Cバスです。
|
|
壁こえSCSIを使ってしまった場合について リウ 2022年1月15日(土) 0:23 |
新スレたてていますが補足 私のツール類を使ったあとにARC98でテストすると当然ですが表示内容文章と意味が一致しません。 例えば壁こえSCSIを486世代機で使った場合D7をほぼ確実に使いますので SASI-BIOS部で本体内蔵RAM と表示されるはずです。 普段用に使っているかたがいらっしゃるかわかりませんが注意として書いておきます。テストする場合はそのことに留意願います。
|
|
|