BDS C
2017.3.27更新
BDS Cとは
BDS C
は昔の8ビットOSのCP/MまたはMSX-DOSで動いていたC言語コンパイラです。
パソコンの機種で言うと例えば
MSX
で動いていました。
BDS Cは当時MSX用のものは当時、38000円しましたが、現在はパブリックドメインで無料です。
現在でもCP/Mエミュレーターなどを使えばWindowsやその他のOSでも使えます。
8ビットパソコンがほぼ流通しなくなったことと、16ビット~64ビットCPUが安価になり8080/Z80の機器の需要も少なくなり、わずかにある8080/Z80の用途もWindows版などのクロス開発のC言語コンパイラに奪われて現在はほとんど使われていないと思います。
BDS CでMSX、HTML5のソフトを作る。
BDS CでMSX、HTML5のソフトを作る
BDS Cで
MSXパソコン
のソフトを作り、それを
WebMSX
というHTML5で動くMSXエミュレーターで動かして、HTML5のソフトを作るという例です。
簡単なゲームと、ソースを公開しています。
CR3。BDS Cで作ったコラムス風落ち物ゲーム
BDS CをANSI C化するコンバーター
BDS CはC言語といっても古いK&R Cのサブセットであり新しいANSI Cではありません。
しかし、関数定義その他をANSI CからK&R に変換する
asu ansi2kr
を使うことによりある程度ANSI C化できます。
変換後のソースは元ソースと行番号がずれることなく同じですので、コンパイラのエラーメッセージで出す行番号を見てANSI C風の元ソースを変更できます。
WindowsやCP/M、MSX-DOS、MSX-DOS2に変換しています。
asu ansi2krのCP/M,、MSX-DOS版を作るのにもasu ansi2krは使われています。
コラムス風ゲームのCR3にも使われています。
ZCASMB。BDS CでZ80アセンブリ言語とリンクするツール
C言語はグラフィック機能やサウンド機能を標準機能ではサポートしていません。
BDS Cでそれらの機能を使うにはアセンブリ言語を使う必要があります。
BDS Cで8080アセンブリ言語を使うためのCP/MツールがCASMで、
BDS CでZ80アセンブリ言語を使うためのCP/MツールがZCASMで、
ZCASMをWindowsに移植してバージョンアップしたツールが
ZCASMB
になります。
今すぐウェブブラウザ上でBDS C
今すぐBDS Cを体験するには、
オセロとBDS C
をウェブブラウザ上のMSXエミュレーターで今すぐ使うことができます。
BDS Cで作られたオセロが自動起動するので、最後までやるかCtrl+Cで止めるかすればCCとCLINKコマンドでBDS Cが使えます。
OTHELLO.Cが入っていてテキストエディタはTEDが入っています。
画面を横80文字にするには、
mode 80
と打ちます。
BDS C公式サイト
http://www.bdsoft.com/resources/bdsc.html
からBDS Cのダウンロードが無料でできます。
ただし、製品(Ver 1.5)に付いていたオセロのプログラムのソース及び実行ファイルは含まれていません。
Windowsで使用するにはCP/Mエミュレーターが必要で、BDS C公式サイトで紹介されているものは仮想ディスクを使用する不便なタイプなので、
CP/M program EXEcutor for Win32
がおすすめです。
BDS C製品版に付属していたオセロゲーム OTHELLO.C
コマンドラインのオセロゲームです。
BDS C Ver 1.5に同梱されていたと思います。
64のように二桁の数字(縦と横の位置)を入力して石を置きます。
オリジナルのOTHELLO.C ソースファイル
BDS Cでコンパイルできることを確認済みです。
現在のコンパイラではエラーが出てコンパイルできないと思います。
ワーニングも出まくります。
現在のコンパイラでコンパイルするには多少の改造が必要です。
ANSI C対応に改造したOTHELLO.C ソースファイル
私が改造しましたが誰でもできると思います。
現在の各種C/C++コンパイラでコンパイルできます。
これでCP/Mエミュレーターがなくてもコンパイルして実行ができます。
PHP(コマンドライン版とCGI版)に改造したソースファイル)
PHPに私が改造しました。
コマンドライン版の他、CGI版もありウェブブラウザ上でも実行できます。
オリジナルのC言語版とは動作が違う可能性があります。
もしかしたら弱くなっているかも知れません。
プログラムが持っているコマンドはテストしておらず、動かないかも知れません。
CGI版は動作環境がコマンドラインではないため画面スクロールさせて過去の表示を見ることはできません。
OTHELLO.C を元にしたPHPによるオセロゲームCGIサイト
BDSC OTHELLO.C base PHP/CGI
昔を懐かしむため、もしくはプログラミング学習のためにあるオセロサイトです。
テキストベースでグラフィックはでません。
弱すぎて楽しめません。(PHPに改造したから?それとも元から?)
C言語ソースからPHP/CGIに改造するには大変更が必要でした。
そのためオリジナルとは動作が違うかも知れません。
64のように二桁の数値を入力して石を置きます。(忠実に再現しようとしています。)
オリジナルのBDS Cのオセロ(OTHELLO.C)をウェブブラウザでMSXごと遊ぶ
オリジナルのBDS Cのオセロ
です。
当時の8ビットのパソコンのMSXごとエミュレートしてブラウザ上で実行しています。
WebMSXにオプションのCPU_TURBO_MODE=1を指定してMSX2実機よりスピードを速くしています。
MSXturboR相当なのかな?
BDS Cコンパイル方法
test.c というソースファイルをコンパイルする場合、
cc test.c clink test
と入力することで、コンパイルしてTEST.COMが作れます。
CP/M program EXEcutor for Win32
を使ってWindowsのDOS窓(MS-DOSプロンプト/コマンドプロンプト)でコンパイルする場合は、
cpm cc test.c cpm clink test
と、DOS窓で入力することでコンパイルできます。
(ファイルパスが通っている必要があります。)
試していませんが、CP/M program EXEcutor for Win32は、環境変数CPMPATHも使えるらしいです。
あーすブラウザ
オンライン鍋田辞書
鍋田辞書トップ