TRS-80 DOS - NEWDOS/80 v2.0 for the Model III - SYS4/SYS Disassembled

Page Customization

Introduction/Summary

NEWDOS/80 v2.0 SYS4/SYS Disassembly - The DOS Error Messages (Model III)

SYS4/SYS is the error message overlay. It loads into the overlay area at 4D00H-51E7H (1,256 bytes in five load records, transfer address 4D00H) and is called with LD A,code / RST 28H; the SYS0/SYS dispatcher at 4B67H loads it when 4288H does not already hold its directory slot, 06H. Only 132 bytes are code (4D00H-4D83H); the rest is the message table, the word list and 316 unused bytes of 00H. If SYS4/SYS itself cannot be loaded, SYS0/SYS halts (4BBDH), since no error could be shown.

The page shows every byte of the file once, in address order. The words are stored in upper and lower case, so the messages appear on the display as shown in the table below.

RST 28H Codes Handled by SYS4/SYS

CodeCalled fromFunction
26H4409HThe DOS error exit (manual 3.6): the error code is on the stack. With bit 7 of the code set the message is displayed and SYS4/SYS returns to the caller; without it the message is displayed and the DOS is entered at 402DH, or under DOS-CALL or chaining the error is passed to SYS1/SYS (4D31H) without a message.
46HSYS0/SYS reset (4DE0H)An error while the system starts: sets bit 2 of 428AH (4D0BH) and displays the message.
66HSYS14/SYS 4D4CHDisplay the message whatever the DOS state (4D1AH). SYS14/SYS pushes the error code in Register H and calls it.
E6Hnone foundReturn at once (4D02H): the RST 28H only loads SYS4/SYS. E6H is what the overlay loader of SYS6/SYS (568DH-5698H: OR 0E0H / RST 28H) produces for slot 06H.
any othernone foundTreated like 26H.

None found: no other file of this DOS was found to load Register A with that code.

How the Messages Are Stored

The messages are built from 94 words. The word list (4E74H) holds the words one after another, the last character of each with bit 7 set. The message table (4D84H) holds, for each error number in turn, the numbers of its words, the last one with bit 7 set. To find message n, SYS4/SYS counts n + 1 ends from 4D84H (whose 80H is an empty list); to find word n it counts n ends from 4E74H (whose 80H is an empty word). Each word is displayed followed by a space, and the message by a carriage return. Only bits 0-5 of the error code choose the message; the 00H at 4E70H ends the table, so error 3FH gives Undefined Error Code from the list after it.

The Error Messages

ErrorMessage
00HNo Error
01HBad File Data
02HSeek Error During Read
03HLost Data During Read
04HParity Error During Read
05HData Record Not Found During Read
06HTried To Read Locked/Deleted Record
07HTried To Read System Record
08HDevice Not Available
09HUndefined Error Code
0AHSeek Error During Write
0BHLost Data During Write
0CHParity Error During Write
0DHData Record Not Found During Write
0EHWrite Fault On Disk Drive
0FHWrite Protected Diskette
10HDevice Not Available
11HDirectory Read Error
12HDirectory Write Error
13HIllegal File Name
14HTrack # Too High
15HIllegal Function Under Dos-Call
16HUndefined Error Code
17HUndefined Error Code
18HFile Not In Directory
19HFile Access Denied
1AHDirectory Space Full
1BHDiskette Space Full
1CHEnd Of File Encountered
1DHPast End Of File
1EHDirectory Full . Can't Extend File
1FHProgram Not Found
20HIllegal Or Missing Drive #
21HNo Device Space Available
22HLoad File Format Error
23HMemory Fault
24HTried To Load Read Only Memory
25HIllegal Access Tried To Protected File
26HFile Not Open
27HIllegal Initialization Data On System Diskette
28HIllegal Diskette Track Count
29HIllegal Logical File #
2AHIllegal Dos Function
2BHIllegal Function Under Chaining
2CHBad Directory Data
2DHBad Fcb Data
2EHSystem Program Not Found
2FHBad Parameter(S)
30HBad Filespec
31HWrong Diskette Record Type
32HBoot Read Error
33HDos Fatal Error
34HIllegal Keyword Or Separator Or Terminator
35HFile Already Exists
36HCommand Too Long
37HDiskette Access Denied
38HIllegal Mini Dos Function
39HOperator/Program/Parameter Require Function Termination
3AHData Compare Mismatch
3BHInsufficient Memory
3CHIncompatible Drives Or Diskettes
3DHAse=N Attribute . Can't Extend File
3EHCan't Extend File Via Read
3FHUndefined Error Code

Error numbers 09H, 16H and 17H have no message of their own (Undefined Error Code), and 08H and 10H share Device Not Available.

Variables

Memory Used by SYS4/SYS

Address
Size
Contents
4D7FH-4D80H
2 bytes
Return Address (Self-Modifying Code)
Operand of the JP M,nnnn at 4D7EH (0000H in the file), stored at 4D0FH: 4BC5H, the return into the SYS0/SYS dispatcher.
402DH
3 bytes
DOS Exit
JUMPed to at 4D81H when the caller did not ask for control back.
4289H
1 byte
System Flags
Bit 5, a chain file is running, tested at 4D28H.
428AH
1 byte
DOS State Flags
Bit 2, an error during the reset, set at 4D0BH and tested at 4D1FH. Bit 6, a DOS-CALL is active, tested at 4D2DH.

Outside Routines Called

AddressContents
0033HROM: display the character in Register A (4D61H, 4D6BH, 4D76H).
4BC5HSYS0/SYS: the end of the RST 28H dispatcher, which RETurns to the caller of the error exit (4D7EH).
RST 28H, code E3HSYS1/SYS function 7 sub-function 7 (its 4D78H), the exit used under DOS-CALL or chaining (4D3BH).

Disassembly

4D00H - Function Dispatcher and Error Entry

