CEEMAC (original) (raw)
From Wikipedia, the free encyclopedia
CEEMAC
Paradigm | Visual composition language |
---|---|
Designed by | Brooke Boering |
Developer | Vagabondo Enterprises |
Platform | Apple II |
CEEMAC is a programming language developed in the 1980s for the Apple II family of computers. It was authored by Brooke Boering and published by Vagabondo Enterprises,[1]
CEEMAC was designed to be a visual composition language in which the programmer designed dynamic "scores" by programmatically controlling color, shape, sound and movement. Additionally, a programmer could then "perform" their score through use of the Apple II keyboard or paddle input devices to introduce additional variation.[2]
CEEMAC syntax loosely resembled a combination of BASIC and Pascal and include control commands such as [GOTO](/wiki/GOTO "GOTO")
, [GOSUB](/wiki/GOSUB "GOSUB")
, DO
, AGAIN
, FOR
, SKIP
, EXIT
and loop control structures such as [IF](/wiki/Conditional%5F%28programming%29 "Conditional (programming)")
/[WHILE](/wiki/While%5Floop "While loop")
and TIL
/UNLESS
. Additionally, 30 predefined macros were included in CEEMAC to aid in score composition.[2]
The following is a small CEEMAC sample score:[3]
SCORE: KT
:FIRE ORGAN KEY T
SPEED [0,0]
: - BUT 0
0
CLEAR [0,0]
XY1 = <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>80</mn><mo separator="true">;</mo></mrow><annotation encoding="application/x-tex">80;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.1944em;"></span><span class="mord">80</span><span class="mpunct">;</span></span></span></span>80
: MAIN LOOP
F
:FORGND SYMMETRY 0-3
VC = RND3 ORA 3
: SAVE FORGND ROTATION
VD = ROTEZ
:FORGND COLOR
COLOR = NXTCOL
CEEMAC was originally marketed through distribution of a free demonstration program entitled Fire Organ. This program contained several scores created by Boering and other programmers to demonstrate some of the capabilities of the language.[1]