98システム解析スレッド2022年2月-2スレッド かかっくん 2022年2月9日(水) 0:32 |
では次に遷る前に、レイの検証はROM BASICでも出来ますよね
|
こんなのは如何でせう? かかっくん 2022年2月9日(水) 0:47 |
こんなのは如何でせう? ソース表示にするとちゃんとインデントして居ます
10 WIDTH 80,25:CONSOLE 0,25,0,1:CLS 3 20 OUT &H53D,&H42 30 OUT &H43F,&HC2 'に続いて 40 OUT &H461,&HC 'メモリウィンドウの80-9FにRAMのC0-DFを割り当てる 45 'ここで9700:0(D700:0の別名アドレス)をダンプするとパリティエラーになるので埋めに行きます 50 DS=&H9700:DEF SEG=DS 60 FOR AD=0 TO 4095 70 POKE AD,&H9C 'この9Cはどんな値でもいいです 80 NEXT 90 OUT &H461,8 ' メモリを元に戻し 100 DS=&HD700:DEF SEG=DS 105 ' この結果がオール9Cかどうか 110 PRINT "Segment = ";HEX$(DS);"h" 120 PRINT "ADRS : +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F" 130 FOR AD=0 TO 240 STEP 16 140 PRINT RIGHT$("000"+HEX$(AD),4);" : "; 150 FOR X=0 TO 15 160 PRINT RIGHT$("0"+HEX$(PEEK(AD+X)),2); " "; 170 NEXT:PRINT 180 NEXT:END
|
|
BINに書き換えます かかっくん 2022年2月9日(水) 2:12 |
↑では駄目っぽい(NP21, T98Nで全部FF表示)なのでOUTとPOKEの部分をBINに書き換えます BASICに限らずDOS+DEBUGでも全FF # NP2は286機、NP21/WはPCI機なので除外
20 DEF SEG=&HA800 30 FOR AD=0 TO &H29 40 READ A$:POKE AD,VAL("&h"+A$) 45 ' 50 NEXT:AD=0:CALL AD 60 'CALLの第1引数は【数値変数】である事。AD=0だからとCALL 0にするとエラーに成ります 70 ' 80 ' 90 ' 200 DATA FA,BA,3D,05,B0,42,EE,BA,3F,04,B0,C2,EE,BA,61,04 210 DATA B0,0C,EE,BA,00,97,8E,C2,31,FF,B9,00,08,B8,9C,9C 220 DATA F3,AB,BA,61,04,B0,08,EE,FB,CF
CLI ;00 FA MOV DX,053D ;01 BA3D05 MOV AL,42 ;04 B042 OUT DX,AL ;06 EE MOV DX,043F ;07 BA3F04 MOV AL,C2 ;0A B0C2 OUT DX,AL ;0C EE MOV DX,0461 ;0D BA6104 MOV AL,0C ;10 B00C OUT DX,AL ;12 EE MOV DX,9700 ;13 BA0097 MOV ES,DX ;16 8EC2 XOR DI,DI ;18 31FF MOV CX,0800 ;1A B90008 MOV AX,9C9C ;1D B89C9C REP STOSW ;20 F3AB MOV DX,0461 ;22 BA6104 MOV AL,08 ;25 B008 OUT DX,AL ;27 EE STI ;28 FB IRET ;29 CF
|
V30用に別にDRAMは無い かかっくん 2022年2月9日(水) 2:43 |
> 2.V30モードはCPUも何もかもがCバスの上にあるのではないか?
此れは無いです。V30用に別にDRAMが載って居たりはしません。 2MのDRAMの内、下位か上位の1M(640K)分をバス幅を変換してV30に接続されるか、2Mの下位か上位の 16bitがV30に接続されるかと考えられます。後者だと2M有るのが必然に成ります(1280Kでも間に合いますが) 此れが必要に成るのはXL^2とRA前後期・RL前後期に成ります。マーケティングの都合だけでなくハードウェアの 都合でも2M載って居るのかも知れません。他は286/386SXなので同じ16bitですから面倒も有りません。 D*以降はV30が無いので無関係です(Dの機種でV30が有るのはV30だけの98DOだけ) # もしかして98GS(未だV30有)とかが386SXだったのは其の辺が関係? あと此の辺の機種は全機種V30が8Mなのも何か関係が?
特定の514256を8ヶ外して(RASやCASを浮かせてDRAM側でプルアップ、但しZIPなので容易ではない。 外してからスルーホールに貫通させずに表面だけで憑け直すの推奨)も386では640KB OKに成る筈ですから、 其の状態でV30では何のやうな動作に成るか(全くERRORに成るか512KB OKに成るか256KB OKに成るか etc、ゐゃITFは386だから640KB OKか)で判る気がします
斯う成るとESやLSのV30モードが気になりますね
|
PC-286独自リセット KAZZEZ 2022年2月10日(木) 1:08 |
せっかく情報があるので一応PC-286初代方式のリセットを試してみましたけど、PC-386LS/486HAとも互換性は無さそうでしたので、本当にPC-286初代機だけの方式みたいですね。そもそもI/O 0C03/0C05が無いらしく、OUT後にINしてもFFが帰ってくるだけです(手順上は少なくとも0C03は読むはずですので… 一方の0C05の操作は何故必要なんでしょうね)。結局OUT F0,0で普通のリセットが起こるだけでした。もちろんV30機である286LEではリセット自体起こりません。
> 讀み直した処、確かに286LEと386LSですね あ、いえ、前スレの「PC-386LS(訂正)」となっている個所で実際に私も当初386LEと誤記していたのを後日修正しておりましたので、もしかしたらそれにつられたものかもしれません。遅レス失礼。m(_ _;)m
|
V30撤去でどこまで起動できるか? まりも 2022年2月10日(木) 12:44 |
手元に中古ROMの27C256をまとめ買いしたものがあるのですが、そのなかにCCM03,04というNECシールのものがあり、マザーボード画像を検索してみると9801RXのITF/BIOS ROMとわかりました。ワードデータを復元して逆汗したところ、リセットからのITFらしきコードがありました。その途中で、stackを0:404..407hに保存してから out F0,07 を実行しているところが見つかりました。
ということは、RX(Rシリーズ全部かも)ではDIPSW 3-8を切り替えたら即座に V30で起動しているのではなくて、はじめは無条件に286/386で起動しているのではないかということになります(追記:どうもデータとしてFFFF,AAAA,5555,0000を入れるメモリチェックまで済ますらしい)。起動の途中でDIPSW 3-8を読みに行き、そこでV30側だったらシャットダウン後ウォームリブートでV30に切り替わるのでは?というわけです。
動作面でこれを検証するには、V30を取り払ってDIPSW 3-8 OFF側で起動したときにピポ音がするかどうかでわかると思います。V30へのシャットダウンのところまではITFが働いて、そこで停止するでしょう。いっぽう最初からV30で起動するのであれば、CPUを取り払ったら全く動かないはずです。Rシリーズお持ちで試せる方は試してみてください。
ちなみにV30でリスタート後のコードをみると0:480や0:501を操作していますから、KAZZEZさんがお見通しのとおり、やはりここはミイソがチェックする重要なシステム共通域だというのがわかりました。
|
「640KB OK」まで動作します おふがお 2022年2月10日(木) 18:11 |
V30の無い状態での起動状況については、手持ちのFC-9801X(VX21ベースのV30非搭載機種)も、DIPSW 3-8 OFF側で起動したときに 1:ピポる 2:メモリカウントが始まり、「640KB OK」まで出る 3:その後フリーズ という流れでした。
Rシリーズ以降の世代での検証となると、手持ちにV30をすぐ取り外せる機種が、、、いたわ、PC-98RL5が。
というわけで、PC-98RL5のV30を引っこ抜いて起動させてみましたが、やはり上記の通り「640KB OK」と出た後にフリーズしました。(そのまま電源切→V30差→電源入で、正常にBASIC起動)
というわけで、メモリカウントまでは286・386側で動いてるとみて間違いなさそうです。
|
RシリーズのV30って電熱器だったのか まりも 2022年2月10日(木) 20:08 |
おぉ、640KBまでのチェックでV30移行ですか。ということから、
>2Mの下位か上位の16bitがV30に接続されるかと考えられます。
これは無いことになりました。このほうが回路的には簡単そうですけどね。メモリがそのまま認識できているのだから、ちゃんと32bitの1MB以下のメモリを16bitアクセスで1MBにしています。それで回路規模がデカくなっているんですかね。RLもRAもRSも、基板を見ると2階建てになっていて、上側に386 CPUとそれに近いメモリが居て、1階にはCPUから遠いデバイスがある感じです。V30もその一つのように見え、V30周辺にTTL ICがやたら多いです。
Rシリーズは電源入っている限り286/386もV30もそれらの周辺回路も全部生きているんじゃないでしょうかね。消費電力が大きいのも道理です。ミイソ公式で調べると消費電力(標準)は RA21 100W DA2 50W という具合でした。DAになって回路の集積度が上がったからというのでは説明つかない差だと思います。RA21を1台持つよりもDA2とUV11,UF,URあたりを持っていたほうがいいようです(笑)
前スレのようにA20MSHDNなんてものを試行錯誤してみたわけですが、286/380-->V30移行の仕方の正解はRシリーズのITFにあるじゃないですか、ってことで解決のようです。未解決なのは、V30で起動してから 286/386に移る方で、1MBのところをHMAにしたときにパリティエラーが出たりしないのか?という点です。V30起動時は640KBメモリチェックで終わっているので危ない気もしますが、ついでに1MBちょいまでデータを埋めてくれてあれば大丈夫そうです。
|
ピポッてからのメモリカウントの仕方を見れば くりすと 2022年2月10日(木) 21:23 |
SW3-8のON/OFFでは640KBまでのメモリカウント速度に変化がないので一通り初期化(ITFのお仕事)してから386(286)からV30に切り替わっているのは感覚的に分かっていました。
後クロックが5MHz系(RA21は基本20MHz固定ですし)の場合、V30(8MHz)にしてから単純に386側に切り替えた場合、5MHz系の初期化も必要かと思います。(BEEP音が違ってましたので…ただそれだけの違いかどうかはともかくですが。)
|
ITFは上位CPUで実行される かかっくん 2022年2月10日(木) 23:43 |
此れは以前から一部では知られて居た事で、 PC-9801シリーズ に移稿前のWikiの PC-9800シリーズ の項 (と移稿直後の PC-9801シリーズ の項)にも記述が有りました。 # RA2から386DXを抜いた処V30でも起動しなく成ったので前世紀から知って居ました ja.wikipedia.org/w/index.php?title=PC-9800シリーズ&type=revision&diff=82336103&oldid=82185662 ja.wikipedia.org/w/index.php?title=PC-9801シリーズ&type=revision&diff=82336005&oldid=82335989 前スレで「V30を抜いてみて下さい。切り替えた瞬間ダンマリに成ります」とした通りです。 Rに限らずVX前後期でも同様です カウントに限らずピポ音の長さも同様です(VX2と同じROMのVM21のピポ音は長いが、VX2をV30モードに しても286/8と同じ短い音)
此処で、クロックが286/386とV30で異なる場合は?と云う疑問が生じますが、BEEP音程が変わる事から クロックも切り替わる事が判ります。規定のクロックで初期化されるのは8M系の機種と286にもV30にも10Mと 8Mの両方が有るVX01/21/41とXLと云う事に成ります
|
Rシリーズは実機を所有したことがないので、知らない事ばかりです。CPU切り替え関連の活用ツールはKAZZEZさんにお任せするとします。クロック切り替えもシャットダウンを経る事でソフト的にできるような気がしますが、これも既知ですか?
>前スレで「V30を抜いてみて下さい。切り替えた瞬間ダンマリに成ります」とした通りです さすがにこれは当たり前のことであって、ITFが起動中にCPUを切り替えている事を意味してはいませんよ。
|
V30で起動後に286/386に切り替えるのは かかっくん 2022年2月11日(金) 4:05 |
>>前スレで「V30を抜いてみて下さい。切り替えた瞬間ダンマリに成ります」とした通りです > さすがにこれは当たり前のことであって、ITFが起動中にCPUを切り替えている事を意味してはいませんよ。
讀み返した処、「V30を抜いてSW3-8をOFFにして起動してみて」とはして居ませんでしたね... おふがおさんの検証の通り、ピポって640KB OK迄は実行されてからダンマリに成ります。
問題は此の際にDRAMのバスがド〜成って居るか?ですが、此れの検証にはオンボードDRAMを抜いてみるしか 無さそうです
SW3-8をOFFにして起動した際に、ITFのV30に切り替えるルーチンを実行する以外にハードウェアが切り 替わっていたりしたりしてもおかしくない気がします。 V30で起動後に286/386に切り替えるのは仕様としては想定外でせうから、想定外の動作をしてもおかしく ないかも知れません(V30に切り替えたら此のフラグはリセット迄隠して(286/386→V30の一方通行)も良かった のかも)
|
読書 リウ 2022年2月11日(金) 15:54 |
undoc vol.1BIOS割り込み編を読んできました。京都府立図書館にあります。 私的分類第二世代IDEだけの機能のようですがキャッシュ設定があるようです。 int 1bh ah=08h dl=ffのdlの返事がd800:208x+7の値で変わります。dl=01で設定するとキャッシュが効くとのことです。d800:200chの値が実行中に設定されるところまでしか逆アセした後も読みきれていません。
EPSON本 紹介頂いたとおり大阪府立図書館にあります。 私が欲しかったEPSON独自RAMのIO操作については何も書かれていませんでした。EPSON独自256色が使えるBASICが4.0と5.1であること。IDEを搭載している機種についてSASI-IOを使えるエミュレーションしていると誤解させる文章は見つけました。(SASIと同じDA/UA=80hでBIOSが使えるだけでしょう)110ピンバスのピン配置が書かれています。個人的に気になっているWORD0信号について少し詳しく書かれてもありました。CバスボードのブートBIOSがD0とD2しか許されない機種があるとのことです。(C0-CFも封印)この項を見る限りかなりの部分がRAMを使う前提になってはいそうですが…rdiskl.sysというバンクメモリ用ramディスクドライバがあるそうです。
|
/人'A`;人\ 2022年2月11日(金) 18:15 |
4.0(2枚組)は持っています.が,単体入手のため取説がありません.多分386M添付のものでしょう.が,386Mも持っていません.前にも書きましたがmahalito(?)とか一通り試しましたがディスクイメージ化できておらずもうやる気もありません.み○そが256色まで拡張したグラフィック命令を持つDOS版BASICを出してくれていたならケチな私でも新品で買ったでしょう.
追記:BKDSKいうソフトを使たらディスクイメージ化でけるかもわかりまへんな(他人事 ttps://twitter.com/ume3fmp/status/1494443182675095552 ttps://twitter.com/ume3fmp/status/1494448567867822080 ttp://5inch.floppy.jp/tmp/BKDSK131.LZH
|
twitterとマルチ投稿にはなりますが リウ 2022年2月17日(木) 20:53 |
ttps://drive.google.com/uc?export=download&id=1yxOELuj95ubrQV9z9e2dlYfVdwQ8yrgB EPSON機でのRAM化機構の調査プログラムを書いてみました。参考にしたものはHSBのソースと486Pの福袋です。E8-FFはまとめて設定であろうという仮定が含まれています。E8-EFはBASICかGLIOだろうという妄想もありますので壁ごえSCSIで上書きしてやろうという目論見があります。
|
PC-286VJでRAMCHECK Jilly 2022年2月17日(木) 23:52 |
拡張ボードを全部抜き・工場出荷設定、外付けFDから起動のDOS 6.2で撮りました。
<2/19 0:05追記> Ver0.01a版の結果を撮ってみましたが、2/18の初版の結果と同じでした。
|
/人'A`;人\ 2022年2月18日(金) 18:06 |
FD起動の何も組み込んでいない日電版DOS6.2.上はHDDなし_音源なし_RAM640KB_PC-286VF,下はSCSI HDD内蔵_26K互換音源内蔵_RAM13.6MB_ノーマルモードPC-386GSでの実行結果. 追記1:左様.例のアの時と同じ感じでやんすね.286V族ってのはV,VE,VF,VGとか似たような名前のものが多いですが,9801VX対抗機なので各々それなりの数が出ていたかと思いますので,エプソン機について考える際には無視できないといえば無視できない機種かもしれません.また386機も例えば初期の無印PC-386と後期のGE,GSではBIOSもかなり違うと仄聞しています.あとどうでもいいことなんですが,IDE I/Fを持たない486Pって機種が別にあるんで,486PT1と表記した方が誤解(誰がするのか?)がないでしょう.PC-486PT1ってのが型番でPC-486PORTABLEってのが商品名(逆だったかも).デスクトップ機でなくペンタブレット機のようなものなんで(キーボードユニット外せるんじゃなかったっけ?),独自部分も多いのかもしれません.そのため福袋(読んでまへんが)としてまとめられている調査がわざわざ行われたとも考えられます. 追記2:然り.ですのでやるのであればVF以外の前中期286V族の調査も必要かと. 追記3:二機とも最新版でも結果は変わらず.VFは調が点滅してヘァングアプします.
|
エプソン機アーキテクチャを極めるには まりも 2022年2月18日(金) 18:13 |
上の画像の286VFはそこでハングアップですか?やはり触ってはいけないI/Oがありそうな感じです。 486Portable福袋の情報はIDE搭載機世代だけなのかもしれませんね。
|
ご協力ありがとうございます。 リウ 2022年2月18日(金) 23:10 |
調査ありがとうございます。またご迷惑かけました。 IO43DhとIO43Fhへのアクセスは危ない、という最近判明した事実を失念していました。0.01aとして版替えを行いました。 また486PTということを教えていただき感謝致します。486P(EPSON独自256色持ち機種)の解析資料だと思い込んでいました。 うーんBASICのルーチンのあるE8への書き込み機構は開発経緯を聞く限りありそうだと思っていますがなかなか難しいですね。
追記19日11:55 なかなかダメそうですね…壊してしまう可能性がありますので一度引き上げます。
|
286V族でも中身の違いで挙動が違う場面も有る かかっくん 2022年2月18日(金) 23:37 |
286V族と云っても、レイの本のレイのページに由ると中身が微妙に違って居たりします(1900-1.jpg)から、 具体的な型番が必要に成る場面も有ります。 此処でも286VFとVJで挙動が違いますし
ematei.s602.xrea.com/cgi-bin/bbs39_ris3/bbsdata/1904-0.jpg ematei.s602.xrea.com/cgi-bin/bbs39_ris3/bbsdata/1900-0.jpg ematei.s602.xrea.com/cgi-bin/bbs39_ris3/bbsdata/1904-1.jpg ematei.s602.xrea.com/cgi-bin/bbs39_ris3/bbsdata/1900-1.jpg ematei.s602.xrea.com/cgi-bin/bbs39_ris3/bbsdata/1904-2.jpg (頁順) PC-286シリーズはEPSON PCシリーズや国民機の代わりとしての用語(広義)だったり狭義の286/V30機の事 だったりしますが、後者(狭義)のは ・PC-286 m0/STD ・PC-286*族 ・PC-286U族 ・PC-286V族 ・PC-286膝上族 ・PC-286のて族 辺りに分類されますね # ところで最近迄知りませんでしたが『日本語(漢字) PC/AT互換機の研究会』にはT芝の他えぷも入って居たとか? # ド〜してもPC-286を出せなかったらAT互換機(→AX)に鞍替えしようと云うのが見栄見栄ですな
|
例によって旧版の報告時に新版が公開終了という…(遅; KAZZEZ 2022年2月19日(土) 23:45 |
そんなわけで旧版での報告となり申し訳ないですが、386LSでは上記VJと同じく、何も見付からず調査終了でした。 HA2では以下の通り、いくつかRAMらしきものが見付かったようです。新しい機種では互換性が高まったのか、それとも独自PCIの関係なのでしょうか? 独自PCIの制御方法も気になるところではありますが…。 ---- EPSON国民機 RAM Checker BIOS領域が書き込めました。 IO 0C07hでRAM制御できそうです。 NECと同様にIO 1e8ehでDAセグメントのRAM制御ができそうです。 調査が終わりました。念の為リセットしてください ----
> クロック切り替えもシャットダウンを経る事でソフト的にできるような気がします それは気になります。というのも、RXやRA21は動作中にクロック切り替えのスイッチを動かすとハングするんですよ。少なくともVX(VM21含む)やFシリーズ(Dシリーズは失念)は動作中にクロックSWを切り替えてもハングはしないようでしたが(もちろんクロックは再起動するまで変わりません)。一方でV30切り替えに使うSW3-8はRAで動作中に変えてもハングはせず、おっしゃるように起動時に参照するだけみたいですので、挙動がちょっと違う感じです。 ところでクロックを変えると5MHz系と8MHz系についても変更する必要が生じる場合もありますが、RXはクロック分離になってCPUクロックには融通が利くようになったとも聞きますので、もしかしたらV30/8MHzに切り替える際にVXよりは機構が多少容易になっているでしょうかね? ちなみにVM21(マザーはVX2と共通?)にVX21のCPUボードを差してV30/10MHzから286側にソフトウェアで切り替えた場合、実際のクロックは10MHzであるにもかかわらず勝手に8255のポートから得られる情報は5MHz系から8MHz系に切り替わります(VX2相当の動作?)。このへんは恐らくマザーボード側のハードウェアで勝手に切り替わるのでしょうけど、ソフトウェアでもこのポートが変更できるならそうしたいところです(現状ではワークエリアのタイマー設定しか変更できませんので)。
|
VM21とVXはクロックSWを切り替えると動作中でも切り替わる かかっくん 2022年2月20日(日) 1:32 |
VM21とVXはクロックSWを切り替えると動作中でもクロックが切り替わりますよ。BEEP音程が変わるので判ります。 VM21のCPUで追試下さい。ROM BASICでBEEP 1で鳴らした儘SWを切り替えると音程が変わります # E/F/M/VM*/VM11は未調査、E/F/MはBEEPが圧電ブザーなので音程は不変 ディスクI/O中にしたりするとデータが保証されません 但しBEEP音程が変わる通り8253の設定値は変わりません(クロックSWを切り替えるだけでソフト的には何もして 居ないので当然)から少なくともRS-232Cの再設定が必要です。ポートからの情報に基づいて設定すれば 良いでせう VM21とVX*の挙動は同様と思われます。VX*1ならちゃんとクロック通りの動作に成ります。 クロックSWはI/Oの入力にしか無い気がします。 VX*の286は8M固定なので286時は8Mの設定を返す設計なのでせう(でもCPU板に有ると思いきやメイン側 (VX21のCPU板でも8Mの値である事由り)だったとわ)
UX以降の機種で、V30に切り替えて8Mに成った際にポートからの情報や8253の値でクロックが10Mの 儘(8MはV30周辺だけ)か8Mに切り替わったかが判る気がします 因みにBEEP音程の下限は10M系で約38Hz、8M系で約31Hzです。上限はMHzオーダ迄設定できるので略
100 N5!=2.4576E+06:N8!=1.9968E+06 110 I=INP(66) AND 32:IF I THEN N=N8! ELSE N=N5! 120 INPUT "BEEP freq(Hz) ";F:IF N/F>65535! THEN BEEP:GOTO 120 130 X=INT(N/F):X$=RIGHT$("000"+HEX$(X),4) 140 Y=VAL("&h"+RIGHT$(X$,2)) 150 Z=VAL("&h"+LEFT$ (X$,2)) 160 PRINT "SCLK="; 170 IF I THEN PRINT "8"; ELSE PRINT "5/10"; 180 PRINT "MHz":PRINT "x=";X,"(";X$;"h)":PRINT 190 PRINT "OUT 16347,";Y;":OUT 16347,";Z;":BEEP" 200 OUT 16347,Y:OUT 16347,Z 210 BEEP:END
|
EPSON IO チェッカ リウ 2022年2月21日(月) 0:02 |
もう一度アップロード致しました。上記の同じリンクで0.01bがダウンロード可能になりました。KAZZEZさま、実行テストありがとうございます。タイミングが悪くて申し訳ないです。HSBがやっているEPSON機種用IO操作をそのまま踏襲しました。マニュアルによるとCx486のキャッシュ制御のせいでInt1Bにパッチをあてる必要があるためにもともと386以上の機種ではEPSON機用RAM操作をするようです。PC-286XXではシャドウRAM機構がないかもしれませんが386以降にはあると妄想しています。おそろしいことを頼んでいますのでできることでしたらデバッガ上でPを押しながら進めていただくとダメなところで暴走して止まります。こんなもんは危ない!と思われたら実行しないでください。言い訳がましくとても心苦しいのですが責任がとれないのです。(じゃあ公開すなや!というお叱りは受け止めます。)HSBが常駐するさいにERBIOSというフラグが立てばEPSONRAMがあるとのことです。(画像はemulatorをそのIO操作に対応させてみたものです)
|
0.01bの結果とか KAZZEZ 2022年2月21日(月) 4:15 |
こちらこそ二度手間をおかけしてすみません。とりあえず486HAでは選択肢が出ずに以下のように出ました。 ---- EPSON国民機 RAM Checker ver0.01b BIOS領域が書き込めました。 調査が終わりました。念の為リセットしてください ---- 386LSでは相変わらず特に何も見付からないようで、Eを選ぶとこれ以上続けるのは危険として終了し、Nを押すと普通に調査が終了するだけでした。 ところでEPSON機を想定していないSCSI_RAMやARC98では486HAで実行するとIDE BIOSが隠れてしまい、STOPキーを押すなどしてHDDにアクセスするとハングアップする挙動がありましたが、RAM Checkerではちゃんと戻せているみたいで、実行後もHDDは読めました。
> VM21とVXはクロックSWを切り替えると動作中でもクロックが切り替わります おっと、そうだったのですか(汗)。8/10MHzをスイッチで切り替えても、ワークエリアのタイマー設定の5/8MHz系の設定がそのままだったので、ベンチマークや計測ソフト類が正しくクロックを判断できなかったようです(言い訳…)。切り替えた後にTIMODを実行すれば正しく計測できました。なお条件を変えて試したところ、CPUクロックを動作中に切り替えられたのはV30の時だけで、VX21のCPUボードで286+アクセラレータに切り替わっているときに動作クロックのスイッチを変えるとRX/RA21のときと同じくハングしました。VX2は286時だとCPUクロックが切り替わらないのは分かりますが、本物のVX21では大丈夫なんでしょうかね。
|
過去ログに、無い かかっくん 2022年2月21日(月) 7:13 |
此れもモノホンのVX*1ならおkです。当時能く動作中に切り替えて居ますた
VX2のCPU板で、8Mで起動してから動作中にSWを10MにするとERROR表示が出たりダンマリに成ったりした のも過去ログに有りそうな? と思いましたが無いやうです。VM21 VX2 VX21の3機種のCPU板を3機種に入れて検証した結果に付いて此処で レス頂いた記憶は有るのですが記録に無いやうです。一部のログが抜け落ちて居そうです 其れとも表示されない旧掲示板(YY-BBS)かな?
仕方ない、其の内亦調べます
|
動作としてですがIO0C03hが読めなかった場合、EPSONIDが11h以下の386LS以前の機種については強制終了を入れています。事実としてIO操作による調査は行いません。(0.01aまでで暴走の報告のため)Nの選択で暴走しなかったことですので386LSではIO53dhでの全開操作は影響しないようです。486HAの結果はFFFFセグメントが何もしないでも書き込み可能メモリだったという報告になります。驚きです。その時点で調査を打ち切っていますのでIO53dhには触っていませんのでROMが見えなくならないのだと思います。(逆説的にはIO53dhや43fhに触るとそのあたりが動くわけですが)DAセグメントが初版と見え方が変わっていますのは想定外ですのでバグを探します。(FFに書き込めた瞬間に調査終了していました。DAを見に行っていません。また改訂します。) 12:50追記 DA-DBを先に調査するように順序を変えました。0.01cです。
|
/人'A`;人\ 2022年2月21日(月) 19:02 |
リビジョンが0.01aで変わっていないのではと思いましたが,0.01bからプログラム名が変わったんですね.で最初気付かずに実行したramcheck 0.01aは286VFでは一枚目の画像の箇所でハングアップしました.当たり前でしょうがpでもtでも同じ.デバッガはexdeb. epchk 0.01bの実行結果は二枚目.いずれも機種選択はE.上が286VF,下が386GS.N選択だと286VFは0.01aと同じところでハングアップ,386GSはE選択時と同じ結果.
ツイッターで広く報告を募る場合,まず具体的に何のために何について調べているのかを噛み砕いて簡単にでも説明する方がよいかと思います.その上で,デバッガ(念頭にあるのはexdebでしょうか)経由で実行せよというのであれば,@調査対象機種の範囲(V30機や286機ではやる意味があるのか等),Aexdebの入手先URL,Bexdebでepchkをロードする仕方(コマンドラインでの書式),C「"-" に続けてpと入力してリターン」の操作を一セットとして繰り返せとの指示,DE/N(/Q)の選択メッセージが表示された場合の答え方(pを押さずにeを押してしまう,pを押したが進まないのでもう一度リターンを押して次に進んでしまうといった行動をする可能性あり),EE/N(/Q)でNもテストした方がいいのか,F最終的に何をどう報告すればよいのか[出力画面の画像を投稿,表示メッセージを文字で逐一報告,表示メッセージの一部(どれ?)について文字通りに/要点だけ報告等],などの条件と手順を具体的かつ明確に指示しないと,この種の課題は多くの人には敷居が高すぎて,自分もやってみるかという気にさせにくいのではないかという気がします.ツイートの数が多くなってしまいますが.
|
危ないと思ったらどうする? かかっくん 2022年2月21日(月) 20:56 |
ところで、DOCに > 危ないと思われたらQで終了してください。それ以上は頼めません。
とありますが、
危ないと思われたら直ちにリセットしてください。それ以上は頼めません。
と思いますが如何でせう?
|
PC-286VJでRAMCHECKその2 Jilly 2022年2月22日(火) 0:06 |
0.01bと0.01cで結果をとりましたが、これまでと同じく「調査が終わりました。・・・」で戻ってくるだけでした。
<2/24 21:07追記> 0.01dの結果ですが上記と同じです。
|
ver0.01cとか KAZZEZ 2022年2月22日(火) 4:50 |
386LSでは変化無しですが、486HAでは以下の通り情報が増えました。 ---- EPSON国民機 RAM Checker ver0.01c NECと同様にIO 1e8ehでDAセグメントのRAM制御ができそうです。 がIO e8ehでDAセグメント内でのメモリ窓型RAM制御ができないようです。 BIOS領域が書き込めました。 調査が終わりました。念の為リセットしてください ---- 2/23追記 少々条件を書くのを忘れていましたが、当方でテストに使っているDOS起動FDは、CeのMS-DOS5.0A-Hを、V13/S*3のアップデータで更新したものだったと思います。DOS5でもさすがに95時代のアップデートであればEPSONチェックは無いようです。むろんCONFIG.SYSやAUTOEXEX.BATは無しで起動しています。
> 286+アクセラレータに切り替わっているときに動作クロックのスイッチを変えるとハング すみません。もしやと思って試してみたら、必ずしも偽VXだからではなく、やはりCPUアクセラレータに依存していたようです。これまでアイオーのPK-X486S50を使っていましたが、これだとCPUクロックを切り替えたときにハングするようです。素の286では偽VXでも動作中にCPUクロックが変更できました。CPUアクセラレータを使う場合でも等倍のABM 386SXGTはもちろん、2倍速のアイオーPK-A486S(D)でも大丈夫でした。ABM 486GT-Rも大丈夫そうですが、8MHzから10MHzに切り替えた際には時々ハングするようでした。また、同じCx486DLCで2倍速のものでもアイオーのは大丈夫ですが、旧メルコのはハングしました。そのほか旧メルコの独立クロックのものは当方の偽VXだと元からどうにも不安定でよく分かりませんでしたが、たぶん駄目そうです。なおアイオーのキャッシュイネーブラで試す限り、CPUキャッシュの有効無効は関係ないようでした。…もしかしてRXやRA21でハングしたのもCPUアクセラレータのせいだったんでしょうかね? (汗;
|
みいそDOSがえぷCHKを外したのは自社機で引っ掛かる事が有ったせい かかっくん 2022年2月23日(水) 20:21 |
みいそDOS5.00A(-H)のリビジョン5(製品番号105h MATE Xの初代系の頃)はPnP BIOS対策でえぷCHKを 外しますた # PnP BIOS入りの機種に因っては旧バージョンのOSの中には引っ掛かるのが有るらしい。特に困るのは # DISK BASICなので6.3にはえぷCHKが無い筈 radioc.web.fc2.com/column/pc98bas/pc98dos5revs.htm ↑に由るとCxのはもうRev.5(105h)だったそうで CHKVER www.vector.co.jp/soft/dos/util/se019849.html # DOS3.3xより多くDOS3.10x並みの多さですな
独立クロックのアクセラはリセット時点でPLLで同期させると思われますから、動作中にSCLKが乱れる (双方のクロックは1ッの基準から分周するワケではないので非同期)とタイミングがおかしく成るのでせう
|
お詫び リウ 2022年2月24日(木) 11:27 |
0.01cまではバグが多数ありまして調査結果がほぼ無意味になってしまいました。ご協力いただいた皆様にはお詫び申し上げます。 具体的にはキャッシュを切らずに書き込みした値が読み込めてしまいFFFFの領域が書き込み可能と判断されてしまっていました。またNECtypeでの調査はFFFFではない場所を検索しておりました。0.01dにしておきましたがやはりひどいプログラムですので実行には注意してください、と申し上げるしかありません。
|
epchk 0.01d@PC-486HA2 KAZZEZ 2022年2月25日(金) 4:58 |
486HAでも選択肢が現れるようになりました。Nを押すと以下のようになりました。しかしEを押すと特に見付からないようで調査が終わります。また、IO 1e8eh云々の2行については初回実行時だけ表示され、リセットせずに再実行するとその2行は表示されなませんでした。 ---- EPSON国民機 RAM Checker ver0.01d NECと同様にIO 1e8ehでDAセグメントのRAM制御ができそうです。 がIO e8ehでDAセグメント内でのメモリ窓型RAM制御ができないようです。 EPSON形式EかNEC形式Nか調査終了Qか選んでください。 E/N/Q NECtypeのメモリ窓機構がありそうです。 調査が終わりました。念の為リセットしてください ----
|
IO 053Dh リウ 2022年2月25日(金) 13:11 |
486HAではこのbitの割り振りがundocmented2のものと違ってf2hではDA-DB(D8からも?)を隠すようようです。が、やはりメモリ窓操作でE8-FFに関してはRAMとしてアクセスできるようです。妄想だったものの理解がかなり前進しました。
26日2:20追記 IO053dhの各bitとRAMの関係を調査するプログラムを追加しました。RA2とRA21の差も見られると思います。
|
/人'A`;人\ 2022年2月25日(金) 18:32 |
0.01d.286VFでは386Vより古いということでE/N/Q選択肢も出ずに即終了.386GSではE選択直後に終了,N選択でNECtypeのメモリ窓機構がありそうですと出て尾張.
画像は386GSでの53dchkの結果.「一度停止します.Yで続行します.」が二行続いているところがありますが,再起動して再実行しても同じ.内蔵SCSI HDDの有無も関係なし.
|
53dchk KAZZEZ 2022年2月26日(土) 7:14 |
PC-486HAにて53dchkを試しましたところ、IO 053dh=42のときだけD7がシャドーRAMとして報告されました。 また、セグメントE8,F0,F8は全般的に(IO 053dh=82,42,22,12,0A,02のすべてで)シャドーRAMとして報告されます。ただし最初の、IO 053dhの値が82の時だけは、F8が報告されないことがありました。53dchkを(リセットせずに)実行した回数が奇数回目のときはIO 53dh=82のときのF8が報告されますが、偶数回目のときは報告されないようでした。何かがトリガーになっているのでしょうか? そしてなぜか、CバスSCSIとしてMDC-926RSを装着しているときに限り、IO 053dh=22のときにDCがシャドーRAMとして報告されます。MDC-925Lや適当なSMITボードに変えるとDCのシャドーRAMは検出されません。
なお486HAの環境は、CPUに変更は無く、IDEに1.2GBのHDD、RAM48MB、CバスはFXGAと適当なSCSIボード(+CD-R)で、一応PCPKB5も差さっていますが、SCSI内蔵HDDスロットは空きです。
|
結果を受けまして リウ 2022年2月26日(土) 10:17 |
お二方ともありがとうございます。D7とE8-F8に関してだけはNEC機と同じ方法で悪いことに使えそう、ということが判明しました。そしてIDE機では1e8eの操作でDA-DBも使えるはずですから壁越えSCSIは使える気配がしてきました。サウンド部のCC-CFはNEC機と同じやり方ではRAMにできない、というNEC機との違いが見えるようになりました。2機種ともFM音源内蔵機種ですからbit7は独立して内蔵ROMの有効無効bitの気配がします。IDEのD8もどうやらRAMにならないようです。サウンドと同じでどれかが(bit4?)内蔵ROMの有効無効bitであると仮定したくなります。(次バージョンには有意なROMかどうかの判定を付け足します。)SCSI部が特定のボードを挿していないとRAMと判定されない、というのはとても興味深い現象です。ここもNEC機では22hを選択しなくともRAMになりますので違いとして見えています。SCSI_RAMはこのボードだと動くのでしょうか?しかしIO43fhでのbit操作がNEC機とは違ってSASIとIDEが別枠になっている可能性もあります。F8だけが予想と違う動きですから危険なことを頼んでいる可能性がまたあります。結果報告大変ありがとうございます。
27日0時追記 53dchk.comを0.10aに版替えしました。サウンド及びIDEがROM/RAMであるはずだということですので検索ルーチンの工程を増やしました。
|
サウンドROM KAZZEZ 2022年2月26日(土) 17:01 |
> bit7は独立して内蔵ROMの有効無効bitの気配がします。 うっかり書き忘れましたが、確かに当方のPC-486HAはサウンドBIOSを無効にしておりました。サウンドBIOSを有効にしたら82のときにだけCC〜CFがシャドーRAMとして報告されましたから、その可能性はありそうですね。
|
53dchk.com 0.10a /人'A`;人\ 2022年2月27日(日) 18:44 |
386GS.内蔵音源と内蔵SCSI HDDを切り離した条件でのテストが必要かどうかわかりませんでしたので,どちらも有効にしてあります.結果は画像を参照.
|
|
/人'A`;人\ 2022年2月27日(日) 18:46 |
結果の続き.話の内容は全く分かりまへんが念のため386GSの内蔵SCSI HDDユニットINTER-120GE(HDDは1GBのものに換装)の情報を載せておきます.INTER-Gのスイッチ設定は下を参照("SW1の5〜7 割り込みレベル(INT)の設定" は "SW1の6〜8 割り込みレベル(INT)の設定" の誤記でしょう): ttp://navitoku.jp/archive/98station/maker/icm/inter_g.html うちのINTER-120GEでは, SW1:ON-ON-ON-ON-ON-OFF-OFF-OFF-ON(ID7,DMA3,INT0,FIFO) SW2:OFF-ON-ON-OFF-ON-OFF-ON-ON[ノ−マル/ハイレゾ SCSI ROM BIOSアドレスデフォルト,本体386GS(ノーマル/ハイレゾ両用機)] SW3:ON-ON-OFF-ON(FIFO) です.
|
|
EPSON 386GSのNEC互換部 リウ 2022年2月27日(日) 21:34 |
詳細なレポートありがとうございます。これで386GSにおけるNEC機との差がはっきりわかりました。(検証プログラムにバグがない前提ですが…)IO043fhとIO053dhで操作できるものはbit6のD7だけの4kbだけである。(DCが有効にならないのはとても残念です。)E8-FFはIO053dhの値に関わらず常にシャドーRAMが選択されている。ROMと切り替えるIOは別にありそうです。 CC-CFに関しては別のIO(ソフトウェアDIP?)で出し入れが可能かもしれないがNEC機と同じbit7ではない。D8-D9を有効にする機構は非IDE機の053dhには存在しない。ということがはっきりと確定しました。 もちろん未解明IOにC0-E7までをRAMにする機構がかくされている可能性はありますが知られていない部分のそんなものを触るのは危険すぎるので人様の機械で頼むことは不可能です。 誠に感謝です。少なくとも386GS以降ではD7は使えるということですので(SASIを使わない場合に)この4kbの有効な使い途があれば早い者勝ちです。またE8-F0にBASICしかないのなら使わない人はここも上書きしてしまえるわけですがどうでしょうね。
|
順番が違う理由は? かかっくん 2022年2月27日(日) 23:19 |
386GSのノーマルモードでは 043fh = cfh 053dh cc cd ce cf d7 dc e8 f0 f8 80h rom rom rom rom --- rom RAM RAM RAM 40h rom rom rom rom RAM rom RAM RAM RAM 20h rom rom rom rom --- rom RAM RAM RAM 10h rom rom rom rom --- rom RAM RAM RAM 08h rom rom rom rom --- rom RAM RAM RAM 04h rom rom rom rom --- rom rom rom rom 02h rom rom rom rom --- rom RAM RAM RAM 01h rom rom rom rom --- rom RAM RAM RAM 82h rom rom rom rom --- rom RAM RAM RAM 42h rom rom rom rom RAM rom RAM RAM RAM 22h rom rom rom rom --- rom RAM RAM RAM 12h rom rom rom rom --- rom RAM RAM RAM 0Ah rom rom rom rom --- rom RAM RAM RAM 06h rom rom rom rom --- rom rom rom rom 02h rom rom rom rom --- rom RAM RAM RAM 03h rom rom rom rom --- rom RAM RAM RAM
043fh = c0h 053dh cc cd ce cf d7 dc e8 f0 f8 82h rom rom rom rom --- rom RAM RAM RAM 42h rom rom rom rom rom rom RAM RAM RAM 22h rom rom rom rom --- rom RAM RAM RAM 12h rom rom rom rom --- rom RAM RAM RAM 0Ah rom rom rom rom --- rom RAM RAM RAM 06h rom rom rom rom --- rom rom rom rom 02h rom rom rom rom --- rom RAM RAM RAM 03h rom rom rom rom --- rom RAM RAM RAM 80h rom rom rom rom --- rom RAM RAM RAM 40h rom rom rom rom rom rom RAM RAM RAM 20h rom rom rom rom --- rom RAM RAM RAM 10h rom rom rom rom --- rom RAM RAM RAM 08h rom rom rom rom --- rom RAM RAM RAM 04h rom rom rom rom --- rom rom rom rom 02h rom rom rom rom --- rom RAM RAM RAM
と成る(一目で区別できるやうにROMは小文字)事が判りましたが、I/O 043Fh = cfhの場合とc0hでI/O 053Dhの順番が違うのは理由が有りますか? 順番が関係なければ 043fh = cfh/c0h 053dh cc-cf d7 dc e8-ff 1 rom/ ---/ rom/ RAM/ 2 rom/rom ---/--- rom/rom RAM/RAM 3 rom/rom ---/--- rom/rom RAM/RAM 4 rom/rom ---/--- rom/rom rom/rom 6 rom/rom ---/--- rom/rom rom/rom 8 rom/rom ---/--- rom/rom RAM/RAM 0Ah rom/rom ---/--- rom/rom RAM/RAM 10h rom/rom ---/--- rom/rom RAM/RAM 12h rom/rom ---/--- rom/rom RAM/RAM 20h rom/rom ---/--- rom/rom RAM/RAM 22h rom/rom ---/--- rom/rom RAM/RAM 40h rom/rom RAM/rom rom/rom RAM/RAM 42h rom/rom RAM/rom rom/rom RAM/RAM 80h rom/rom ---/--- rom/rom RAM/RAM 82h rom/rom ---/--- rom/rom RAM/RAM に成りますね ・E8-FFはI/O 053Dhのbit2(4)でROM(1)とRAM(0)が替わる? ・D7はI/O 053Dhのbit6(40h)で現れ、I/O 043Fhのbit3〜0(0Fh)?でROM(0)とRAM(1)が替わる?
|
判定ルーチン リウ 2022年2月28日(月) 9:01 |
bit2でROMと表示されているのは想定通りですので問題なしです。8000セグメントに見えているものと拡張ROM域で見えるものとが一致した上、書き込みが反映されるとRAMと判定しますので、bit2が立つと8000セグメント内にシャドーRAMが見えなくなるのはNEC機と同様の動作になります。拡張ROM域で有意なものがある場合ROMと表示します。 RAMにする場合IO53dhのbit1を立てる必要性がNEC機ではありますので、82h-03hの検索と80h-00hの検索を分けて実行しますが、その順序がIO43fhの数値で違うのはプログラムをうまく書けなかったことが原因ですので特に意味はありません。 D7のROM/RAMはIO43fhのC2hかC0hかで切り替わりそうでこれもNECと同じだと思われます。
|
D7にROM/RAMが出る謎 かかっくん 2022年2月28日(月) 10:26 |
386GSはIDEの実装が無い機種で、SASI BIOSはSASI籠のROMに有る筈ですが、本体にもROMが有ると云う事は 機種に依っては籠のROMでなく本体のROMを遣うんですかねぇ?
053Dhの値の順番は特に理由が無い(或る値は其の後の値に影響しない)との事で、↑の通りのやうですが、他の bitの組み合わせで他の範囲の変化とかは有りませんかねぇ?
|
|
|