見出し画像

X68000でのドライブチェンジ

ちょっと時間がとれたので、スポット投稿です。次はいつになるかなぁ。

以前書いたとおり、X68000のドライブ構成を現代のPC っぽくします。
やっぱり起動 HDDが A:¥> となるのは気持ち悪いのです。

ドライブの入れ替え

Human68kにドライブレターを入れ替える DRIVE.X コマンドが実装されています。なので、CONFIG.SYS や AUTOEXEC.BAT を書き換えるだけでドライブの入れ替えが実現できます。

私の場合、以下のようになります。

CONFIG.SYS

日本語変換辞書の存在場所を A:¥ から C:¥ に変更するだけです。

DEVICE    = ¥SYS¥ASK68K.SYS /DC:¥DIC¥X68K.DIC /E¥ASK¥ENV1.ASK

CONFIG.SYS完成

全体を見渡すとこんな感じです。

FILES     = 64
BUFFERS   = 20 1024
LASTDRIVE = Z:
KEY       = ¥KEY.SYS
USKCG     = ¥USKCG.SYS
BELL      = ¥BEEP.SYS
SHELL	  = ¥COMMAND.X
DEVICE    = ¥SYS¥PRNDRV.SYS
DEVICE    = ¥SYS¥RSDRV.SYS
DEVICE    = ¥SYS¥FLOAT2.X
DEVICE    = ¥SYS¥ASK68K.SYS /DC:¥DIC¥X68K.DIC /E¥ASK¥ENV1.ASK
*DEVICE    = ¥SYS¥OPMDRV3.X #180  /P64 /OPM
DEVICE    = ¥SYS¥FDDEVICE.X
DEVICE    = ¥SYS¥HIOCS.X
DEVICE    = ¥SYS¥HISTORY.X /D¥HIS¥ /SH2,8,4
DEVICE	  = ¥PDS¥SYS¥WinDrvXM.SYS
DEVICE	  = ¥PDS¥SYS¥KeyWitch.x -e ¥PDS¥SYS¥KeyWitch¥ascii.env
DEVICE    = ¥PDS¥SYS¥KRAMD.SYS #SAM2048 
ENVSET    = 512 ¥STARTUP.ENV
EXCONFIG  = ¥SYS¥CONFIGED.X

AUTOEXEC.BAT

ドライブレターの入れ替え

A: ドライブ となっている場所を、全部 C: ドライブにすればOK。
現状、HDDから起動すると、以下のようになります。

$$
\begin{array}{|c|c|c|} \hline
記録メディア & ドライブレター \\ \hline
HDD1 & A: \\ \hline
HDD2  & B: \\ \hline
FDD0  & C: \\ \hline
FDD1  & D: \\ \hline
\end{array}
$$


これを DRIVE コマンドを使って HDD のドライブレター と入れ替えます。
PATH を通す前で実行しますので、DRIVE.X のフルパス(ドライブレター なし)で実行します。

ドライブレターの入れ替え

¥BIN¥DRIVE B: D:
¥BIN¥DRIVE A: C:

これで、

$$
\begin{array}{|c|c|c|} \hline
記録メディア & ドライブレター \\ \hline
HDD1 & C: \\ \hline
HDD2  & D: \\ \hline
FDD0  & A: \\ \hline
FDD1  & B: \\ \hline
\end{array}
$$

となります。

A:¥ から C:¥ へ

A:¥ だったものを C:¥ へ置換します。

PATH

PATH C:¥;C:¥SYS;C:¥BIN;C:¥BASIC2;C:¥ETC;C:¥PDS¥EXEC;C:¥PDS¥EXEC¥TF;C:¥SHELL;C:¥シャーペン¥;C:¥シャーペン¥EXCOM;C:¥MicroEMACS;

TF
せっかくなので、テンポラリ系ファイルは RAM DISK F: にしています。

REM SET STF
set TFDEF=c:¥pds¥exec¥tf¥tf.def
set TFKEY=c:¥pds¥exec¥tf¥tf.key
set TFPATH=f:¥
set STFHIS=f:¥stf.his
set STFSHELL=c:¥command.x /E:32
REM set TF_MES=

GCC

