HI-CROSS Loader for the NOHAU Emmulator (version V0.1)

This diskette contains a prerelease of a loader for the NOHAU emulator. This 
loader allows to load programs written with the HI-CROSS system into the 
emulator for the HC16 from NOHAU.
This prerelease contains not only the HI-CROSS loader (HICROSS.DLL) but also 
the emulator software (EMUL16.EXE, BWCC.DLL) running on the host-PC. In order 
to run correctly, the version of EMUL16.EXE contained on this diskette has to 
be used instead of the version delivered together with the emulator hardware. 


Prepare the application to be loaded into the emulator

Nothing special has to be done the prepare your application to be loaded into 
the NOHAU emulator; therefore, you should be able to load the demo programs 
contained on the HI-CROSS distribution diskette. The following points however, 
have to be considered:

1. Since the NOHAU emulator does not have a terminal emulation feature, the 
   demo programs using this terminal emulation (calc.abs, bcalc.abs) will not 
   work the same as with the HI-CROSS debuggers. The program 'calc.abs' however, 
   will use the on chip SCI for terminal IO and a normal terminal could be 
   connected to the SCI port of the emulated processor.

2. In the demo programs the macro HALT (defined in 'hidef.h') is often used 
   to halt the demo program. The default definition of HALT results in loading 
   a parameter in register B and execution a SWI instruction. Since the vector 
   to catch this trap/interrupt is not initialized by the demo program itself, 
   the program will crash if it reaches HALT. To avoid this, the HALT macro has 
   to be rewritten or the SWI vector has to be initialized to point to a valid 
   trap handler (infinite loop).

3. Since the HI-CROSS system allows to search files in many different 
   directories this feature also has to be supported in the HI-CROSS loader for 
   the NOHAU emulator. Unforunately the HOHAU emulator just allows to define 
   two paths, one where the source files should be located and the second where 
   the absolute linked object files can be found. To allow the HI-CROSS loader 
   to find all the source and object files belonging to the application program, 
   the following strategy is chosen:
   1. Use the path found in the absolute linked file to find the object file.
   2. If not found look for the object file in the current directory (where 
      'emul16.exe' was started from).
   3. Search for the object file in all the paths defined by the variable 'HIPATH'
      which can be defined in the file 'devault.env'. This file has either to be
      found either in the directory defined for 'User source code:' or in the
      directory defined for ':
   If a object file is not found it will not be possible to debug this module but 
   the loader continues loading the other object files of the application. 

   To get the source file line numbers the loader also has to read the source
   files of the application program. A similar strategy is used to look for the
   source files:
   1. Use the path found in the object file to find the source file.
   2. Use the path defined in the NOHAU emulator (User source code:).
   3. Continue search as for object files (see above 2. and 3.).

   Since the NOHAU emulator searches the source files just in the directory 
   defined ('User source code:') it may happen that loader will find a source 
   file and generate the correct line number information but the emulator would 
   not be able to find it (and not be able to show it in the source file window).   
