Turbo Pascal在CP/M、MSX-DOS和MS-DOS上 – 适用于小型机器的Pascal

Hacker News Top 工具

摘要

本文探讨了Turbo Pascal在CP/M、MSX-DOS和MS-DOS等小型机器上的历史和分发情况,强调了它在早期编程教育和软件开发中的作用。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/14 21:31

# CP/M、MSX-DOS与MS-DOS上的Turbo Pascal——面向小型机器的Pascal语言 来源:http://pascal.hansotten.com/delphi/turbo-pascal-on-cpm-msx-dos-and-ms-dos/ ### 面向MSX的Pascal编译器 Pascal语言以布莱兹·帕斯卡(参见图片)命名,他是一位法国数学家,也是计算机发展史上的先驱。1641年,年仅18岁的帕斯卡制造了第一台算术机,这可以说是第一台计算机。八年后,他对此仪器进行了改进。1650年,帕斯卡离开了几何学和物理学领域,将研究重点转向了宗教研究,或者说,正如帕斯卡所写,转向“思考人类的伟大与苦难”。帕斯卡于1662年8月19日在巴黎逝世。 尼克劳斯·维尔特于1970年完成了原始Pascal编程语言的开发。他借鉴了Algol编程语言的块结构风格。Pascal最初有两个目标。根据Pascal标准(ISO 7185),这些目标是:a)提供一种适合教授编程的语言,使其作为一门系统学科,其基本概念能通过语言清晰自然地反映;b)定义一种语言,使其在当时的计算机上既能可靠实现又能高效运行。 Pascal在七八十年代被用作编程教学的计算机语言。它作为教授结构化编程的主要编程语言。当时许多平台都有可用的编译器。该语言本身现在是一个标准(ANSI),但也被维尔特用作开发更高级(模块化)语言如Modula和Oberon的模型。 Borland为CP/M和MS-DOS都推出了Turbo Pascal,版本3取得了巨大成功,八十年代小型计算机上的大部分软件都是用Turbo Pascal编写的。可惜它不是标准Pascal,而是非常实用地适应了CP/M和MS-DOS环境。版本3是CP/M的最后一个版本,在PC上后续有很多版本(Borland Pascal 7是最后一个基于DOS的版本),并最终演变为Delphi(Windows)和Kylix(Linux)。 阅读这篇关于如何编写优秀程序的精彩介绍!(http://www.allegro.com/papers/htpp.html) Turbo Pascal可能不是运行在MSX上的唯一Pascal编译器,但它是支持最好的一个。 未修改且未安装的版本(参见MCCM第1部分中的Pascal教程!):适用于CP/M的Turbo Pascal 3.01(http://pascal.hansotten.com/uploads/msx/tp301.zip) 一个由飞利浦分发的Turbo Pascal版本。包装盒内包含: - Turbo Pascal 8位MSX版本,这是一个真正的Borland产品,正如软盘标签上所见。 - 杰夫·邓特曼所著的书籍及附带演示软盘“Turbo Pascal Compleet”。 Turbo Pascal 3手册的封面和封底扫描图如下。那时候手册就是产品。软盘与许可协议、加入CompuServe论坛的邀请函以及其他纸质营销资料一起放置在手册封面内。点击每张图片查看更大版本的封面。Turbo Pascal 3.0(MS-DOS、CP/M-86和CP/M/MSX-DOS)的手册也可用,感谢Fred Kraan提供。 一个经过修改并已安装的Turbo Pascal 3的MSX-2版本(http://pascal.hansotten.com/uploads/msx/tpmsx2.zip)。由MCE(即Frits Hilderink)制作,包含GIOS和一个PC版本!这是经Frits Hilderink许可放置在此的官方发行版!Turbo Pascal 3.3f(http://pascal.hansotten.com/uploads/msx/turbo33f.zip) Turbo Pascal数据库工具包1.2(http://pascal.hansotten.com/uploads/msx/turbodbt.zip),Borland官方附加组件。 适用于带调试器的MS-DOS(便于交叉编译!)Turbo Pascal 3.01 PC版(http://pascal.hansotten.com/uploads/msx/ibmtp301.zip)未修改(现在是免费软件!)Turbo Pascal 3.02 PC版(http://pascal.hansotten.com/uploads/msx/ibmtp302.zip) 另一个Pascal编译器:Hisoft Pascal 80(http://pascal.hansotten.com/uploads/msx/hisoft.zip) Pascal开发环境Turbo Pascal开箱即用时无法使用MSX功能。除了MSX-Basic,没有其他指令可以进行超出文本输出的操作。幸运的是,通过所谓的包含文件(其中包含作为内联语句的机器码片段)来访问所有MSX秘密并不太困难。这里提供了一个功能强大的环境集合,允许您使用易于编写和理解的Pascal程序在MSX上进行任何可能的操作。 - Graphpak,Uwe Schroder的Pascal BIOS包含文件(http://pascal.hansotten.com/uploads/msx/graphpak.zip) - Beunsoft Pascal BIOS包含文件Turbo-Lib V3.0(由Jacoon Bastiaansen提供)(http://pascal.hansotten.com/uploads/msx/beunsoft.zip) - MDL-LIB 2.2 Pascal BIOS包含文件(http://pascal.hansotten.com/uploads/msx/mdllib22.lzh) - Kari Lammassaari的Pascal MSX支持文件大型集合(http://pascal.hansotten.com/uploads/msx/kari.zip) - 为了编程RS232C设备(如Sunrise和飞利浦调制解调器等),Erik Maas制作了Turbo Pascal与其fossil驱动程序的接口(http://pascal.hansotten.com/uploads/msx/ERIX102W.LZH) Martijn Dekker,Turbo Pascal包MDL-LIB的作者,已授权发布最新最优秀的2.2版本并宣布其为公共领域软件。一些增强功能包括:-.typ-、.var-和.con-文件(类型、变量和常量声明)已集成到.lib-文件中,避免了许多包含操作。- 适用于Turbo Pascal 3.3。请参见存档中的leesmij.txt。MDL-LIB v2.2(http://pascal.hansotten.com/uploads/msx/mdllib22.lzh) Slotman为运行在PC(Windows)上的Turbo Pascal 3.3制作了一个IDE。您可以在此处的utils部分找到它。(http://www.icongames.com.br/msxfiles/util-en.htm)其中包括用于在Pascal中开发游戏的包含文件!在Our games部分中的非常有趣的游戏“雪仗”(http://msxfiles.sites.uol.com.br/)(扔雪球)对MSX信息页面来说很有趣,因为他在其中包含了Turbo Pascal源代码。Slotman写道:您是在用Pascal为MSX编程吗?您是否厌倦了糟糕的IDE,厌倦了等待代码在MSX上编译等?那么这就是解决方案:MSX PAD。一个专为Windows制作的IDE,比MSX-Pascal优越得多,您会问自己以前怎么没人想到。最重要的是,它附带了我用来制作breakfree的所有包含文件! INL Pascal库由Carlos de Santa-Ana Garcia为INL编写的Pascal软件和库,INL是Nestor Soriano为例如MSX以太网接口Obsonet和串行RS232接口等制作的TCP/IP协议栈。该库(http://pascal.hansotten.com/uploads/msx/INL.inc)一个telnet客户端(http://pascal.hansotten.com/uploads/msx/INLClient.pas)一个telnet服务器(http://pascal.hansotten.com/uploads/msx/INLServ.pas) **Hans Otten Pascal程序**包含过滤程序示例的Pascal源代码:(http://pascal.hansotten.com/uploads/msx/filter.zip)在复制文本文件时进行调整,如截取为7位或添加/删除文本。 由我编写的两个程序的Pascal源代码:split(将文件分成两半)和combine(http://pascal.hansotten.com/uploads/msx/splitcombine.zip)(将两半重新粘合在一起)适用于MSX-DOS和CP/M。CNVS和MSX12CNVI我编写了在MSX图形屏幕格式与PC之间相互转换的程序。 当我编写它们时,那是MS-DOS的黑暗时代,因此我使用了Turbo Pascal和PCX作为图形文件格式。它仍然有效,即使在Windows 95/98下也是如此。我终于在1999年5月完成了MSXCNV12,将其转换为屏幕12格式,这个工作我做了8年!强烈推荐Paintshop Pro用于在PC上处理图形。所有源代码都已包含。所有程序都是免费软件。MS-DOS程序! CNVS版本2.3:将MSX屏幕0-8转换为PCX及反向转换的MS-DOS程序,包含源代码(http://pascal.hansotten.com/uploads/msx/cnvs23.zip)。这个2.3版本是最近的更新(1999年6月),现在是英文的,并且语法更简洁。 CNVS版本2.1:旧的MS-DOS程序,用于将MSX屏幕0-8转换为PCX及反向转换(http://pascal.hansotten.com/uploads/msx/cnvs21.zip)仅荷兰语。 MSX12CNV:显示或转换MSX屏幕12的MS-DOS程序(http://pascal.hansotten.com/uploads/msx/msx12cnv.zip)(全彩) MSXCNV12:将PC上的PCX显示或转换为MSX屏幕12的MS-DOS程序(http://pascal.hansotten.com/uploads/msx/msx12cnv.zip)(全彩) Quickbasic程序(http://pascal.hansotten.com/uploads/msx/cnv12.zip)由Hans Schoormans编写,用于将RAW文件(使用Paintshop PRO创建)转换为屏幕12全彩格式。 根据请求:一个用于将MSX屏幕转换为PCX及反向转换的Windows 95/98程序(实际上是对CNVS、MSX12CNV和MSXCNV12的封装)CNVSW(http://pascal.hansotten.com/uploads/msx/cnvsw.zip)作为Windows可安装程序。请注意readme.txt。 PCX格式说明(http://pascal.hansotten.com/uploads/msx/pcxfrmt.txt)关于PCX如何实现的官方指南。 INDEX用于在软盘上构建文件数据库的MSX和MS-DOS程序及Pascal源代码(http://pascal.hansotten.com/uploads/msx/index22.zip) 我的MSX Pascal包含库为了在MSX上编写智能程序。我使用的是Turbo Pascal v3.00。为了访问MSX 1和2的功能,我很久以前就开发了Pascal库。许多追随者复制并增强了这些库,但这里是原始版本:包含工具完整版。其中包括诸如直线、方框、圆形、填充图形、精灵、在图形上显示文本等功能。Pascal包含库(http://pascal.hansotten.com/uploads/msx/grpascal.zip)杂志通过许多文章关注了这个环境,这里收集了所有可用的内容。 - 已添加命令行Pascal源代码,(http://pascal.hansotten.com/uploads/msx/pascalcmdline.pdf)这是一个如何使用命令行以及使用标准CP/M(因此也是MSX-DOS)调用来读取/修改磁盘扇区的好例子。 - 三个帮助编写Turbo Pascal内联代码的程序:- INLINE程序由J.A.C.G. van der Valk编写,用于将使用M80宏汇编器创建的REL文件转换为内联代码:Pascal源代码和程序(http://pascal.hansotten.com/uploads/msx/inline.zip)- INLASS,一个Z80宏汇编器,生成内联代码(也支持8080、8086和6502 CPU):Pascal源代码和程序(http://pascal.hansotten.com/uploads/msx/inlass.zip),文档(http://pascal.hansotten.com/uploads/msx/inlass.pdf)- PMLINE:改编和增强了一个名为PMLine的MC程序,由Werner Cirsovius撰写的文章(http://www.cirsovius.de/CPM/Projekte/Artikel/TP/Inline/PMlink/PMlink.html)以及程序(http://www.cirsovius.de/CPM/Projekte/TURBO-PASCAL/Inline/turbo-05.html) - 一个带源代码的Turbo Pascal程序(http://pascal.hansotten.com/uploads/msx/inverse.zip),用于在屏幕0和1上显示反色字符 - 一个带源代码的Turbo Pascal程序(http://pascal.hansotten.com/uploads/msx/split.zip),用于将文本文件或Wordstar文件(http://pascal.hansotten.com/uploads/msx/split.zip)在每页分成两栏 - 使用BDOS调用的Pascal目录程序(http://pascal.hansotten.com/uploads/msx/dirpascal.gif) - SDOS的源代码(http://pascal.hansotten.com/uploads/msx/sdos.zip),由Juan Salas编写:一个带窗口的文件管理器 - 由Juan Salas编写的用于在MSX视频计算机上数字化处理的程序的Pascal源代码(http://pascal.hansotten.com/uploads/msx/juansalasdigi.zip) - 属于Pascal杂志文章的Pascal源代码和其他文件(http://pascal.hansotten.com/uploads/msx/artpas.zip)。 - CUC journaal 1988年5月 机器人臂供电与接口(http://pascal.hansotten.com/uploads/msx/robotarm.pdf)Spectravideo SV2000机器人臂的外部电源和程序,Pascal软件 - CUC journaal 1990年7月 自动拨号(http://pascal.hansotten.com/uploads/msx/tel1.pdf)AD接口和Pascal程序,用于生成电话拨号音。 - CUC Journaal 在Pascal中使用BDOS调用查询目录(http://pascal.hansotten.com/uploads/msx/dirpascal.gif) - MCCM 61 Pascal深入:设置和使用JANSI(http://pascal.hansotten.com/uploads/msx/uitgjans.pdf) - MCCM 63 Pascal深入:Pascal中的鼠标(http://pascal.hansotten.com/uploads/msx/uitgmuis.pdf) - MCCM 65 Pascal深入:加快Pascal速度(http://pascal.hansotten.com/uploads/msx/uitgsnel.pdf) - MCCM 66 Pascal深入:变量的使用(http://pascal.hansotten.com/uploads/msx/uitgvar.pdf) - MCCM 67 Pascal深入:内存的使用(http://pascal.hansotten.com/uploads/msx/uitgmem.pdf) - MCCM 68 Pascal深入:数据(http://pascal.hansotten.com/uploads/msx/uitgedieptdata.pdf) - MCCM 69 - MT-Base 在Pascal中转换为ASCII(http://pascal.hansotten.com/uploads/msx/mt2ascii.pdf)- Pascal深入:混合编程(http://pascal.hansotten.com/uploads/msx/pascalhyb.pdf) - MCCM 70 Pascal深入:填充图案(http://pascal.hansotten.com/uploads/msx/uitgvul.pdf) - MCCM 71 Pascal深入:指令(http://pascal.hansotten.com/uploads/msx/uitgedieptdir.pdf) - MCCM 72 Pascal深入:递归(http://pascal.hansotten.com/uploads/msx/uitgrec.pdf) - MCCM 75 Pascal深入:屏幕0(http://pascal.hansotten.com/uploads/msx/uitgscr0.pdf) - MCCM 90 芬兰库(http://pascal.hansotten.com/uploads/msx/finpascal.pdf)Manuel Bilderbeek解释了Kari Lamassaari的Pascal库 - 软件(http://pascal.hansotten.com/uploads/msx/mcm.zip),属于MCM文章 - MCM 37 Graphpak环境评论(http://pascal.hansotten.com/uploads/msx/graphpak.pdf)和Pascal补丁(BREAK!)(http://pascal.hansotten.com/uploads/msx/artpas.zip) - MCM 40 从Pascal访问BIOS(http://pascal.hansotten.com/uploads/msx/bios.pdf) - MCM 45 MDLLIB(http://pascal.hansotten.com/uploads/msx/mdllib.pdf)Pascal库评论 - MCM 51 GIOS(http://pascal.hansotten.com/uploads/msx/gios.pdf)Pascal的图形I/O系统 - 软件(http://pascal.hansotten.com/uploads/msx/msxclubm.zip),属于MSX Club Magazine文章 - MSX Club Magazine - Mandelbrot分形(http://pascal.hansotten.com/uploads/msx/mandelbr.pdf)- Bastaard pascal:快速写入屏幕(http://pascal.hansotten.com/uploads/msx/testgr3.pdf)- Pascal中的分形 第一部分(http://pascal.hansotten.com/uploads/msx/fractals.pdf)- Turbo Pascal教程 第一部分(http://pascal.hansotten.com/uploads/msx/tpascal1.pdf)- Turbo Pascal教程 第二部分(http://pascal.hansotten.com/uploads/msx/tpascal2.pdf)- Turbo Pascal教程 第三部分(http://pascal.hansotten.com/uploads/msx/tpascal3.pdf)- Turbo Pascal教程 第四部分(http://pascal.hansotten.com/uploads/msx/tpascal4.pdf)- Turbo Pascal教程 第六部分(http://pascal.hansotten.com/uploads/msx/tpascal6.pdf)- Turbo Pascal教程 第七部分(http://pascal.hansotten.com/uploads/msx/tpascal7.pdf)

相似文章

PDP 计算机简史

Lobsters Hottest

简要回顾 DEC 公司 PDP 系列计算机的发展历程,探讨从 PDP-1 到 VAX 如何塑造了早期黑客文化,并直接影响了 Unix、C、Emacs、Lisp 等基础软件的诞生与发展。

MS-DOS 2.0 之路

Hacker News Top

本文追溯了 MS-DOS 从 86-DOS、微软的 XENIX 尝试到 XEDOS 计划的历史发展过程,详细说明了塑造早期个人电脑操作系统的各种制约因素和决策。

CP/M-86 & MS-DOS 交叉开发环境

Hacker News Top

本项目为CP/M-86和MS-DOS提供了一个交叉开发环境,包括用于复古计算的编译器、汇编器和模拟器。