Z80 CP/Mがやってきた。やぁやぁやぁ
Z80CPU、君にこころがあるなら、一番動かしたいものは、CP/Mであると思う。2番目は、MS-BASIC(ROM)何だろうけど。
こんな小さなボードの上に本物のZ80が載っていてしかもCP/Mまで動いてしまう。これは、当時のパソコン少年・青年には夢のようなことだ。
CP/Mをはじめて意識したのはFP-1100を購入した後しばらくしてからのこと、FP-1100のオワコン化がはっきりしたころ(投げ売り状態)、見かねたやさしい大須の店員さんが、世の中もうすぐ16ビットコンピュータの時代になるから、それまでCP/Mをやっておくとよいよと教えてくれた。しかし、FP-1100のDisk Systemなど購入できるはずもなく、またグラフィックスこそ命の日本のPC界においてグラフィックも出せないCP/M自体もそれほど流行ることなく、MS-DOSの時代(というかPC98の時代)に突入。
日本の場合、MS-DOSの互換性は関係がなくおそらくPC98というプラットフォームが標準化されていたからこそのMS-DOSであったと思われる。
余談が長くなりました。(いつものことです。すみません)
そんなCP/Mですが、今ならその価値がよくわかります。そして現在においてもいまだにCP/Mが一部の方たちの熱狂的な支持を集めていることも。
EMUZ80_RP2040のボードが完動した後は、すんなりCP/Mマシンが完成します。なんてったってCP/Mは僕らのアイドルですから。
ではなく、uf2のファイルをAE-RP2040に書き込むだけですから。
そして動くとこんな感じ
** For EMUZ80_RP2040_PCB! **
** z80pack - CP/M2.2 CCP+BDOS(E400H-F9FFH), BIOS-01(FA00H-FC2FH) **
** DISK0 A: z80pack cpm2-1.dsk **
** DISK1 B: cpm22_disk1.dsk **
** DISK2 C: cpm22_tp301a.dsk **
** DISK3 D: cpm22_z80forth.dsk **
** DISK8 I: cpm22_htc.dsk(650KB) **
** DISK9 J: RAMDISK (128KB) **
-hit [Enter] in terminal-
for CP/M2.2 v1.2
AE-RP2040 Core:1.10V Clock:200MHz (I/O CLK-STOP)
Emulation task(core1) Start..
Disk DMA channel allocated: 0
Z80 CLK-ON 6.000000MHz
main task1(Core0) start..
task1 UART start..
RESET-OFF (Delayed)
64K CP/M Vers.2.2(EMUZ80_AE-RP2400 BIOS V1.2, Copyright 2026 by @DragonballEZ)
A>CP/M Ver.2.2が動いている。
40数年ぶりのご対面です。
しかも最初からいろいろセットしてくれてあるではないですか。。
ところがここから挙動が。。。
A>dir
A: ASM COM : BYE COM : CLS COM : CREF80 COM
A>上のGitHubを見ると次のようになるはずです。

明らかにファイル数が違います。
最初、各ドライブには一部のファイルしかないのではと思いました。
そして、いろいろ試してみたところ

送信遅延を130ミリ秒/字 130ミリ秒/行にするとすべてのファイルが表示されることが分かりました。
50、60、70・・・と増やしていくと少しずつ表示されるファイルが増えていきます。
しかし、結局問題はそこではないことに気が付きます。


立ち上がった後、ひとつ余分なプロンプト( A> )が表示されます。
これが、ヒントになりました。


問題の本質は改行コードです。
ここを「CR+LF」から「CR」に変えたところ見事に解決しました。
これで、送信遅延を小さくしても大丈夫になります。
さてさて、これでCP/M ver.2.2の環境が手に入ったわけです。
夢は広がります。1980年代へGO!
2026.8.1
