1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

z88dkの始め方(PC-80版)

Last updated at Posted at 2021-04-08

#セットアップ
先ずは
z88dkの始め方
z88dkの始め方(PC-88版)
を参考にz88dkをセットアップする。

  • z88dkディレクトリ例)C:\etc\z88dk
  • 開発用ディレクトリ例)C:\Projects\z88dk

#定義ファイルの用意
PC-80用の定義ファイルは無いのでPC-88用を流用。
printfなどのCライブラリ関数は使用できないので、全て自前で用意する必要がある。

C:\etc\z88dk\lib\config\pc88.cfgをコピーして編集。
-Cz+pc88はappmakeで.t88ファイルを作る指定。

pc80.cfg
#
# Target configuration file for z88dk
#

# Asm file which contains the startup code (without suffix)
CRT0		 DESTDIR\lib\target\pc80\classic\pc80_crt0

# Any default options you want - these are options to zcc which are fed
# through to compiler, assembler etc as necessary
#OPTIONS		 -O2 -SO2 -iquote. -DZ80 -DPC88 -D__PC88__ -M  -Cc-standard-escape-chars -clib=default -subtype=default
OPTIONS		-O2 -SO2 -iquote. -DZ80 -M -Cc-standard-escape-chars -clib=default -subtype=default

#CLIB		default -lpc88_clib -lndos
CLIB		default -lndos

#SUBTYPE		default -Cz+pc88 -startup=1
SUBTYPE		default -Cz+pc88

C:\etc\z88dk\lib\target\pc88をディレクトリごとコピーしてpc80に改名し、以下のように編集。

classic\pc80_crt0.asm
        EXTERN  _main
        INCLUDE	"target/pc80/classic/monitor.asm"
classic\monitor.asm
        IFNDEF CRT_ORG_CODE
            defc CRT_ORG_CODE  = $8A00
        ENDIF

        org CRT_ORG_CODE

start:
        call    _main
        jp      $5c66

#Cプログラムのビルド
開発用ディレクトリに以下のファイルを用意する。

  • 開発用バッチファイル
dev.bat
@echo off
path %path%;C:\etc\z88dk\bin
set ZCCCFG=C:\etc\z88dk\lib\config
cmd
  • サンプルプログラム
sample.c
//zcc +pc80 -compiler=sdcc sample.c -create-app

void putc(char x) __z88dk_fastcall __naked
{
__asm
	ld	a,l
	rst	18h
	ret
__endasm;
}

void main()
{
	int i;

	for (i = 0; i < 10; i++) {
		putc(0x30 + i);
	}
}

開発用バッチファイルを起動し、以下のコマンドを実行するとa.t88ファイルが作られる。

zcc +pc80 -compiler=sdcc sample.c -create-app

#X88000での実行例
N-BASICモードで起動。
メニューから「イメージ」→「テープイメージ」を選択し、a.t88ファイルを開く。
機械語モニタのLコマンドで読み込みG8A00で実行。
エントリポイントはデフォルトで8A00
sample.png

#PasocomMini PC-8001での実行例

操作方法は
PasocomMini PC-8001 │ パソコンミニ公式ウェブサイト
を参照。

microSDカードのCONVERTディレクトリにa.t88ファイルをコピーする。
PasocomMini PC-8001を起動しF9キーでメニューを表示、CONVERTタブでa.t88ファイルを変換する。
MEDIAタブでa.t88.cmtを選択、セットする。
後はエミュレータと同様。
F10キー長押しでShutdownメニュー。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?