SYS4/SYS is entered here by the SYS0/SYS RST 28H dispatcher (4B67H) with Register A = the RST 28H code (bits 0-4 = 06H, SYS4/SYS's directory slot). The dispatcher has dropped the RST's own return address, so the stack holds 4BC5H (the return into the dispatcher, pushed by its CALL at 4BC2H), then the error word pushed by the caller (Register A = the error code), then the return address of whoever called the error exit. Codes: 26H (function 1) from the DOS error exit 4409H (manual 3.6); 46H (function 2) from the SYS0/SYS reset code (4DE0H) for an error during the reset; 66H (function 3, used by SYS14/SYS at 4D4CH) displays the message whatever the DOS state; E6H (function 7) returns at once, so that an RST 28H with E6H only loads SYS4/SYS. Error code bit 7 set means display the message and return to the caller; otherwise the message is displayed and the DOS is re-entered at 402DH, or, under DOS-CALL or chaining, the error is handed to SYS1/SYS without a message.

4D00
CP E6H FE E6
Compare Register A (the RST 28H code) against E6H, function 7.
4D02
RET Z C8
If the Z FLAG is set (Register A = E6H), RETurn at once: the call only loaded SYS4/SYS.
4D03
CP 46H FE 46
Compare Register A (the RST 28H code) against 46H, function 2: an error during the SYS0/SYS reset (4DE0H).
4D05
If the NZ FLAG is set (another function), JUMP to 4D0EH.
4D07
PUSH HL E5
Function 2: save Register Pair HL (the caller's) onto the stack.
4D08
LD HL,428AH 21 8A 42
Point Register Pair HL to 428AH, the DOS state flags.
4D0B
SET 2,(HL) CB D6
Set bit 2 of the byte at Register Pair HL (428AH): an error happened during the reset. 4D1FH below then displays this message, and the SYS1/SYS exit (its 4D98H) later sends every exit to SYS9/SYS sub-function 0BH.
4D0D
POP HL E1
Restore Register Pair HL from the stack: the caller's.
4D0E
EX (SP),HL E3
Exchange Register Pair HL with the word at the top of the stack (Stack Pointer): Register Pair HL = 4BC5H, the return into the SYS0/SYS dispatcher; the caller's HL goes onto the stack. 4D05H comes here.
4D0F
LD (4D7FH),HL 22 7F 4D
Store Register Pair HL (4BC5H) at 4D7FH, the operand of the JP M,nnnn at 4D7EH, which returns through the dispatcher when the caller asked for a return.
4D12
POP HL E1
Restore Register Pair HL from the stack: the caller's HL again. The top of the stack is now the error word.
4D13
EX (SP),HL E3
Exchange Register Pair HL with the word at the top of the stack (Stack Pointer): Register Pair HL = the error word (Register H = the error code, Register L = its flags); the caller's HL goes onto the stack in its place.
4D14
PUSH DE D5
Save Register Pair DE (the caller's) onto the stack.
4D15
PUSH BC C5
Save Register Pair BC (the caller's) onto the stack.
4D16
PUSH HL E5
Save Register Pair HL (the error word) onto the stack; 4D79H restores it into Register Pair AF.
4D17
CP 66H FE 66
Compare Register A (the RST 28H code) against 66H, function 3: display the message whatever the DOS state.
4D19
LD A,H 7C
Copy Register H (the error code) into Register A. LD does not change the flags.
4D1A
If the Z FLAG is set (function 3), JUMP to 4D3CH to display the message.
4D1C
LD HL,428AH 21 8A 42
Point Register Pair HL to 428AH, the DOS state flags.
4D1F
BIT 2,(HL) CB 56
Test bit 2 of the byte at Register Pair HL (428AH): an error during the reset.
4D21
If the NZ FLAG is set (an error during the reset), JUMP to 4D3CH to display the message.
4D23
BIT 7,A CB 7F
Test bit 7 of Register A (the error code): the caller wants the message displayed and control back.
4D25
If the NZ FLAG is set (bit 7 set), JUMP to 4D3CH to display the message.
4D27
DEC HL 2B
DECrement Register Pair HL to 4289H, the system flags.
4D28
BIT 5,(HL) CB 6E
Test bit 5 of the byte at Register Pair HL (4289H): a chain file (DO) is running.
4D2A
If the NZ FLAG is set (chaining), JUMP to 4D31H to hand the error to SYS1/SYS without a message.
4D2C
INC HL 23
INCrement Register Pair HL back to 428AH, the DOS state flags.
4D2D
BIT 6,(HL) CB 76
Test bit 6 of the byte at Register Pair HL (428AH): a DOS-CALL is active.
4D2F
If the Z FLAG is set (no DOS-CALL), JUMP to 4D3CH to display the message.

4D31H - Hand the Error to SYS1/SYS

Under DOS-CALL or chaining (and bit 7 of the error code clear) the message is not displayed here: the error code is pushed as a word and SYS1/SYS function 7 sub-function 7 (its 4D78H) is called, which drops its return address, takes this word as the result of the command and goes to its exit (4D8BH), where the DOS-CALL or chaining code deals with the error. It does not come back.

4D31
AND 3FH E6 3F
AND Register A (the error code) with 3FH, keeping bits 0-5: the error number.
4D33
CP FFH FE FF
Compare Register A against FFH. Any value below FFH sets the CARRY FLAG and the NZ FLAG.
4D35
CCF 3F
Complement the CARRY FLAG: Register Pair AF now holds the error number with the NZ FLAG and the NO CARRY FLAG, the form of an error result.
4D36
PUSH AF F5
Save Register Pair AF (the error result) onto the stack for SYS1/SYS 4D78H.
4D37
LD A,E3H 3E E3
Load Register A with E3H, the RST 28H code of SYS1/SYS function 7.
4D39
LD C,07H 0E 07
Load Register C with 07H, sub-function 7: drop two words and exit with the second one as the result.
4D3B
RST 28H EF
RST 28H with Register A = E3H and Register C = 07H: SYS1/SYS is loaded over SYS4/SYS and goes to its exit. It does not come back.

4D3CH - Find the Message of the Error

Register A = the error code. The message table at 4D84H holds, for each error number 00H-3EH in turn, a list of word numbers whose last one has bit 7 set; 4D84H itself is an 80H that ends an empty list before error 00H. Counting the ends from 4D84H finds the start of the message. The 00H at 4E70H ends the table: any error number not reached before it (3FH) uses the message after it, UNDEFINED ERROR CODE.

4D3C
AND 3FH E6 3F
AND Register A (the error code) with 3FH, keeping bits 0-5: the error number 00H-3FH. 4D1AH, 4D21H, 4D25H and 4D2FH come here.
4D3E
LD B,A 47
Copy Register A (the error number) into Register B.
4D3F
INC B 04
INCrement Register B: the number of list ends to pass, counting the 80H at 4D84H.
4D40
LD HL,4D84H 21 84 4D
Point Register Pair HL to 4D84H, the start of the message table.

Table Search Loop
Register Pair HL = the next byte of the table, Register B = the list ends still to pass.

4D43
LD A,(HL) 7E
Fetch the table byte at Register Pair HL into Register A.
4D44
RLC A CB 07
Rotate Register A left with RLC: bit 7 goes into the CARRY FLAG, and the Z FLAG is set only for a byte of 00H.
4D46
INC HL 23
INCrement Register Pair HL to the next table byte. INC HL does not change the flags.
4D47
If the Z FLAG is set (the 00H at 4E70H, the end of the table), JUMP to 4D4DH to display the message after it.
4D49
If the NO CARRY FLAG is set (bit 7 clear, not the last word of a list), LOOP BACK to 4D43H.
4D4B
The end of a list: DECrement Register B and LOOP BACK to 4D43H until it is 0. Register Pair HL then points to the first word number of the message.

4D4DH - Display the Words of the Message

Register Pair HL points to the next word number of the message. The word list at 4E74H holds the words one after another, each ending with a character that has bit 7 set; 4E74H itself is an 80H that ends an empty word 00H. Each word is displayed followed by a space.

Word Loop
Register Pair HL = the word number in the message table.

4D4D
LD A,(HL) 7E
Fetch the word number at Register Pair HL into Register A. 4D47H and 4D72H come here.
4D4E
AND 7FH E6 7F
AND Register A with 7FH, dropping the bit 7 end mark: the word number.
4D50
LD B,A 47
Copy Register A (the word number) into Register B. LD does not change the flags.
4D51
If the Z FLAG is set (word 00H, nothing to display), JUMP to 4D6FH.
4D53
PUSH HL E5
Save Register Pair HL (the position in the message table) onto the stack.
4D54
LD HL,4E74H 21 74 4E
Point Register Pair HL to 4E74H, the 80H before the first word.

Word Search Loop
Register B = the word ends still to pass.

4D57
LD A,(HL) 7E
Fetch the character at Register Pair HL into Register A.
4D58
RLCA 07
Rotate Register A left: bit 7, the end of a word, goes into the CARRY FLAG.
4D59
INC HL 23
INCrement Register Pair HL to the next character. INC HL does not change the flags.
4D5A
If the NO CARRY FLAG is set (not the end of a word), LOOP BACK to 4D57H.
4D5C
The end of a word: DECrement Register B and LOOP BACK to 4D57H until it is 0. Register Pair HL then points to the first character of the word wanted.

Character Loop

4D5E
LD A,(HL) 7E
Fetch the character at Register Pair HL into Register A.
4D5F
AND 7FH E6 7F
AND Register A with 7FH, dropping the bit 7 end mark.
4D61
GOSUB to 0033H (ROM) to display the character in Register A.
4D64
LD A,(HL) 7E
Fetch the character at Register Pair HL into Register A again.
4D65
RLCA 07
Rotate Register A left: bit 7, the end of the word, goes into the CARRY FLAG.
4D66
INC HL 23
INCrement Register Pair HL to the next character. INC HL does not change the flags.
4D67
If the NO CARRY FLAG is set (more characters in the word), LOOP BACK to 4D5EH.
4D69
LD A,20H 3E 20
Load Register A with 20H, a space between the words.
4D6B
GOSUB to 0033H (ROM) to display the space in Register A.
4D6E
POP HL E1
Restore Register Pair HL from the stack: the position in the message table.
4D6F
LD A,(HL) 7E
Fetch the word number at Register Pair HL into Register A again. 4D51H comes here.
4D70
RLCA 07
Rotate Register A left: bit 7, the last word of the message, goes into the CARRY FLAG.
4D71
INC HL 23
INCrement Register Pair HL to the next word number. INC HL does not change the flags.
4D72
If the NO CARRY FLAG is set (more words), LOOP BACK to 4D4DH.

4D74H - End the Line and Leave

The message has been displayed. The caller's registers come back; with bit 7 of the error code set the RETurn goes through the dispatcher (4BC5H) to the caller of the error exit, otherwise to the DOS through 402DH.

4D74
LD A,0DH 3E 0D
Load Register A with 0DH, a carriage return to end the message line.
4D76
GOSUB to 0033H (ROM) to display the carriage return in Register A and end the line.
4D79
POP AF F1
Restore Register Pair AF from the stack: the error word saved at 4D16H, Register A = the error code.
4D7A
POP BC C1
Restore Register Pair BC from the stack: the caller's.
4D7B
POP DE D1
Restore Register Pair DE from the stack: the caller's.
4D7C
POP HL E1
Restore Register Pair HL from the stack: the caller's.
4D7D
OR A B7
OR Register A (the error code) with itself: the SIGN FLAG (M) is set when bit 7 of the error code is set.
4D7E
If the SIGN FLAG is set (M, the caller wants control back), JUMP to 4BC5H in the SYS0/SYS dispatcher, which RETurns to the caller of the error exit with Register A = the error code and the NZ FLAG. Self-Modifying Code
The operand at 4D7FH-4D80H is 0000H in the file and is stored at 4D0FH.
4D81
JUMP to 402DH, the DOS exit vector that returns to DOS READY. The caller of the error exit is not returned to.

4D84H - Error Message Table (Data)

One list of word numbers (bits 0-6, into the word list at 4E74H) per error number 00H-3EH, in order; bit 7 set marks the last word of a list. 4D3CH finds a message by counting the list ends from 4D84H. Word 1DH (a period and a space) is followed by the usual space, so messages 1EH and 3DH show two spaces after the period.

4D84
DEFB 80H 80
The 80H before the first message: an empty list (word 00H with the end mark), so that error 00H is the list after the first end counted by 4D4BH.
4D85-4D86
DEFB 13H, 81H 13 81
Error 00H: displayed as No Error. Words 13H (No), 01H (Error); the last has bit 7 set.
4D87-4D89
DEFB 22H, 05H, 8BH 22 05 8B
Error 01H: displayed as Bad File Data. Words 22H (Bad), 05H (File), 0BH (Data); the last has bit 7 set.
4D8A-4D8D
DEFB 0EH, 01H, 04H, 82H 0E 01 04 82
Error 02H: displayed as Seek Error During Read. Words 0EH (Seek), 01H (Error), 04H (During), 02H (Read); the last has bit 7 set.
4D8E-4D91
DEFB 0DH, 0BH, 04H, 82H 0D 0B 04 82
Error 03H: displayed as Lost Data During Read. Words 0DH (Lost), 0BH (Data), 04H (During), 02H (Read); the last has bit 7 set.
4D92-4D95
DEFB 0CH, 01H, 04H, 82H 0C 01 04 82
Error 04H: displayed as Parity Error During Read. Words 0CH (Parity), 01H (Error), 04H (During), 02H (Read); the last has bit 7 set.
4D96-4D9B
DEFB 0BH, 08H, 12H, 31H, 04H, 82H 0B 08 12 31 04 82
Error 05H: displayed as Data Record Not Found During Read. Words 0BH (Data), 08H (Record), 12H (Not), 31H (Found), 04H (During), 02H (Read); the last has bit 7 set.
4D9C-4D9F
DEFB 11H, 02H, 4CH, 88H 11 02 4C 88
Error 06H: displayed as Tried To Read Locked/Deleted Record. Words 11H (Tried To), 02H (Read), 4CH (Locked/Deleted), 08H (Record); the last has bit 7 set.
4DA0-4DA3
DEFB 11H, 02H, 3CH, 88H 11 02 3C 88
Error 07H: displayed as Tried To Read System Record. Words 11H (Tried To), 02H (Read), 3CH (System), 08H (Record); the last has bit 7 set.
4DA4-4DA6
DEFB 15H, 12H, 96H 15 12 96
Error 08H: displayed as Device Not Available. Words 15H (Device), 12H (Not), 16H (Available); the last has bit 7 set.
4DA7-4DA9
DEFB 49H, 01H, A9H 49 01 A9
Error 09H: displayed as Undefined Error Code. Words 49H (Undefined), 01H (Error), 29H (Code); the last has bit 7 set.
4DAA-4DAD
DEFB 0EH, 01H, 04H, 83H 0E 01 04 83
Error 0AH: displayed as Seek Error During Write. Words 0EH (Seek), 01H (Error), 04H (During), 03H (Write); the last has bit 7 set.
4DAE-4DB1
DEFB 0DH, 0BH, 04H, 83H 0D 0B 04 83
Error 0BH: displayed as Lost Data During Write. Words 0DH (Lost), 0BH (Data), 04H (During), 03H (Write); the last has bit 7 set.
4DB2-4DB5
DEFB 0CH, 01H, 04H, 83H 0C 01 04 83
Error 0CH: displayed as Parity Error During Write. Words 0CH (Parity), 01H (Error), 04H (During), 03H (Write); the last has bit 7 set.
4DB6-4DBB
DEFB 0BH, 08H, 12H, 31H, 04H, 83H 0B 08 12 31 04 83
Error 0DH: displayed as Data Record Not Found During Write. Words 0BH (Data), 08H (Record), 12H (Not), 31H (Found), 04H (During), 03H (Write); the last has bit 7 set.
4DBC-4DC0
DEFB 03H, 32H, 19H, 17H, 98H 03 32 19 17 98
Error 0EH: displayed as Write Fault On Disk Drive. Words 03H (Write), 32H (Fault), 19H (On), 17H (Disk), 18H (Drive); the last has bit 7 set.
4DC1-4DC3
DEFB 03H, 46H, C4H 03 46 C4
Error 0FH: displayed as Write Protected Diskette. Words 03H (Write), 46H (Protected), 44H (Diskette); the last has bit 7 set.
4DC4-4DC6
DEFB 15H, 12H, 96H 15 12 96
Error 10H: displayed as Device Not Available. Words 15H (Device), 12H (Not), 16H (Available); the last has bit 7 set.
4DC7-4DC9
DEFB 07H, 02H, 81H 07 02 81
Error 11H: displayed as Directory Read Error. Words 07H (Directory), 02H (Read), 01H (Error); the last has bit 7 set.
4DCA-4DCC
DEFB 07H, 03H, 81H 07 03 81
Error 12H: displayed as Directory Write Error. Words 07H (Directory), 03H (Write), 01H (Error); the last has bit 7 set.
4DCD-4DCF
DEFB 06H, 05H, 89H 06 05 89
Error 13H: displayed as Illegal File Name. Words 06H (Illegal), 05H (File), 09H (Name); the last has bit 7 set.
4DD0-4DD3
DEFB 34H, 1EH, 24H, AFH 34 1E 24 AF
Error 14H: displayed as Track # Too High. Words 34H (Track), 1EH (#), 24H (Too), 2FH (High); the last has bit 7 set.
4DD4-4DD7
DEFB 06H, 47H, 37H, C5H 06 47 37 C5
Error 15H: displayed as Illegal Function Under Dos-Call. Words 06H (Illegal), 47H (Function), 37H (Under), 45H (Dos-Call); the last has bit 7 set.
4DD8-4DDA
DEFB 49H, 01H, A9H 49 01 A9
Error 16H: displayed as Undefined Error Code. Words 49H (Undefined), 01H (Error), 29H (Code); the last has bit 7 set.
4DDB-4DDD
DEFB 49H, 01H, A9H 49 01 A9
Error 17H: displayed as Undefined Error Code. Words 49H (Undefined), 01H (Error), 29H (Code); the last has bit 7 set.
4DDE-4DE1
DEFB 05H, 12H, 1AH, 87H 05 12 1A 87
Error 18H: displayed as File Not In Directory. Words 05H (File), 12H (Not), 1AH (In), 07H (Directory); the last has bit 7 set.
4DE2-4DE4
DEFB 05H, 3EH, BDH 05 3E BD
Error 19H: displayed as File Access Denied. Words 05H (File), 3EH (Access), 3DH (Denied); the last has bit 7 set.
4DE5-4DE7
DEFB 07H, 0AH, 94H 07 0A 94
Error 1AH: displayed as Directory Space Full. Words 07H (Directory), 0AH (Space), 14H (Full); the last has bit 7 set.
4DE8-4DEA
DEFB 44H, 0AH, 94H 44 0A 94
Error 1BH: displayed as Diskette Space Full. Words 44H (Diskette), 0AH (Space), 14H (Full); the last has bit 7 set.
4DEB-4DEE
DEFB 20H, 1CH, 05H, CBH 20 1C 05 CB
Error 1CH: displayed as End Of File Encountered. Words 20H (End), 1CH (Of), 05H (File), 4BH (Encountered); the last has bit 7 set.
4DEF-4DF2
DEFB 2EH, 20H, 1CH, 85H 2E 20 1C 85
Error 1DH: displayed as Past End Of File. Words 2EH (Past), 20H (End), 1CH (Of), 05H (File); the last has bit 7 set.
4DF3-4DF8
DEFB 07H, 14H, 1DH, 36H, 3FH, 85H 07 14 1D 36 3F 85
Error 1EH: displayed as Directory Full . Can't Extend File. Words 07H (Directory), 14H (Full), 1DH (.), 36H (Can't), 3FH (Extend), 05H (File); the last has bit 7 set.
4DF9-4DFB
DEFB 42H, 12H, B1H 42 12 B1
Error 1FH: displayed as Program Not Found. Words 42H (Program), 12H (Not), 31H (Found); the last has bit 7 set.
4DFC-4E00
DEFB 06H, 1BH, 57H, 18H, 9EH 06 1B 57 18 9E
Error 20H: displayed as Illegal Or Missing Drive #. Words 06H (Illegal), 1BH (Or), 57H (Missing), 18H (Drive), 1EH (#); the last has bit 7 set.
4E01-4E04
DEFB 13H, 15H, 0AH, 96H 13 15 0A 96
Error 21H: displayed as No Device Space Available. Words 13H (No), 15H (Device), 0AH (Space), 16H (Available); the last has bit 7 set.
4E05-4E08
DEFB 27H, 05H, 41H, 81H 27 05 41 81
Error 22H: displayed as Load File Format Error. Words 27H (Load), 05H (File), 41H (Format), 01H (Error); the last has bit 7 set.
4E09-4E0A
DEFB 40H, B2H 40 B2
Error 23H: displayed as Memory Fault. Words 40H (Memory), 32H (Fault); the last has bit 7 set.
4E0B-4E0F
DEFB 11H, 27H, 02H, 28H, C0H 11 27 02 28 C0
Error 24H: displayed as Tried To Load Read Only Memory. Words 11H (Tried To), 27H (Load), 02H (Read), 28H (Only), 40H (Memory); the last has bit 7 set.
4E10-4E14
DEFB 06H, 3EH, 11H, 46H, 85H 06 3E 11 46 85
Error 25H: displayed as Illegal Access Tried To Protected File. Words 06H (Illegal), 3EH (Access), 11H (Tried To), 46H (Protected), 05H (File); the last has bit 7 set.
4E15-4E17
DEFB 05H, 12H, A6H 05 12 A6
Error 26H: displayed as File Not Open. Words 05H (File), 12H (Not), 26H (Open); the last has bit 7 set.
4E18-4E1D
DEFB 06H, 4AH, 0BH, 19H, 3CH, C4H 06 4A 0B 19 3C C4
Error 27H: displayed as Illegal Initialization Data On System Diskette. Words 06H (Illegal), 4AH (Initialization), 0BH (Data), 19H (On), 3CH (System), 44H (Diskette); the last has bit 7 set.
4E1E-4E21
DEFB 06H, 44H, 34H, B5H 06 44 34 B5
Error 28H: displayed as Illegal Diskette Track Count. Words 06H (Illegal), 44H (Diskette), 34H (Track), 35H (Count); the last has bit 7 set.
4E22-4E25
DEFB 06H, 43H, 05H, 9EH 06 43 05 9E
Error 29H: displayed as Illegal Logical File #. Words 06H (Illegal), 43H (Logical), 05H (File), 1EH (#); the last has bit 7 set.
4E26-4E28
DEFB 06H, 21H, C7H 06 21 C7
Error 2AH: displayed as Illegal Dos Function. Words 06H (Illegal), 21H (Dos), 47H (Function); the last has bit 7 set.
4E29-4E2C
DEFB 06H, 47H, 37H, C8H 06 47 37 C8
Error 2BH: displayed as Illegal Function Under Chaining. Words 06H (Illegal), 47H (Function), 37H (Under), 48H (Chaining); the last has bit 7 set.
4E2D-4E2F
DEFB 22H, 07H, 8BH 22 07 8B
Error 2CH: displayed as Bad Directory Data. Words 22H (Bad), 07H (Directory), 0BH (Data); the last has bit 7 set.
4E30-4E32
DEFB 22H, 23H, 8BH 22 23 8B
Error 2DH: displayed as Bad Fcb Data. Words 22H (Bad), 23H (Fcb), 0BH (Data); the last has bit 7 set.
4E33-4E36
DEFB 3CH, 42H, 12H, B1H 3C 42 12 B1
Error 2EH: displayed as System Program Not Found. Words 3CH (System), 42H (Program), 12H (Not), 31H (Found); the last has bit 7 set.
4E37-4E38
DEFB 22H, CDH 22 CD
Error 2FH: displayed as Bad Parameter(S). Words 22H (Bad), 4DH (Parameter(S)); the last has bit 7 set.
4E39-4E3A
DEFB 22H, CEH 22 CE
Error 30H: displayed as Bad Filespec. Words 22H (Bad), 4EH (Filespec); the last has bit 7 set.
4E3B-4E3E
DEFB 38H, 44H, 08H, ABH 38 44 08 AB
Error 31H: displayed as Wrong Diskette Record Type. Words 38H (Wrong), 44H (Diskette), 08H (Record), 2BH (Type); the last has bit 7 set.
4E3F-4E41
DEFB 2AH, 02H, 81H 2A 02 81
Error 32H: displayed as Boot Read Error. Words 2AH (Boot), 02H (Read), 01H (Error); the last has bit 7 set.
4E42-4E44
DEFB 21H, 39H, 81H 21 39 81
Error 33H: displayed as Dos Fatal Error. Words 21H (Dos), 39H (Fatal), 01H (Error); the last has bit 7 set.
4E45-4E4A
DEFB 06H, 50H, 1BH, 51H, 1BH, D2H 06 50 1B 51 1B D2
Error 34H: displayed as Illegal Keyword Or Separator Or Terminator. Words 06H (Illegal), 50H (Keyword), 1BH (Or), 51H (Separator), 1BH (Or), 52H (Terminator); the last has bit 7 set.
4E4B-4E4D
DEFB 05H, 4FH, BBH 05 4F BB
Error 35H: displayed as File Already Exists. Words 05H (File), 4FH (Already), 3BH (Exists); the last has bit 7 set.
4E4E-4E50
DEFB 55H, 24H, ADH 55 24 AD
Error 36H: displayed as Command Too Long. Words 55H (Command), 24H (Too), 2DH (Long); the last has bit 7 set.
4E51-4E53
DEFB 44H, 3EH, BDH 44 3E BD
Error 37H: displayed as Diskette Access Denied. Words 44H (Diskette), 3EH (Access), 3DH (Denied); the last has bit 7 set.
4E54-4E57
DEFB 06H, 2CH, 21H, C7H 06 2C 21 C7
Error 38H: displayed as Illegal Mini Dos Function. Words 06H (Illegal), 2CH (Mini), 21H (Dos), 47H (Function); the last has bit 7 set.
4E58-4E5B
DEFB 56H, 53H, 47H, D4H 56 53 47 D4
Error 39H: displayed as Operator/Program/Parameter Require Function Termination. Words 56H (Operator/Program/Parameter), 53H (Require), 47H (Function), 54H (Termination); the last has bit 7 set.
4E5C-4E5E
DEFB 0BH, 58H, D9H 0B 58 D9
Error 3AH: displayed as Data Compare Mismatch. Words 0BH (Data), 58H (Compare), 59H (Mismatch); the last has bit 7 set.
4E5F-4E60
DEFB 5AH, C0H 5A C0
Error 3BH: displayed as Insufficient Memory. Words 5AH (Insufficient), 40H (Memory); the last has bit 7 set.
4E61-4E64
DEFB 5BH, 5CH, 1BH, DDH 5B 5C 1B DD
Error 3CH: displayed as Incompatible Drives Or Diskettes. Words 5BH (Incompatible), 5CH (Drives), 1BH (Or), 5DH (Diskettes); the last has bit 7 set.
4E65-4E6A
DEFB 3AH, 5EH, 1DH, 36H, 3FH, 85H 3A 5E 1D 36 3F 85
Error 3DH: displayed as Ase=N Attribute . Can't Extend File. Words 3AH (Ase=N), 5EH (Attribute), 1DH (.), 36H (Can't), 3FH (Extend), 05H (File); the last has bit 7 set.
4E6B-4E6F
DEFB 36H, 3FH, 05H, 25H, 82H 36 3F 05 25 82
Error 3EH: displayed as Can't Extend File Via Read. Words 36H (Can't), 3FH (Extend), 05H (File), 25H (Via), 02H (Read); the last has bit 7 set.
4E70
DEFB 00H 00
The end of the table. 4D44H sets the Z FLAG on this byte and 4D47H displays the message that follows, so any error number not reached before it (3FH) gives UNDEFINED ERROR CODE.
4E71-4E73
DEFB 49H, 01H, A9H 49 01 A9
The message after the end of the table, used for error 3FH: displayed as Undefined Error Code. Words 49H (Undefined), 01H (Error), 29H (Code); the last has bit 7 set.

4E74H - Word List (Data)

The words of the messages, one after another, each ending with a character that has bit 7 set. 4D54H starts counting word ends at 4E74H, so the word after the n-th end is word n. 4D5EH displays a word with bit 7 dropped and 4D69H adds a space after it.

4E74
DEFB 80H 80
The 80H before the first word: an empty word 00H, so that ERROR at 4E75H is word 01H.
4E75-4E79
DEFM "Erro", F2H 45 72 72 6F F2
Word 01H: Error. The last character carries bit 7 (F2H = r + 80H).
4E7A-4E7D
DEFM "Rea", E4H 52 65 61 E4
Word 02H: Read. The last character carries bit 7 (E4H = d + 80H).
4E7E-4E82
DEFM "Writ", E5H 57 72 69 74 E5
Word 03H: Write. The last character carries bit 7 (E5H = e + 80H).
4E83-4E88
DEFM "Durin", E7H 44 75 72 69 6E E7
Word 04H: During. The last character carries bit 7 (E7H = g + 80H).
4E89-4E8C
DEFM "Fil", E5H 46 69 6C E5
Word 05H: File. The last character carries bit 7 (E5H = e + 80H).
4E8D-4E93
DEFM "Illega", ECH 49 6C 6C 65 67 61 EC
Word 06H: Illegal. The last character carries bit 7 (ECH = l + 80H).
4E94-4E9C
DEFM "Director", F9H 44 69 72 65 63 74 6F 72 F9
Word 07H: Directory. The last character carries bit 7 (F9H = y + 80H).
4E9D-4EA2
DEFM "Recor", E4H 52 65 63 6F 72 E4
Word 08H: Record. The last character carries bit 7 (E4H = d + 80H).
4EA3-4EA6
DEFM "Nam", E5H 4E 61 6D E5
Word 09H: Name. The last character carries bit 7 (E5H = e + 80H).
4EA7-4EAB
DEFM "Spac", E5H 53 70 61 63 E5
Word 0AH: Space. The last character carries bit 7 (E5H = e + 80H).
4EAC-4EAF
DEFM "Dat", E1H 44 61 74 E1
Word 0BH: Data. The last character carries bit 7 (E1H = a + 80H).
4EB0-4EB5
DEFM "Parit", F9H 50 61 72 69 74 F9
Word 0CH: Parity. The last character carries bit 7 (F9H = y + 80H).
4EB6-4EB9
DEFM "Los", F4H 4C 6F 73 F4
Word 0DH: Lost. The last character carries bit 7 (F4H = t + 80H).
4EBA-4EBD
DEFM "See", EBH 53 65 65 EB
Word 0EH: Seek. The last character carries bit 7 (EBH = k + 80H).
4EBE-4EC0
DEFM "Ga", F4H 47 61 F4
Word 0FH: Gat. The last character carries bit 7 (F4H = t + 80H).
4EC1-4EC3
DEFM "Hi", F4H 48 69 F4
Word 10H: Hit. The last character carries bit 7 (F4H = t + 80H).
4EC4-4ECB
DEFM "Tried T", EFH 54 72 69 65 64 20 54 EF
Word 11H: Tried To. The last character carries bit 7 (EFH = o + 80H).
4ECC-4ECE
DEFM "No", F4H 4E 6F F4
Word 12H: Not. The last character carries bit 7 (F4H = t + 80H).
4ECF-4ED0
DEFM "N", EFH 4E EF
Word 13H: No. The last character carries bit 7 (EFH = o + 80H).
4ED1-4ED4
DEFM "Ful", ECH 46 75 6C EC
Word 14H: Full. The last character carries bit 7 (ECH = l + 80H).
4ED5-4EDA
DEFM "Devic", E5H 44 65 76 69 63 E5
Word 15H: Device. The last character carries bit 7 (E5H = e + 80H).
4EDB-4EE3
DEFM "Availabl", E5H 41 76 61 69 6C 61 62 6C E5
Word 16H: Available. The last character carries bit 7 (E5H = e + 80H).
4EE4-4EE7
DEFM "Dis", EBH 44 69 73 EB
Word 17H: Disk. The last character carries bit 7 (EBH = k + 80H).
4EE8-4EEC
DEFM "Driv", E5H 44 72 69 76 E5
Word 18H: Drive. The last character carries bit 7 (E5H = e + 80H).
4EED-4EEE
DEFM "O", EEH 4F EE
Word 19H: On. The last character carries bit 7 (EEH = n + 80H).
4EEF-4EF0
DEFM "I", EEH 49 EE
Word 1AH: In. The last character carries bit 7 (EEH = n + 80H).
4EF1-4EF2
DEFM "O", F2H 4F F2
Word 1BH: Or. The last character carries bit 7 (F2H = r + 80H).
4EF3-4EF4
DEFM "O", E6H 4F E6
Word 1CH: Of. The last character carries bit 7 (E6H = f + 80H).
4EF5-4EF6
DEFM ".", A0H 2E A0
Word 1DH: a period and a space. The space carries bit 7 (A0H = 20H + 80H), and 4D69H adds a second space after it.
4EF7
DEFB A3H A3
Word 1EH: #. The last character carries bit 7 (A3H = # + 80H).
4EF8-4EFA
DEFM "OU", D4H 4F 55 D4
Word 1FH: OUT. The last character carries bit 7 (D4H = T + 80H).
4EFB-4EFD
DEFM "En", E4H 45 6E E4
Word 20H: End. The last character carries bit 7 (E4H = d + 80H).
4EFE-4F00
DEFM "Do", F3H 44 6F F3
Word 21H: Dos. The last character carries bit 7 (F3H = s + 80H).
4F01-4F03
DEFM "Ba", E4H 42 61 E4
Word 22H: Bad. The last character carries bit 7 (E4H = d + 80H).
4F04-4F06
DEFM "Fc", E2H 46 63 E2
Word 23H: Fcb. The last character carries bit 7 (E2H = b + 80H).
4F07-4F09
DEFM "To", EFH 54 6F EF
Word 24H: Too. The last character carries bit 7 (EFH = o + 80H).
4F0A-4F0C
DEFM "Vi", E1H 56 69 E1
Word 25H: Via. The last character carries bit 7 (E1H = a + 80H).
4F0D-4F10
DEFM "Ope", EEH 4F 70 65 EE
Word 26H: Open. The last character carries bit 7 (EEH = n + 80H).
4F11-4F14
DEFM "Loa", E4H 4C 6F 61 E4
Word 27H: Load. The last character carries bit 7 (E4H = d + 80H).
4F15-4F18
DEFM "Onl", F9H 4F 6E 6C F9
Word 28H: Only. The last character carries bit 7 (F9H = y + 80H).
4F19-4F1C
DEFM "Cod", E5H 43 6F 64 E5
Word 29H: Code. The last character carries bit 7 (E5H = e + 80H).
4F1D-4F20
DEFM "Boo", F4H 42 6F 6F F4
Word 2AH: Boot. The last character carries bit 7 (F4H = t + 80H).
4F21-4F24
DEFM "Typ", E5H 54 79 70 E5
Word 2BH: Type. The last character carries bit 7 (E5H = e + 80H).
4F25-4F28
DEFM "Min", E9H 4D 69 6E E9
Word 2CH: Mini. The last character carries bit 7 (E9H = i + 80H).
4F29-4F2C
DEFM "Lon", E7H 4C 6F 6E E7
Word 2DH: Long. The last character carries bit 7 (E7H = g + 80H).
4F2D-4F30
DEFM "Pas", F4H 50 61 73 F4
Word 2EH: Past. The last character carries bit 7 (F4H = t + 80H).
4F31-4F34
DEFM "Hig", E8H 48 69 67 E8
Word 2FH: High. The last character carries bit 7 (E8H = h + 80H).
4F35-4F3A
DEFM "Heade", F2H 48 65 61 64 65 F2
Word 30H: Header. The last character carries bit 7 (F2H = r + 80H).
4F3B-4F3F
DEFM "Foun", E4H 46 6F 75 6E E4
Word 31H: Found. The last character carries bit 7 (E4H = d + 80H).
4F40-4F44
DEFM "Faul", F4H 46 61 75 6C F4
Word 32H: Fault. The last character carries bit 7 (F4H = t + 80H).
4F45-4F49
DEFM "Rang", E5H 52 61 6E 67 E5
Word 33H: Range. The last character carries bit 7 (E5H = e + 80H).
4F4A-4F4E
DEFM "Trac", EBH 54 72 61 63 EB
Word 34H: Track. The last character carries bit 7 (EBH = k + 80H).
4F4F-4F53
DEFM "Coun", F4H 43 6F 75 6E F4
Word 35H: Count. The last character carries bit 7 (F4H = t + 80H).
4F54-4F58
DEFM "Can'", F4H 43 61 6E 27 F4
Word 36H: Can't. The last character carries bit 7 (F4H = t + 80H).
4F59-4F5D
DEFM "Unde", F2H 55 6E 64 65 F2
Word 37H: Under. The last character carries bit 7 (F2H = r + 80H).
4F5E-4F62
DEFM "Wron", E7H 57 72 6F 6E E7
Word 38H: Wrong. The last character carries bit 7 (E7H = g + 80H).
4F63-4F67
DEFM "Fata", ECH 46 61 74 61 EC
Word 39H: Fatal. The last character carries bit 7 (ECH = l + 80H).
4F68-4F6C
DEFM "Ase=", CEH 41 73 65 3D CE
Word 3AH: Ase=N. The last character carries bit 7 (CEH = N + 80H).
4F6D-4F72
DEFM "Exist", F3H 45 78 69 73 74 F3
Word 3BH: Exists. The last character carries bit 7 (F3H = s + 80H).
4F73-4F78
DEFM "Syste", EDH 53 79 73 74 65 ED
Word 3CH: System. The last character carries bit 7 (EDH = m + 80H).
4F79-4F7E
DEFM "Denie", E4H 44 65 6E 69 65 E4
Word 3DH: Denied. The last character carries bit 7 (E4H = d + 80H).
4F7F-4F84
DEFM "Acces", F3H 41 63 63 65 73 F3
Word 3EH: Access. The last character carries bit 7 (F3H = s + 80H).
4F85-4F8A
DEFM "Exten", E4H 45 78 74 65 6E E4
Word 3FH: Extend. The last character carries bit 7 (E4H = d + 80H).
4F8B-4F90
DEFM "Memor", F9H 4D 65 6D 6F 72 F9
Word 40H: Memory. The last character carries bit 7 (F9H = y + 80H).
4F91-4F96
DEFM "Forma", F4H 46 6F 72 6D 61 F4
Word 41H: Format. The last character carries bit 7 (F4H = t + 80H).
4F97-4F9D
DEFM "Progra", EDH 50 72 6F 67 72 61 ED
Word 42H: Program. The last character carries bit 7 (EDH = m + 80H).
4F9E-4FA4
DEFM "Logica", ECH 4C 6F 67 69 63 61 EC
Word 43H: Logical. The last character carries bit 7 (ECH = l + 80H).
4FA5-4FAC
DEFM "Diskett", E5H 44 69 73 6B 65 74 74 E5
Word 44H: Diskette. The last character carries bit 7 (E5H = e + 80H).
4FAD-4FB4
DEFM "Dos-Cal", ECH 44 6F 73 2D 43 61 6C EC
Word 45H: Dos-Call. The last character carries bit 7 (ECH = l + 80H).
4FB5-4FBD
DEFM "Protecte", E4H 50 72 6F 74 65 63 74 65 E4
Word 46H: Protected. The last character carries bit 7 (E4H = d + 80H).
4FBE-4FC5
DEFM "Functio", EEH 46 75 6E 63 74 69 6F EE
Word 47H: Function. The last character carries bit 7 (EEH = n + 80H).
4FC6-4FCD
DEFM "Chainin", E7H 43 68 61 69 6E 69 6E E7
Word 48H: Chaining. The last character carries bit 7 (E7H = g + 80H).
4FCE-4FD6
DEFM "Undefine", E4H 55 6E 64 65 66 69 6E 65 E4
Word 49H: Undefined. The last character carries bit 7 (E4H = d + 80H).
4FD7-4FE4
DEFM "Initializatio", EEH 49 6E 69 74 69 61 6C 69 7A 61 74 69 6F EE
Word 4AH: Initialization. The last character carries bit 7 (EEH = n + 80H).
4FE5-4FEF
DEFM "Encountere", E4H 45 6E 63 6F 75 6E 74 65 72 65 E4
Word 4BH: Encountered. The last character carries bit 7 (E4H = d + 80H).
4FF0-4FFD
DEFM "Locked/Delete", E4H 4C 6F 63 6B 65 64 2F 44 65 6C 65 74 65 E4
Word 4CH: Locked/Deleted. The last character carries bit 7 (E4H = d + 80H).
4FFE-5009
DEFM "Parameter(S", A9H 50 61 72 61 6D 65 74 65 72 28 53 A9
Word 4DH: Parameter(S). The last character carries bit 7 (A9H = ) + 80H).
500A-5011
DEFM "Filespe", E3H 46 69 6C 65 73 70 65 E3
Word 4EH: Filespec. The last character carries bit 7 (E3H = c + 80H).
5012-5018
DEFM "Alread", F9H 41 6C 72 65 61 64 F9
Word 4FH: Already. The last character carries bit 7 (F9H = y + 80H).
5019-501F
DEFM "Keywor", E4H 4B 65 79 77 6F 72 E4
Word 50H: Keyword. The last character carries bit 7 (E4H = d + 80H).
5020-5028
DEFM "Separato", F2H 53 65 70 61 72 61 74 6F F2
Word 51H: Separator. The last character carries bit 7 (F2H = r + 80H).
5029-5032
DEFM "Terminato", F2H 54 65 72 6D 69 6E 61 74 6F F2
Word 52H: Terminator. The last character carries bit 7 (F2H = r + 80H).
5033-5039
DEFM "Requir", E5H 52 65 71 75 69 72 E5
Word 53H: Require. The last character carries bit 7 (E5H = e + 80H).
503A-5044
DEFM "Terminatio", EEH 54 65 72 6D 69 6E 61 74 69 6F EE
Word 54H: Termination. The last character carries bit 7 (EEH = n + 80H).
5045-504B
DEFM "Comman", E4H 43 6F 6D 6D 61 6E E4
Word 55H: Command. The last character carries bit 7 (E4H = d + 80H).
504C-5065
DEFM "Operator/Program/Paramete", F2H 4F 70 65 72 61 74 6F 72 2F 50 72 6F 67 72 61 6D 2F 50 61 72 61 6D 65 74 65 F2
Word 56H: Operator/Program/Parameter. The last character carries bit 7 (F2H = r + 80H).
5066-506C
DEFM "Missin", E7H 4D 69 73 73 69 6E E7
Word 57H: Missing. The last character carries bit 7 (E7H = g + 80H).
506D-5073
DEFM "Compar", E5H 43 6F 6D 70 61 72 E5
Word 58H: Compare. The last character carries bit 7 (E5H = e + 80H).
5074-507B
DEFM "Mismatc", E8H 4D 69 73 6D 61 74 63 E8
Word 59H: Mismatch. The last character carries bit 7 (E8H = h + 80H).
507C-5087
DEFM "Insufficien", F4H 49 6E 73 75 66 66 69 63 69 65 6E F4
Word 5AH: Insufficient. The last character carries bit 7 (F4H = t + 80H).
5088-5093
DEFM "Incompatibl", E5H 49 6E 63 6F 6D 70 61 74 69 62 6C E5
Word 5BH: Incompatible. The last character carries bit 7 (E5H = e + 80H).
5094-5099
DEFM "Drive", F3H 44 72 69 76 65 F3
Word 5CH: Drives. The last character carries bit 7 (F3H = s + 80H).
509A-50A2
DEFM "Diskette", F3H 44 69 73 6B 65 74 74 65 F3
Word 5DH: Diskettes. The last character carries bit 7 (F3H = s + 80H).
50A3-50AB
DEFM "Attribut", E5H 41 74 74 72 69 62 75 74 E5
Word 5EH: Attribute. The last character carries bit 7 (E5H = e + 80H).

50ACH - Unused Bytes

The end of the file. Nothing in SYS4/SYS reaches these bytes.

50AC-51E7
NOP x 316 00 x 316
316 bytes of 00H to the end of the file (51E7H). 51E8H-51FFH is not in the file.