VGALOGO.WS4  by Emmanuel ROCHE
-----------

Recently,  John Elliott released VGALOGO.CMD, a version  of  Dr.
Logo  for the (English) ACT Apricot F1e under Personal  CP/M-86,
patched to use a VGA screen under CP/M-86.

Many years ago, as explained in the "Apricot PCP/M-86" thread of
the  comp.os.cpm Newsgroup, I used the  original  copy-protected
Dr. Logo.

I was curious how different was the freely copiable version,  so
downloaded and tried it.

A>vgalogo

Welcome to
Logo for the F1  19/04/85       (=19 April 1985)

Copyright (c) 1984, Digital Research
Pacific Grove, California

Dr. Logo is a trademark of
Digital Research

Serial No. XXXX-0000-654321

Please wait

?
 

First thing to do: check that we can exit properly.
 

?bye
 

It did not work! What is going on? This is how it worked on  the
copy-protected IBM PC version (and the Amstrad PCW8256). Let  us
try it in uppercase, just in case.
 

?BYE
A>
 

It worked! Amazing! By the way, let us have a look to the sample
Logo  programs provided. This is what I suspected: all  of  them
are  in uppercase. A quick look to my old Logo  listings  showed
that  they were all in lowercase... So, VGALOGO seems to have  a
"feature"  which  will have to be investigated  further  in  the
future.
 

Back to VGALOGO.
 

A>vgalogo
(Don't forget to toggle this SHIFT key!)
?NODES
61066
 

Whaow!  If we take a node to be 4 bytes, that means a  workspace
of  more than 238 KB! (Almost four 8-bit TPAs... or 4 times  the
capacity of MBASIC-86) When was the last time you wrote a 238 KB
program with an interpreter under CP/M-86? The less that can  be
said is that this is quite an improvement over the 15 KB of  the
8-bit version of Dr. Logo...
 

I  then had a look to the sample Logo programs. Since  they  all
display   graphics,  I  will  give  their  name  and   a   short
explanation, rather than explain step-by-step how they work  one
after another.
 

By the way, to load one Logo program into the workspace, you type
 

?LOAD "FILENAME
 

(?DIR gives you a list containing the Logo files present on  the
default drive.)
 

STRING.LOG
Careful!  When  you  load  it,  it  displays  the  names  of   2
procedures:  STRING and PIC but, contrary to the filename  under
which  they  were saved, you need to type PIC to  run  STRING...
(Contrary  to  BASIC,  you don't save only one  program,  but  a
collection  of procedures, one of them being the "program".)  As
for  its  display, it draw one big circle, then  abother  circle
with 2 hubs?

PATTERN.LOG
Rotates a polygon.

ENTER NUMBER OF SIDES IN POLYGON... 5
NUMBER OF ROTATIONS................ 2
LENGTH OF ONE SIDE................. 50

DMOUSE.LOG
A mouse demo.

(it's drawing with the mouse, but the moves of the mouse are a little reversed).

FILLDEMO.LOG
Obviously, some demo showing the FILL primitive. Under SETRES  0
(the  default),  draws  some lines, then fills  4  squares  with
green.  Under SETRES 1, draws some lines. The less that  can  be
said is that there is a problem, somewhere.

CASCADE.LOG
Displays a stack of multi-colored cubes in a corner (pseudo 3D).
Curiously, this time the FILL primitive works perfectly.

DEMO.LOG
The real gem. Divides the screen in 4, then run one demo overlay
in each of the 4 areas. Then displays all the background colors,
creating a procedure on the fly, then try to load a picture from
disk.  (Normally, Logo picture files are filenamed PIC, but  the
one  provided  was filenamed PC0?) Fails, since LOADPIC  is  not
implemented. One slight error: the "turtle" remains visible when
the 4 overlays are run. Normally, the first thing that you learn
is  to remove the turtle from the screen ("HIDETURTLE" or  "HT")
once  a program is debugged. This speeds the drawing, and  don't
corrupt  the  screen  (this is important because  of  the  small
resolution). This one must be seen in SETRES 1 mode.

One thing that was painful was the slowness of floppy disk drive
accesses  (especially  HELP,  that  I  used  to  understand  the
parameters  used  in some programs). If VGALOGO was run  from  a
RAMdisk, it would be perfectly usable.
 

As  far  as I know, this is the first time  that  a  Programming
Language  with  graphics is available under  CP/M-86  since  its
revival... John Elliott has done a world premiere! Of course, as
explained  above,  some  bugs  remain  but  this  is  only   the
beginning.

<snip>

Yours Sincerely,
"French Luser"
 
 
EOF