set path=C:¥GCC¥bin;%path%
set GCC_AS=has
set GCC_LINK=hlk
set include=C:¥GCC¥include
set lib=C:¥GCC¥lib
set GCC_LIB=.a
set GCC_NO_XCLIB=yes

CD-ROM とMO (光磁気ディスク)
F: をRAMディスクに割り当てたい。なので、MO やCD-ROM ドライブは

$$
\begin{array}{|c|c|c|} \hline
記録メディア & ドライブレター \\ \hline
MO & G: \\ \hline
CD-ROM  & H: \\ \hline
\end{array}
$$

とします。

SUSIE -ID2 G:
SUSIE -ID6 H:

AUTOEXEC.BAT完成

全体を見渡すと、こんな感じです。

ECHO OFF
¥BIN¥DRIVE B: D:
¥BIN¥DRIVE A: C:
PATH C:¥;CSYS;CBIN;CBASIC2;CETC;CPDS¥EXEC;CPDS¥EXEC¥TF;CSHELL;C:¥シャーペン¥;C:¥シャーペン¥EXCOM;CMicroEMACS;
TwentyOne +WPD
SUSIE -ID2 G:
SUSIE -ID6 H:

REM SOUND
PCM8.X
SYS¥OPMDRV3.X #180  /P64 /OPM

REM SET STF
set TFDEF=c:¥pds¥exec¥tf¥tf.def
set TFKEY=c:¥pds¥exec¥tf¥tf.key
set TFPATH=f:¥
set STFHIS=f:¥stf.his
set STFSHELL=c:¥command.x /E:32
REM set TF_MES=

PROMPT $P$G

SET LHA=-o2 -z2
SET LHA_NON_SUF=.lzh .gz .tgz

set path=CGCC¥bin;%path%
set GCC_AS=has
set GCC_LINK=hlk
set include=CGCC¥include
set lib=CGCC¥lib
set GCC_LIB=.a
set GCC_NO_XCLIB=yes

SET FASTIO=DONE
IF %FASTIO% == DONE GOTO SKIP
FASTIO 384 -S32 -D -F -E
FASTSEEK 128
FASTOPEN 100
SET FASTIO=DONE

:SKIP

再起動

再起動 して、DRIVE.X コマンドをたたくと、

C:¥>DRIVE
A: 2HD(1MB)	ユニット番号・・・・    0
B: 2HD(1MB)	ユニット番号・・・・    1
C: ハードディスク(SCSI)	ユニット番号・・・・    0
D: ハードディスク(SCSI)	ユニット番号・・・・    0
E: その他のタイプ 	ユニット番号・・・・    0
F: RAM DISK	ユニット番号・・・・    0
G: 光磁気ディスク(SCSI)	ユニット番号・・・・    0
H: CDROM(SCSI)	ユニット番号・・・・    0
I: 仮想ドライブです
|
Z: 仮想ドライブです
C:¥>

となりました。そうそう、こうしたかった。

$$
\begin{array}{|c|c|c|} \hline
記録メディア & ドライブレター \\ \hline
FDD0  & A: \\ \hline
FDD1  & B: \\ \hline
HDD1 & C: \\ \hline
HDD2  & D: \\ \hline
Windows共有 & E: \\ \hline
RAM DISK & F: \\ \hline
MO & G: \\ \hline
CD-ROM  & H: \\ \hline
\end{array}
$$

これでヨシ!

しゃれまっくす (MicroEmacs)の調整

しゃれまっくす (MicroEmacs)の設定が A: ドライブを前提としているはずなので、C: ドライブでの運用に変更します。

といっても、2つのファイルを書き換えるだけです。

  • em_plain.rc

  • emacs.rc
    それぞれ、しゃれまっくす をインストールしたフォルダ直下にあるはずです。私の場合、 C:¥MicroEmacs になります。

変更内容

em_plain.rc

 C:¥ への変更箇所は以下の一行だけです。

;============================================================
;	rc, el で使用する環境変数の設定
;============================================================
set %dir-path		"C:¥MicroEMACS¥"	; USER の環境に変更する

全体を見通すと、こんな感じ。

;============================================================
;	em_plain.rc	for microEMACS 3.10 J1.43
;		by rima/SALT
;============================================================
;
set $discmd	FALSE

write-message	"[初期化中...]"

