home *** CD-ROM | disk | FTP | other *** search
- 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
-