alpha or alpha character
- Used when referring to the set of characters A-Z and a-z.
alphanumeric
Used when referring to the set of characters A-Z, a-z and 0-9.
bit
The smallest accessible unit of main or diskette memory. A bit has a value of either 0 (meaning off) or 1 (meaning on). A group of 4 consecutive bits is known as a hexadecimal (or hex) digit, and a group of 8 consecutive bits is known as a byte. Whenever the documentation refers to a bit within a byte, the convention is bit 7 is the bit on the left and bit 0 is the bit on the right with the order of bits within a byte going left to right, 7 to 0. The concept holds for bits within a hex digit, left to right, 3 to 0.
boot
see reset/power-on.
BOOT/SYS
One of the two control files required on every diskette used with NEWDOS/80. See section 5.1.
buffer
An area of main memory used to hold the contents of a sector read from disk or to hold the new contents of a sector being written to disk. Each open FCB has a 256 byte buffer assigned for this purpose. Byte mode disk I/O, such as is used for print/input, marked item, fixed item, and (if record length less than 256) field item files actually operates to and from the buffer with disk sector reads and writes being done when necessary, and not on each GET or PUT or PRINT or INPUT statement execution.
byte
The smallest addressable unit of main or diskette memory. A byte is composed of 8 bits. When the value of a byte is given, it is usually expressed as two hexadecimal digits. In NEWDOS/80 documentation the words byte and character are used interchangeably even though character can have a more restrictive meaning.
chaining
Used in NEWDOS/80 to refer to the process of bringing keyboard input characters from a disk file known as a chain file. See section 4.3.
character
Used interchangeably with byte, but also used to refer to a byte containing a printable value.
close
In disk I/O, to close a FCB or a filearea means to dissolve the link between a program and a disk file created by the open function.
DEC Directory Entry Code
A one byte code used to specify a particular FDE and used by DOS to quickly locate that FDE in the directory. When an FCB is open, its 8th byte contains the DEC for the file's FPDE. Each FXDE contains in its 2nd byte the DEC for the preceding FDE for the same file, and each FPDE or FXDE whose 31st byte = 255 (0FEH) contains in its 32nd byte the DEC of the next FXDE for the file. The format of the 8 bit DEC is:
rrrsssss
where sssss+2 = the relative number within the directory of the sector containing the FDE, and rrr times 32 (20H) equals the relative byte address within the sector of the FDE.
DIR/SYS see sections 5.1 and 5.6.
One of the two control files required on every diskette used with NEWDOS/80. DIR/SYS contains the directory for a diskette.
directory see sections 5.1 and 5.6.
In DOS, the directory refers to the contents of the file DIR/SYS that must be present on every diskette used by NEWDOS/80. The directory contains the control information specifying all files and the free or allocated state of all space on the diskette. If the directory is damaged or destroyed, the rest of the information on the diskette is usually, but not always, no longer available to the user.
DOS Disk Operating System
Though many thousands of programmers are quite capable of writing their programs to communicate directly with the diskette, it is almost always preferable to allow another program, or collection of programs, to act as an intermediary between the user program and the disk files the program uses. This intermediary is commonly called a DOS and serves to both structure and vastly simplify a program's I/O with the files it uses. Usually, as in NEWDOS and TRSDOS, the DOS functions are much more extensive such that the DOS becomes the primary control program in the computer and has available various other functions, other than disk I/O control, that it performs in response to commands, known as DOS commands (specified in chapter 2), or DOS calls (specified in chapter 3). In NEWDOS/80, the DOS operates in the 4000 - 51FFH region of main memory with some of its functions using the 5200 - 6FFFH region and the spooler running out of highest memory.
DOS-CALL or dos-call
Refers to the DOS state entered when a user program calls the DOS routine at 4419H (see sections 3.11 and 4.4) to execute a DOS command or a user program. There can be multi-levels of DOS-CALL state.
DOS command or doscmd
Refers to one of the built-in DOS functions described in chapter 2. DOS commands can be executed by keying in from the keyboard or through calls from the current executing program (see DOS-CALL).
EOF End of File
Of or pertaining to the end of a file. SOME files have one or more specific EOF bytes that mark the end of a file (assembler source files use lAH, BASIC non-ASCII text uses 3 consecutive bytes of zeroes, etc.); however, most files do not and rely entirely upon the EOF within the FCB or FPDE to indicate where the file ends. If a file is empty, EOF equals 0 and if a file has 1324 bytes, the EOF value expressed as an RBA is 1324. Within a NEWDOS FCB, EOF is a three byte RBA value of the file's last byte +1. The EOF value stored in a file's FPDE is not in RBA format. See sections 5.7 (fpde bytes 4, 21 and 22) and 5.9 (FCB 9, 13 and 14).
EOL End Of Line
Of or pertaining to the end of a line. For input data or a command, this is usually the ENTER character (0DH). For BASIC text, a zero byte ends a line. If the line does not have an explicit EOL character, then EOL means the line's last character + 1.
EOM
Of or pertaining to the end of a message. The EOM character code is 03. EOM is used to end a message when that message end is not also the end of the line. When encountered, the EOM character is not displayed or printed nor is the display or printer advanced one character.
EOR End Of Record
Of or pertaining to the end of a record. EOR is also the relative byte address within the file of the record's last byte + 1.
EOS End Of Statement
Of or pertaining to the end of a statement. For BASIC text, a colon ends a statement.
extent element
A two byte control element within a FPDE or FXDE specifying a 1 to 32 granule contiguous area of diskette storage assigned to the file. See section 5.7, FPDE 23rd-30th bytes.
fan file area number
A fan is a BASIC expression evaluating to an integer (range 1 - 15) specifying which filearea is to be used for the current BASIC function.
FCB File Control Block.
See section 5.9. A data area containing information controlling an I/O link between a program and a diskette file. The link is created by the open function, dissolved by the close function, and used by all other disk I/O functions including GET, PUT, PRINT, INPUT, LOC, etc. The FCB contains the NEXT and EOF fields, the buffer address, security information, record length, etc.
FDE File Directory Entry. See section 5.6.3.
In NEWDOS, each sector of the directory file DIR/SYS, except for the first two, is divided into eight 32 byte control areas called FDEs. A FDE is either free (available for assignment) or in use as a FPDE or FXDE.
FF file
A BASIC fixed item file segmented into records all of the same length,
FI file
A BASIC fixed item file that is not record segmented.
file or disk file or diskette file
A collection of data on a disk or diskette. A file may contain diskette control information (as do BOOT/SYS and DIR/SYS), a machine language executable program (as do SYS0/SYS, BASIC/CMD and SUPERZAP/CMD), a BASIC program (as does CHAINTST/BAS) or user data (such as mailing lists, payroll, inventory). Control data for all files is contained within the file DIR/SYS (see section 5.6) with each file being assigned one FPDE and zero or more FXDEs. A file must exist entirely on one diskette. Diskette space is allocated to a file as needed in units called granules.
filearea
An area of BASIC'S system storage containing control information, a FCB and a 256 byte buffer. A filearea is used during disk file operations to maintain an I/O link between a file and the BASIC program. This I/O link is established by OPEN, used by PRINT, INPUT, GET, PUT, FIELD, EOF, LOF, LOC, etc., and dissolved by CLOSE. When 2 or more fileareas are open to the same file, each acts in ignorance of the others. A BASIC program may have open at any one time as many as 15 fileareas. The number of file-areas actually available to the BASIC program is specified when BASIC is activated (see section 7.2) with the default being 3.
field item file
This is a name used in NEWDOS/80 for what, in TRSDOS disk BASIC, is called a random file since all three types of files, field item, fixed item and marked item can be used either randomly or sequentially or both. Field item and fixed item files are essentially the same type of file; the main difference is in the type of I/O link, field item or fixed item, used. For field item files, the definition of the file items is done solely via the FIELD statement. Field item files are always segmented into records all of the same length, with that length being from 1 to 256 bytes.
file item
A unit of file storage zero or more bytes in length containing a numeric value or a character string.
filespec
This term is used in NEWDOS/80 to refer to the combination of file name, name extension, password and drive number used to specify a file in a DOS command, BASIC statement or an unopen FCB. Of the four elements, only file name is required. See section 2.1 for full definition of filespec.
fixed item file See section 8.4.
Fixed item and field item files are essentially the same type of file. The difference lies in the type of link, field item or fixed item, used in the file I/O. For fixed item file processing, the definition of the file items is entirely dependent upon the IGEL used in the GET or PUT statement. There are two types of fixed item files, FI and FF.
format
Aside from many other definitions of the word format, it is also the word used for the process that prepares a raw diskette for use under NEWDOS/80. This process magnetically structures the diskettes into tracks which are at the same time further sub-divided into 256 bytes sectors. Depending on the drive type, the diskette will contain 35, 40, 77 or 00 tracks, and depending upon the drive type and recording density, each track will contain 10, 17, I8 or 26 sectors.
fp file positioning
See section 8.4.1. fp refers to the second parameter of a GET or PUT statement. fp specifies the file positioning to be done during the file positioning phase that precedes the data transfer phase, if any, of a GET or PUT statement.
FPDE File Primary Directory Entry
See section 5.7 for FPDE specification. A FPDE is created in the diskette directory whenever a file is created. If a file exists on a diskette, there will always be a FPDE for it in the directory. The FPDE contains the file name, extension, passwords, protection level, EOF, the first 4 extent elements and other information. When a file is killed, the FPDE and any associated FXDEs are dissolved.
FXDE File Extended Directory Entry
See section 5.8 for FXDE specification. Whenever the number of extent elements needed to account for a file's diskette space exceeds four, one or more FXDEs are created in the directory to hold the extra extent elements, a maximum of four per FXDE. If a file has FXDEs, they are accessed via the FPDE. As a file's diskette space requirements change, FXDEs are created or dissolved as necessary, and when a file is killed, all FXDEs associated with that file are dissolved.
GAT Granule Allocation Table
See section 5.6.1. The GAT is that portion of the directory's 1st sector (known as the GAT sector) wherein the free or allocated status of each granule is accounted for.
granule
The smallest unit of diskette storage allocatable to or de-allocatable from a file. When a file needs diskette space, one or more granules is allocated. For NEWDOS/80 a granule consists of 5 sectors equaling 1280 bytes.
hash code
Hash code as used in the DOS refers to a one byte encode of a file's name and extension used during open to rapidly find the file's FPDE in the directory. Hash codes are stored in the HIT sector, see section 5.6.2.
hexadecimal or hex
A numbering system using 16 digits, rather than 10 used by the decimal system. The digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F. The reason for the use of hexadecimal as opposed to decimal is that a hexadecimal digit is an easy way to express the value of 4 consecutive bits, where the following table defines the correspondence between a hexadecimal digit and four binary bits.
Hexadecimal representation of disk, file or main memory locations and contents are widely used in the computer industry. Though some users can get by without learning anything of hexadecimal, we strongly recommend that users learn the rudiments, at least enough to understand the SUPERZAP and DEBUG displays. Throughout NEWDOS/80 and its documentation a hexadecimal numeric value is expressed with a suffixed H character (i.e., 13 = 0DH or 256 = 100H) unless otherwise specified.
HIMEM
Refers (1) to the address of the highest usable main memory location, (2) to the 2 byte main memory area (Model I locations 4049H - 404AH and Model III locations 4411H - 4412H) where the HIMEM value is stored and (3) to the name of a DOS command (see section 2.25). Main memory above HIMEM is either non-existent or is reserved for other uses. All user Z-80 code programs should be coded to observe HIMEM.
HIT Hash code Index Table
See section 5.6.2. That portion of the directory's second sector (also known as the HIT sector) that contains the hash codes for all files on the diskette. Instead of searching the entire directory for a file's FPDE during open, DOS computes the hash code from the file name and extension, looks it up in the HIT sector and then goes directly to the sector containing the FPDE.
I/O input and/or output
I/O link or I/O path
Actual disk I/O between a disk file and main memory is done via an I/O link (also known as an I/O path) created by open, dissolved by close, and used by GET, PUT, PRINT, INPUT, LOC, EOF, etc. While the link is open, the controlling information for the link is contained in a FCB or filearea (which contains a FCB). Multiple links to the same file can be open at the same time with each link knowing nothing of the others. An I/O link remembers the position in the file where it is operating; thus multiple links can be operating on the same file at the same time. However, be careful as, remember, each I/O link knows nothing of the other's actions.
IGEL Item Group Expression List
See section 8.4.2. An IGEL is a list of BASIC expressions corresponding to a group of file items during the execution of a GET or PUT statement used in fixed item or marked item file processing.
IGEL expression See section 8.2.3.
An IGEL expression (usually but not always a BASIC variable) is that part of an IGEL corresponding to a file item. For each file item processed in a fixed item or marked item file GET or PUT statement, there is a corresponding IGEL expression in the IGEL.
IGELSN IGEL Sequence Number
The line number (also known as sequence number) of the BASIC text line containing the first or only line of the IGEL to be processed by the current GET or PUT statement. If used, the IGELSN is the 3rd parameter of the GET or PUT statement. An IGELSN is used in a fixed item or marked item GET or PUT statement whenever the GET or PUT statement itself does not contain the IGEL, and this usually occurs when the same IGEL is used by two or more GET and/or PUT statements.
item group
A group of zero or core file items. In BASIC, an item group is the zero or more file items processed by an individual INPUT, PRINT, GET or PUT statement and is most commonly equivalent to a logical record.
len See section 8.7.7 and see LRECL
The parameter in a BASIC OPEN statement that specifies either the standard or the maximum record length.
logical record
A group of meaningful related file it eras. Though file data is physically ordered on the diskettes into sectors, the programmer usually deals with data groupings that are logically related and grouped, rather than physically related and grouped. Thus, when data is read from or written to a file, it is usually done so in logical record units.
LRECL Logical RECord Length
This is the standard or maximum length in bytes for records of a file. For non-BASIC files LRECL is 0 - 255 (with 0 meaning 256) and is stored in the FPDE's 4th byte (though never used) and the FCB's 10th byte. In BASIC, LRECL is equivalent to len (see section 8.7.7).
lump
refers to a division of diskette space as that space is accounted for in the diskette directory. Each of the first 192 bytes in the GAT sector contains either space allocation or lockout information for one lump where, depending on the number of granules per lump, each bit within the byte is either unused or specifies the allocated/free or non-existent/ existent state of one of the lump's granules. This definition was coined for use with NEWDOS/80 Version 2 to avoid using the words track and cylinder. See sections 5.6.1 and 5.7 (23-30th byte discussion).
marked item file see section 8.6.
A file in which each file item is identified as to length and type by a prefixed marker byte. A marked item file is distinctly different from a print/input, field item or fixed item file. The three types of marked item file are MI, MU and MF.
MF file
A marked item file that is segmented into records all of the same length.
MI file
A marked item file that is not record segmented.
ms millisecond
MU file
A marked item file that is segmented into records of differing lengths.
null
The absence of a parameter or expression. When parameters are separated by commas back to back commas(,,) indicate a null.
null character
A character or byte with value = 0.
null string
A string or an expression evaluating to a string zero characters in length.
open
In disk I/O, to open a FCB or a filearea is to establish a link between the program and a disk file, using the FCB or filearea (which contains a FCB) to hold the link's control data. Though it is quite common to say that a file is opened, it is more correct to say that a FCB or filearea is opened for there is nothing in the disk file indicating open or closed state or the number of links opened to it as more than one FCB or filearea may be open to a given file at the same time. The link established by open remains until dissolved by the close function. It is the link that determines the type of I/O done with a file and where in the file. Thus, if differently specified links are established to the same file to exist concurrently, the same file data can be used but interpreted differently by each of the different links.
partial record I/O
Refers to instances where I/O is done in partial rather than full logical records. In BASIC, GETs and PUTs for marked-item and fixed-item files may operate in this manner though they usually operate in whole record I/O mode.
patch see zap.
power-on/reset See reset/power-on
print/input file
A disk file written to by PRINT statements and read by INPUT statements.
record segmented file
A type of file that can be broken down into logical records by BASIC. These file types are field item, FF , MF and MU.
REMBA REMembered Byte Address
See section 8.10.
REMRA REMembered Record Address
See section 8.10.
RBA Relative Byte Address
A method of addressing within a file, record, control block, etc. where addressing starts at 0 rather than 1. The first byte of the unit has RBA = 0. The nth byte in the unit has RBA value = n-1. In NEWDOS, RBA is used to express EOF and NEXT in the FCB; this use of RBAs in the FCB is major difference between NEWDOS and the old versions of TRSDOS. In BASIC, RBA is used in file positioning (see section 8.4.1) where, in fp = !rba, !$rba or !#rba, rba is defined to be a BASIC expression evaluating to a number between 0 and 16,777,215 and represents a relative byte position from the beginning of the file.
reset/power-on also known as boot.
refers to the automatic computer execution that occurs whenever the computer's reset button is pressed or when the computer is powered up. In reality, you must. never have diskettes in any drives when you power up the computer. After the power up, put the system diskette in drive 0 and press reset. For the most part, NEWDOS/80 treats a reset after power-on the same as a reset at any other time. There are some differences, however, with the most notably being the date and time settings that occur.
During a reset/power-on, the ROM's bootstrap routine receives computer control from the hardware reset logic and reads the first sector of the diskette mounted in drive 0 into the DOS system buffer (4200H -42FFH on the model I and 4300H - 43FFH on the model III). That 256 bytes contains NEWDOS' s bootstrap routine which receives computer control from the ROM and then reads into main memory a fresh copy of NEWDOS/80's main memory resident module SYS0/SYS. Execution control is then passed to SYS0's initialization routines in the DOS overlay area. Using the current SYSTEM and PDRIVE specifications, NEWDOS/80 is initialized. When this is completed, either NEWDOS/80 READY is displayed or DOS commences the execution of the AUTO (see section 2.4) specified DOS command.
sector
For NEWDOS/80, diskette data storage is physically done in groups of 256 bytes called sectors. Actual diskette reads and writes are done by whole sectors, usually a single sector at one time.
SOR Start Of Record
Of or pertaining to the start of a record. All records of a MU file start with a SOR item, a 70H byte.
track
The unit of diskette storage a disk drive read/write head passes over during one revolution of the diskette. A diskette is divided magnetically into a number of concentric tracks during format (35 is standard on the model I, 40 on the model III). Format also divides each track magnetically into 256 byte sectors which will subsequently contain data of any and all kinds.
user segmented file
A type of file which cannot be broken down into logical records by BASIC. These file types are FI and MI. If these file types are to be segmented into records, it is done so solely by the programmer without BASIC's knowledge.
vice
Means 'instead of or 'in place of'.
whole record I/O
Whole record I/O is when an entire logical record is read or written during the execution of a single INPUT, PRINT, GET and PUT statement. This is the normal procedure for those statements. See partial record I/O.
zap
To alter data or program executable code without recompilation. See section 11.