昔コンピュータ CP/M エミュレータで BDS-C を動かしてみた
一昨日に引き続き昔コンピュータです。
昔々使われていたCP/M上のCコンパイラ、「BDS-C」がフリーで配布されています。
http://www.bdsoft.com/resources/bdsc.html
丁度C言語の歴史を書く機会があったのですが、なにぶん私が生まれる前の話・・・
ということで、折角公開されているのだから動かしてみることにしました。
最初はAXE 竹岡さんのCP/M80 Simulatorを試してみました。
64ビットのMacOS X上でのコンパイルは少しソースの変更が必要ですが、難なくコンパイル成功。
さて、実行してみます。
% ./cpm -f cpmconf -b bios64.sys 67K cpm v0.11 + 8080 v1.11 (parity)A>cc hello.c
BD Software C Compiler v1.60 (part I)
残念、2パス目に進めませんでした。
私のMacOS X対応がまずかったのかもしれません・・・
そこで、YAZE-AG というエミュレータを試してみます。
MacOS X 未対応ということですが、Solaris 用のMakefileを使って、cdm.c の先頭に#include <sys/types.h>を書くだけでコンパイル成功です。
さてさて、、、
% ./yaze.shpwd=/Users/mtaneda/yaze-ag-2.20.1
starting ./yaze_bin
A>c helloA>cc HELLO.c
BD Software C Compiler v1.60 (part I)
39K elbowroom
BD Software C Compiler v1.60 (part II)
36K to spare
A>clink HELLO -sw
BD Software C Linker v1.60
0E1C EXIT 0D60 ISDIGIT 087F MAIN 08A5 PRINTF
0E1F PUTCHAR 0DE7 STRLEN 0D8C _GV2 08C5 _SPR
0CC1 _USPRLast code address: 0E54
Externals start at 0E55, occupy 0006 bytes, last byte at 0E5A
Top of memory: F005
Stack space: E1AB
Writing output...
48K link space remaining
A>;HELLO is ready for testing.
A>hello
hello world
A>
無事に動きました!
1979年のコンパイラを使って、hello, world を動かす。
何とも言えない想いです。