| 投稿者 | 
		メッセージ | 
	
	
		| kaz | 
		
			
				 日時: 2008/04/14 (Mon) 22:11     記事の件名:  | 
			 
			
				
  | 
			 
			
				了解しました。
 
 VAEGの場合はHDCから見えるヘッド数(=4)を
 設定する現仕様が正しいですね。
 
 4 or 8ヘッドはnp2の問題ですし。
 
 この度は、マイナーな機能のためにご対応
 いただきましてありがとうございました。 | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/04/13 (Sun) 17:13     記事の件名:  | 
			 
			
				
  | 
			 
			
				> ただ、VAEGで作成した4ヘッド20MBのHDIは 
 > np2では当然に4ヘッドとして扱われますので、 
 > CP/M-86等の拡張フォーマットをサポートしない 
 > (知らない)DOSで使えなくなります。 
 
 なるほど、確かにそうですね。
 NewDiskの選択肢に20Mを2種類(4ヘッドと8ヘッド)にするとか、
 np2のBIOSエミュレーションのルーチンにmode setを追加する
 などの手が考えられますが、
 いずれも98のエミュレーションの細かいところになりますので、
 VA-EGとしてはあまりこだわらないことにさせていただこうかと
 思います。
 
 SASI HDDのご提供については、お申し出ありがとうございます。
 大変ありがたいのですが、SASIエミュレーションについては、一応
 先日のリリースでFIXのつもりでおり、また、実機に接続している
 HDDも今のところ動作していますので、お気持ちだけありがたく
 頂戴させていただく、ということにさせてください。 | 
			 
		  | 
	
	
		  | 
	
	
		| kaz | 
		
			
				 日時: 2008/04/09 (Wed) 23:42     記事の件名:  | 
			 
			
				
  | 
			 
			
				Shinra様
 
 新リリース、ダウンロードさせていただきました。
 ありがとうございました。
 無事SASI-20MB使えるようになりました。
 
 ただ、VAEGで作成した4ヘッド20MBのHDIは
 np2では当然に4ヘッドとして扱われますので、
 CP/M-86等の拡張フォーマットをサポートしない
 (知らない)DOSで使えなくなります。
 
 この点は、HDIのヘッダを書き換えるなり、np2で
 HDIを作成するなりで対応できますので問題ありません。
 
 SASI-IFの件、私の手許にLogitecのLHA-12が3枚あり
 1枚は完全に余っています。40MBのHDDが接続できる
 ので、新SENSEコマンドにも対応していると思われます。
 
 外付けSASI-HDDのLHD34Vも2台有り、1台は遊休状態です。
 20MB+20MB分割モードでは、前面のスイッチで1台目と
 2台目の入れ替えができるため、VA実機に接続した場合、
 起動ドライブが変更できて便利です。
 
 VAEGの今後にお役に立てて、送付先をお知らせ
 いただくのに差し支えなければ差し上げますが、
 いかがいたしましょう。 | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/04/06 (Sun) 19:11     記事の件名:  | 
			 
			
				
  | 
			 
			
				>np2(vaeg)にSASIのROMを読み込む機能を追加して、
 最初から読み込む機能はちゃんとありました。
 うまく動かなかったのは二重にROMを読み込んでいたからかも・・・
 
 
 r080406 をリリースしました。
 
 結局、NewDiskでSASI(.HDI) 20M を選択した時のパラメータを
 変更して、ヘッド数4にしました。
 新たに20Mの.HDIを作成して接続してみてください。 | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/04/06 (Sun) 01:22     記事の件名:  | 
			 
			
				
  | 
			 
			
				VA2で使っている緑電子のSASIインタフェースからROMイメージを作成して、
 np2(vaeg)にSASIのROMを読み込む機能を追加して、
 (実機98のBIOS ROMとITF ROMも必要)
 動かしてみましたが、何かが足りないのか暴走してしまって。
 
 素直にROMの中身を読んで見ました。
 が、どうも新SENSEコマンドには対応していないようで
 ファンクション04HでAH以外を設定しているそぶりナシ。
 ファンクションxEHは何の処理もしていないし。
 ・・・残念。
 
 VAのハードディスクBIOS同様のパラメータテーブルが
 DIPスイッチの値000〜111それぞれに用意されている
 ことはわかりました。DIPスイッチ100のときのヘッド番号
 最大値は3になっています。011だと7。
 
 なので、多分推測どおりではないかと。
 
 ファンクション04hで返却されるAHの下位4bitも
 DIPスイッチの値に対応するテーブルから持ってきている
 だけでした。 | 
			 
		  | 
	
	
		  | 
	
	
		| kaz | 
		
			
				 日時: 2008/04/02 (Wed) 22:01     記事の件名: なるほど SASI | 
			 
			
				
  | 
			 
			
				Shinraさん
 
 分かりやすい解説ありがとうございました。
 
 少し前に書き込んだ、SASIエミュレーションでは、
 得心がいかないまま実機の動作に合わせていたのですが
 おかげさまですっきりしました。 | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/03/29 (Sat) 22:50     記事の件名:  | 
			 
			
				
  | 
			 
			
				kazさん、詳細な情報をありがとうございます。
 
 予想ですが、
 物理的には、ヘッド数4, シリンダ数615で、
 BIOSのファンクションコールとしては、ヘッド数8、シリンダ数307
 に見せている(BIOS内で変換している)のではないかと思います。
 
 VAクラブ版テクマニによれば、BIOS内では、HDCに設定するヘッド数
 などの情報と、BIOSで論理セクタ番号を求めるのに使うヘッド数は、
 異なる値となっており、テクマニにあるMHAというパラメタが、
 ヘッド番号上限値をあらわしているとすると、物理的にはヘッド数
 4としてHDDをコントロールしていることになります。
 
 
 PC-98H51などがどのドライブを採用していたかはわかりませんが、
 NECのD3126/D3126Hという20Mドライブは、シリンダ数615、ヘッド数4
 のようです。
 
 http://museum.ipsj.or.jp/computer/device/magnetic_disk/0040.html
 
 
 > 20MB SASI-HDD使用中、mode set でヘッド数を切り替えても、 
 > BIOSの新センスコマンド(ah=84h INT 1bh)の結果には反映されず 
 > 20MBの場合、常に「ヘッド数4」と返します。 
 
 これは、物理的なヘッド数が返却されているのではないかと。
 ただ、物理的なヘッド数とは言っても、実際にはHDDから値を
 取得する手段はなく、単純にディップスイッチから決定している
 のではないかと推測します。0100ならヘッド数4、シリンダ数615。
 
 古いHDDと、アプリレベルの互換を保つため、BIOSに与えるパラ
 メータは20Mなら常にヘッド数8とし、新しいアプリはah=8eh 
 INT 1Bhすることで、ヘッド数4でパラメータを与えることが可能
 になるのではないかと。
 
 np2+実機ROMで動かすことで調査できるかも・・・と思いましたが、
 9801-27のROMを読み込む機能が無いような・・・
 
 ----
 
 
 いろいろ考えましたが、VAEGの実装のことだけを考えた場合、
 ・領域分割が無いので、おそらくHDD内にシリンダ数、ヘッド数を書き込むことはない
 ・CPU-HDC間では、論理セクタ番号を使う
 ・ヘッド数によらず、総容量が同じならセクタ数も同じ
 ということで、ディップスイッチの値が0100になりさえすれば、シリンダ数、ヘッド数まわりは考慮しなくても、問題なく動作はしそうです。 | 
			 
		  | 
	
	
		  | 
	
	
		| kaz | 
		
			
				 日時: 2008/03/29 (Sat) 12:30     記事の件名: 20MB SASI mode set 補足 | 
			 
			
				
  | 
			 
			
				88VAの話題から離れて恐縮ですが、私が確認できている
 現象で少しでも有効な部分があればと思い、
 昨日の投稿につきまして、補足説明させていただきます。
 
 20MB SASI-HDD使用中、mode set でヘッド数を切り替えても、
 BIOSの新センスコマンド(ah=84h INT 1bh)の結果には反映されず
 20MBの場合、常に「ヘッド数4」と返します。
 
 リニアセクタアドレスと、4/8ヘッド切替しながらのCHSセクタ
 アドレスでのセクタダンプを見比べて得た結論です。
 
 ここのことについてWEB・書籍等で言及されているのを見たことは
 無いため、私の環境での特異な現象かもしれません。
 (どなたか追試していただけると確信を深められるのですが・・・) | 
			 
		  | 
	
	
		  | 
	
	
		| kaz | 
		
			
				 日時: 2008/03/29 (Sat) 00:22     記事の件名: SASI mode set | 
			 
			
				
  | 
			 
			
				Shinraさん、みなさん こんばんは
 情報提供すると言いながら何もできずに申しわけありません。
 
 PC-9801のSASI-HDD BIOSのmode set については
 小高輝真・河野健 著 UNDOCUMENTED 9801/9821 Vol.1 BIOS・割り込み編
 1994年3月21日初版インプレス に以下のような記述があります。
 
 INT 1BH Function 0E
 
 入力 AH bit 7    モード(1=薄型(ハーフハイト)指定、0=厚型(フルハイト)指定)
           bit 6-0 0001110b
       AL  DA/UA
 
 出力  AH  リターンコード
           00h(CF=0) Normal End(正常終了)
           40h(CF=1) Equipment Check(DAで指定されたBIOSは存在しない)
 
 解説  AH bit7で指定されたモードにより、システム共通域内のポインタとフラグを変更する。
    そのアドレスとビット位置を以下の表に示す。
    ---以下略---
 
 以下は私が検証した結果ですので、確度は低いかもしれません。
 
 解説文からだと何のことか良く判りませんが、BIOSの挙動としましては、
 ah=0eh フルハイト指定:8ヘッド/シリンダ
 ah=8eh ハーフハイト指定:4ヘッド/シリンダ
 を切り替わります。もちろん、物理(磁気)的なディスクのジオメトリが変わる
 訳ではなく、BIOSコール時のCHS論理アドレスから物理アドレスに変換する
 パラメータが変わるだけです。 
 
 私自身は、実機PC-9801RA21+PC9801RA-35(内蔵40MBハードディスクを
 20MB + 20MB 分割モードで使用)で動作確認しました。
 
 実は、PC-9821Pentium機(IDE-HDDの256バイト/セクタ設定が無い)の
 IDE-HDDの領域内で20MB SASI-HDDをエミュレートし、HDD起動メニュー
 からCP/M-86を起動するパッチを作成した際に、このヘッド数の違いの
 ために随分悩んだ事があります。9801RA21でいろいろ調査した結果、
 この切替挙動を確信しました。
 
 このような事があるため、実用性は無くとも実機は捨てられません。 | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/03/27 (Thu) 01:07     記事の件名:  | 
			 
			
				
  | 
			 
			
				>⇒NRDSW = 0 でディップスイッチを読み取ると、011が返るはず。 
 >VAのBIOSは100を期待している? 
 
 BIOSの動作を調べてみたところ、上記のとおりでした。
 BIOS内のテーブルから、BIOSは、ヘッド数8、シリンダ数308を期待しているようだったので、その場合に、ディップスイッチの値として100が返るように変更してみたところ、
 PC-Engineから認識されるようになりました。
 
 詳細は以下に書きました。
 
 http://88va.seesaa.net/article/91118359.html
 
 気になる点
 ・new diskで作成される{33, 8, 310}と、シリンダ数が若干異なる→何か問題になるか?
 ・この変更は、98側からみるとどうなるのか
 
 この辺をちょっと確認してから公開します。
 
 
 >SASI-20MBは、PC-98の場合、BIOSの mode setで 
 >ヘッド数を4と8で切り替えるようになっていますが、 
 
 よろしければ、詳細を教えていただけないでしょうか。
 mode setというのは、INT 1Bhのファンクションのひとつですか? | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/02/20 (Wed) 01:04     記事の件名:  | 
			 
			
				
  | 
			 
			
				kazさん、
 
 ヒントをありがとうございます。
 そうか98のテクマニが(すっかり忘れてました
 
 ソース確認しました。
 
 HDIファイル自身がセクタ数、ヘッド数などの情報を持っており、
 以下の情報とマッチするものが無いとIDEとみなす処理になっている
 ようです。
 
  	  | Code: | 	 		  const SASIHDD sasihdd[7] = {
             {33, 4, 153},         // 5MB
             {33, 4, 310},         // 10MB
             {33, 6, 310},         // 15MB
             {33, 8, 310},         // 20MB
             {33, 4, 615},         // 20MB (not used!)
             {33, 6, 615},         // 30MB
             {33, 8, 615}};         // 40MB | 	  
 
 
 np2のnew diskでHDIを作成し、20Mを選択した場合、
   {33, 8, 310},			// 20MB
 このパラメタで HDIを作成しているようです。
 
 ⇒NRDSW = 0 でディップスイッチを読み取ると、011が返るはず。
 VAのBIOSは100を期待している?
 
 #すみません、今日はここまでです。 | 
			 
		  | 
	
	
		  | 
	
	
		| kaz | 
		
			
				 日時: 2008/02/19 (Tue) 00:50     記事の件名: SASI-20MB続報 | 
			 
			
				
  | 
			 
			
				shinra 様
 コメントありがとうございました。
 
 まず訂正です。(既にお察しとは思いますが念のため)
 誤)(mov ax,9 mov bh,0 int 81h) 
 正)(mov ah,9 mov bh,0 int 81h)
 です。申しわけありません。
 
 前回から判明したことを報告します。
 
 PC-Engine起動時に、デバイスドライバでINT81hを
 フックしてah=9の場合のsenseの戻り値を強制的に
 02hにしてみました。
 結果:フォーマット不可。
 
 別件、New diskで作成した未フォーマットのHDIをマウント。
 20MB⇒ドライブ認識されず。
 40MB⇒ドライブ認識される。(DIRコマンド通る)
 
 推定:PC-Engine(@VAEG)そのものが20MB-SASIを認識しない。
    HDFORM.COMは存在しないドライブのためエラー終了。
 
 今後:PC-Engine起動前にBIOSパッチにて確認。
 
 課題:どの時点でパッチできるか不明。
    ⇒まずはFDブートセクタに仕込んで見ます。
    次回報告がいつできるか自信ありませんが、
    結果出次第、続報入れます。
 
 余談:
 SASI-20MBは、PC-98の場合、BIOSの mode setで
 ヘッド数を4と8で切り替えるようになっていますが、
 np2では未実装のようです。senseコマンドの戻り値も
 実機と異なりますね。(というより、IDEと返す)
 
 さらに、PC-9800シリーズテクニカルデータブック
 HARDWARE編の記述も不正確(20MB-SASIのヘッド数が4
 との記述。実機ではデフォルトでは8ヘッド)で難物ですね。 | 
			 
		  | 
	
	
		  | 
	
	
		| Shinra | 
		
			
				 日時: 2008/02/18 (Mon) 23:45     記事の件名:  | 
			 
			
				
  | 
			 
			
				不具合報告をありがとうございます。
 SASIは資料がないのでちょっと厳しいですが、
 40Mの場合との挙動の比較でなんとかなるかもしれませんので
 調べてみます。 | 
			 
		  | 
	
	
		  | 
	
	
		| kaz | 
		
			
				 日時: 2008/02/13 (Wed) 21:37     記事の件名: HDFORM.COM (PC-Engine v1.1) | 
			 
			
				
  | 
			 
			
				20MBのハードディスク(.HDI)がPC-ENGINEから
 フォーマット出来ないようです。
 
 実機では問題なく動作しています。
 40MBの場合はVAEGでも問題なくフォーマット、
 システム転送、起動できています。
 
 少し調べてみますと、HDD-BIOSコールNo.9
 (mov ax,9 mov bh,0 int 81h)の
 SENSEコマンドが返す値が実機と異なります。
 
 40MBの場合、実機、VAEG共に
 実機 AL=03h
 VAEG AL=03h
 
 20MBの場合
 実機 AL=02h
 VAEG AL=0FFh
 
 VAEGで20MBの場合でも、直接BIOS経由での
 HD読み込みは出来ています。
 
 もう少し詳しい状況がわかりましたら
 報告させていただきます。
 
 【VAEG環境】
 Windows2000 SP4
 Pentium-III 533MHz
 SASI-1にHDIファイルをマウント
 
 PC-Engine v1.1 1MB-FDにて起動
 CONFIG.SYS 無し
 AUTOEXEC.BAT 無し
 
 【実機環境】
 PC-88VA2
 SASI-IF LOGITEC LHA-12V
 SASI-HDD LOGITEC LHD-34V 20MB+20MB分割モード
 バンクメモリ PIO-PC34F-8MB うち128kBでメインメモリ増設
 EMSメモリ EMJ-8000 | 
			 
		  | 
	
	
		  |