LLF Version 1.1 11/27/86 LLF Version 1.1 corrects a bug in Version 1.0 that caused sporadic and unpredictable bomb-outs. The bug manifested itself with a 'TPA Overflow' error-message, for which nobody had a sensible explanation. Bruce Morgen finally tracked the bug down during his recent exhaustive work with library files. The bug results from an error in the LUDIR module of SYSLIB Version 3.6. The source of the bug was traced to the file SLUDIR.Z80. The line in SLUDIR.Z80,'ld a,(bdose+7)', should be 'ld a,(bdose+2)'. The LUDIR module of SYSLIB, used in LLF, derives the top of TPA from the most significant byte (msb) of the bdos entry address, which is contained at memory address 7. Since 'bdose' is equated to 5, the most significant byte of the bdos entry address is at 'bdose+2', not 'bdose+7'. By loading 'bdose+7' into the A register, the LUDIR module introduces a random number into the top-of-TPA calculation. Neither CP/M nor ZCPR3 documentation sets forth a value for 'bdose+7' and at any particular time this address may contain any of 255 different values. The source code for LLF has not been released. Nevertheless, examination of the program with a debugger reveals the erroneous code at 069DH. That byte should be changed from 0C to 07. That's all there is to it. For those unaccustomed to in-memory modification of COM files, we have included a patched version of LLF in this library, LLF Version 1.1. In addition, we have included the modified source code for the LUDIR module, SLUDIR11.Z80. Bug Fix: Bruce Morgen Director, NAOG/ZSIG Documentation: Richard Jacobson Sysop, Lillipute Z-Node 312-649-1730 System 1 312-664-1730 System 2