Pascal on CP/M MSX
Pascal compilers for the MSX
The Pascal language was named for Blaise Pascal (see picture), a French mathematician who was a pioneer in computer development history. In 1641, at the age of eighteen, Pascal constructed the first arithmetical machine, arguably the first computer. He would improve upon the instrument eight years later. In 1650, Pascal left the world of geometry and physics, and shifted his focus towards religious studies, or, as Pascal wrote, to "contemplate the greatness and the misery of man." Pascal died in Paris on August 19, 1662.
Niklaus Wirth completed development of the original Pascal programming language in 1970. He based it upon the block structured style of the Algol programming language. There were two original goals for Pascal. According to the Pascal Standard (ISO 7185), these goals were to a) make available a language suitable for teaching programming as a systematic discipline based on fundamental concepts clearly and naturally reflected by the language, and b) to define a language whose implementations could be both reliable and efficient on then-available computers.
Pascal was used in the seventies and eighties as the computer language in programming education. It served as the main programming language to teach structured programming.Many compilers were available for all current platforms these days. The language itself is a standard now (ANSI) but also served as model used by Wirth for more advanced (modular) languages such as Modula and Oberon.
Borland produced Turbo Pascal both for CP/M and MS-DOS, version 3 was a huge success and much of the software in the eighties on small computers is written with Turbo Pascal. Alas it was not standard Pascal, instead very practical adapted to the CP/M and MS-DOS environment.
Version 3 was the last version for CP/M, on the PC many versions followed (Borland Pascal 7 was the last DOS-based) and eventually evolved to Delphi (Windows) and Kylix (Linux).
Turbo Pascal may not be the only Pascal compiler running on MSX, it is the best supported one.
The untouched and not installed version(see the Pascal course in MCCM part 1!):
Turbo Pascal 3.01 for CP/M
A version of Turbo Pascal was distributed by Philips. In the package you find:
Manual, Front and Back Cover
Below are scanned images of the front and back covers of the Turbo Pascal 3 manual. Back in those days the manual was the product. The floppy disk placed inside the manual cover along with the license agreement, invitation to join on CompuServe forums and other paper marketing pieces. Click on each image to display a larger version of each cover.
The manual of Turbo Pascal 3.0 (MS-DOS, CP/M-86 and CP/M/MSX-DOS) is also available, thanks to Fred Kraan
A patched and installed version
MSX-2 version of Turbo Pascal 3
Made by MCE aka Frits Hilderink including the GIOS and a PC version!
This is the official distribution placed here with permission of Frits Hilderink!
Turbo Pascal 3.3f
Slotman has made an IDE for Turbo Pascal 3.3 running on the PC (Windows). You can find it here including a tutotial.
Do you program in Pascal for MSX? Are you tired of a bad IDE, waiting the code to compile on MSX, etc? So this is the solution: MSX PAD. An IDE made for Windows, so superior to MSX-Pascal that you will ask yourself HOW nobody did it before =)
And on top of that it comes with all my include files that I used to make breakfree!
Turbo Pascal DataBASE Toolkit 1.2 , official add-on by Borland
For MS-DOS with debugger (handy crosscompiling!)
Turbo Pascal 3.01 for the PC
Untouched (and now freeware!)
Turbo Pascal 3.02 for the PC
Another Pascal compiler: Hisoft Pascal 80
Pascal development environments
Turbo Pascal out of the box is not able to use the MSX facilities. Other than MSX-Basic there are no instructions to do more than text output.
Luckily it is not too difficult to give access to all MSX secrets with socalled include files containing pieces of machinecode as INLINE statements.
Here a rich collection of powerfull environments is given that allow you to do anything possible on a MSX with easy to write and understand Pascal programs.
- Graphpak, Uwe Schroder's Pascal Bios include files
- The Beunsoft Pascal Bios include files Turbo-Lib V3.0 (courtesy Jacoon Bastiaansen)
- MDL-LIB 2.2 Pascal Bios include files
- The large collection of Kari Lammassaari Pascal MSX support files
- For programming RS232C devices such as the Sunrise and Philips modems etc Erik Maas made a Turbo Pascal interface to his fossil driver
Martijn Dekker, the author of the Turbo Pascal package MDL-LIB has given permission to publish the latest and greatest version 2.2 and declared it public domain.
Some of the enhancements are:
- .typ-, .var- and .con- filesbestanden (type-, variable- and constant declarations) are integrated in the .lib- files, avoids many includes.
- works with turbo Pascal 3.3
See the leesmij.txt in the archive MDL-LIB v2.2
Slotman has made an IDE for Turbo Pascal 3.3 running on the PC (Windows). You can find it here in the utils section.
Included are include files for developing games in Pascal! The very funny game Snow fighters in the Our games section (throwing snowballs) is interesting for the MSX Info pages since he included the sources in Turbo Pascal.
Slotman writes: Do you program in Pascal for MSX? Are you tired of a bad IDE, waiting the code to compile on MSX, etc? So this is the solution: MSX PAD. An IDE made for Windows, so superior to MSX-Pascal that you will ask yourself HOW nobody did it before =)
And on top of that it comes with all my include files that I used to make breakfree!
INL Pascal library
Pascal software and library made by Carlos de Santa-Ana Garcia for INL, the TCP/IP stack made by Nestor Soriano for a.o. the MSX ethernet interface Obsonet and serial RS232 interfaces.
HansO Pascal programs
Pascal source with examples of filter programs: while copying a text file make adjustments like stripping to 7 bits or adding/removing text.
Pascal source by me of two programs: split (makes two halves of a file) and combine (glue the two halves together again) for MSX-DOS and CP/M.
CNVS and MSX12CNV
I have written programs to convert the MSX graphical screen formats back and forth to the PC.
When i wrote them it was the dark age of MS-DOS, so i used Turbo Pascal and as graphical file format PCX. It still works, even under Windows 95/98. And I finally finished MSXCNV12 to convert to screen 12 in may 1999 after working on it for 8 years!
Paintshop Pro is highly recommended to manipulate the graphics on the PC.
All sources are included. All programs are freeware. MS-DOS programs!
This 2.3 version is a recent update (june 1999), is now in English and with a cleaner syntax.
MSX12CNV: MS-DOS program to show or convert MSX screen 12 (in full color)
Quickbasic program to convert RAW file (create with Paintshop PRO) to screen 12 full color by Hans Schoormans
On request: a Windows 95/98 program to convert MSX screens to and from PCX
(actually a wrap around CNVS, MSX12CNV and MSXCNV12)
CNVSW as Windows installable program. Note the readme.txt.
PCX format description the official guide how PCX is done
My MSX pascal include libraries
To write intelligent programs on MSX I used Turbo Pascal v3.00.
To access the MSX 1 and 2 facilities I developed Pascal libraries a long time ago. Many followers copied and enhanced those libraries but here are the original: complete with tools.
In it are functions like line, box, circle, fill figure, sprite, show text on graphics and so on
Programming in Turbo Pascal, after Basic and assembler, has been the preferred programming environment for many. Much faster in execution than Basic, much faster in development than assembler.
The magazines have paid attention to this environment with many articles, collected as far as available, here.
- Cmdline pascal source added, its a good example how to use the commandline and read/modify sectors on a disk using standard CP/M (and so MSX-DOS) calls.
- Three programs to help write inline code for Turbo Pascal:
- INLINE program by J.A.C.G. van der Valk to translate REL files to inline made with the M80 macro assembler: Pascal source and program
- INLASS, a Z80 macro-assembler that generates inline code (also 8080, 8086 and 6502 cpu supported): Pascal source and program , documentation
- PMLINE: Adaptation and enhancement of a MC program called PMLine, article by Werner Cirsovius and the program
- A Turbo Pascal program with source to show inverse characters on screen 0 and 1
- A Turbo Pascal program with source to split a text file or Wordstar file in two columns per page
- Directory in Pascal with BDOS calls
- Sources of SDOS by Juan Salas: a file manager with windows
- Pascal source of a program to digitize on the MSX video computers by Juan Salas Pascal sources and other files belonging to the Pascal magazine articles.
- CUC journaal mei 1988
Robotarm voeding en interface
Externe voeding en programmatuur voor Spectravideo SV2000 Robot arm, software in Pascal
- CUC journaal juli 1990
Automatisch opbellen AD Interface en Pascal programma om telefoon opbelpiepjes te genereren.
- CUC Journaal Vraag directory op in Pascal met BDOS calls
- MCCM 61 Pascal uitgediept: instellen en gebruik JANSI
- MCCM 63 Pascal uitgediept: muis in Pascal
- MCCM 65 Pascal uitgediept: Pascal sneller
- MCCM 66 Pascal uitgediept: gebruik variabelen
- MCCM 67 Pascal uitgediept: gebruik geheugen
- MCCM 68 Pascal uitgediept: data
- MCCM 69
- MCCM 70 Pascal uitgediept; vulpatronen
- MCCM 71 Pascal Uitgediept directives
- MCCM 72 Pascal Uitgediept: recursie
- MCCM 75 Pascal uitgediept scherm 0
- MCCM 90 Finse libraries Manuel Bilderbeek licht de Pascal libraries van Kari Lamassaari toe
- Software , behorend bij MCM artikelen
- MCM 37 Bespreking Graphpak environment en patch voor Pascal (BREAK!)
- MCM 40 Bios bereiken vanuit Pascal
- MCM 45 MDLLIB pascal library bespreking
- MCM 51 GIOS grafische I/O Ssyteem voor Pascal
- Software , behorend bij MSX CLub Magazine artikelen
- MSX Club Magazine