Difference between revisions of "Comal80"
Alan Sugar (Talk | contribs) |
|||
Line 1: | Line 1: | ||
COMAL (COMmon Algorithmic Language) is a computer-programming language developed in Denmark by [[Benedict Løfstedt]] and [[Børge Christensen]] in 1973. | COMAL (COMmon Algorithmic Language) is a computer-programming language developed in Denmark by [[Benedict Løfstedt]] and [[Børge Christensen]] in 1973. | ||
− | COMAL80 is a combination of the at the time dominant programming languages for educational purposes, [[BASIC]] and [[Pascal]]. The intention was to introduce a structured approach to programming where BASIC normally was used. | + | COMAL80 is a combination of the at the time dominant programming languages for educational purposes, [[BASIC]] and [[:Category:PASCAL|Pascal]]. The intention was to introduce a structured approach to programming where BASIC normally was used. |
The programming language described was designed to remedy the weaknesses of BASIC by adding structured constructs and other desirable improvements, while retaining the major features and overall spirit of BASIC. COMAL80 is proposed as an introductory programming language for schools. | The programming language described was designed to remedy the weaknesses of BASIC by adding structured constructs and other desirable improvements, while retaining the major features and overall spirit of BASIC. COMAL80 is proposed as an introductory programming language for schools. |
Revision as of 21:17, 17 December 2010
COMAL (COMmon Algorithmic Language) is a computer-programming language developed in Denmark by Benedict Løfstedt and Børge Christensen in 1973.
COMAL80 is a combination of the at the time dominant programming languages for educational purposes, BASIC and Pascal. The intention was to introduce a structured approach to programming where BASIC normally was used.
The programming language described was designed to remedy the weaknesses of BASIC by adding structured constructs and other desirable improvements, while retaining the major features and overall spirit of BASIC. COMAL80 is proposed as an introductory programming language for schools.
COMAL80 is like BASIC an interpreted language. And interpreters was available for a wide range of platforms. A key feauture of COMAL80 was the ability to expand the language features width modules or library's. Because of the structured nature, COMAL80 was often compared to BBC Basic. Besides Denmark, Comal80 was frequently used in schools in Scotland.
Contents
COMAL80 for the Amstrad CPC
The Amstrad CPC had two version available.
A generic CP/M version and a native version
CP/M Version
CPC specific version
The native version was programmed by Freddy Dalgas Kristiansen and distributed through his company Dalgasoft. It was available on tape, disc and finally also a ROM version was available. This version of COMAL80 was compliant to the Commodre 64 Comal80 ver 2.01 and the UniComal variant for the IBM PC.
The first of the tape and disc versions was lacking functions to control the special features of the Amstrad CPC. Functions like sound, graphics and software interrupts. To use the specific functions small modules was released so the programmer could include them in their own COMAL80 programs.
Finally a greatly enhanced version was released. This version occupied three 16Kb eproms. Extensive graphic/sound/timer commands was added together width extended FILE I/O(Random Access File) and the ability to use both DK'tronics and Vortex memory expansion as ram discs or graphic swap space (to use width the advanced windows features). The ROM version was shipped with its own ROM board, micro switches controlled whether to boot directly into COMAL80 or to make the ROM board invisible to allow native CPC programs to run. It is unknown if COMAL80 would have worked on a standard ROM board.
The Danish magazine Amstradbladet, ran a series of articles called "The COMAL school" to teach its readers COMAL80.
Download
- Comal80.zip (Original danish version - zipped dsk image)
- Comal80eng.dsk (Translated into english - 2009 by AJK)