Help Front DOR

If the brother Extended pointer in the application front DOR is not set to zero it is taken as pointing to a help front DOR.

The Help front DOR

3 bytes0 0 0Extended pointer to parent
3 bytes0 0 0 Extended pointer to brother
3 bytesx x xExtended pointer to son - this points to the first Help DOR
   
1 byte$13DOR type, Application Front DOR
1 byte8DOR length
   
1 byte'N'Key for name field (DT_NAM)
1 byte5Length of name and terminator
5 bytes"HELP", 0NULL-terminated name
1 byte$FFDOR terminator

 

A help DOR entry looks like an application DOR entry, but without the information record.

The Help DOR

 

3 bytes0 0 0Extended pointer to parent
3 bytesx x xExtended pointer to brother - points to another Help DOR or set to 0
3 bytes0 0 0Extended pointer to son
   
1 byte$83DOR type, Application ROM
1 byteXTotal DOR length
   
1 byte'H'Key to Help section
1 bytexLength of Help section
3 bytesx x xExtended pointer to Topics
3 bytesx x xExtended pointer to Commands
3 bytesx x xExtended pointer to Application Help
3 bytesx x x

Extended pointer to Token Base ($000000 for no token, $FFFFFF for system tokens)

   
1 byte'N'Key to Name section
1 bytexLength of name
x bytes"xxxx",0Null-terminated application name.
Must be the name of an existing application
1 byte$FFDOR terminator byte


The Help in a Help DOR takes priority over the Help in the application DOR, but for ROM applications it is not necessary to use a separate DOR. The use of the Help DOR is mainly in providing Help for internal applications or applications in other ROM cards.

If you intend to provide Help for an internal application you will need to provide all the same command codes for the commands. Therefore, it will be necessary to examine the structure of the internal application carefully.

This is readily achieved by opening the application with GN_Opf and A = OP_DOR to get a DOR handle, and reading the addresses of the Help structures out of the Help record.

The application name can be retrieved by letting FILER provide the filename: try listing all application names with the ":ROM.*//*" wildcard.

web analytics