Turbo Pascal 40 周年！

# はじめに

今年、2023/11/20 で **『Turbo Pascal』** が 40 周年を迎えました。めでたい。

# Turbo Pascal 40 周年
Turbo Pascal が 40 周年を迎えたというのに、その子孫である『Delphi』を開発・販売している Embarcadero は静かなものです。先日リリースされた **『Delphi 12 Athens』** には Turbo Pascal 40 周年イースターエッグが隠されていたりしたものの、とても~~センスがない~~質素なものでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/9a084812-1b99-ee0e-5b83-3c8456a8310c.png)

真ん中の奴は、『BYTE』誌 1983/11 (Vol.8 No.11) P.129 に初めて掲載された Turbo Pascal の広告です。左上のは恐らく『Turbo Pascal 7.0』です。右下が最新の Delphi。

 - [I first met Philippe Kahn and Turbo Pascal 40 years ago this month (blogs.embarcadero.com)](https://blogs.embarcadero.com/i-first-met-philippe-kahn-and-turbo-pascal-40-years-ago-this-month/)
 - [Turbo Pascal turns 40 (Marco Tech Blog)](https://blog.marcocantu.com/blog/2023-november-turbopascal40.html)

Embarcadero の関係者も幾つかブログ記事を書いてはいますが...ちょっと寂しい感じがしますね。

## 寂しいので
Embarcadero さんが Turbo Pascal 40 周年記念で何かをやる感じがしなかったので、25 周年の時に 2008/11/1 から毎日投稿されていたブログ記事を、日付をなぞった形で Twitter (X) へ毎日流す事にしました。

 - [Turbo Pascal 25 周年 (2008 年) の資料について (Qiita)](https://qiita.com/ht_deko/items/c88a1661c81fe776f0a0)

そしたら途中で community.embarcadero.com の記事が読めなくなり [^1]、急遽 Internet Archive へのリンクも投稿するハメになりました。予約投稿が台無しです。

## Turbo Pascal
高速なコンパイルとその価格によって、Pascal のデファクトスタンダードと言っても差し支えない位置に居たのが『Turbo Pascal』です。

1983 年当時に存在したものだけを揃えて『Turbo Pascal』を試してみると理解できると思うのですが、オーパーツにしか思えません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/c53fb397-e511-1a46-a8d3-6fd262f2de68.png)

### ・Turbo Pascal の歴史
ただ、『Turbo Pascal』はいきなり『Turbo Pascal』として世に出たのではなく、実際の所 OEM 製品でした。

 - [Delphi のご先祖を辿る (Qiita)](https://qiita.com/ht_deko/items/b41b0cd45181aec522d4)

元となった Pascal は 8bit コンピュータ用に作られ、その後 16bit バージョンが作られ、『WordStar』互換のエディタが組み込まれ『Turbo Pascal』となりました。この『Turbo Pascal v1.0』のリリース日が 1983/11/20 と言われています。

 - [PolyPascal (DDHFwiki)](https://datamuseum.dk/wiki/PolyPascal)

### ・Turbo Pascal のバージョン

製品としての『Turbo Pascal』はバージョン 1.0 ～ 7.0 が存在しました。ver3.0 までは CP/M (80/86) 版が存在しました。『Turbo Pascal 7.0』は日本未発売です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/1634dc1a-e8bd-aa58-2697-5ab42e93be1a.png)

『Turbo Pascal』は ver1.0～3.0 まではほぼ同じ使い方で、CP/M を切り捨てた ver4.0 ではドラスティックな変更が入っています。

### ・Turbo Pascal for Windows

ナンバリングに入っていない『Turbo Pascal for Windows 1.0』と『Turbo Pascal for Windows 1.5』という製品がありますが、これらは Windows 3.0 / 3.1 上で動作する IDE を持った Turbo Pascal です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/2e890447-b38a-c91e-69e7-f889ead5375a.png)

『Borland Pascal with Object 7.0』は『Turbo Pascal for Windows 1.5』と『Turbo Pascal 7.0』の機能を併せ持ったスイート製品です。

### ・Turbo Pascal for the Mac

短い間ですが、Macintosh 用の Turbo Pascal も発売されていました (1986 年)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/c75538d5-60c3-ba56-8b55-5e632c12576b.png)

### ・Turbo Pascal のキーパーソン

Pascal コンパイラを開発したのは、後に Delphi、J#、C#、TypeScript 等の開発に携わる事になるアンダース・ヘルスバーグ氏です。

 - [アンダース・ヘルスバーグ (Wikipedia)](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B9%E3%83%BB%E3%83%98%E3%83%AB%E3%82%B9%E3%83%90%E3%83%BC%E3%82%B0)

https://www.youtube.com/watch?v=6udlQakSXZY

「エディタを買うと Pascal コンパイラが付いてくる」と言われるまでに評判の高かったエディタは Borland Ltd. の共同設立者 3 人のうちの一人であるモーゲンス・グラッド氏が書いたと言われています。

フィリップ・カーン氏は Borland International 社 (Borland のアメリカ法人) の創始者で、Turbo Pascal を販売していました。多分誤解されていますが、彼は Borland Ltd. の創始者ではありません。実の所、1983 年時点 (BYTE 誌に広告を出した時点) では、米国には不法滞在状態だったとも言われています。

また、彼はチューリッヒ工科大において Pascal の生みの親であるニクラウス・ヴィルト氏の下で学んでいたという経歴があります。

 - [フィリップ・カーン (Wikipedia)](https://en.wikipedia.org/wiki/Philippe_Kahn)

### ・日本国内での状況

日本国内での『Turbo Pascal』は、サザンパシフィック社とマイクロソフトウェア・アソシエイツ (MSA) が販売していました。

1989 年以降はボーランドジャパン社 (MSA 100% 出資。1992 年以降はボーランド株式会社) が Borland 製品を取り扱っていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/38d25937-23c3-62b0-9c43-3da5712fd62c.png)

『Turbo Pascal for Windows 1.5』『Borland Pascal with Object 7.0』『Turbo Pascal 7.0 for DOS』は日本未発売となっています。

日本国内では CP/M がほぼなかった事にされているので [^3]、主に PC-98 シリーズ用の MS-DOS 版の評価が多く、CP/M-80 版の Turbo Pascal については評価が殆どないのが実情です。

### ・アンティークソフトウェア
ver1.0, 3.0, 5.5 の MS-DOS 版はアンティークソフトウェアとして Embarcadero 社が公開しています。

 - [Embarcadero が公開しているアンティークソフト一覧 (DocWiki)](https://qiita.com/ht_deko/items/ae7605c6b1f426ae234a)

## Delphi
『Delphi』は『Turbo Pascal』の子孫なので、コンパイラのバージョンは Turbo Pascal 1.0 からの通し番号ですし、Copyright も 1983 年から始まっています。

Delphi 1.0 のリリース日は 1995/02/14 です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/ae73065d-077d-c172-4929-2aac6fda1e0a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/3cf756af-425d-a9fd-04f2-8286992963eb.png)

 - [コンパイラ バージョン (DocWiki)](https://docwiki.embarcadero.com/RADStudio/ja/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9_%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3)

:::note info
コンパイラバージョンが Turbo Pascal 4.0 (VER40) からになっているのは、それよりも前の Turbo Pascal には条件コンパイル指令がないためです。
:::

## ISO 7185 Pascal
Pascal が ISO で規格になったのも 1983 年の事でした。最初の規格が **ISO 7185:1983** で、改訂版が **ISO/IEC 7185:1990** です。こちらも 40 周年ですね。

 - [標準 Pascal の規格票と解説書を読んでみる (Qiita)](https://qiita.com/ht_deko/items/091661d6fa3d72700a56)

ISO 7185 に対応した処理系に『Pascal-P5』がありますが、これを Delphi でコンパイルできるようにした記事もあります。

 - [Delphi で Pascal-P5 v1.4 をビルドする (Qiita)](https://qiita.com/ht_deko/items/0a3a4a7613aa1b6c5296)
 - [Delphi で Pascal-P5 v1.3 をビルドする (Qiita)](https://qiita.com/ht_deko/items/d40399477ff5a8823a33)

その『Pascal-P5』の使い方についても記事があります。

 - [割と簡単に '標準 Pascal' を試してみたい (Qiita)](https://qiita.com/ht_deko/items/41e95154e8da2f901698)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/21dd60d8-1e56-3a61-66ff-a545d21805cd.png)

## Turbo Pascal を動かす環境

Embarcadero が公開しているアンティークソフトはすべて MS-DOS 版です。公開されていないバージョンやプラットフォーム用の Turbo Pascal はアバンダンウエアとして扱う必要があります [^2]。

アンティークソフトにマニュアルは付属しませんが、PUG BOOKS の『Turbo Pascal トレーニングマニュアル』を購入するといいでしょう (バージョン毎に出ています)。できれば『Turbo Pascal プログラミング・マニュアル』が欲しい所です。

 - [PUG BOOKS の Turbo Pascal 関連書籍を読んでみる (Qiita)](https://qiita.com/ht_deko/items/e110443098055327ca61)
 - [イロイロな出版社から出ている Turbo Pascal 関連書籍を読んでみる (Qiita)](https://qiita.com/ht_deko/items/29d9167bf288f303eb93)

Turbo Pascal 3.0 以前の使い方であれば、次の記事が参考になると思います。

 - [Turbo Pascal 3.0.x の使い方 (Qiita)](https://qiita.com/ht_deko/items/ec212f5cc17cbe5f718b)
   - [Turbo Pascal 3.0.x の Pascal](https://qiita.com/ht_deko/items/f9f394dc2342afd2ea7b)
   - [Turbo Pascal 3.0.x のスクリーン設定](https://qiita.com/items/0d8976801c02ec685bd6)
   - [Turbo Pascal 3.0.x のキーボードショートカット](https://qiita.com/ht_deko/items/86ddf71d0c509125b7ba)


### ・Windows
64bit Windows で動かす事もできます。

 - [Turbo Pascal 1.0 を Windows 10 (64bit) / 11 にインストールしてみる (Qiita)](https://qiita.com/ht_deko/items/54cefe48e729742e818d) 
 - [Turbo Pascal 3.02 を Windows 10 (64bit) / 11 にインストールしてみる (Qiita)](https://qiita.com/ht_deko/items/03f5f7ee0893402f99f6) 
 - [Turbo Pascal 5.5 を Windows 10 (64bit) / 11 にインストールしてみる (Qiita)](https://qiita.com/ht_deko/items/eb35e0480559f893a9b8) 

### ・RunCPM
CP/M-80 エミュレータが動くマイコンボードで動作させる事もできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/037824e4-8b7a-7725-56a8-dd40747ad65c.png)

 - [RunCPM (GitHub)](https://github.com/MockbaTheBorg/RunCPM)
 - [RunCPM (Z80 CP/M 2.2 エミュレータ) (ht-deko.com)](https://ht-deko.com/arduino/runcpm.html)

スタンドアロンで動作する超小型 CP/M マシンを作る事もできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/9407e013-7798-d316-1b6e-70354fa49e82.png)

 - [Wio_RunCPM_vt100_UsbKB (GitHub)](https://github.com/robo8080/Wio_RunCPM_vt100_UsbKB)

RunCPM は Windows 向けにビルドする事もできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/370daadd-f336-d417-65ee-4be40a922ff8.png)

超高速で動作するコンパイラ環境と考える事もできます。


### ・PCEmulator (FabGL)
8086 エミュレータが動くマイコンボードの MS-DOS / CP/M-86 上で動作させる事もできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/7a7e6d0b-b599-e4d0-5d7a-a425ca8ff592.png)

 - [FabGL (GitHub)](https://github.com/fdivitto/FabGL)
 - [PCEmulator (FabGL) (ht-deko.com)](https://ht-deko.com/arduino/fabgl.html)

### ・MSX
MSX の DOS は MSX-DOS といいますが、この MSX-DOS はほぼ CP/M-80 です。MSX-DOS ver2.0 (MSX-DOS2) は階層化ディレクトリ等の概念を持ち、MS-DOS ver2.0 の機能を取り入れてはいますがCP/M-80、MSX-DOS との互換性を保っています。

簡単に言えば、MSX-DOS 上で CP/M のプログラムが走ります。そう、CP/M 版『Turbo Pascal』もね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/fc99f6f8-17ee-aee5-e49c-4eb6c0905e6a.png)

もちろん、MSX-DOS 上で動かした『Turbo Pascal』でコンパイルされた実行ファイルも動きます。

素の CP/M-80 版『Turbo Pascal』でも設定変更だけで MSX-DOS 上で動くのですが、オランダとイタリアでは [Borland 謹製 MSX 用『Turbo Pascal』が Philips 社から販売されていた](https://www.generation-msx.nl/company/borland/1220/software/)ようです。このためか、MSX 固有の機能を使うためのライブラリが幾つか存在するようです。

 - [MDL-LIB version 2.2 の使い方 (Qiita)](https://qiita.com/ht_deko/items/6f15aee0bd25b550e4df)

実は MSX も今年 40 周年でして、**MSX0 (MSX プラットフォーム IoT デバイス)** とかで盛り上がっております。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/2a9b67d8-4506-4154-08d3-34cd34b4c06b.png)

**See also:**

 - [MSX (Wikipedia)](https://ja.wikipedia.org/wiki/MSX)
 - [『MSX0 Stack』の操作方法](https://qiita.com/ht_deko/items/b284cb93ac34e2b77d9a)
 - [MSX0 Stackで伝説の 8 ビット MSX パソコンが甦り、IoT 用コンピュータに (CAMPFIRE)](https://camp-fire.jp/projects/view/648742) - 2023/03/31 終了
 - [【MSX0】MSX技術を活用した新世代IoTデバイス (Kibidango)](https://kibidango.com/project?tag=301) - 2024/01/15 終了

### ・SHARP PC-G850V + EborsyEEP
『SHARP PC-G850V』に『EborsyEEP』を接続すると、CP/M を動かす事ができます。そう、ポケコンで『Turbo Pascal』 が動作するのです！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/4f1872e7-d303-2d55-c779-ad90e73420ed.png)

その他にポケコンで Turbo Pascal というと、『CASIO PB-2000C』用に『DL-PASCAL』という Pascal があり、これが Turbo Pascal 5.0 互換らしい、という事を知りました。

https://www.youtube.com/watch?v=sfo-blARHsU

Turbo Pascal に関係ありませんが、40 周年という括りなら、人気機種だった SHARP PC-1245 も今年 40 周年ですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/62b9cb2a-7563-f702-bfe5-442c4218995b.png)


**See also:**

 - [ポケコン（PC-G850V）用増設メモリボード（EborsyEEP）(BOOTH)](https://booth.pm/ja/items/5057019)
 - [EborsyEEP 関連記事 (PIC マイコンは面白い)](https://piclabo.blog.ss-blog.jp/tag/EborsyEEP)

# おわりに

今年は Turbo Pascal 40 周年という事で、Turbo Pascal そのものを触ったり、Turbo Pascal の書籍を買って読んだり、Turbo Pascal が動作する環境を構築したりしていました。

Twitter (X) で謎の Turbo Pascal 推しをしていたのはこのせいだったんですね... (^^;A

[^1]: 突然記事が読めなくなった[心当たりが一つだけある](https://twitter.com/ht_deko/status/1721587987111408085)っちゃーある。偶然だったらいいのだけれど (w 
[^2]: 怒られない範囲で使ってね、という事です。
[^3]: 日本国内での CP/M の状況については[『パソコン創成期 (青空文庫)』](https://jibun.atmarkit.co.jp/ljibun01/rensai/genesis/206/01.html)を読むとなんとなく解るかと思います。