
Ubuntu 24.04.1 LTSにz88dkをインストールしてみた
はじめに
z88dkでMSXのマシン語開発が出来ると聞いて、インストールしてみることにしました。
目標は、z88dkでMSXのマシン語開発が出来ることと、openMSXでデバッグ出来ることです。
事前準備
OS側の準備
Ubuntu 24.04.1 LTSをクリーンインストール。
Ubuntu Japanese Teamのリポジトリも入れておく。
フォントは、Bizin Gothic Discordをインストール(個人の趣味)。
gitを使うので、これもインストールし、設定も済ませておく。
sudo apt-get update
sudo apt install git
z88dk用の準備
公式サイトのマニュアルを参照し、必要なライブラリ等をインストールする。
sudo apt install -y build-essential bison flex libxml2-dev subversion zlib1g-dev m4 ragel re2c dos2unix texinfo texi2html gdb curl perl cpanminus ccache libboost-all-dev libmodern-perl-perl libyaml-perl liblocal-lib-perl libcapture-tiny-perl libpath-tiny-perl libtext-table-perl libdata-hexdump-perl libregexp-common-perl libclone-perl libfile-slurp-perl libgmp-dev pkg-config libgmp3-dev
同じく、公式サイトのマニュアルを参照し、perlに必要な諸々をインストールする。
cpanm --local-lib=~/perl5 App::Prove Clone CPU::Z80::Assembler Data::Dump Data::HexDump File::Path List::Uniq Modern::Perl Object::Tiny::RW Regexp::Common Test::Harness Test::HexDifferences Text::Diff Text::Table YAML::Tiny
ライブラリの設定(たぶん)も行う。
eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
プログラムソースを公式のGitHubから取得する。
この時、nightlyのソースも取得し、上書きしておく。
git clone --recursive https://github.com/z88dk/z88dk.git
wget http://nightly.z88dk.org/z88dk-latest.tgz
tar -xzf z88dk-latest.tgz
z88dkのビルド
ビルドの実行
以下のコマンドを順に実行し、ビルドする。
cd z88dk
export BUILD_SDCC=1
export BUILD_SDCC_HTTP=1
chmod 777 build.sh
./build.sh
ビルド後の設定
z88dkのパスを通すため、.bashrcの最後に以下を追記する。
export Z88DK_HOME=${HOME}/z88dk
export ZCCCFG=${Z88DK_HOME}/lib/config
export PATH=${Z88DK_HOME}/bin:${PATH}
使用方法
プログラムのコンパイル
ニーモニックで書かれたプログラムを*.asmというファイル名で保存する。
以下は、test.asmというプログラムソースをコンパイルし、*.romファイル形式で出力する場合のコマンドサンプル。
zcc +msx -m -create-app -subtype=rom -otest.bin test.asm
出来上がったtest.romを、openMSXやWebMSXに読み込ませて、実行確認を行う。
最新のopenMSXであれば、openMSXに内蔵されているDebuggerに、z88dkの*.mapファイルを直接読み込めるので、test.mapを読み込ませてデバック出来る。
最後に
本記事を書くために参考にさせて頂いたサイトです。
ありがとうございます。