Deep Blue C
This article needs additional citations for verification. (April 2011) |
Deep Blue C is a C programming language compiler for Atari 8-bit computers distributed by the Atari Program Exchange (APX).
Description
[edit]Deep Blue C is based on Ron Cain's public domain Small-C compiler, a subset of the C programming language,[1] modified by John Howard Palevich to run on Atari 8-bit hardware. Palevich also wrote Dandy for APX.[2] The syntax supported by Deep Blue C is close to that of ANSI C with significant limitations. The compiler creates Intel 8080 binary code which is executed by an 8080 virtual machine[3] as p-code.[4]
The user must supply a source code editor, but included libraries provide printf
and other I/O routines and video graphics, including player/missile graphics.[4] The source code to the compiler was sold separately by APX as Deep Blue Secrets.[1]
Limitations
[edit]As a proper subset of V7 Unix C, Deep Blue C code that does not use Atari 8-bit features can be compiled on other systems with the full language.[4] The following language constructs are not supported:[5]
- structs
- unions
- multidimensional arrays
- floating point numbers
- sizeof operator
- type casting
- functions returning types other than integer
Other non-standard properties of Deep Blue C:
- The last part of
switch
clause must end with:break
,continue
, orreturn
. - The maximum length of a source code line has to be less than 80 characters.
- The number of arguments for functions cannot exceed 126.
$(
and$)
are used instead of{
and}
, because the Atari keyboard and standard character set does not include braces.
The p-code that the compiler produces is slower than native binary. It is smaller than binary, however, and faster than Atari BASIC.[4]
Reception
[edit]Antic thought that Deep Blue C's use of p-code was acceptable given Atari's hardware limitations. The magazine praised Palevich for publishing the source code, and recommended purchasing it with the compiler for study and customization alongside The C Programming Language.[4]
Sample program
[edit]This program prints "Hello World!":[6]
main() $( printf("Hello World!"); $)
References
[edit]- ^ a b Palevich, John Howard (1982). Deep Blue Secrets Manual. Atari Program Exchange.
- ^ Hague, James. "The Giant List of Classic Game Programmers".
- ^ Atari 8-bit FAQ
- ^ a b c d e Striepe, Harald E. (January 1984). "Deep Blue C & Deep Blue Secrets". Antic. p. 109. Retrieved 2024-11-27.
- ^ Deep Blue C documentation at Atari Archives
- ^ W. Zientara, "Jezyki programowania Atari cz.2", SOETO, Warsaw, 1989