The boot code resides in 3 files: Bootmain.lst, Common.inc, and Patchcst.lst. Bootmain.lst -- all of the code is here Common.inc -- derived from Daniel's file of the same name with the same purpose, laying out definitions, etc. Patchcst.lst -- derived from Daniel's file of the same name, it has the patchable constants. The 13 DCE opcodes supported in Boot mode each have a subroutine named 'DCE_xxxxxxx', where the 'xxxxxxx' is the DCE opcode name. For example, the subroutine which implements the upload command is called 'DCE_LFDUPLOD'. There is also a subroutine for illegal commands and for operate-mode commands which Boot must flag. The ISRs are at the top of Bootmain.lst since their jump vectors must reside so near the top of memory. Then follows subroutine 'boot_main', which is the main boot code. Boot_main initialized various things and then jumps to 'boot_main_executive' which is the endless loop performing calls to all tasks. Within 'boot_main_executive', the tasks are arranged in no particular order within this loop. Control as to which task may execute is determined by flag bits. These flag bits are clearly labeled as such in the top of the source module where they are declared. Below 'boot_main_executive' are several routine which support the executive loop. Below those are the 13 DCE functions, arranged in numerical order of their opcode: 80h, 81h, ... The only exception is that opcodes F0h and F5h are grouped together due to their similarity. Below the 13 DCE functions are some routines which support these functions. The biggie, named 'build_hkp', builds the housekeeping packet in accordance with a housekeeping script found in source module 'patchcst.lst'. Wade though it as you wish, but it may take some explanation on my part. I went this route because I wanted to have one routine which would collect data from many sources and build the housekeeping packet. By having the housekeeping script in the patchable constants, it allows one to change the layout of the housekeeping packet even after the boot PROM is burned. Hopefully the PROM will have a very good version of the housekeeping, but I didn't want to burn any bridges. There are more, miscellaneous routines following 'build_hkp', but they generally fall under the title of 'support functions'. ********************************************** ** Dr. William I. Clement, President ** ** Clement Engineering, Inc. ** ** 1261 Dogwood Road ** ** Arnold, MD 21012-2220 USA ** ** (Tel)410.518.6591, (FAX)410.518.6597 ** ** (eFAX)603.843.0017 ** ** mailto:wclement@toad.net ** ** mailto:wclement@hst.nasa.gov ** ** http://members.tripod.com/wclement/ ** **********************************************