見出し画像

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を読み込ませてデバック出来る。

最後に

本記事を書くために参考にさせて頂いたサイトです。
ありがとうございます。

参考資料


いいなと思ったら応援しよう!