Deep Blue C
   HOME

TheInfoList



OR:

Deep Blue C is a
C programming language C (''pronounced'' '' – like the letter c'') is a general-purpose programming language. It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of ...
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
for
Atari 8-bit computers The Atari 8-bit computers, formally launched as the Atari Home Computer System, are a series of home computers introduced by Atari, Inc., in 1979 with the Atari 400 and Atari 800. The architecture is designed around the 8-bit MOS Technology 650 ...
distributed by the Atari Program Exchange (APX).


Description

Deep Blue C is based on Ron Cain's public domain
Small-C Small-C is both a subset of the C programming language, suitable for resource-limited microcomputers and embedded systems, and an implementation of that subset. Originally valuable as an early compiler for microcomputer systems available during t ...
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
, a subset of the
C programming language C (''pronounced'' '' – like the letter c'') is a general-purpose programming language. It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of ...
, modified by John Howard Palevich to run on
Atari 8-bit The Atari 8-bit computers, formally launched as the Atari Home Computer System, are a series of home computers introduced by Atari, Inc., in 1979 with the Atari 400 and Atari 800. The architecture is designed around the 8-bit MOS Technology 650 ...
hardware. Palevich also wrote ''
Dandy A dandy is a man who places particular importance upon physical appearance and personal grooming, refined language and leisurely hobbies. A dandy could be a self-made man both in person and ''persona'', who emulated the aristocratic style of l ...
'' for APX. The syntax supported by ''Deep Blue C'' is close to that of
ANSI C ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and the ...
with significant limitations. The compiler creates
Intel 8080 The Intel 8080 is Intel's second 8-bit computing, 8-bit microprocessor. Introduced in April 1974, the 8080 was an enhanced successor to the earlier Intel 8008 microprocessor, although without binary compatibility.'' Electronic News'' was a week ...
binary code which is executed by an 8080
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
as
p-code Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
. The user must supply a
source code editor A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE). Features Source-code editor ...
, but included libraries provide and other I/O routines and video graphics, including player/missile graphics. The source code to the compiler was sold separately by APX as Deep Blue Secrets.


Limitations

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. The following language constructs are not supported: * structs * unions * multidimensional arrays * floating point numbers *
sizeof sizeof is a unary operator in the C and C++ programming languages that evaluates to the storage size of an expression or a data type, measured in units sized as char. Consequently, the expression sizeof(char) evaluates to 1. The number of b ...
operator * type casting * functions returning types other than
integer An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
Other non-standard properties of Deep Blue C: * The last part of
switch In electrical engineering, a switch is an electrical component that can disconnect or connect the conducting path in an electrical circuit, interrupting the electric current or diverting it from one conductor to another. The most common type o ...
clause must end with: break, continue, or return. * 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 , 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 Atari BASIC is an interpreter for the BASIC programming language that shipped with Atari 8-bit computers. Unlike most American BASICs of the home computer era, Atari BASIC is not a derivative of Microsoft BASIC and differs in significant way ...
.


Reception

''
Antic Alphanumeric Television Interface Controller (ANTIC) is an LSI ASIC dedicated to generating 2D computer graphics to be shown on a television screen or computer display. Under the direction of Jay Miner, the chip was designed in 1977–1978 b ...
'' 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 ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the C programming langu ...
''.


Sample program

This program prints "Hello World!": main() $( printf("Hello World!"); $)


References

{{Reflist, refs= Deep Blue C documentation at Atari Archives
/ref> W. Zientara, "Jezyki programowania Atari cz.2", SOETO, Warsaw, 1989 Atari 8-bit FAQ
/ref> C (programming language) compilers Atari 8-bit computer software Atari Program Exchange software