| 弥生の更新 まりも 2026年3月1日(日) 13:00 |
修正 |
A1030RAM で F0000hに移動できるものを追加しました。F0000h-F3xxxはシステムBIOSではなくN88BASICの一部ですが、後方に位置するため、ここを潰してもある程度の機能は使えるようです。いっぽうE8000hを潰すとまったくBASICの機能が使えなくなってしまいます。
ひな祭り用品を出すついでに9801BX,BA(のマザーボードや代替電源)を押し入れから出してきました。FIXIDECFが動作していなかったようです。機種判定で9821をチェックしていたため、BX,BAで動作拒否になっていたのを修正しました。そのほかEXIDE1ABもBA,BXで動作しないことがわかりました(汗 初代A、Bはいろいろと罠が多いし。4KBのROMサイズがいっぱいで、直しがたいです…
【2日追記】初代A-mate,B-Fellowのワナを(既にここで報告されていますが)まとめておきます。リセットから起動プロセス関連です。 ・ソフト再起動,リセットボタン押し、電源投入ではITFの通る過程が違う。 ・上記前2つではBIOS RAMは出たままで初期化動作が行われる ・上記後ろ2つではCバスや内部の周辺回路がハードウェア的にリセットされる ・ROMボードのブートROMを隠したりバンクを切り替えるとソフト再起動ではダメ(新しい気づき) ・ハイレゾ時のIDE BIOS ROMは存在せず本体からは読み出せない(A) ・ハイレゾボード上のROMから読み出されてRAMに置かれてから初期化(A) ・それしかパッチ前のROMのデータを得る方法はない(A) ・ROM SUMチェックはRAM上のSYSTEM BIOSに対して行われる ・ノーマルモードではE8000hからの96KB区間の上下バイトずつのSUM ・どこかにパッチを当てたら必ずF31F0hの1ワードに調整値を記入しないといけない ・ソフトウェアDIPスイッチのソフト的仕様が初代A-mateだけが他の機種群と全く違う(A) ・9801グラフィックと21のそれと完全別個のGVRAMを持つ(A)※切替で内容保持
|
| ハイレゾ機のIDEBIOS リウ 2026年3月3日(火) 16:13 |
修正 |
Aは初代しか持ち合わせていません。 事実としてはファイルスロット機にIDEのセカンダリポートは存在しないのでしょうか? 3代目AとAnはなんとなく4351MiB壁と思っていますがそれもハイレゾボード側からBIOSを読み出されるとなると543MiB壁になってしまうような気がします。
1725追記 読み間違いしてましたので放置で 初代Aの仕様のお話だったのですね
|
| 初代A-mate専用 拡張G-V RAM DISK まりも 2026年3月3日(火) 18:06 |
修正 |
Ap2のROMではハイレゾとノーマルモード用のIDE BIOSは完全に一致です。ハイレゾボードのROMにあるIDE BIOSは初代A-mateのノーマルモード用IDE BIOSとほぼ同じですので、第2世代以降のA-mateでは使われないと思います。初代ではハイレゾ部分の開発が間に合わなくて、ボード側に載せるしかなくなったのだろうと推測します。ともかく初代A-mateにはやっつけ仕事っぽい仕様が多々あります。
ハイレゾボードのROMを読み出す機構自体はボード側のものなので、2代目以降でも使えるはずです。BIOSスキャン前に読み出してRAMに転送すれば、2代目A-mateをむりやり初代仕様にできると思います(意味ないですが)。逆のパターン、初代A-amteに2代目A-mateのIDE BIOSを切り取ったデータを転送すると、ちゃんと動作しました。ちなみにマルチプルセクタR/Wが可能になるので、HDDがちょっとばかり高速化します。
Ap3とAnですが、起動しなくなったAnのROMを外科手術によりいまから読み出すところです。たぶん既報どおりの配置だと思っています。
I/O 432hが存在するので、第2世代A-mateではセカンダリポートはLSIの内部レベルでは存在しているかもしれませんが(IDE BIOSがAp2とBX2とで似ているのを根拠に)、基板には出ていないので、セカンダリに機器を繋ぐのは絶望的に無理でしょう。
第2世代A-mateでは、ちゃんとI/O 534hを叩いてリセットすればCバスボードもリセットされるので、CバスROMボードの操作も問題ありません。初代A-mate、B-Fellowは未だ9801を引きずっているので、この点で困るわけです。Oneさんのボードを活用して、ROMアプリが自力でバンクを切り替えて実行するというのを作ったのですが、初代A,Bではソフトウェア再起動時にボードがリセットされない(する手立てがない)ため、この手が使えませんでした。
ところで初代A-mateは256色用の9821グラフィックRAMが9801グラフィックとは別で存在することから、これを利用した512KBのRAM DISKというのは「有り」な気がします。プロテクトモードに移行する必要もありませんし、9801グラフィック側を初期化しても21側は消されないので、昔あったような、9801のGV-RAM裏表を使った256KB RAM DISKよりも、ずっと安全確実なのではないかと思います。第2世代A-mate以降の機種では、G-VRAMが共用になってしまった点が少し残念です。
|
| セカンダリ かかっくん 2026年3月4日(水) 2:02 |
修正 |
> Ap2のROMではハイレゾとノーマルモード用のIDE BIOSは完全に一致です。ハイレゾボードのROMにあるIDE BIOSは初代A-mateのノーマルモード用IDE BIOSとほぼ同じですので、第2世代以降のA-mateでは使われないと思います。初代ではハイレゾ部分の開発が間に合わなくて、ボード側に載せるしかなくなったのだろうと推測します。ともかく初代A-mateにはやっつけ仕事っぽい仕様が多々あります。
HRが間に合わず板に載せたと云うより、何の道HRを遣うならHR板が要るのでBIOSも板に載せれば 良かろう(板が無ければノーマルで鹿動かないから本体にHR BIOSわ不要)と云う判断だったとも? A2でHRの仕様変更が生じ本体にHR BIOSを載せる羽目に成ったとか?
> I/O 432hが存在するので、第2世代A-mateではセカンダリポートはLSIの内部レベルでは存在しているかもしれませんが(IDE BIOSがAp2とBX2とで似ているのを根拠に)、基板には出ていないので、セカンダリに機器を繋ぐのは絶望的に無理でしょう。
其の儘でわ兎も角、I/Oをセカンダリに切り替えて籠が遮断されるならセカンダリだけ(プライマリに 切り替えると遮断)の板をCバスに載せれば、或るいわ? # Undoc2のio_ide.txtに云々書いて有馬すが本体でわなくデバイスのレジスタの説明の為 # 本質として0640h〜074Ehわ只のバッファ入りバス
|
| ROMの記憶喪失・続編 まりも 2026年3月5日(木) 19:41 |
修正 |
 2001年頃に既に起動しないということで頂いたRvII26のマザーボード(ベース)ですが、ROMを取り外して読んでみました。起動時デバッグポートのテストでROM化けの可能性が判定できていたとおり、BANK4のデータが盛大に化けていました。それにしても化けすぎです。基本的にbit値1-->0の向きに化けていますが、中程のアドレスでは連続して00hになってしまっているところがあります。
これはいったい何があったのでしょうね?製造から4年程度でROM内容が壊れて起動できなくなったということになるので、28F400BX-Tの不良としか言いようがありませんが、最初は偶発的な1bitだけの化けだったものが、先月報告のRv20のように、後年にひどくなったという可能性もあります。
|
| 山猫用MEMSET? リウ 2026年3月5日(木) 19:43 |
修正 |
tps://www7b.biglobe.ne.jp/~drachen6jp/%E5%B1%B1%E7%8C%AB.txt 何日か前に再検証してまして、さきほどWindows95がEDO64x2を正しく?128MiBにしてくれてそうな状態の写真を撮りました。 128MBx2もいけそうな気配を感じています。
自動ツール的なものとしてIPLWareの形で公開してもよいですか? これを使うことは山猫でWindowsを使うこと自体が勧められない、という説を曲げることになってしまいますが。FreeBSD用とでもいいわけしましょうか。
ありがとうございます。22:40公開しました。 www7b.biglobe.ne.jp/~drachen6jp/wildcat_memset.zip 6日16:44画像追加 一応memtest86の改造版が存在しますのでそれで確かめようとはしています。 Xt13がEDOメモリが一枚でも刺さっているとLEMMでは動作不良を起こすのでHIMEM.SYSでしか動きません、やはり色々大変です。(memtest86でもEDOではしっかりエラーが出てしまいました。) まあそれよりもOSのインストールをやるべきなんですよね… またPCIデバイスのMMIOがITFに設定されている場所が低い場合にはその場所をメモリにしてしまう可能性があることに気づきました。 Xt13のオンボードSCSIだけは手元ではごまかしていますがなんともしがたいです。 23:20追記 CBUSブリッジの32bitDMAアドレスを足しました。ご指摘ありがとうございます。並びに実機テスト報告まことにありがとうございます!
また山猫機のPCIバスのクロックを測定したいとも思っています。 TX2000はPCIバスクロックの2分周が動作クロックとして使われていまして、BIOSが計測値を使えるようになっており、さらにタイミングをレジスタで操作する(しかし66MHz用値固定)ことでDMAなりが仕事をしていました。Socket7機の33MHzバスでは化けるのは当然でした。
|
| おぉ山猫で256MB,512MB まりも 2026年3月5日(木) 19:54 |
修正 |
山猫でWindowsが動くわけ無いなどと言っているのはわたしだけです。 (PCI slotへのバスがアレなのでWindowsでの運用を楽しむことができないだけ) PCIスロットが無いCanbeなら問題ないでしょうし、大容量メモリで動かすことができるメリットはそれとはまた別ですから、公開していっていいと思います。なんならVRAMも全部メモリにして、シリアルコンソールで動く究極のメモリだけマシンとして運用するのもありでは。
それにしても、SIMMスロットへのA11の配線追加が必要なかったのは朗報です。チップセット側のA11の出ているピンが不明ですから、端っからハードウェア的検討なんてあきらめていました。
>TX2000 ソフト的にPCI VEN/DEV IDが設定できるだけでなく、なんとクロックもですか。クロックの取得までソフトでやられたら、98では動作するはずもないですね。しかし98の場合PCIクロックを直接知るI/Oもないと思うので、PCIデバイス上のメモリに転送して、ベンチマーク的に知るくらいでしょうか。
|
| 試用が難しいかも? KAZZEZ 2026年3月5日(木) 22:59 |
修正 |
> 128MBx2もいけそうな気配 また面白そうなものをありがとうございます。 ただ一枚あたり128MBのSIMMというとEDOが多いのではないかと思うのですが(私も玄人の128MX2EDOしか持っておりません)、山猫機ではFPしか使えないマザーも多かった?のが厄介なところかもしれません。パリなし430FX機ではEDO SIMMでもFP代わりに使って問題なさそうでしたが、シビアな山猫機ではどうだったか…?
あと合計256MB+αのメモリの動作確認も苦労しそうな気がします。95では簡単に使いきれないかもしれませんが、山猫でWin98/2kともなると不安定みたいな話もあった気がしますので問題の切り分けに影響しそうです。 チップセットの仕様が分からないことにはMEMTEST98も山猫には対応できないと思いましたし。HIMEM.SYS /testmem:onにしても、DOS上で256MB超えのXMSを使えるHIMEM.SYSがあったかどうか…?
> BANK4のデータが盛大に化け なんでしょうね、化けすぎな気もしますが…RvII26なだけに書き換え失敗みたいな可能性を疑ってしまいますが、出所がはっきりしているならその可能性もなさそうですよね…。
|
| みいそDOS6のHIMEM.SYSって64M迄? かかっくん 2026年3月6日(金) 12:48 |
修正 |
> チップセットの仕様が分からないことにはMEMTEST98も山猫には対応できないと思いましたし。HIMEM.SYS /testmem:onにしても、DOS上で256MB超えのXMSを使えるHIMEM.SYSがあったかどうか…?
抑々みいそDOS6のHIMEM.SYSって64M迄だったやうな?窓9xのわ64Mを越え枡が # 窓3.1モデルに64M(640K+63488K)載った機種がラインナップに無かったのでみいそ的に無問題と # して居たのでせう # HIMEMXやLEMMに期待?
|
| ダブルサイド128MB*2もOK、バッファ付は? まりも 2026年3月6日(金) 18:03 |
修正 |
 山猫メモリコントローラのレジスタ58h,59h のbit0,1が4Mbit(x8),16Mbitというのは確定しており、bit2はどうも使われると具合がよくなさそうなことから、bit0,1,2を使っての64Mbitは使用できないと思っていました(過去ログ)。なんと bit0,1=11b=3 が64Mbitを意味していたのですね。 ttps://ss1.xrea.com/ematei.s602.xrea.com/cgi-bin/bbs39_ris3/bbs39.cgi?mode=past&year=2023&mon=8 の8月31日
bit3はダブルサイドを意味するということから、山猫では、裏表の容量が違うヘンテコSIMMは使用不可とみてよさそうです。Xe10に最初から載っている6MBのSIMMがそれ(2+4MB)です。
依然としてbit2の意味が不明ですが、RAS/CASの本数が非対称なSIMM用でしょうかね。ここが1になるようなSIMMがあるかどうか、今からジャンク箱を当たってみます。片面の8MB*2 というのがどこかにあるはず…【20時追記】見つけたので装着しましたが、シングルサイド4MB*2で認識されてしまいました。Wildcatでは(ITFでは?)片面で8MB、32MBのメモリは正しく認識できないようです。【8日追記】結局ここのbit2の意味がわかりません。うちにはここが1になるSIMMはひとつもありませんでした。非対称SIMMでも半分の認識になるだけです。1を立てても残り半分には正常にアクセスできません。
結果として、上記設定でシングルサイイド64MB*2, ダブルサイド128MB*2のメモリが使えることを確認しました。DOS 6.20のHIMEM.SYSのメモリチェックが通り(めちゃくちゃ時間かかります)、自前のEMBメモリテストも通りました。ただし降圧で3Vチップ使用かつバッファの入った64MBのSIMM*2だとHIMEM.SYSの厳重チェックでエラーが出ました。安定性についてはなんとも言えません。
>PCIデバイスのMMIOがITFに設定されている場所が低い場合には【22時追記】 先にPCISETを実行しておくと、40000000h以上(1GB)のところにPCIのMMIOアドレスを移動することができます。ただしSC-UPCI系のSCSIは移動すると動作しなくなります。
>EDO SIMM 経験的にはXa/C,Xa/KでEDOを使っても問題なかったです。Xt13,16だと危なそうですが。WCATEDOでEDOとして動作させるとかなり高速化します。
L2キャッシュ範囲のようなものについては過去ログでの報告は怪しいかもしれません。ITFが設定してくれない容量なので正解は相当に試行錯誤して推測するしかありません。まあPentoumPro/II機と違ってL2キャッシュ無効でもさほど遅くはならないですけど(むしろEDO設定ではL2C無効のほうが高速)。あとはCバスブリッジにある、メモリ範囲レジスタの設定でしょうかね。これをやっておかないとDOS以外のOSではDMAアクセスが届かず、FDアクセスが音沙汰無し(X-PCMも)になります。本家MEMSETUPでは結構たくさんの仕事をしなければなりませんでした。
【9日追記】初期山猫機G8TTY、VAZではFSB 66MHz時にPARITY有りのSIMMが必要です。しかしSIMMバンク手前側増設分にはPARITY無しのを装着して、後から容量認識させることはできます。ただしアクセスすればPARITY ERRORが出ます。NMIを止めて誤魔化す方法ではなぜかhimem.sys厳重チェック後にハングアップするのですよね。あらかじめ書き込みをしないとダメかも?本家MEMSETUPではそのようにしています。
|
| EDO屋猫八 まりも 2026年3月9日(月) 15:59 |
修正 |
山猫機でEDOの速度が出るようにする"WCATEDO"ですが、強制的に15-16MB空間をシステムで使用の状態にしてしまうバグがありました。不要な設定を残したままにしていたようです。 ttps://www7b.biglobe.ne.jp/~marimo9821/iplware/wcatedo.html 直すついでに、パリティ有りSIMM必須のG8TTY,VAZ基板のXa**/C で、増設分にパリティ無しのSIMMを搭載・認識できるようにしました。ITFにより黄色PARIRY ERRORになりますが起動が続行できますので、WCATEDOをIPLwareに組み込んでください。全容量認識可能となります。またさらにホンのついでですので、リウさんが発見した64MB以上のメモリへも手動操作で対応しています。ただしタワーのXt13,16は持っていないので対応していません。リウさんが公開しているものをお使いください。
ところで昔誰かにもらった情報データファイル(英文)が出てきました。Wildcatの594,595のピン配置と機能名に関するものだけです(SIMMのアドレス信号にかかわるところのみ画像)。しかしいくつかの注意書きがありました。
レジスタ5Fhはメモリへの"Drive Strength for RAMCTRL3 register"の設定だということです。bit0はMA0B, bit1はMA0A、bit2はMA1からMA11だそうです。A11まで信号があることも確定ですね。bit3はRAS[0]..[3]だそうです。「ドライブ強度」というのが何なのかわりませんが、スロット数の多いXt13,16とそれ以外とでは違う可能性はあるかも。Xaではこれらは 0ですね。
このほかレジスタ7C bit 2の機能は "Current drive control for all associated pins is set via Miscset register bit 2 of register 7Ch" だそうです。Xaでは0でした(00h)。bit 7が立っている機種(Canbe?)があるわけですが、なんなのでしょうね。
レジスタ52hは"Current drive control for all associated pins is set via Miscseta register"というらしいですが、実際のところ全bitが0設定です。さほど役に立っていませんね・・・
【22時追記】Wildcat機の「メモリの後からインターリーブ化」ですが、1MB空間の総退避場所としては256色グラフィックRAMがいいのではないでしょうかね。512KBありますから大部分は収容できます。9801のGVRAM裏表256KBでもまあなんとか。まずはこれを試しますか。足らなければ、予めEMSボードをマッピングしてそこのC0000hから64KBを使う手もあります。
問題はIPLware本体つまり起動メニューの実行プログラムと、「インターリーブ化アプリ」の実行場所です。通常の6000hセグメントにロードしたのではダメだし、何があっても元のメモリ上の起動メニューには戻らないと、起動が継続できません。 ・GVRAM上かEMSボードメモリ上でアプリが実行開始(これの仕様を先に決めないと) ・専用IPLwareローダはスタックも含めて16KB以内で動作するよう再設計 表GVRAMに? ・1MB空間の20000h以下全退避 128KB これを裏GVRAMに? ・1MB空間のRAM化SYSTEM ROM,PCI ROM全退避 96+16KB これは表GVRAMに? ・メモリの構成を切り替える(できるか未確定なのでまずは全消去で試す) ・退避したものを全て復帰 ・アプリから固定ディスク起動メニューに戻る これでGVRAM 256KBきっちりですがさて…これらをやっている間は割り込みを止めないといけませんが,キーボードには触らないことや,内蔵HDDやFDDのモータを止めないことなども必要でしょうかね。 【翌日0時追記】メインメモリは20000h未満だけ退避すれば問題ないことは確かめられました。忘れていたのはIDE BIOS RAMの16KBと,SMMの裏記憶です。A0000hやらC0000hの裏RAMにあるやつです。64KBあるとするとやはり保管場所はCバスメモリにするかですが、作業後に実ROMのBANK1からリロードすればいいですかね?書き換わっているとダメですけども。裏RAMをざっと見たところ未初期化のようです。電源管理しないXaではSMMはどうでもいいのでしょうかね。
|
| 20000h迄ってみいそメニューの場合でBSD他の場合(略) かかっくん 2026年3月10日(火) 2:40 |
修正 |
> 【翌日0時追記】メインメモリは20000h未満だけ退避すれば問題ないことは確かめられました。忘れていたのはIDE BIOS RAMの16KBと,SMMの裏記憶です。A0000hやらC0000hの裏RAMにあるやつです。64KBあるとするとやはり保管場所はCバスメモリにするかですが、作業後に実ROMのBANK1からリロードすればいいですかね?書き換わっているとダメですけども。裏RAMをざっと見たところ未初期化のようです。電源管理しないXaではSMMはどうでもいいのでしょうかね。
みいそメニューなら128K以内にロードされ枡から20000h迄で済み枡が、BSDメニュー他のロード先わ 違ィ枡から要チェックな気が? 256色VRAMと16色VRAMで768K、B0-BFのEMS RAMが64K、...阿、EMS RAMってインターリーブの 対象に成りそーでフカ?
|
| SIMMバンク内容の引っ越しができることは確認 まりも 2026年3月12日(木) 13:08 |
修正 |
山猫普及機でインターリーブ!? の続きです。IPLwareでやろうとすると、 ・退避すべきメモリエリアの範囲がブートメニューによって違うかもしれない ・IPLwareのローダもVRAMにロードする特別版を用意しなければならない ・実行する自分自身もいったんVRAMにコピー・ジャンプしなければならない ・VRAMはデータの置き場としてはよいが、読み込みが遅いのでコード実行が遅い といろいろ問題や手間が多すぎます。OneさんのROMボードも普及してきたことなので、ROMアプリにしました。上記全部が改善・緩和されます。ただしピュアROMプログラムの作成は格段に難しくなります。push/popもサブルーチンcallも使用できなくなります。最も困るのが変数が使えなくなることです。といってもITFのコードでは見慣れているので、注意深くやればなんとか…
このメモリ総退避アプリでは、20000h未満をVRAMに保存してみました。その"魚拓"を見た感じでは、CバスボードROMのスキャンはRAM上に置かれたコードではなく、ROMから呼ばれているようですね。20000h以上のところも全部ゼロフィルしても問題ありません。なおN88 ROM BASICとSYSTEM BIOS前半部はROMとRAM化されたデータが同じなので、RAMを保存せず、ROMから読み直すことにしました。したがってGVRAMが不足することはありませんでした。
さて肝心のインターリーブ?です。実験は搭載SIMM 片面16MB×4でやっています。このアプリでレジスタ5Chのbit7,6,5を何かしらいじると、この時点でハングアップしてしまいます。NMIをI/O 50hでマスクしていてもダメです(山猫側の設定ならなにかあるかもしれないが不明)。ちなみに値14h、つまり非インターリーブでバンク#2側のみ使うという意味に設定にすると、起動は続行します。おそらくバンク#0側を使わずに#2側のみとなり、そこにメモリが割り当て直された状態で動作していると考えられます。32MB以上のところにアクセスするとエラーとなるし、14hの状態から15hの状態にメモリ退避の手順踏まずに直接変更すると動作しなくなることから、バンク#0の32MBが2側に接続も内容も引っ越しになっている状態で間違いありません。
というわけで、プログラムはそれなりに作ることができたのに、インターリーブについては万策尽きた感じです。レジスタ5Chは、値95h,85h,65h,55h,45h,35hどれもハングアップでした。Xt13,16のようにインターリーブはSIMMバンク#0,#1の組と#2#3の組しか許されていないのかもしれません。最後の手段はハードウェア的にSIMMバンクの接続先を#2から#1に変えることですかね。Wildcat594のピン配置と機能名の資料は発掘されたので、手がかりはあります。CAS信号がたくさんあるわけですが、これの組合せを変更すればいいのか… 【18時追記】 ttps://www7b.biglobe.ne.jp/~marimo9821/util/wcatmem.html プログラムをアップロードしておきました。バイナリ編集でもソースでも… Xt13,16でインターリーブ状態を解除して動けば本物かなと思います。
|
| 簡易テスト報告 リウ 2026年3月12日(木) 21:48 |
修正 |
素晴らしいものをありがとうございます。 さっそく検証してみました。PC34での実行です。 Cx13 ECCなしEDO32Mx4の状態です。 14h 04h 問題なく起動しました。上位側バンクにうまく切り替わったはずです。 15h 05h 問題なく起動しました。通常設定と同様です、bit4の意味は不明なまま。 F5h,E5h,D5h,C5h,B5h,A5h,95h,85h,75h,65h,55h,45h,35h,25h すべて赤画面で停止、復帰不可でした。しかしBEEPは止まっています。 残念ながらインターリーブ的な速度向上がさくっと行えはしませんでした。
Xt13 ParityありFP32Mx8枚です。初期値はBFhです。 1Fhへの切り替えがきちんと行えました。9Fhへの切り替えも大丈夫でした。 Cx13と違うのは4fh、5fh、7fh、ffhのようにbit6を上げた場合にも赤画面で止まりません。 (直後追記) バイナリパッチでBEEPの停止位置を動かして確かめたところ、どうやらこの場合はスタックが使えないようです。call命令を使ったあと戻ってこれないことがBEEPデバッグでは確認できました。bit6を立ててしまった場合はメモリ配置自体がされていないのかも? アセンブルソフトを見繕ってなんとか試してみます。
23:55追記 ITFを読んだ感じではEDOメモリ用テストフラグが5Ahのbit7な気配を感じています。ここを立てるとすべてのNMIを禁止してくれませんかね?とかいろいろ妄想はできます。58h,59hのbit2を立ててる部分がITFにありませんでした。以前の検証は記憶違いということにしておきます。 MASMをMS-DOS4.0の無料部分からもらってきて無事にアセンブルリンクできたところまでは確認しました、明日また頑張ってみます。 バンク0側拡張も実際のところできそうでワクワクしています。(素晴らしすぎる)
13日追記 5Chのbit6(修正)考察です。 立てるとメモリ接続解除では?という結果を得られました。 昨日のテストはXt13にはL2が256kB存在するのでRAMなしでも動作続行できてしまっただけのようです。out37h,8をしてパリティエラー無効をはさみ、さらにL1,L2キャッシュを切った状態を作って試験をするとメモリ内容復帰書き込み後に、中身の比較をしてみると全く一致しませんでした。 58hのbit2、こちらも容量だけは確認しました(記録済み)が不安定です(インターリーブフラグを落とさないと即停止してしまいます)。なにかしらのアクセス方法の違いがあるのかもしれません、全量アクセスできていない感じも受けました。
|
| メモリ引っ越しの応用 まりも 2026年3月12日(木) 23:30 |
修正 |
レジスタ5Chに(不適当な)値を書き込んだ瞬間に停止するのではなく、メモリに書き込みするところで止まるようですね。スタックが使えるところまで到達していない筈です。
メモリが異常な設定になった後にメモリ書き込み命令で止まるのは、やはりNMIの発生などエラーの通知があるのではないかと思います。仮に割り込みが発生しても、メモリが不在である以上、割り込みルーチンは応答できませんが、CPUはそこに飛ぼうとするはずです。そのときメモリを読みますが、存在していないわけです。
NMI禁止の機能であるI/O 50hは、古い98の機構でしかなく、チップセットの機能で止めないといけないでしょう。intel 430HXなどではレジスタ 90hや50hにそれらがあって、メモリ関係のエラー検出を殺すようになっています。山猫でそれが何かを見つけるしかありませんが、やっぱりITFの解読しかないですかねぇ。めんどくさいです。AIって逆アセンブラソースを解読できるのでしょうか?プログラミングはある程度できるそうですが、いまどき80x86のソースを機械学習できるほど情報がない気がします。
それよりも、NASM <-->MASM のソースコンバートをAIにやってもらいたいところですね。AIならずともソース変換(翻訳)アプリは無いですか?
ところで、そろそろ引っ越しシーズンですが、メモリの引っ越しテクニックは、64MB以上のSIMMでも応用できそうです。山猫MEMSETUPではバンク#0側は何も手出しできませんが、引っ越しを使えば、バンク#0,#2も1枚あたり64MB/128MBのSIMM設定にできるわけです。山猫平民機で256MB/512MBも夢ではなくなりますw 電源投入時のメモリチェックカウントは本来の1/4に減るのですから、時短にもなります。悪くないですね。
|
| 山猫機で64MB以上のSIMMを載せるpart2 まりも 2026年3月13日(金) 12:00 |
修正 |
山猫機でどのバンクにも64MB、128MBのSIMMを載せてもよいROMアプリはできました。ただしパリティを要求するXa/Cではバンク#0側に真正パリありのSIMMを使わないといけません。ECCタイプは赤文字エラーでITFに拒否されてしまいますね。これは今までやろうともしなかったので知りませんでした。そうならWCATEDOを使った方がいいと思います。またバンク#2側のみに64MB以上のSIMMを使う場合でも、未書き込みのところを読みにゆけば赤字Parity error が出ます。これも同じくWCATEDOを使った方がいいです。4枚ともEDO 64MB以上のSIMMを載せるなら、V二桁/M機、Canbeが適していると思います。 ttps://www7b.biglobe.ne.jp/~marimo9821/util/wcat64mb.html なおITFが間違って64MB,128MBをそれぞれ16MB,32MBで認識してしまうのを是正するわけですので、本当の16MB,32MBを載せるわけには行かなくなります。これも制約です。いっぽうWCATEDOではキーボード操作で64MB以上のSIMMの使用可否を選択・記憶できます。【14日追記】やっぱりメモリチェックでカウントされなかった部分はデータを埋めないとHIMEM.SYSがゴネるようです。testmem:on では、なにかデータパターンを読んでから書いている気がします。ということでWCAT64MB 0.98では問題があるので、WCATEDOをお使いください。【15日追記】あと必要な機能はCanbeでのSOUND BIOS RAMの再構成ですね。
【23:20追記】>リウさん Xt13ではSMMのエリアは存在していないということですよね? CanbeはインスタントTVのようなシステム外の動作があって、サイズが大きい(32MB超え)のでしょうか?32KBを超えていると、G-VRAMに収容できなくなります。A0000hに置かれる場合は32KBまでしか許されないのに対し、C0000hならCC000hのサウンドBIOSの手前までの48KB行けそうなのですよね。
|
| FPのP有とECCの違ィ かかっくん 2026年3月14日(土) 4:37 |
修正 |
> 山猫機でどのバンクにも64MB、128MBのSIMMを載せてもよいROMアプリはできました。ただしパリティを要求するXa/Cではバンク#0側に真正パリありのSIMMを使わないといけません。ECCタイプは赤文字エラーでITFに拒否されてしまいますね。これは今までやろうともしなかったので知りませんでした。そうならWCATEDOを使った方がいいと思います。またバンク#2側のみに64MB以上のSIMMを使う場合でも、未書き込みのところを読みにゆけば赤字Parity error が出ます。これも同じくWCATEDOを使った方がいいです。4枚ともEDO 64MB以上のSIMMを載せるなら、V二桁/M機、Canbeが適していると思います。
72pSIMMでFPのP有とECCの違ィと云えば、FPかEDOかの違ィの他にPわ1bit毎にCASが分かれて居て (詰まりデータと併せて9bit毎)、ECCわCASが共通と云う違ィが有馬す 其の為Pわ1bit巾かCASが4本のDRAMを遣って居枡 CASが4本のDRAMのレイ aucview.aucfan.com/yahoo/k1206436967 auctions.afimg.jp/k1206436967/ya/image/k1206436967.1.jpg auctions.afimg.jp/k1206436967/ya/image/k1206436967.3.jpg auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0111/user/35aecedecdab43e8fc324bb0eafb2ef7737be2e60a1fc641fa4f69e1051cb17e/i-img1200x900-1762147331643106mcjei58.jpg auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0111/user/35aecedecdab43e8fc324bb0eafb2ef7737be2e60a1fc641fa4f69e1051cb17e/i-img1200x900-1762147331643182gj1hlw8.jpg
|
Xt13はSMMを使用していない、と思われます。電源もATX型ではありませんし、リセットボタンも存在します。SMBASEが30000hのままで、ITFを検索してもrsm命令はありませんでした。実際にreadsmmを使って読み出そうとするとA0000hのメモリは初期化されておらず赤文字でparity errorの表示がされてしまいます。 Cx13の場合はITFでC0000hからの32kBがSMM用に準備されています。またCC000hからの16kBにはHELP設定に伴ってサウンドBIOSがコピーされている場合があります。
|
| チャレンジャーにバトンを渡す まりも 2026年3月14日(土) 20:24 |
修正 |
 インターリーブに関してはソフト側からは打つ手無しの気配です。Xt13の真似をすればうまく行くのでは?ということで準備としてSIMMソケットとWildcat 80C594との接続をG8VAZマザーボードで調べてみました。画像1の通りです。WildcatにはCASB[0]..[7]がありますが、SIMMソケットには接続されていません。
Xt13にはCASB[0]..[7](82C594側ピン番号は画像2)が来ているとは思いますが、何番目のソケットに来ているのでしょうね?たぶん隣接で、バンク#0,#1,#2,#3だとは思いますが、マニュアルにもそう(間を飛ばすなと)書いてあるかと思います。いっぽうここ十数年来のDIMM搭載のPC/ATマザーだと1つずつ飛ばしで装着しないとインターリーブになりませんよね。
さてXaやCanbeでインターリーブ動作になるよう改造するには、バンク#2側のCASA[0]..[7]を全部CASBに取り替えればいいのでしょうかねぇ。パラレルに配線されているものを切ってつなぎ替えるのは結構大変で危険です。内層で繋がっていたら終わり。そこまでやるならSIMMソケットの新規増設のほうがマシかもしれません。CAS以外はパラレルでなんとかなるので。でも配線長がぜんぜん揃わなくなるので危ないですね。
日頃からDISってる山猫機にそこまで情熱をつぎ込めるかどうかです。
|
| バトンパス リウ 2026年3月15日(日) 13:16 |
修正 |
できることは報告しておこうということで震える手と老眼で信用情報ではありません。 Xt13の8スロットメモリの状態
RAS0(SIMM高位側34番) 低位側RAS2も82C594側では同じピン? BANK0 既報 BANK1 省略 BANK2 既報 BANK3 82C594の102番?
CAS0(SIMM40番) BANK0 低位 既報 BANK0 高位 既報 BANK1 低位 省略 BANK1 高位 省略 BNAK2 低位 既報 BANK2 高位 既報 BANK3 低位 135? まったく目が見えませんが 140ではありません。 BANK3 高位 130? 同上 135ではありません。
RAS側もピンが違う気配がありました。よい目を持っている将来の人へ引き継ぎます。
|
| 本当に5A,59 bit01かどうか まりも 2026年3月15日(日) 17:08 |
修正 |
 マザーボードを取り出さずに調べるのは姿勢的にキツかったはずです。調べて頂いて申し訳ありません。SIMMの同じピン番号同士で、RASは別のバンクと導通、CASは低位側と高位側とで導通です。まさに縦糸と横糸です。
BANK3のCAS0ピンがCASB[0],CASB[4]と繋がっていそうであることから、バンク1とバンク3が山猫平民機では省かれているだけだったということが確定ですね。あとは心臓破りの坂を登る第3走者の登場を待つのみ…
さてどうもメモリをゼロフィルしてもHIMEM.SYSの完全チェックを行うと特定のアドレスでエラーとなるという問題がわかってきています。でHIMEM.SYSなしの状態でDOSを起動し、その特定のアドレスの次を見てみると、なんと今起動したDOSのメモリ内容が見えていました。
たとえば64MB×4のをSIMMを載せるとメモリチェックカウントは 64MB弱の値で起動するわけですが、HIMEM.SYSでは03FF8000 でエラーだと言ってきます。これは64MBの直前のアドレスです。このとき04000000hのメモリを見に行くと、DOSのメモリ空間の内容っぽいものが見えたりしました。たとえばディレクトリの断片などです。ゼロフィルしてあるはずなのこれはおかしいです。DOS自身が04000000hのところに存在してHIMEM.SYSが自己破壊している可能性が出てきました。そういえばメモリの構成によってはエラーではなくハグアップの場合もあるのです。
もしかしてWildcatレジスタ58,59h bit0,1のの11b の値は、16MB*2と4MB*2の状態がダブって割り付けられているのではないでしょうかね? ゼロフィルしているのに縞々でデータが遙かに高いアドレスに存在しているのはオカシイです。(勘違いがあったので削除して書き直しています)
【すぐ追記】しかし100bにしてもメモリは不在のようです。メモリフィルの進行状況を表示していると、メモリがないところに書き込むと非常に遅くなるので判断できます。やっぱり11bでないとダメですよね。もしかして設定はそれで正しいのだけども、山猫平民機ではラップアラウンドしてしまうのかも?当初疑っていたA11が配線されていない説を検証するしかないですね。リウさんのところでWindows95が動作できたのはXt13でしょうか、Canbeでしょうか?【18時追記】画像のようにMA11はWildcatの113番ピンです。こことSIMMソケットのA11(29番)は導通がありました。う〜ん、では何が原因でしょうね。
|
| メモリのbitの2度漬け リウ 2026年3月15日(日) 21:34 |
修正 |
Cx13(L2なし) EDO32Mx2+EDO64Mx2(ITFが認識するのは96MiBの6000000hです)の状態で調べました。
電源投入直後に59hの数値を03hに変更させ、その状態で4000000hからの64MiBにFFFFFFFFhを書き込みました。気になるので4000000hからの1000hほどには敢えて0を書き込んでみます。これが後ろに影響を及ぼすかが気になっただけです。その状態で4001000hから後ろのメモリがFFFFFFFFhになっているかを確認するだけのプログラムを書きました。(いつのまにか私でもこれを書けるようになっていることにびっくりしています。)
結果6000000hからのメモリに異常がありました。しかし直後に同じプログラムを実行すると6000000hからのメモリに異常がなくなります。リセットボタンでも電源を落としてからの再度の電源投入でもエラーなしの結果になりました。Cx13は待機電力を使いますからそれが原因かもしれませんので、電源コードを引き抜きました。その状態で電源投入しなおしますと初回と同じ6000000hからにエラーありの結果が得られました。
ITFが厳密にメモリを初期化することをPC-98の遅さのイライラの原因の一つとしていましたが、結構重要なのでは?と思ってしまいました。 とりあえずメモリ増加プログラム側でもFFFFFFFFhを2回(もっと信頼のある方法がよいのですが…)書けば安定しそうな気がします。
と書きましたがFFFFFFFFhではなく0フィルでも試すべきなのが上記報告との比較に必要ですか、HIMEM.SYSのmemtest:onもやっていませんでした。やりなおします。 [直後追記] HIMEM.SYSのエラー報告はおっしゃることがこちらでも再現されました。新たに接続したメモリの位置の32kB下がエラー位置の報告として得られますが、これは表示上の問題だと思います。これは恐ろしいですね…、Windows95がメモリ192MiB表示で動作した写真は撮りましたが、(壊れてもよい実験環境の)大きなOSでも試す必要ができました。
|
| ハードウェアがおかしいのかHIMEM.SYSか まりも 2026年3月15日(日) 21:47 |
修正 |
そうなんですよね。電源投入初回のみ起こるようなのです。しかも、しっかりROMアプリ段階で1MB以上のメモリ全体にゼロフィルをやってあるのにです。HIMEM.SYSで一度失敗してからリセット起動後は大丈夫そうなのも不思議です。
未知のことをやっているため、CPUからのアドレスが正しいのかも怪しいといえば怪しいです。おかしなアドレスに書いてから読んだ場合でも、正しく読み書きできたことになります。調査の方法を根本から考えないとなりません。なおL2キャッシュは外してテストしています。
DOSの居る空間と同じ内容がはるか上空のアドレスに一部だけ見えたというのも変な事象で、その上空のほうを変更するとDOSがハングアップしますから、データが連動しているようです。
メモリに書いてすぐ読んでも意味ないかもしれないので、ROMアプリでメモリフィル、IPLwareでメモリフィルを行った場合にどうなるかを今から試してみます。時差で二度書きですが、二度目は先に読んでみて不一致を探ろうと思います。
>Cx13は待機電力を使いますから 動作していないようにみえるときでもメモリに通電されているかは、SIMMソケットのVccでわかると思います。Canbeでサスペンドという概念のものがあるのかどうかわかりませんが。
|
| リセット押しで解決する何かとは? まりも 2026年3月16日(月) 8:41 |
修正 |
次の手順で試してみました。機種Xc13/S初代(G8WVD)、SS 64MB×4または8MB×2+64MB×2 1.ROMアプリで64MB SIMMを設定後、全容量にメモリフィル。識別のためアドレス値を書込む 2.IPLwareアプリで、書かれた内容をチェックし、さらにもう一度書込む。不一致でbeep 3.ダメ押しでもう一度同じIPLwareアプリを実行する。
電源投入時には必ず2.で不一致が検出され、3.のときにも同じでした。2度書きすればいいというものではないようです。不一致を知らせるbeepが鳴ったまま固定ディスク起動メニューまで行きます。ここでリセットボタンで再起動すると、次回起動時には不一致は起こらず正常となるようです。ここまでDOSは起動していないしHIMEM.SYSも実行されていないので、HIMEM.SYSは無実ということになりますね。なお、32MB以下のSIMMだけで「メモリの構成を一旦まっさらにしてから元と同じにする」場合は、上記のような問題は起こりません(*)。
電源投入後、起動メニュー時にリセットボタンを押すことにすれば大丈夫そうなので、WCAT64MBはバージョン更新(12時時点)して置いておくことにします。あとは32bitOSをインストールして問題ないかどうか。なお山猫機ですからPCIスロットは使わないことです。不一致箇所の高いアドレスのデータを見ると、1MB以内の内容の断片のようです。IPLwareアプリの内容だったり、DOSをしばらく動かしたあとは、DOS空間の内容だたりします。この状態のままでは正常に動作しないと思われます。一度リセットは必須でしょう。
因果関係が説明できたとは言えないのでスッキリしませんが、現象としては「アドレス化け」ですよね。PCIデバイスの動作不良もPCIのAD信号のうちアドレスフェーズで起こっているらしいというのは昔書いたことがありますが、今回のはメモリのアドレスです。(*)の事象からすると64MBのSIMMを使うに当たって必要な設定が未だ何か足りていないのか、そうでなければ山猫機自体がゴミなのかといったところです。 (・_・):わしゃゴミに一票いれまっせ (^_^):なにわくん、ベースクロックを50MHzに下げても再現するので、違うんじゃないかなー
|
   |
| ーむ かかっくん 2026年3月16日(月) 12:31 |
修正 |
マイナーだったとわ云え山猫が載ったPCも有馬したから、Memtest86+(移植版でなくPC版)が対応して 居そーな?
或いわUnreal modeで特定のパターンでなくアドレスを示す一意のデータを書き込み讀むのを 繰り返すとか? mov eax,imm32 mov cx,imm16 @: push cx xor cx,cx @@: mov edi,eax mov [edi],eax add eax,4 loop @@ pop cx loop @
> 因果関係が説明できたとは言えないのでスッキリしませんが、現象としては「アドレス化け」ですよね。PCIデバイスの動作不良もPCIのAD信号のうちアドレスフェーズで起こっているらしいというのは昔書いたことがありますが、今回のはメモリのアドレスです。(*)の事象からすると64MBのSIMMを使うに当たって必要な設定が未だ何か足りていないのか、そうでなければ山猫機自体がゴミなのかといったところです。 > (・_・):わしゃゴミに一票いれまっせ > (^_^):なにわくん、ベースクロックを50MHzに下げても再現するので、違うんじゃないかなー
山猫の石自体わ仕様として1GiB迄サポートして居枡から何らかの(略) 先ずわ普及機とXt数字の(略)
ところで山猫普及機わクロックを33Mに設定出来枡が、33M設定デモ↑の通りdsk? # Xa/Cってクロック設定ジャンパとITFのパリティ関連が連動して居たやうな?
|
| 山猫嫌いの山猫飼い まりも 2026年3月16日(月) 18:29 |
修正 |
>Unreal modeで特定のパターンでなくアドレスを示す一意のデータを書き込み讀む 上の画像ではそれをやっておりまして、画像3のように、本来はアドレス02FF8000h からのダブルワードにはその値が入っていなければならないのに、03000000h という32KBズレたところの値が入っています。それが異常なわけです。いっぽう128バイト進んだ先の 02FF8080h ではその値が入っており正常です。このように所々縞々にデータの異常があり、再現性もあるというのが謎なわけです。バスの信号の乱れの場合あまり再現性が無いはずです。
なおUnrealモードでは信用ならないかもしれないので、純プロテクトモードでやっています。どっちみち割込厳禁で実行しているので、IDT(割込みディスクリプタテーブル)のような面倒なものは作っていません(というかデバドラ作らないといけないので無理)。これはWCAT64MBのプログラムに組み込まれております。今回IPLware版で同様の読み書きチェックをするプログラムも追加してあります。 ttps://www7b.biglobe.ne.jp/~marimo9821/util/wcat64mb.html
>何らかの(略) Xt13を持っていないのでわからないですが、ずっとのコメント上でMA[1]..[11]のピン番号の図があるやつに、なにやら"Drive Strength" "MA"の記述があります。これの意味が良くわかりませんが、メモリのアドレス線のドライブの強さに関係することですから、アドレス化けには関係あるかも?というわけで、レジスタ5Fhのbit2,1,0を全部1にしてみました。しかし状況は変わりませんでした。
>山猫普及機わクロックを33M それってクロックジェネレータPLL-ICの足上げをやるやつですよね?33MHzまでクロック下げないと動作しないようでは本当にゴミ認定ですから、やってません。なおPCIクロックは独立で、25MHzまで落とすとPCIバスのほうのデータ化けが起こりにくいことは昔確かめました。
|
| 山猫Xaのクロックのジャンパ かかっくん 2026年3月16日(月) 22:49 |
修正 |
>>山猫普及機わクロックを33M > それってクロックジェネレータPLL-ICの足上げをやるやつですよね?33MHzまでクロック下げないと動作しないようでは本当にゴミ認定ですから、やってません。なおPCIクロックは独立で、25MHzまで落とすとPCIバスのほうのデータ化けが起こりにくいことは昔確かめました。
若しかして此の辺がおかしかったから山猫機を64M,128M SIMMに対応させなかった?>みいそ
Xt数字わ兎も角、G8VSU以降の場合クロックのジャンパが2bitで、PLLの足上げ無しで50,60,66,33MHz と設定出来枡。G8TTY,G8VAZって50,60,66に出来ても33に出来ませんか? # G8TTYわパターンだけのロットも有ったとか? # 60,66ジャンパがPLLの他に別の石にも往って居るのをカットしてレベルを固定すればP無のSIMMや # L2を遣えたやうな?>G8TTY
ところでFC-9821Xaわノースが山猫、サウスが☆α2と云うPC-9821に無い組み合わせだそーで www.amy.hi-ho.ne.jp/nakajima-jr/fc-98/factory/fc9821xa.htm
|
| KAZZEZ 2026年3月16日(月) 22:53 |
修正 |
> G8VSU以降の場合 手持ちのG8TTYは、少なくともジャンパは用意されていました。33MHzなんて私もほとんど試した記憶がありません。何のために用意された設定なのでしょうね…486機との互換性が高まるのでしょうか? [追記] 試したところリウさんのFREQでそれらしい値を返したので33MHz可能なようですね。
ところで$のログ見てたらG8TTYはロットによっては倍率設定のジャンパピンが用意されている場合もあるそうですが、手持ちのものを見たら2枚ともありませんでした(今更ですが)。パターン自体が見当たらないということは同じ型番の基板でも結構設計しなおされていたみたいですね。それとも偽猫用?
|
| さよなら山猫 まりも 2026年3月16日(月) 23:17 |
修正 |
2列のジャンパピンの右側のみ挿したのが33MHzですね。やってみたところ…遅い遅いはともかくとして、完全に症状は再現しました。動作不安定とは別の何かが原因ということになりそうですが、ちょっと策が思いつきませんね。
あとは未知のレジスタbitを片っ端から試すくらいしか… DOSでintelsatとかでいじったのでは必ずハングアップするので、WCAT64MBかWCATMEMの中で試すしかないと思います。それでも容易にハングアップします。そのためこれらのツールではCTRLキーを押していると動作回避できるようにしてあります。ソースレベルでわかる人は試してみてください。なおWCAT64MBはCanbeのSMMのコピーがきちんとできていないと思われるので、また修正します。
もう山猫とかかわるのはいいかげんやめて、状態が良い所蔵品は処分にかかろうかと思います。
【追記】レジスタ58,59hですが、シングルサイドで32MBのメモリに対して一つ上の64MBのときの設定にし、bit2を立てると、全容量にアクセスできる感じです。つまり値は07hです。一つ上ランクの半量にするというフラグかもしれません。RAS,CASの出し方を変える機能がありそうです。ところがこれをやってもデータのアドレス化は治らないどころか酷くなるようなのです。ITFが行わない設定ではとにかくおかしなことになります。ITFになり変わってメモリを再構築しているつもりでも、何かがやっぱり足りない、そんな気がします。
|
| 倍率ジャンパとクロックのジャンパ かかっくん 2026年3月16日(月) 23:56 |
修正 |
G8TTYの機種ってXa7,9,10/CとV7,10辺りで、其れ等わ50,60,66MHzの1.5倍デスから倍率ジャンパわ 無くてもおかしくナイでせう 一方クロックのジャンパわ機種専用板にしない為にも有ったやうな?
>>何らかの(略) > Xt13を持っていないのでわからないですが、ずっとのコメント上でMA[1]..[11]のピン番号の図があるやつに、なにやら"Drive Strength" "MA"の記述があります。これの意味が良くわかりませんが、メモリのアドレス線のドライブの強さに関係することですから、アドレス化けには関係あるかも?というわけで、レジスタ5Fhのbit2,1,0を全部1にしてみました。しかし状況は変わりませんでした。
Xt13のITFでレジスタ5Fhの値が幾つか?とか色々有りそーな? # 信号の反射(±が反転する=論理が反転)が原因なら寧ろDrive Strengthを下げた方が良かったりする鴨? あと元のSIMMがFPの機種わEDOだけでなく本来のFPデモ試してみるとか?
|
|