Skip to main content

SPEEDWRITER II - THE SEQUEL by Richard Karsmakers

All the way back in January of 1987, Frank Lemmen (ex-co-
conspirator of the ACC) and myself got an idea: Why not make a
program that would allow you to send letters to your friends - in
a different way?

We had both experienced the kick of working with a modem,
chatting to someone that might be thousands of miles away from
you. An undescribable sensation shakes through your nerves when
you see a message appearing on your screen while it has been
typed somewhere else.
What now if someone would be allowed to type in a message that
would be stored in a buffer, to be later 'run' on another
computer? Just save the buffer on disk, and allow the other user
to load it back in the system, and 'run' it.

Thus, the idea behind "Speedwriter" was born. Actually it was
something that Frank and I both wanted to do independently - on
the same night. We just sat down together one afternoon and
programmed into the evening.
It was actually ready very soon. The program just used the
Atari's built-in VT-52 terminal and stored all edit functions in
a buffer together with the text.

"Speedwriter" became a small success.
About everyone we knew used it for a couple of weeks; some even
kept on using it for several months (or not, Jan Mes?).

And that was it. When I mentioned it to Stefan recently, he even
had the nerve to tell me he had not ever heard of it!
This was the droplet that made the bucket run full.
I started reprogramming it. I wanted to make it a bit faster,
more flexible and userfriendly. Also, I wanted to let everyone
know that my programming skills had somewhat increased: The old
program was horrendously unstructured and used loads of floating
point variables where the (faster) integer types could be used.
There were dozens of Goto commands as well, which have now been
drastically reduced.

Actually, "Speedwriter II" is an extensive demo of the Atari's
built-in VT 52 terminal. This can be accessed through the so-
called escape codes.
Many people don't know what these all are about; they regard the
VT-52 terminal as something they do not, and never will,
understand.

Let's look at a list of VT-52 terminal codes. Their format is
ESC X (where X can be any of a variety of lower-and uppercase
characters). In GfA Basic, this can be emulated through:

Print Chr$(27);"X";

ESC A Cursor up
This moves the cursor one line up. When it is already in the
topmost line, nothing happens.
ESC B Cursor down
This moves the cursor one line down. When it is already in
the lowest line, nothing happens.
ESC C Cursor right
This moves the cursor one row to the right.
ESC D Cursor Left
This moves the cursor one row to the left.
ESC E Clear Home
This clears the screen and puts the cursor in the Home
Position.
ESC H Cursor Home
This puts the cursor in the Home Position, but does not
clear the screen.
ESC I Cursor up
This moves the cursor one line up. When it is already in the
topmost line, an empty line is inserted and the rest of the
screen scrolled down.
ESC J Clear rest of screen
This clears all of the screen after the cursor position. The
cursor is not moved.
ESC K Clear rest of line
This clears all of the line after the cursor position,
including the cursor position. The cursor is not moved.
ESC L Insert line
This inserts a line above the one the cursor is on. The rest
of the screen is scrolled down one line. The cursor is moved
to the start of the newly inserted line.
ESC M Delete line
Deletes the line the cursor is on. The rest of the screen is
scrolled up; the last line is now free.
ESC Y Position cursor
This enables you to position the cursor. Both values (line
and column) start counting at 0.
Example: Print Chr$(27);"Y";Chr$(32+7);chr$(32+20);
Puts the cursor at line 8, column 21

ESC b Select character color
Using a monochrome monitor only allows you to use 0 or 1
here. Low res, of course, allows 0-15. Med res 0-3. You can
also use characters where a or A is 1.
Example: Print Chr$(27);"b";Chr$(1);
Print Chr$(27);"b";Chr$("A");
Print Chr$(27);"b";Chr$("a");
Prints the text in color 1
ESC c Select background color
Just like the character color, you can change the background
colour.
ESC d Clear screen up to cursor position
Clears all of the screen up to the cursor position.
ESC e Switch on cursor
ESC f Switch off cursor
ESC j Save cursor position
This saves the cursor position to a buffer, where it will
later be able to be retrieved using ESC k.
ESC k Put cursor on saved position
ESC l Clear line
Clears the line on which the cursor is. The other lines on
the screen are not affected.
ESC o Clear line start
Clears the line on which the cursor is up to the cursor
position inclusive.
ESC p Reverse on
ESC q Reverse off

On this ST NEWS disk, you'll find a folder called "PROGRAMS". In
that folder, you will find both the GfA Basic source file of the
program and a compiled'n'packed version of it. Another file,
DEMOTEXT.SPW, can be loaded into the program for some immediate
results and a demo of some of its potential. I am sorry about the
awfully slow speed, but remember....it's GfA Basic.
The program runs perfectly on monochrome monitors, and might
indeed work on medium res as well. Low res will result in strange
things happening...

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.