
N1OWU's Enhanced Version of the Alef Null "dl" Program

Doug Braun, N1OWU
Feb. 5, 1997

INTRODUCTION
------------

The Alef Null "dl" program is designed (among other things) to
download programs to the 56002-based DSP Card 4. I made some
changes to this program to make it work better with a 56002 EVM
card running my modified version of the Alef Null Leonid BIOS.
The combination my this program with my BIOS modifications makes
it very easy to run different modem or audio applications on your
EVM.

First of all, credit where credit is due:

/*
 *  Copyright (C) by Alef Null 1992, 1993, 1994
 *  Author(s): Jarkko Vuori, OH2LNS
 *	       Rob Janssen,  PE1CHL
 */


USAGE SUMMARY
-------------

Install the N1OWU bios2.asm into the EEPROM
of your EVM.

Set the environment variable DSPPORT to the COM port
number that is connected to the EVM, either 1 or 2.
This program and BIOS2 assume they will communicate
at 19200 baud.

For each application you run, generate a .LOD file
with the Motorola-supplied CLDLOD utility, e.g.:

  cldlod g3ruh.cld > g3ruh.lod

To start the application, simply type:

  dl g3ruh

There are various options, described below.


OPTIONS
-------

1: The program is smart about the application name.
You can say things like:

  dl ..\..\evm\g3ruh
  dl g3ruh.lod

etc.

2: To specify a different COM port, use -p.
Then you must also use -g before the application name:

    dl -p2 -g g3ruh

3: To simply reset the EVM, do:

   dl -x

4: Cool feature!  You may patch any labeled EVM memory
location with an integer of fractional value.  For example,
to start up N1OWU's audio signal generator tone.asm for
a given frequency and amplitude, run:

   dl tone f=1200 rms=0.12

Dl reads the EVM program's symbol table from the .lod file
to determine the actual memory locations to be patched.
But keep in mind that there is no integer/fractional type checking.
If you give a numeric value with a decimal point, it
is assumed to be fractional.  For example, if you run:

  dl tone f=.234 rms=99

you will get strange results.

Entering a decimal number greater than +/- 1.000 will give
an error message.  If a value of exactly 1.0 is given, it is
replaced by the largest possible fractional number (.99999something).

If the symbol name does not represent a X, Y, or P memory location,
you will get an error message.

No spaces are allowed between the synmbol name, the equals sign,
and the numeric value.

If the given symbol cannot be located, a search is made for
a G56K (C compiler) global symbol with the matching name
(e.g. the C variable blah is labelled Fblah by the compiler).


NOTES
-----

Sorry, there's no documentation for the original program.
If you want more information, you have to either find the
DSP Card 4 User's Manual, or read the code...

The program has also been enhanced to handle BLOCKDATA statements
in the .LOD files.  These are generated by the G56K C compiler.

I built dl.exe with Borland C version 3.0.

The source files and makefile also build a program called dlib.exe.
This is meant specifically for the original DSP Card 4 Leonid BIOS.
It is not needed for the EVM and the N1OWU version of the BIOS.

Although I have not tested it, this enhanced dl.exe (and dlib.exe)
should still work OK on a DSP Card 4.

The program can be built and run under Linux.  Use lnxmake instead
of makefile.

This distribution contains all the files of the original Alef Null
distribution.  These include a subdirectory, "perom", what has
software to program a EEPROM via dl.exe.  I have not looked at
this, and they probably need some fixes to work with my
modified BIOS.  But it might be a good idea...