;============================================================
;	rc, el で使用する環境変数の設定
;============================================================
set %dir-path		"C:¥MicroEMACS¥"	; USER の環境に変更する
;
;	%dir-path¥-+- em.x		実行ファイル
;		   +- em_plain.rc	ノーマル環境設定ファイル(これ)
;		   +- em_dump.rc	ダンプ用環境設定ファイル
;		   +- emacs.rc		環境設定ファイル
;		   +- comlete¥		補完ファイル群
;		   +- custom¥		スタートアップマクロ群
;		   +- data¥		各種データ群
;		   +- el¥		emacs.rc から呼ばれる sub rc
;		   |	  +- dired	dired 用マクロ群
;		   |	  +- menu	menu  用マクロ群
;		   +- etc¥		その他(フォントなど)
;		   +- help¥		emacs.hlp など
;		   +- man¥		man コマンド用
;		   +- doc¥		ドキュメント

set $help-load-path		&cat %dir-path "help¥"

set %complete-load-path 	&cat %dir-path "complete¥"
set %custom-load-path	 	&cat %dir-path "custom¥"
set %data-load-path		&cat %dir-path "data¥"
set %el-load-path		&cat %dir-path "el¥"
set %etc-load-path		&cat %dir-path "etc¥"
set %man-load-path		&cat %dir-path "man¥"
set %doc-load-path		&cat %dir-path "doc¥"

set %dired-load-path		&cat %el-load-path "dired¥"
set %menu-load-path		&cat %el-load-path "menu¥"

set %dumped-emacs		FALSE

source &cat %custom-load-path "envset.el"
source &cat %custom-load-path "autoload_mac.el"
source &cat %el-load-path     "extra_mac.el"
source &cat %el-load-path     "window_mac.el"
source &cat %custom-load-path "syshook.el"
source &cat %custom-load-path "init_sysbuf.el"
source &cat %custom-load-path "keybind.el"
source &cat %custom-load-path "localbind.el"

add-mode	"hrblue"
add-global-mode "hrblue"

write-message ""

set $discmd TRUE

emacs.rc

こちらも、 C:¥ への変更箇所は以下の一行だけ。

	source "C:¥MicroEMACS¥em_plain.rc"

全体を見渡すと、こんな感じ。

;------------------------------------------------------------
;	emacs.rc	for microEMACS 3.10-J1.43
;------------------------------------------------------------
set $discmd FALSE

write-message	"[初期化中...]"

!if &not &sequ %dumped-emacs "TRUE"
	source "C:¥MicroEMACS¥em_plain.rc"
!endif

;============================================================
;	終了
;============================================================

set $discmd TRUE

C Compiler PRO-68K

インストール 時に作られた環境設定ファイル、 C.BAT ファイルを修正します。
ほぼすべての行を C:¥ に変更しますので、いきなり全体を載せておきます。

C.BAT

echo off
REM drive B: D:
REM drive A: C:
path C:¥;C:¥BIN;C:¥XC;C:¥XC¥CC;C:¥XC¥BIN;C:¥XC¥BC;C:¥XC¥BASIC2;
set include=C:¥XC¥INCLUDE
set lib=C:¥XC¥LIB
set cc=C:¥XC¥CC
set bc=C:¥XC¥BC
temp=C:
C:
cd C:¥XC
```


とある効果

大抵のX68000 に開発されたソフトウェア は、FDD 運用を前提としていました。もちろん、後期になればHDD インストールを許すソフトも増えていきましたが… なので、 A: ,B: ドライブが FDD になったことで、(FD起動前提の)ソフトウェアを FDD に突っ込めば、そのまま起動できるようになります。理屈の上では。

実際は、HDD 起動時、各種デバイスドライバ をたっぷりメモリに読み込んでいるので、(ゲーム に多い)実行時決め打ちアドレス空間に空きがなく、起動しないということは多々ある。また処理速度を稼ぐためにその筋 なことをしていれば、やっぱり HDD からの起動は難しくなる。

ここまでくれば…
決して平坦な道では無いが、例えば、 D: ドライブの HDD へ移したソフト(ゲームだって)を起動する。と言ったことができるかもしれない。

まぁ具体的な方法は、各自で研究するしかないですが。

この記事が気に入ったらサポートをしてみませんか?