home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
USCX
/
TURBO-06.ZIP
/
LU.DOC
< prev
next >
Wrap
Text File
|
1985-02-23
|
7KB
|
199 lines
LU.PAS MS-DOS VERSION 1.21 January 12, 1985
NAME
lu - create and maintain a Novosielski library file.
SYNOPSIS
lu - all prompts for data are done by the program
DESCRIPTION
Library Utility (Pascal) is a program to allow combining
multilple files into one larger file.
Version 1.21 replaces all prior versions of Pascal coding.
The major revisions are:
revamping of the screen handling to use the graphics
characters in the character set.
making the modifications to the library more interactive
through the use of automatically updated directorys
on screen at all times, filesize and entry usage...
The use of a simple window scheme to keep prompts from
overwriting any of the screen display.
the addition of a status line/function key setup to
allow use of the function keys to control LU.PAS
Version 1.21 does NOT include the following LU86 4.0
revisions:
The addition of CRC calculation and checking to improve
reliability,
The addition of member time and date stamping,
Support for exact file lengths of library members.
Wildcards may MOT be used.
Error reporting and recovery have also been improved.
Prior versions of 16-bit LU and LU86 would re-use
deleted directory entries when performing an add/update
operation. LU.PAS 1.21 will not reuse deleted directory
entries [Note 1] and requires reorganization to reclaim
deleted directory entries. This was done to provide
an indication of unused space in the lbr file.
*
[Note 1]
Except that in the case where an added file has
the same name.typ as a DELETED entry, the DELETED
entry is intentionally invalidated by LU.PAS to
prevent an inadvertent unerasure and duplication of
that entry name.),
-1-
LU86.EXE MS-DOS VERSION 4.0 September 2, 1984
LIBRARY FORMAT
The entire library file and each of its members are concep-
tually organized into "sectors", each sector being 128 bytes
long. (From CP/M, where LU originated). Each sector of the
file belongs to at most one library member. Each member
comprises a whole number of sectors. The last sector of a
member may, however, be logically declared as a "Short
Sector". Although it physically contains 128 bytes, a Short
Sector contains one or more "pad" bytes at the end for the
purpose of maintaining the structure of the library file as
a whole. A member may have as few as 0 sectors.
Members may be referred to by a name of up to 8 characters,
and an extension of up to 3 characters. The naming rules
are identical to those for the naming of CP/M-80 disk files.
Members must be uniquely named; any given combination of
name and extension may identify at most one member.
The start and end points of each member are defined by the
pointers in a "directory entry" for the member. There are
no embedded start or end marks separating the members. All
sectors between the start and end sectors of a member belong
to that member. The members need not appear in the library
in the same order that their directory entries appear in the
directory.
The directory information in an LU style library is con-
tained in the same file as the data files, or members. The
amount of space to be allocated to the directory must be
specified by the user when a new library is created, but can
be changed when the file is reorganized. The size of each
LU directory entry is 32 bytes, which means each four direc-
tory entries take up one 128-byte 'sector' of the library
file. The LU directory uses one entry for control informa-
tion itself, so the number of directory 'sectors' needed
for a library of m members is (m + 1) / 4, rounded up to the
next whole number.
The user need not be concerned with this discussion, as
directory size is calculated by the program. All directory
sizes are input and output in terms of entries, each entry
being a potential member file. The program adjusts directory
size to an integral number of sectors.
MISFEATURES (BUGS)
-2-
LU86.EXE MS-DOS VERSION 4.0 September 2, 1984
ACKNOWLEDGEMENTS
Gary Novosielski designed the LU format and wrote the first
programs supporting 'LBR' files. He has continued to main-
tain and improve the LU format by distributing a file of the
offical LU format definition. The current version of this
definition is contained in LUDEF5.DOC. Interested users are
directed to that file for more complete information on the
LU format.
Large portions of this document are excerpts from the CP/M
file LU300.DOC, which documents the operation of the CP/M
version of LU (an implemenation much superior to LU86, by
the way). Any particulary lucid and useful sections of this
document probably originated with Gary Novosielski. The
Turgid Obfuscation is probably mine.
This program had its genesis in the UNIX progam LAR.C. LAR
was rendered into C that mortal compilers could understand
by Tom Jennings who renamed the source to LU.C. I used LU
as a base and have renamed the effort to LU86.
LU86, ver 4.0 is a 'C' program, and is compiled with version
2.10B of the Computer Innovations C86 MS-Dos compiler.
LU.PAS was written by Steven ????, and heavily modified
by John Plocher.
This doccumant was unselfishly pilfered and palagerized from
the doccumentation for LU86 4.0 by the following person:
Paul J. Homchick
Chimitt Gilman Homchick, Inc.
One Radnor Station, Suite 300
Radnor, PA 19087
LU.PAS is written to compile with Borlands Turbo Pascal,
and run on a Victor 9000. It will run on an IBM PC with
these changes -
the window handling routines make 2 assumptions:
1 : the text screen being used is located at $F000:0000
and is 2048 words (16bit) large, and
(the IBM PC is at E000:0000 or $E800:0000)
2 : The terminal driver recognizes the VT 52+ screen
control codes to move & save cursor...
These are NOT the same as ANSI (IBM PC) codes!
In addition, there is a chance that the character graphics
used here will not be the same as those on the Victor.
The changes/additions to this program and this doccument
were done by:
John Plocher
17403 McIntyre
Detroit, MI
48219
(313) 535-7858