Ladybug quest
       
       I read a document with sample LOGO code, and chose to try it out in
       FreeDOS.  First i tried Ladybug LOGO, the LOGO that i had used as a
       kid.  This brings back a few memories.
       
       In middle school i checked out an spy adventure book from the
       school library.  It involved typing in BASIC code to decrypt hidden
       messages and solve various puzzles.  I had fun typing it into an
       Apple II during lunch break.  Then i took the book home.  Dad let m
       type code into GW-BASIC on an IBM XT.  He also helped me debug it w
       i made mistakes.
       
       Later that year, i took a course designed to explore our interests.
       would spend each week on a new subject.  During the computer scienc
       subject, i learned to use LOGO on the Apple II.  This was the first
       time i was officially taught to use a computer at school.
       
 (HTM) download SIMCGA 4.1
       
       Dad downloaded Ladybug LOGO from Compuserve or a BBS and let me use
       that at home.  Ladybug LOGO was hard-coded to use a CGA graphics
       adapter. Since the IBM XT had a Hercules monochrome graphics adapte
       it would not run out of the box.  Dad set it up with a clever TSR
       named SIMCGA, which made the necessary video BIOS and memory map
       changes to emulate CGA on a Hercules card.  This enabled Ladybug LO
       to run on our hardware.
       
 (HTM) download Ladybug LOGO
       
       I installed Ladybug LOGO in FreeDOS 1.2 on VirtualBox.  Ladybug
       is a software engineering marvel because of its well organized
       documentation and the capabilities that it DOES offer, considering
       that it fits within the constraints of a real mode compiled BASIC
       application and a single floppy disk.  It is also interesting to no
       that the documentation uses a mixture of feminine and masculine
       pronouns, which seems progressive for 1984.
       
       The software's author was an interesting character.  He was humble 
       did not expect to get rich.  His corporate job paid the grocery bil
       and Ladybug was offered on a donations accepted basis to fund his
       hobby.  Below is a magazine article about Ladybug LOGO.
       
 (IMG) Ladybug article page 1
 (IMG) Ladybug article page 2
 (IMG) Ladybug article page 3
 (IMG) Ladybug article page 4
       
 (HTM) From PC Magazine, May 15, 1984
       
       Ladybug ran fine in FreeDOS, but it would not execute the sample LO
       code, which used list processing primitives and variadic procedures
       Ladybug LOGO must have internal list processing in order to run LOG
       code.  However, it does not expose its internal list primitives as
       LOGO commands. It also lacks variadic procedures.  Ladybug didn't e
       offer enough functionality to build my own primitives.
       
 (HTM) UCBLogo homepage
 (HTM) download UCBLogo 5.3 for DOS
 (HTM) download UCBLogo 5.3 source code
       
       Next i downloaded UCBLogo 5.3 for DOS, which could run the sample
       code.  Success! Let's go deeper.  On the same page the author also
       offers three textbooks free of charge, which use LOGO to teach deep
       concepts in computer science.  Thinking this might be fun, i began 
       read the manual and tinker with commands.  The EDALL command spawns
       the JOVE full screen editor, which is a clone of Emacs, which is a
       depraved editor indeed.  (Of course i am a completely objective
       observer in the emacs versus vi dichotomy.)  The manual says that i
       can use any editor i wish by setting the EDITOR environment variabl
       So i set it to vi.
       
 (HTM) download Calvin 2.3
 (HTM) download Calvin 2.3 source code
       
       My DOS vi of choice was Calvin 2.3, which is tiny, fast, and
       functional.  It works perfectly in DOSBox but screen navigation
       produces artifacts and glitches in VirtualBox.  Calvin comes with
       source code and it is compiled using Borland Turbo C 2.0 and
       A86 4.02.  Reading the source code, my guess is that the glitches
       come from CGA BIOS bugs in VirtualBox, specifically around
       INT10h AH=05h SELECT ACTIVE PAGE.  Rather than try to fix or work
       around this BIOS bug myself, i thought i would try another editor.
       
 (HTM) download Elvis 2.2_0 for DOS
 (HTM) download Elvis 2.2_0 source code
 (HTM) download Untar DOS utility
       
       Next up i tried Elvis 2.2_0 for DOS, which is the same codebase tha
       BSD's default nvi editor is based on.  Elvis comes with source code
       and it is compiled using Microsoft Visual C++ 1.5.  Elvis crashes w
       run from UCBLogo.  There is a blip on the screen and UCBLogo prints
       the following error.
       
       File system error: Could not launch the editor  in edall
       [edit contents]
       
       I briefly considered compiling UCBLogo to debug the code.  However,
       UCBLogo is compiled using the Zortech C Compiler.  I couldn't find 
       place to download this compiler.  It has been superseded by
       Digital Mars, but that compiler suite no longer runs on DOS.  Some
       other troubleshooting would be more appropriate.
       
       I tried SET EDITOR=COMMAND.COM which revealed a clue.  With this
       setting the EDALL command would drop me to a DOS shell.  If i ran
       ELVIS.EXE it would return immediately to the prompt with ERRORLEVEL
       The elvis documentation says it should only ever return 0 or 1.  Th
       elvis code shows that 4 is also possible.  Nowhere in the code does
       return 8!
       
 (HTM) Table of DOS exit codes from Ralph Brown
       
       Ralph Brown's interrupt list shows that error 8 means that DOS ran 
       of memory.  The MEM command showed that the maximum executable size
       within the UCBLogo spawned shell is 414k, and ELVIS.EXE is over 428
       It must have something to do with elvis being a real-mode 16-bit
       application.
       
 (HTM) download VIM 7.3 for 32-bit extended DOS
 (HTM) download VIM 7.3 runtime
 (HTM) download VIM 7.3 source code
       
       Next up i tried the DOS 32-bit extended VIM version 7.3, compiled w
       DJGPP.  This version is a little more complex to install, but it is
       able to make better use of extended memory.  VIM works perfectly wh
       run from UCBLogo.  Success!
       
       On a tangent, i am pleased with how well the latest DJGPP works on
       FreeDOS 1.2.  Combined with the DOSLFN driver i get long file names
       and a Unix style shell.  FreeDOS has come a long way and promises t
       be a fun toy to play with.
       
 (DIR) BenCollver - Phlog
       ___________________________________________________________________
                       Gophered by Gophernicus/3.1.1 on OpenBSD/amd64 7.6