Z280MBにFUZIXを移植する試みの第一歩です。
FUZIXの情報を求めてネットをさまよってたどり着いたのが、Oh!石さんの FUZIXをビルドしてみよう です。最近のバージョン 0.4pre1 のビルドに成功されていて参考になります。
FUZIXにはターゲットとしてZ280もあるのですが、まだ動作していないようなので、まずはz80packでFUZIXを動かし、その構造や動作を確認したいと思います。
FUZIXの実行環境構築
SDCCのインストール
バージョンは4.1.0で、インストールはOh!石さんの記事に従って行っています。
z80packのインストール
バージョンは1.37です。こちらは、make installの前に、ホームディレクトリにbin/を作っておきます。make後はメッセージに従い $HOME/binをPATHに加えます。こうしないと、z80packの実行時にエラーが出ます。いちいちexportするのは面倒なので、.bashrcにでも書き加えておきます。
12345678$
tar
xvzf z80pack-1.37.tgz
$
cd
z80pack-1.37
/cpmsim/srcsim
$
make
$
cd
..
/srctools
$
make
$
mkdir
~
/bin
$
make
install
$
export
PATH=$PATH:$HOME
/bin
cpmsim/cpm2で、CP/M 2.2 が起動するか確認しておきます。 Ctrl+\ で終了します。
FUZIXのビルド
GitHubからソースをクローンします。最新のコミットではkernelのコンパイルで失敗します。コンパイルが確認できているハッシュは、3d26de6eb800af0b1a5672b53ccbc0da6c1a3d1bです。
123$ git clone https:
//github
.com
/EtchedPixels/FUZIX
.git
$
cd
FUZIX
$ git checkout 3d26de6e
Makefileを修正します。56行目あたりにビルドターゲットの指定があるので、z80packを指定します。90行目あたりのapps, kernel, diskimageターゲットから依存ターゲットのltoolsを削除します。
1234567891011TARGET=z80pack
...
apps:
+(
cd
Applications: ...
kernel:
mkdir
-p Images ...
diskimage:
mkdir
-p Images ...
ユーティリティとクロス開発環境をコンパイルします。make install した後、/opt/fcc/binをPATHに加えておきます。
12345$
make
stand
$
cd
Library
$
make
$
sudo
make
USERCPU=z80
install
$
export
PATH=$PATH:
/opt/fcc/bin
クロス開発環境用のライブラリをコンパイルします。
123$
cd
libs
$
make
-f Makefile.z80 USERCPU=z80
$
sudo
make
-f Makefile.z80 USERCPU=z80
install
FUZIXアプリケーションをコンパイルします。fcc(SDCC)でのコンパイルはかなり時間がかかるので、テレビでも見ながら気長に待ちます。
12$
cd
../../
$
make
apps
カーネルをコンパイルし、ルートファイルシステムとブートディスクのイメージを作成します。
12$
make
kernel
$
make
diskimage
FUZIXの起動
ディスクイメージは、FUZIX/Images/z80pack/に作られています。これらをz80packにコピーしエミュレータを起動します。
1234$
cp
FUZIX
/Images/z80pack/boot
.dsk z80pack-1.37
/cpmsim/disks/drivea
.dsk
$
cp
FUZIX
/Images/z80pack/hd_fuzix
.dsk z80pack-1.37
/cpmsim/disks/drivei
.dsk
$
cd
z80pack-1.37
/cpmsim/
$ .
/cpmsim
bootdev: には 0 を入力し、rootでログインすれば、プロンプトが出ます。
終了する場合はshutdownコマンドを実行後、Ctrl-\ を入力します。