1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Z80のリアル&エミュレーション

Last updated at Posted at 2022-07-14

ラッピングで作ったZ80ボード(SBC)cpm8266で同じプログラムを実行してみました。

両方ともMac OS X(El Capitan)のcuコマンドでオペレーションしています。SBCの方はFT2232直結でcpm8266はBluetooth接続です。

スクリーンショット 2022-07-14 18.57.36.png

動かすコードはこれです。

ファイルの拡張子がtxtなのはいつも使っているMacではなくてWin7の秀丸で打ち込んだためです。

アセンブラはzmacld80を使っています。

SBCは0x8000からの後半32KがRAMで、0x8000のアドレスでリンクします。モニターにEfexMonを使っていて、これのLコマンドでIntel Hexを読み込ませます。

cuのコマンドモードに入るにはリターンキーを押したあとにチルダ(~)を入力します。ちょっとタイミングが難しいかもしれません。

EfexMon By M.PEKER v1.0b
Press H for help

Ready.

Hex Loading...~+ cat TEST1_SBC.hex
loaded adress:$8000

C:\>

C:\>G-$8000 1.2345678D 02

CP/Mではコマンドは0x100から始まるので、このアドレスでリンクします。

Z80_MEM.png

cpm8266ではMac側で下記のxmodemコマンド(xs)を使いファイル転送します。

xmodemのオープンソースはいくつかありますが、cpm8266のコマンドと相性が悪く使えなかったので、自分で作りました。今回色々整理していて、久しぶりに手を入れて標準入力での処理を追加してcuのコマンドモードから使える様にしました。

cpm8266 - Z80 Emulator and CP/M 2.2 system version 0.4


62K CP/M v2.2 [cpm8266 v0.4 - SmallRoomLabs]

a>f:
f>a:xr test1.hex
CP/M XR - Xmodem receive v0.1 / SmallRoomLabs 2017
~+ ./xs TEST1.hex

File TEST1.HEX received successfully

f>
f>a:load test1

FIRST ADDRESS 0100
LAST  ADDRESS 11FE
BYTES READ    10FF
RECORDS WRITTEN 22


f>test1
 1.2345678D 02

SBCは4MHzのZ80でcpm8266の方が早いような気がします。

マイコンは1980年くらいからやっていて、当時CP/Mは高嶺の花で、あったらすごいことができそうな気がしたのですが、できることは同じでした。

80年代前半にはワンボードコンピュータのEX-80とPC-8001を持っていて、これをつないでなんかできないかなと考えていました。コンピューターとコンピュータをつなぐ事がライフワークになってる気がします。

Z80はこのSBCやESP以外にもPC-8001やPLUS80があります。

screenコマンドでxmodemをapplescriptで実行してみました。

-- cd on hex file directory and lunch screen command and open cpm8266 before run this script

set xfile to the text returned of (display dialog "Send File?" default answer "")

tell application "Terminal"
	activate
	do script "a:xr " & xfile in front window
	tell application "System Events"
		tell process "Terminal"
			-- screen command
			key code 0 using {control down}
			delay 1
			keystroke ":"
		end tell
	end tell
	do script "exec !! /Users/hiroki/Develop/Z80/xm/xs " & xfile in front window
end tell
1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?