オルタナティブ・ブログ > mtaneda ブログ >

中小企業の開発者は会社で何をしているのか

昔コンピュータ 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.sh

pwd=/Users/mtaneda/yaze-ag-2.20.1
starting ./yaze_bin


A>c hello

A>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 _USPR

Last 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 を動かす。
何とも言えない想いです。

Comment(0)