5271LOGO v0.9
=============

  The programs in this zipfile are designed to patch the Apricot F1 version
of DR Logo so that it will run on an IBM 3270 PC (model 5271) with the 
All Points Addressable option board fitted. It may also work on other 
3270-compatible PCs with similar graphics hardware.

  Note that this version of DR Logo is a CP/M-86 program, originally targeted
at Personal CP/M-86 v3.1. It was tested on PCP/M-86 v2.0; it may also work 
under DOS Plus. 

Implementation Details and Bugs
===============================

  Compared to the F1 version of Logo, this is pretty much feature complete.

* The two Apricot modes (320x250x16 and 640x250x4) have been replaced by
  modes specific to the 3270 PC: 360x350x4 and 720x350x2.

* Mouse support is untested, since PCP/M-86 has no mouse drivers.

* The TONES primitive is implemented. Syntax is:

  TONES [ frequency duration { frequency duration ... } ]

 Valid frequency values range from 19 to 16383; the upper limit is fairly 
 arbitrary, but is higher than I can hear. Both limits can be adjusted by 
 changing the MINTONE and MAXTONE values in 5271lios.a86, but be careful; 
 MINTONE was set at 19 because frequencies of 18 or lower crash the sound 
 generation code!

* The SETPAL and PAL primitives have been implemented, though they only work
 in 360x350 mode. The syntax for SETPAL is:

    SETPAL palette

 where 'palette' is 0 to 2. Note that due to the limitations of 3270PC 
display hardware, use of SETPAL causes the screen to be cleared.

 The syntax for PAL is:

    PAL

 which returns the current palette.

Change History:
===============

[v0.9] First release of 5271LOGO, based on VGALOGO patches and unreleased 
CGALOGO patches.

Technical Information:
======================

 The file LIOS.A86 contains a disassembly of the machine-dependent bits of 
the Apricot F1 version of Logo. This has then been rewritten as 5271LIOS.A86 
for the 3270PC. The program LIOSMERG.EXE overlays the appropriate changes onto 
a copy of F1LOGO.CMD.

  However, since the 5271 support routines are bigger than the original F1
routines (apart from anything else, there's no BIOS support for text output
in the extra graphics modes, so 5271LOGO has to contain an 8x14 graphic font), 
some helper routines have been placed in a separate module - 5271LIO2.A86. 
This module is also merged in by LIOSMERG.EXE. Calls from 5271LIOS to 5271LIO2 
are far calls to a jumpblock at the beginning of 5271LIO2; the code around 
"setsegs" in 5271LIOS sets up the jumps to it.

  For example, this build sequence:

  RASM86 5271LIOS
  LINKCMD 5271LIOS
  RASM86 5271LIO2
  LINKCMD 5271LIO2
  LIOSMERG F1LOGO.CMD 5271LIOS.CMD 5271IO2.CMD 5271LOGO.CMD

  will build a 5271LOGO.CMD containing the two 3270PC modules.

