This floppy contains a complete set of source and compiled versions of all the busmaster and pc software in a consistent and up-to-date form.  They should all compile in virgin LISP.SYSOUTs, but because of the wierdness of the Xerox distribution policy, I have made the LOADCOMPs refer to the compiled files, so things must be compiled in the order
BUSEXTENDER
BUSMASTER
<others in any order>
The .DCOM files on the floppy were compiled in Intermezzo.

There are also documentation files for all the packages on the file.  They were produced by Intermezzo release standard Tedit.  The one for BUSEXTENDER is little changed from Herring's original.  The documentation for BUSMASTER has been extensively revised and extended, as has that for PCDAC.  All three of these are meant to be of release quality as they stand.  The documentation for BUSTEST and PCMEMTEST is much more rough and ready, as I am not clear what the distribution of these is to be.

--------
NB
--------
Both the BUSMASTER and the PCMEMTEST documentation refer to the \BUSBLTCHECKxxx opcodes, although those no longer seem to work in my Intermezzo world - if they have been de-commissioned the relevant sections of the documentation should be amended before release.
--------
--------

Brief summary of changes in facilities from the Harmony release
of Herring's original work:

-------
BUSEXTENDER:

macros for BX.INPUT and BX.OUTPUT changed to eliminate call to \DEVICE.INPUT/OUTPUT.

-------
BUSMASTER:

Most low level functions split into PCBUS.xxx and MBUS.xxx versions.
MBUS.xxx versions not tested.  PCBUS.READWORD and PCBUS.WRITEWORD added.

BUS.RESET fixed, and kludged to simulate Stop command to pc.

\BUSBLTxxx opcodes documented

BUSBLT.xxx functions removed, and PCBUS.READARRAY, PCBUS.WRITEARRAY and PCBUS.CHECKARRAY added, replacing most of the old functionality.

Macros for updating ones view of dma address and tc bit added, one fast but unsafe and one slow but safe:  BUSDMA.FASTUPDATEADDR and BUSDMA.SLOWUPDATEADDR.  Documentation includes schematic example of use.

New checkout functions included:  BUS.CHECKOUT, PCRCVR.CHECKOUT, PCMEM.PRELIMCHECK, PC.CHECKOUT - provide basic confidence tests.  Stubs for MB equivalents are there, but not implemented.

-------
PCDAC

More info on type of board is now in PCDAC.BOARD.

Names of all records changed to get rid of "." which was causing DWIMIFY problems.

PCDAC.SETCLOCK can now take first argument in Hertz as well as ticks.

There is a flag you can set in PCDAC.BOARD which will turn off all the error/status noise and just cause an error - this is an experiment for people building user-level packages to try out.

New function PCDAC.HARDRESET

New function PCDAC.TEST, which exercises the on-board Test logic.

New function PCDAC.MAKETEST, which produces a checkout and calibration tool, with digital oscilloscope, tone generation, playback and other useful facilities.  Sensative to the settings in PCDAC.BOARD, so should work for any DT2801 or 2805 series board, but only tested on 2801-A.

-------
BUSTEST

Releases the tool formerly known as the BusBox, for use in tracking down Busmaster data path problems.

Function BUS.MAKETEST makes the tool.

-------
PCMEMTEST

Releases the tool formerly known as BusmasterTest, for use in tracking down Busmaster block transfer problems.

Function PCMEM.MAKETEST makes the tool.

Function PCMEM.CHECKOUT runs a confidence test on pc memory.






Henry Thompson
Edinburgh
18 September 1985