2018/02/18

SCSIだけでなく、SASIでも使える小ネタ

HuBASICでは10MBまでのHDDを扱えるようになっているわけですが、わずか(でもない?)な小細工で16MBまで拡張することができます。それと、以前に触れたHDDのドライブ番号4~9を使えるようにする方法。

まず、BIOS ROMをレコード番号の最大値チェックを消したものか、SCSIに対応したBIOSに載せ換えます。とりあえず最大値チェックをスルーするには 7A4EH の CDH を 21H に書き換えで対応します。

そして、通常の使用開始手順と同様に"HD FORMAT.Uty"のあと、"HD MAP.Uty"でマッピングをします。

さらに、下記のプログラムを実行します。
100 A$=STRING$(128,0)
110 FOR R=28 TO 39
120  PRINT R;
130   DEVO$"HD4:",R,A$,A$
140 NEXT
"HD4:"の部分は、各自で対象ドライブに変更してね。

ここでは、FAT領域を従来の10MB分(レコード番号8~27)の後方に、6MB分(レコード番号28~39)を初期化(&追加)しています。

でもって、CZ-8FB02の"Start up.Bas"に、下記を追加。
POKE &H32AF,32
これは、FAT領域のレコード数を従来の10MB分(20レコード)から、拡張した16MB分(32レコード)への対応です。

いろいろ書き換えて気持ち悪いので、IPLリセットで再起動し、容量の増加を確認してください。


最後に、ドライブ番号4~9に対応させる方法。
POKE &H32E5,10
ここでは、使用可能なドライブ数を設定しています。

ちなみに、CZ-8FB02における最大デバイス数の対応は下記のよーになっています。
32DC 01H ...SCR
32DD 01H ...CRT
32DE 01H ...KEY
32DF 01H ...LPT
32E0 01H ...CAS
32E1 02H ...MEM(GRAM)
32E2 0AH ...EMM
32E3 04H ...5"or3"FDD
32E4 04H ...8"FDD
32E5 04H ...HDD
32E6 01H ...COM(RS-232C)
CZ-8FB03は全く解析していないので書き換え箇所は不明です。構造はそんなに変わらないと思うので該当箇所の発見は容易だと思われます。

以上です。

2018/02/10

HuBASIC用SCSIユーティリティについて

基本的にSASI同様の、
  • HD FORMAT.Uty
  • HD MAP.Uty
を用います。
このうち、若干の修正が必要なのは"HD FORMAT.Uty"のみで、"HD MAP.Uty"に変更はありません。

"HD FORMAT.Uty"の修正は、180行目のCALL命令を削除するだけです。
180 POKE&HE500,7,D,0,3:CALL&HE505:COLOR7:A=PEEK(&HE502):IF A<>0THEN 310
このCALLでは、LOADMで読み込んだ"DISK UTILITY.Obj"のSASI物理フォーマット処理を呼んでいます。いまさら、X1turboで物理フォーマットを行うまでもないと考え、これはすっぱり切り捨てます。SCSIの物理フォーマットは、他のちゃんとしたパソコンで実施した方が無難です。

ということで、修正した"HD FORMAT.Uty"でのフォーマットは、論理フォーマットのみとなります。