Meaningful Play

Saul Pwanson

github
resumes
Airbnb

DarkDraw

PsychoNet BBS banner from iCE pack 1994/02

In 1994, I was a senior year in high school, and TheDraw was the de facto ANSI art editor:

TheDraw is a text editor for MS DOS to create ANSI and animations as well as ASCII art. [...] The last public version of the editor was version 4.63, which was released in October 1993.

TheDraw was one of the first ANSI editors that supported ANSIs longer than 25 rows. The limit in the latest available version is still 100 rows. Other editors, such as ACiDDraw are able to support ANSIs larger than 100 lines for a single ANSI/ASCII (ACiDDraw supports 1,000 lines).

This last bit might seem like a strange detail for the Wikipedia to include, but at the time it was something of a big deal. Artists drew vertical banners for BBSes which would scroll by at 9600 baud when you logged in. But the trend was towards longer and longer murals: the banner to the right for PsychoNet BBS (released in the iCE pack from February '94), is 390 lines tall. Only being able to edit 100 lines at a time meant artists had to manually stitch together multiple files. But this was a limitation of DOS, which ran in real mode and thus had 64k memory segments. At 160 bytes per line, 64k can only store 409 lines.

My good friend Doug was involved with an ANSI art group called HaVoK. Between school and rehearsals for the spring play, I wrote DarkDraw, entirely in assembly, with Doug acting as project manager. DarkDraw was distributed in the May '94 HavoK art pack, along with HavokView (HV.COM), an ANSI art viewer, that I had also written entirely in real-mode assembly.

DarkDraw was able to use all the memory available to real mode, supporting over 3000 lines in 480k, which was still a healthy amount of memory in 1994. It managed this feat with some real mode segment arithmetic, which was clever but almost immediately obsolete. DarkDraw also contains some of my experiments with self-modifying code and steganography.

You can play with DarkDraw or HavokView yourself; all you need is DOSBox and DARKDRAW.COM (a 14k DOS executable .com file). See DARK.DOC for a brief introduction; essentially, use Alt-L to load any .ANS file (like NB-POFT.ANS by Nightbreed, who was the only user who ever registered); Alt-V will display it in VGA mode. Alt-Z for the help screen, ESC for menu.

If you find DarkDraw useful in your own work, please register your copy.


saul@pwanson.com