NULU MODIFICATION This is an update to Martins original documentation. It details which locations to patch to install NULU. These have been updated as part of the modification process to create NULU 1.52. Patches are listed in the order in which they appear in NULU.COM. Each patch is explained and the default values are listed immediately next to the patch address. All addresses are absolute hexadecimal. Patch Default Explanation 00194h 50h Number of characters each full video line can contain. Not necessarily the same as the number you can see. 00195h 50h Number of characters visible on a line at any one time. 00198h 07h This byte indicates the number of files that NULU can have open at any one time. The base number is 4 and should never fall below that. The value of 3 has been added to it to allow 3 level nesting of NCF files. If the NCF value is increased or decreased, identical changes should be made to this byte. (See Patch at 00251h.) 00199h 0010h This obscure word controls the number of relocatable tasks that can be controlled by the NULU memory management routines. Because each file is a relocatable task, the same modifications for the previous byte apply here. The base value of this word is 000dh and should never fall below that point. (See Patch at 00251h.) 0019bh 10h Number of contiguously numbered disk drives in your system. If you have drives A and B, set this value to 2. It will prevent you from accessing an invalid drive. 0019ch 10h Number of contiguous user areas that NULU will be allowed to access. Under normal CP/M 2.2, Turbo-Dos or a ZCPR system, I understand that this number can be as high as 20h. For CP/M Plus or most systems that use time/date stamping this number should not exceed 10h. 001cdh 0005h This is the address of the BDOS vector. All operating system calls go through this address. If you have some weird, non-standard CP/M implementation you can patch this to try to make NULU work with it. 0024dh 00h Set to a non-zero value to make NULU READ/ONLY. No operators will be executed that could change the library or disk directories in any way. 0024eh 00h LU.COM was set up to exit automatically if a command tail was used when LU was invoked. With the release version of NULU, it takes the -X command to exit. Set this byte to a 01h to get it to act like LU in this respect. That is, it will automatically exit after executing the passed command tail, if one was present. 0024fh 01h Set to a 00h to start NULU with BRIEF mode ON (long messages not printed). 00250h 01h Set to zero to prevent users from being able to ESC,RET from the PROMPT AND CHAIN TO PREVIOUS MODE prompts in NCF files. (Be sure to also change the values at 00198h and 00199h.) 00251h 03h This byte indicates the nesting level allowed for NCF files. I have no idea what the upper limit is, but watch that Data Buffer Size! 00252h '-Y *LBR -O',0 Starting here are 39 bytes in which any valid NULU operators may be stored. This line will be automatically executed when NULU is loaded, even before any other parameters passed on the command line. This might be used to create a version of NULU that, after loading, sets the drive/user defaults to B0:, prints the menu, scans the drive for library files, then switches to the open library mode. That command line would look like this: -U B: -H -Y *LBR -O Notice that all characters in this line MUST be UPPER CASE. The entire line MUST be terminated by a null byte. Only 39 bytes are available for text...not a byte more. The 40th byte is for the null terminator. 002a0h 3ch This is the number of lines that NULU will print on each page during member file printing. Change this value in accordance with the line printer patch below. Set it to zero to have NULU ignore line counts altogether. Starting at 0027dh are 5 data areas used to define strings needed to control the console attributes. Each string is preceded by an identification byte and a byte indicating its active length. Then 5 bytes are available for the actual definition. Therefore a total of 7 bytes is consumed for each video control. The attributes are, in order: DIM or REVERSE VIDEO ON (DIM is preferred) DIM or REVERSE VIDEO OFF UNDERLINING ON UNDERLINING OFF CLEAR SCREEN Each control becomes active as soon as it is patched in. Likewise, there is one string defined for the LST: device that will be issued immediately before printing a file. It begins at 002a2h and has the same format as the strings above.