[PART 1:]
[Introduction]
[Sculpture]
[Installations]
[PART 2:]
[Concepts]
[Resources]
[Jno Cook]
[Credits]
(PART 3:)
[Code Sources]
[The Boxes]
All the computers write log files to track usage. All the computers start up their operating program from the boot file, except Frankenstein which continues to have a C-drive error, "F1 to continue," and Cyclops (a PS/2) which can't remember what time it is. Except for these two, and two interactive installations, no keyboards are used. This to protect me from angry geeks and incompetent mechanics - and there have been some.
Soon into the opening it proved that this unit just added too much sound to the gallery, so I disabled the sound. The 3rd Line from the bottom, above, became "type sep.out | scroll".
at echo off
cls
:: run.bat for "catalog"
:: requires a RAM drive, at least 240 512 12 /e
:: requires device=c:\george\talka.sys
:: move comspec to d:
:: requires device=c:\george\nnansi.sys
:: uses dmp /mxall; tee.exe; scroll.exe (timo's); red.com; color.bat
:: run vfont /o for VGA
d:
md temp > nul
del *.* < yes > nul
copy c:\catalog\*.* d:\
copy c:\dos\command.com d:\
set comspec=d:\command.com
set temp=d:\temp
call color 15 1
red.com
cls
:a
echo.
echo.
echo. ....................please wait two minutes
echo.
echo.
type sep.out | scroll 50 | tee $talk$
goto a
c:
- PF.exe is the DMP substitute for DOS "print." It moves a file to the DMP print spooler. DMP.COM, is a super print spooler, which grabs any available memory, but releases it when done. SW by DMP software (San Mateo, CA).
Additionally the printer can be turned off without running into error messages. The printer is turned off when plenty of catalogs have been printed. The Catalog is printed from a captured print file from Word Perfect (sep.bin), that is, formatting was done elsewhere, actually for an LQ570, but using a LQ500 driver, which just happens to be the printer in use here.
- Color.bat is a batch utility by Prof. Timo Salmi, Department of Accounting and Business Finance, University of Vaasa, Finland. Parameters follow the DOS foreground and background color codes. (1995)
- Red.com is just a 12 byte com file (MOV AH, 10; MOV AL, 1; MOV BH, 4; INT 10; MOV AH, 4C; INT 21) which set the border to red. Cockrowch, 1996.
- Scroll (scroll.bat) is by Prof. Timo Salmi, Department of Accounting and Business Finance, University of Vaasa, Finland. This is a filter which allows files to be piped. The "50" sets the scrolling speed. (1995)
- Tee (Tee.exe) is by Richard Breuer, of Aachen, Germany, and acts as the Unix command of the same name. Tee allows the lines of the catalog file which are being printed to the screen to be piped to $talk$, which is the input file for the PC speaker driver. (1992)
- Talk.sys creates the $talk$ file to which the text is written which is to be send to the PC speaker. Talk.sys is a device driver written by Jon Hornstein of Melbourne, Australia, which can be operated from text, creating the needed phonemes. To keep Talk.sys from sounding out all the punctuation marks, the SYS file needs to be hacked to remove the punctuation code. Phonemes have an Aussy overtone. (1995)
- Sep.out is the text file extracted from sep.htm (index.htm), with some edits to reduce the complexity. Extraction is by HTMSTRIP.EXE, a utility written by Bruce Guthrie (Silver Spring, MD).
- Wait (wait.com) is a variable delay written by Bob Montgomery in 1989. The 600 parameter stands for 600 seconds of delay.
"Rounding Error" ("computing") is a BASIC program run from a 100K RAMdrive. A RAM drive is used because of frequent shells to Bigtext.com, which is used to display large numbers to the screen. The Comspec is also set to the RAMdrive. The Run.bat instruction consists of the following.
- Math2.bas calls Bigtext from a shell.
at echo off
:: start.bat for "computing"
:: runs on firefly
:: requires math2.bas, qbasic.exe, bigtext.com, cadel
:: command com is 54.6k; math2.bas is not moved up
:: requires a ramdrive. As a minumum change config.sys as follows:
:: device=c:\dos\ramdrive.sys 74 512 4
:: and reset the comspec to the ramdrive (happens below)
c:
cd\compute
cadel
copy bigtext.com d:\
copy c:\dos\command.com d:\
set comspec=d:\command.com
qbasic /run c:\compute\math2.bas
- Bigtext.com (1993, 95) is by William Luitje of Ann Arbor, Michigan. This is a unique program in that is uses the BIOS ROM character set to build a variety of large letters, including sideways reading. (Used also by "Welcome").
- Cadel.com is a utility which locks out Control-alt-delete, as well as Control-c and Control-break. Written by Kevin D. Quitt (Van Nuys, CA) 1990. This is used because the keyboard stays attached. And the keyboard stays attached because it's an XT, and needs an 83 KB to boot up.
A long ascii variable is constructed from a line of dots and adjectives and a noun. This is partially written to the lower line of the screen. As any vowel reaches position 40, the mouths change. The subroutines for the mouths take a variable which signals if it needs to be erased or drawn. As it stands, the program on occasion comes up with extra words which do not show on the screen. This is because I removed all the hyphenation from the source files. Talk.sys would render the hyphenated words as "bla minus sign bla." I have since removed the offending code from Talk.sys
The face and the mouths were hand drawn in a CAD program. The data represents point to point line draws, with 9999 signalling the start of a new unconnected segment.
:: run.bat for "cuss"
::requires config.sys ... device=talk.sys
cd\cuss
qbasic /run c:\cuss\cusstalk.bas
"Dum Dee Dum" is a BASIC file running from a 400k RAM drive (D:), and sounds out a text file through the PC speaker. It alternates with 30 seconds of "Klok." Stuffit is used to negotiate between the two executables. The Run.bat instructions are as follows.
- Stuffit (Stuffit.com) clears or preloads the keyboard buffer with any delayed time key combination. An amazingly stable TSR, written by Terje W. Mathisen, Oslo, Sweden (1990), and updated by Roedy Green (1992). The parameters are: +0 clears the keyboard buffer; +30 is a 30 second delay; 27 is the ascii code for the Escape key; /R removed Stuffit.
at echo off
:: run.bat for "dumdeedum"
:: runs dum dee dum on Thucydides, with klok
:: requires a ram drive 400 512 12 /e
:: requires config.sys ... device=talk.sys
d:
cls
echo. ..........................please wait a second
copy c:\dumdee\*.* d:\ >nul
stuffit +0 > nul
stuffit +0 +30 27 >nul
klok klok.pcx
call qbasic /run d:\dumdee2.bas
stuffit /R >nul
run
- Klok (Klok.pcx) is written by Jacco M. Hoekstra, Leiden, Netherlands. It presents a circular clock on the screen (marked "Manufactured by Hoekstra" and "Leiden" ) with black hands and a red second hand. The basic graphics is a PCX file. Hand movement is done with page switching. Great stuff! (1996) I changed the background to the clock to black.
The music (two tunes sounding like they might come from a merry-go round) is background sound for the carrousel, being ported (oops, "wired") to a separate audio amplifier. It has nothing to do with the images. The display of gif files takes 57 minutes. One of the music files is loaded to the device SPKR every ten minutes from a RAM drive. The music is not on all the time, since that would drive people batty.
at echo off
:: run.bat for "fruit salad"
c:
cd\fruit
salad.......... and
at echo off
:: salad.bat for "fruit salad"
:: see random.bat for file name generation
:: use whatpix.com *.gif redirect to tempfile
:: sort temp tempfile, edit; 0.gif is the title
:: /r returns to calling program,
:: /y=0 resizes to fill screen
:: current 402 files
echo. fruit startup >> c:\log
time < c:\batch\enter >> c:\log
call sound
:restart
echo. P > c:\spkr
copy d:\*.spk c:\spkr >nul
vpic 0.gif /g /r /y=0
vpic 0378544.gif /g /r /y=0
vpic 0716350.gif /g /r /y=0
vpic 0829008.gif /g /r /y=0
vpic 10756243.gif /g /r /y=0
vpic 10806748.gif /g /r /y=0
............. etc
echo. restart fruit >> c:\log
time < c:\batch\enter >> c:\log
goto restart
- Sound.bat loads the two music files to a RAMdrive.
- Vpic (vpic.exe) is a configurable file viewing utility by Bob Montgomery (1988 -1993). It is very fast, and can be set up for specific video cards. This is what allows the fruit salad manipulation here, for he program is set for a VGA monitor. The command line parameters here used are: /g - resize for full screen; /r - return control to the calling program; /y=0 - start at the top of the screen. The utility actually thinks the screen is about 30 percent larger than it is, cutting off the bottom of many files. Just as well.
- 0.gif is a title, to let viewers know that they have been watching the screen for 57 minutes.
Almost all of the original file were in JPG format. They have been converted to GIF (87 non interlaced) to keep the loading time down. Additionally, the files have been renamed to keep from showing, for example, four versions of Mindy_xxx.gif in a row. Random.bat was used to do this. Code for Random.bat as follows.
- Newname.bat is called for each gif file in the directory. Newname in turn calls Getbase.bat and Gethun.bat, as follows.
::Random.bat
for %%1 in (*.gif) do call newname %%1
- Getbase.bat calls Basename.exe, which returns the base of "file.ext" as the environmental variable %BASENAME%. Basename.exe is by Prof. Timo Salmi, University of Vaasa, Finland (1994).
::Newname.bat
call getbase %1
set new=
call gethun
set new=%hun%
call gethun
set new=%new%%hun%
call gethun
set new=%new%%hun%
call gethun
set new=%new%%hun%.gif
ren %basename%.gif %new%
- Gethun.bat calls a ten byte com file Hundreds.com which returns the hundreds after a second as the error level (MOV AH, 2C; INT 21; MOV AL, DL; MOV AH, 4C; INT 21). This is done four times in a row, and strung together for the new base of a filename. Cockrowch, 1990.
Can't run this on an AT. Well, you could, but you won't get any sound. This is code and port addresses for the TI programmable 4 voice sound chip which came with the PCjr and the Tandy 1000 series computers. Runs under IBM DOS 2.1, a discontinued version. But a full blown BASIC setup, as a plug-in ROM cartridge -- although I run under a Tandy BASIC. PCjr machines have proprietary EVERYTHING (drives me nuts). But they have sound out and composite video out. Only 128 kb RAM. Plastic cases. The monitors are basically EGA, with sound. The sound currently is a car klaxon. That is where I stopped trying to work out the sounding of the word "bla." Just right for hurried travelers on the information highway. The program randomly expresses things like, "Me too, me too," "where are the warez?" "Get out of my way," "Hurry up."
- Cadel is noted above. It is used here because this puter won't boot without a keyboard.
at echo off
:: run.bat for "pravda"
:: requires a ramdrive, change config sys as follows:
:: device=c:\dos\ramdrive.sys 160 512 16
c:
cd\russian
cadel
copy *.* d:\
d:
pravdaat echo off
:: pravda.bat for "pravda"
stuffit +0 +20 27 >nul
klok klok.pcx
stuffit /R >nul
SETFONT PRAVDA.FNT
call russian
pravda
- Stuffit is noted above. It is here also used to terminate the Klok program so that Russian.bat can be called.
- Klok is noted in text above.
- Setfont.exe is an included file with the package of Fontedit.exe by Travis Cobbs of San Jose, California. (1992) Setfont loads the font PRAVDA.FNT which has been edited to place certain Roman letters among the upper ASCII, for use in the header text (See below).
- Pravda.fnt is a Cyrillic font from the collection of 200 or so fonts included in FNTCOLxx of Yossi Gil of Jerusalem, Israel. I don't remember which; (I think cpi866) and after editing it was no longer the same, so I renamed it.
- Russian.bat is listed below. It first find the day of the month, then echoes a line at a time from a text file to the screen, overwriting it with a box of ANSI escape codes containing the header info (below). The text is white on blue. The header box is white on red - of course.
The text file being written to the screen is an early version of the sep.htm file (index.htm), and was edited with Qedit to substitute "call header [LF] echo. " for each EOL. DOM is short for Day of the Month, an environmental variable. I am not checking the month, but setting it to September, and the year to 1996. To find both of these at the BIOS level takes too much time. Besides, I know it is September.
at echo off
:: russian.bat for "pravda"
call getday
set DOY=%DAY%˙Sep˙1996
echo.[37;1m[44m[24;1f
cls
call header
echo. 18 April 96 "NO CARRIER" Beta 3.0 for information
call header
echo. REV May 7 96 additions
............... etc
echo. end
- Getday.bat calls Day.com which finds the day of the month as the error level. Day.com is a 10 byte com file (MOV AH, 2A; INT 21; MOV AL, DL; MOV AH, 4C; INT 21). Cockrowch, 1991.
- Header.bat writes the box of information which rides upon the scrolling text window. I'm not going to show this.
Half of it would probably not show with your browser, since this includes ANSI escape codes. Translated to English, this would go, "All the news from Mother Russia," and on the following line, "WELCOME! PRAVDA ON-LINE COMMIES at CCCP.COM." A mix of e-mail addresses and Web Sites.. The text is white on red.
- Wait (wait.com) is noted above.
- Stuffit is described above. It is used here to kill the Klok program.
at echo off
:: run.bat for "rollo"
:: rollo runs on Spider, alternates with klok,
:: requires RAM drive 2500 512 120 /e
:: requires device=c:\george\drvspkr.sys
:: reset the comspec to the d drive
d:
md klok
cls
echo. ..........................please wait a second
pkunzip -en c:\rollo\egarollo.zip > nul
copy c:\rollo\stuffit.com d:\ > nul
copy c:\dos\command.com d:\ > nul
copy c:\rollo\klok.exe d:\ > nul
copy c:\rollo\picem.exe d:\ > nul
copy c:\rollo\3 d:\ > nul
copy c:\rollo\klok.pcx d:\klok > nul
copy c:\rollo\rerun.bat d:\ > nul
copy c:\rollo\tick d:\ > nul
set comspec=d:\command.com
cls
stuffit +0 > nul
copy 3 spkr: > nul
picem /k /n /e /w:1 /v:g d:\*.pcx > nul
picem /k /n /e /w:1 /v:g d:\*.pcx > nul
:: place klok here, kill on 30 seconds
stuffit +0 +30 27 > nul
copy tick spkr: > nul
klok d:\klok\klok.pcx
stuffit /R > nul
rerun
:: rerun is run from RAMdrive
- Drvrspkr.sys is a device driver which generates "Spkr:" as a file which can be written to. Drvrspkr.sys is a shareware program written by Gordon E. Peterson, of San Antonio, Texas. It allows modification of the "beep" sounded out through the PC speaker, as well as playing tunes written in the requisite code. Once loaded (there is a 17k buffer), the PC speaker operates in the background from other programs. (1986)
- The file "3" is actually a modified section of the musical notation identified as Gavotte.spk, written by Char Aznabul, and attributed to F. J. Gossec. Claudia George inspected the code to find breaks appropriate for Rollo Dog, and coded the calilopy-like delays.
- Picem (Picem.com) is a small and amazingly fast Shareware file viewer for GIF and PCX files written by John Bridges. It allows menu or command line operation, and will loop or slide-show any number of images (1991). The parameters here used are, /k, don't wait for a keypress; /n, don't sort files (the unzip orders the files); /e, I forgot what; /w:1, wait one millisecond; /v:g setup for EGA video card.
- Tick is a sound file which sends a short (1 timer click) 9500 cycle sound to the PC speaker at 18 timer click intervals, thus producing a clicking sounds at one second intervals.
- Klok is described above. Klok.pcx is in a subdirectory to keep Picem from displaying it.
- Cadel is noted above.
:: run.bat for "guests"
c:
cd\signin
cadel
signin.bat...... and
at echo off
:: signin.bat for "guests"
cls
:a
cls
if exist guests type guests
echo.
bigtext /fc /A00001111 " SIGN IN"
echo.
cursor /ae
call getmss
echo %ASKENV% >>guests
set ASKENV=
goto a
- Guests is the saved text file.
- Bigtext is described above.
- Cursor.com is by WP, and makes a BIG flashing cursor, although still in the wrong slot - not untypical of Hercules monitors.
- Getmss (getmss.bat) calls Askenv.exe. Askenv.exe is written by Prof. Timo Salmi, of Vaasa, Finland, and returns as an environmental variable a complete line of *whatever* is typed to the screen from the keyboard. (1991)
I resolved two bugs in the logic, and added more flags to track what was going on in the program. The problems with the logic did not show up until the machine started playing by itself. The bugs: Kings would move to the top before Queens at times, and the last card on the stack was not looked at unless the stack contained a multiple of three. So now it attempts moves also when the stack has been turned, and there are no cards face up. Somebody else can solve this problem in the future.
The program is not elegant, but it works. What used to be a call for a keypress is now a routine which randomly attempts moves. All improper moves are blocked by the program. Since I count attempted moves, and all variables are set to integers, the game restarts if 32000 moves are made without a win. Similarly, a separate counter (both are shown on the screen under "Command") tallies attempted moves between valid moves.
Playing by itself the program scores about .9 over long periods. Scoring follows the rules of Klondike Solitaire: You pay $52 for the deck, and get $5 for every card which ends up on top. The screen shows the long term results in games, dollars, and as a fraction. The found file included a very smart time-delay routine which I have used elsewhere.
at echo off
:: run.bat for "soletaire"
:: runs on ...firefly
:: program support QBASIC.EXE SOL22.BAS
qbasic /run c:\sol\sol22.bas
- Clearkey.exe (a shell inside the BASIC program) clears the keyboard buffer. OzWoz Software, Australia (1988).
:: run.bat for "tictac" on Pounds
:: keybuf.com 2 early
:: reduce mode con rate=2 delay=60 in autoexec
:: needs a RAM drive 100 512 8 /e
:: move comspec to ramdrive
:: f drive for ginger
keybuf 2
d:
copy c:\dos\command.com d:\
copy c:\tictac\*.* d:\ >nul
set comspec=d:\command.com
cadel
stuffit +0 > nul
call c:\dos\qbasic /run d:\tictac.bas
c:
- Cadel is noted above.
- Bigtext has been described above. The /Nnnn and /Aannnnnnnn parameters select other than default fill characters, color, and flashing.
at echo off
cls
:a
bigtext /SV /M14 /N111 /A00001111 " Welcome to Beret International Gallery ..."
bigtext /SV /M14 /N176 /A00001111 " Presenting ..."
bigtext /SV /M28 /A00001111 " NO CARRIER "
bigtext /SV /M14 /N176 /A00001111 " by Jno Cook ..."
bigtext /SV /M14 /A00001111 " A catalog for this exhibition is available on the World Wide Web at ..."
bigtext /SV /M14 /N176 " www.Outflux.net/~spaces "
bigtext /SV /M13 " :::"
call gettime
bigtext /SV /M14 /N111 /A00001111 " The time is now ..."
echo. bigtext /SV /M27 /A00001111 ˙%noon%˙˙ > temp.bat
call temp
bigtext /SV /M14 /A00001111 "... please drive carefully ..."
bigtext /SV /M14 /A00001111 "I bought flowers for your mother ..."
goto a
- Gettime (gettime.bat) returns the time as hr:min from an environmental
variable NOON by calling Hour.com and Minute.com (the usual 12 byte error
level com files). The time is written to a temp file because the (quoted)
environmental variable could not be included in the Bigtext command line
parameters.
2 - Thucydides, a 486-33. Fast, now equipped with a TI 486DX2-80 chip, and running at about 220 mHz, and EGA. Thucydides presents "Dum-dee-Dum" and "Klok." Talks through dumdeedum. During development Thucydides was the Kitchen table link for file transfer and archiving. Later it became the workstation which runs the color printer for the "Faces."
3 - Herodotus, a 386-20. Companion to Thucydides, much slower, older, spins yarns and makes up stories about onions. Running "Cuss" and talking.
4 - Spider, a 386-40. Running "Rollo Dog" and "Klok." Absolutely broken com ports, even via I/O cards. With music and clock ticks.
5 - Firefly, a 286-11, the net connection at the GS Workshop at Columbia College till I pulled it. Now running "Solitaire" on CGA with sound.
6 - Frankenstein, a 386-20, running "Pravda On Line" on EGA. Named by Peter, who did not believe that a computer could be made up from broken parts from other computers. Borrowed from Karen. No sound.
7 - Jacob, a 088 XT, running "Rounding Error" on MDA.
8 - Pounds, 286-11. Running "Frustration" (Tic Tac Toe) on EGA, and talks.
- Juniors I and II, PCJr's, running Hexadecimal Dialogue on some sort of IBM super EGA with 128 Kb of RAM, and a TI 3-voice sound chip.
- Gude, 286-11, by AST, B/W Hercules monitors. Gude will run the "Sign In" Log at the gallery door, greet people with Postmodernist phrases.
- Coelecanthus, 386, but very slow. Provides scrolling and talking access to the Exhibition Catalogue, and a printed version.
Volume controls aren't needed; I just use a 4.7k/1k divider (the 386 goes 100% distortion at full up). Tadpole has a sound-out RCA plug, to play carnival music in the background from a 5 watt stereo amp, while it does other things on-screen.
(Installation shot, Adam Mikos) Go to: [part 1] or [part 2]