background image

Summary of Contents for EXORdisk II

Page 1: ... j j ...

Page 2: ...naccuracies FU r t her1nore such information does not convey to the p u r c has e r 0 f the pro due t des cr i bed any 1i c ens e und e r the pat e n t T ig hts of Motorola Inc or othel s Motorola reserves the right to change speci ic ations J1it llou t no t i c e EXORcise EXbug EXORdisk EXORterm and MDOS are trade maT ks of Motorola Inc Second Edition CopYTight 1979 by Motorola Inc First Edition ...

Page 3: ...IIO on p inter 02 27 2 9 9 PATCH Executable p ogram ile patching 02 27 2 9 10 CHAIN MDOS command chaining 02 27 2 9 11 REPAIR System table checking 02 28 2 9 12 DUMP Diskette sector display 02 29 2 9 13 FORMAT Diskette ref rmatting 02 28 2 9 14 DOSGEN MDOS diskette gene ation 02 28 2 9 15 ROLLOUT Memor rollout to diskette 02 29 2 10 MOOS Supported SoftUJa e Products 02 29 2 11 Paper Alignment 02 2...

Page 4: ...Examples CHAIN COMMAND 6 1 Use 6 2 Tag Definition Assignment and Substitution 6 3 Compilation Operators 6 3 1 Comp i lation Comments 6 3 2 IF operator 6 3 3 XIF and ELSE operators 6 3 4 ABORT operator 6 4 Execution Operators 6 4 1 Ex ec ut i on Comments 6 4 2 Operator Breakpoints 6 4 3 Error status word 6 4 4 SET operator 6 4 5 TST operator 6 4 6 JMP operator 6 4 7 LBL operator 6 4 8 eMD operator ...

Page 5: ...terpreter lcadab Ie pl ogT ams18 04 18 1 3 Programs in the User Memor Map 18 06 18 1 4 MDOS command line initialization 18 07 18 1 5 Entering the debug monitor 18 08 18 2 Error Messages 18 09 18 3 E xamp 1e s 18 11 MERGE COMMAND 19 1 Use 19 1 1 Merging non memor J image files 19 1 2 Mel ging memory image riles 19 1 3 Othel options 19 2 Messages 19 3 Examples NAME COMMAND 20 1 Use 20 1 1 Changing r...

Page 6: ...21 2 15 Change locations 21 2 16 Instruction mnemonic decode mode 21 3 Special Considerations 21 4 Error Messages REPAIR COMMAND 22 1 Use 22 2 ID LCAT CATI BootblacK Sector Check 22 3 Directory Sector Check 22 4 Retrieval Information Block Check 22 5 CAT Regeneration Phase 22 6 CAT ReplacementJPhase 22 7 Messages 22 8 Ex mp les ROLLOUT COMMAND 23 1 Use 23 1 1 User Memory Map 23 1 2 Non over lay ed...

Page 7: ... Printer output PRINT PRINX 25 2 4 1 Example oT printel output 25 2 5 Physical sectoT input DREAD EREAD 25 2 6 Physical sectoT output DWRIT EWRIT 25 2 7 Multiple sector input MREAD MERED 25 2 8 Multiple secto output MWRIT MEWRT 25 2 9 Diskette controller entry points 25 3 Device Independent IIO Functions 25 3 1 1 0 Contro 1 Bloc k IOCB 25 3 1 1 IOCSTA Error status 25 3 1 2 ICCDTT Data tl ans Per t...

Page 8: ... I O functions 25 3 9 1 Input logical sectors GETLS 25 3 9 2 Output logical sectors PUTLS 25 3 9 3 Rewind file REWND 25 3 9 4 Example of logical sector I O 25 3 10 Error handling 25 34 25 39 25 42 25 45 25 48 25 49 25 51 25 51 25 54 25 56 25 58 25 62 26 INPUT OUTPUT PROVISIONS FOR NON SUPPORTED DEVICES 26 01 26 1 Devi c e Dep end ent I O 26 2 Device Independent IIO 26 2 1 Cont oller Descripto r Bl...

Page 9: ... for alphabetic character ALPHA 27 3 6 Test for decimal digit NUMD 27 4 Dis ke t t e F i 1e Func t ions 27 4 1 Directory search DIRSM 27 02 27 03 27 03 27 03 27 04 27 04 27 04 27 05 27 05 27 05 27 05 27 06 27 06 27 06 27 07 27 07 27 07 27 08 27 08 27 08 27 09 27 10 27 10 27 11 27 11 27 11 27 14 27 17 27 20 27 25 27 28 27 4 2 Change file name attributes CHANG 27 4 3 Load program into memory LOAD 27...

Page 10: ...ORTRAN Compiler H 10 MASM MACE Cross Assembler H 11 MBUG MACE Loader and Debug Module H 12 MOTEST Component Tester Executive H 13 MPL MPL Compiler H 14 PPLO PPHI PROM Programmer I H 15 PROMPROG PROM Programmer 11 111 H 16 RASM Re 1ocatab 1e M6800 Macro As semb 1er H 17 RASM09 Relocatable M6809 Cross Assembler H 18 RLOAD Li n king Load er H 19 SIM1000 141000 Simulator H 20 USE with MDOS 1 MDOS EQ u...

Page 11: ......

Page 12: ...r EXORdisk III provides a powerful and easy to use tool for software development t or the remainder of this manual all references to MDOS will encompass both the M6800 version as well as the M6809 version unless otherwise specified MDOS is an interactive operating system that obtains commands from the s stem consol These commands are used to move data on the diskette to process data or to activate...

Page 13: ...r Figurg 1 1 Typcial EXORdisk system Page 01 02 I ...

Page 14: ...e on the MDOS system diskette at the time of purchase Othe additional ha dwa e may be required to run the MDOS Suppo ted software p oducts Such information is described in Appendix H 1 2 Additional Supported Hardware MDOS also supports a line printer and the eaderlpunch record devices of the system console The line printer interfaces to the EXORciser through the printe interface module MEX68PI whi...

Page 15: ...cuted on an MDOS system without reassemblYi hOUlever such programs 111111 have to be converted into the memory image rile format before they can be loaded rrom diskette into memol q see section 2 8 5 Programs need only be changed hen transferred o MDOS if 1 They make assumptions initialization of the stack they are loaded into memory about the pointer after 2 They are origined to load initialize m...

Page 16: ...on the right of one unit hile drive two is on the left and drive three is on the right of the other unit Before the following modifications are made both dual drive units are identical 1 The housings from both dual drive units must be removed 2 In the dual drive unit that is to contain drives and one the Terminator Network Motorola 51NW9626A01 should be removed from the socket on printed circuit b...

Page 17: ... result in damage to components o the module 2 Any other card to addresses through EC07 from the system address range in the EXORciser that responds between hexadecimal E800 inclusivel must be removed or configured ror a di ferent 3 The floppy disk cont oller module can then be inse ted into anq available card slot It is desirable to keep all or the cards in the EXORciser close togethe i it is spe...

Page 18: ...ORcise and system console No diskettes should be in a drive while the drive s or the EXORciser s power is being turned on or off 1 6 Software Installation There is no so tware installation that need be performed All MDOS software is included on the diskette that is shipped with each EXORdisk This diskette contains the operating system and a set of commands that comprise MDOS It mayor may not conta...

Page 19: ... c C c C o ...

Page 20: ...st be ollowed 1 EXbug must be initialized and configured for the proper speed of the system console If power has Just been turned on for the first time EXbug initialization is automatically performed by the power up interrupt service routine in EXbug If power is already on and MOOS is to be re initialized then either the ABORT or RESTART pushbuttons on the EXORciser s front panel must be depressed...

Page 21: ...Bootblack into memory Once the Bootblack has been loaded control is transrerl ed to it The Bootblock JIill then attempt to load into memor t e remainder of the resident operating system 2 2 Sign on Message Ir no e ors occur during the initialization process MDOS will display the message MDOS VV RR M6800 MDOS09 VV RR Mb809 meaning that MDOS has been successrully loaded rrom disk and initialized The...

Page 22: ...rite protection tab must first be covered ith a piece of opaque tape to allow riting on the diskette The drive is not ready The door is open or the diskette is not yet turning at the proper speed Ir the diskette has been inserted into the drive with the wrong orientation the not ready error ill be also generated If a double sided diskette is used in the EXORdisk II drivesl this error Ulill also oc...

Page 23: ...d and chapter 15 FORMAT command describe ways in ich damaged diskettes can be regenerated Depending on the extent of the e orsJ the diskette may be used in d ive one to recover any files that may be on it sec t i on 2 8 9 Th e dis k etta c ontro 11 er error E5 can oc c ur for a v ar i ety of reasons The most common reason and the most fatal is the destruction o the addressing info mation on the di...

Page 24: ...dicates that the Retrieval Information Block RIB of the resident operating system file MDOS SY is in error The operating system cannot be loaded The diskette probably is not an MDOS system diskettes or the sJ Jstem riles have been moved from their original plac es Th e REPAIR command Chap tel 22 can be used to identify which files are missing or if their places have been changed EM This error indi...

Page 25: ...generated The diskette maq be used in drive one to save any riles that may be on it section 2 8 9 This error may also occur if the door to drive zero is opened hile initialization is in prog ress 2 4 Operator Command Format Aft er the s i 9 n 0 n me s sage i s disP 1aye d MOOS i s rea d y to accept commands from the operator The equal sign prompt indicates that the command interpreter is awaiting ...

Page 26: ...e mistaken for an MDOS file name character a suffix delimiter a logical unit number delimiter 01 a device name delimiter see section 2 7 1 can be used as a separator The use of special characters although pe r mitted is not recommended because the command line becomes very unreadable 2 5 System Console The system console is used as the communications device between the operator and the operat ng s...

Page 27: ...W key This combination is used to halt the displaq of information on the system console or printer All commands that respond to the BREAK key abort function will also be IIhaltable ll IVlth the CTL W key Most MDOS commands that display more than a fe lines o information on the console will occasionally check to see if the CTL W key has been depressed I r a CTL W is detected I the command wi 11 sus...

Page 28: ...r inspection The newly displayed line will be shown on the line following the current input line Operator input is not terminated with the CTL D key Any remaining input must still be suppliedl as well as the terminating car iage eturn 2 6 Common Erro Messages Many error messages are common to the MDOS commands In order to be aware of the most common errors their desc iptions are included here Thes...

Page 29: ...tte s directo The file name must exist prior to using the command No file name is displayedl since only one parameter is required by the command 05 name DUPLICATE FILE NAME The displayed file name already exists in the diskette s director The file name must not exist prior to using the command The name is displayed to show which name of the multiple names specified as parameters caused the error 0...

Page 30: ...name was specified that contained a family indicator that began with a device name indicator or that did not begin with an alphabetic character 41 INSUFFICIENT DISK SPACE A command is trying to create a file or to write into a file Upon trying to allocate more file spacel insufficient room remains on the diskette to accommodate the space requirements PROM 110 ERROR STATUS nn AT h DRIVE i PSN J An ...

Page 31: ...File name specifications An MDOS file name specification consists of three parts a file name a suffix and a logical unit number File names can be from one to eight alphanumeric characters in length the first oT which must be alphabetic The alphabetic characters must be uppe case letters Valid rile names could look like the following DIR ASM3870 BACKUP 50 BLOKEDIT Z In most cases all that need be s...

Page 32: ...es and suffixes on sepal ate diskettes Thus the logical unit numbel is required to uniquely specify a directory entry on given dl ive Logical unit numbers consist of a single decimal digit 0 L 2 or 3 In most case s MDOS commands supply a default value for the logical unit numbel If a pa ticular drive must be identifiedJ it must be entered by the operat or as a part of t e file name specification L...

Page 33: ...onal logical unit number Device names are two characters long both of which must be alphabetic A pound sign is used as a leading character to indicate that the subsequent two character sequence is a device name For example LP CN are valid device names used ror the line int r and the console respectively A device specirication may be entered with a logical unit number Logical unit numbers must roll...

Page 34: ... but meaningful descriptions and examples of the most frequently used MDOS commands in a typical software development environment No attempt is made in these sections to cover all capabilities and options of the described commands The detailed command descriptions in PART II serve that purpose After reading this section the operator should be able to go on line with MDOS and be able to display the...

Page 35: ...cal element C options T equires the semicolon j to be typed whenever the options field is used 2 8 1 DIR Di T ec to T Y di sp lay The DIR command is used to display diskette s dir ctory Either the selective parts of it can be displayed command line for the DIR command is the contents Or a entire directory or The format of the DIR name Ci options J The file name specification name indicates what to...

Page 36: ...e indicating that no entries were found will be displayed Directory searches for specific rile names do not require the US option to distinguish between system files and user riles Chapter 9 contains a complete de cription oT the DIR command s use 2 8 2 EDIT Program editing The EDIT command is used to create and or to change user tllT itten SOUT ce p rogram and data riles on diskette The EDIT comm...

Page 37: ...t of the software development environment I not included on the MDOS system dis etteJ the assemblers must be copied from the diskette on which they were shipped see section 2 8 9 Once the assemblers reside on the system dis k e t t e the j are i nv 0 ked III i t h ther 0 11 0 win 9 MOOS comman d 1 ine ASM or RASM or RASM09 name C options If the assemblers are not copied to the system diskette in d...

Page 38: ...i ore the assembly process can continue The next section describes the process oT file deletion During the iterative process of editing assembling to obtain an error free program the obJect rile created by the assembler can be suppressed by specifying the option 0 in the 0 p t ion s fie 1 d Th e comman d line ASM or RASM RASM09 TESTPROGiL O for example ill assemble the source program as in the abo...

Page 39: ...se contents can be loaded into memory ror execution MDOS can only load programs into memory that are in memory image files Thus the EXBIN command must be invoked after an ssembly process to CTeate the loadable file The fo mat of the command line for the EXBIN command is EXBIN name The name speci ied on the command line is the name o the EXbug loadable obJect file created by the assembler Only the ...

Page 40: ...ogram overlays the resident operating syst em If the file TESTPROG Trom the previous examples was origined to the hexadecimal memory address 100 the following command line LOAD TESTPROGiV would be used to load the program The V option is used to specify that the program to be loaded will overlay the resident operating system If the V option were left off the command line an error message Ulould be...

Page 41: ... or origin al name o p the Tile The default suffil SAil is supplied automatically if none is given by the operator The second name name 2 J indicates the new name that is to be assigned to the rile now known bq name 1 Thus if the file from the above examples TESTPROG were to be given a more desc riptive name such as BLAK AC the following command would be used NAME TESTPROG BLAKJACK In this case on...

Page 42: ...diskettes or to move a file between the console reader punCh record device and a diskette To make a duplicate copy or a file on the same disketteJ the following command line is used COpy name l name 2 where name 1 specifies the current name of an existing file and name 2 specifies the name of the duplicate cop The default suffix liSA and the default logical unit number zero are supplied for name 1...

Page 43: ...t may be placed in anQthe drive in attempt to save any files that may be on it The COPY command should be used to save files in this manne If diskette controlle e ors occur du ing such a save process the files cannot be recovered I a user has existing files on paper tape 0 1 cassette that are written in one of the standard reco d formats i e I records that end ulith a carriage return line reed nul...

Page 44: ... diskette in drive zero is to be read and copied to the diskette in drive one This process ensures that all sectors on the new diskette can be written to Once the BACKUP command has been invoked in this way it will display the following message BACKUP FROM DRIVE 0 TO 1 to which the operator should respond with a y response will terminate the BACKUP processJ dis ke t t e i n dr i ve 0 n e i n ta ct...

Page 45: ...he complete description of the EMCOPY command 2 9 3 BLOKEDIT File rearrangement The BLO EDIT command allows lines of taxt rrom one or mo e ASCII iles to be s lectively copied into a new ile This command can be useful in generating ne program source iIes b copying routines from existing source riles or in rearranging existing iles by copying their lines into a new sequence Chapter 5 contains the co...

Page 46: ...to the sys em console to also be printed on the line printer Chapter 12 contains the complete description of the ECHO command 2 9 9 PATCH Executable program file patching The PATCH command allows changes to be made to memory image files An obJect file can be fixed due to minor bugs or assembly errors without having to re edit and re assemble it corresponding source file The fixes can be entered us...

Page 47: ...y can be examined using logical sectoT numbe s Sectors can also be moved into a tempora burfe he e changes can be applied befo e they a e w itten back to diskette Chapter 11 contains the complete d escTiption of the DUMP command 2 9 13 FORMAT Diskette refo matting The FORMAT command attempts to ewrite the sector addressing info mation on damaged diskettes The command can be used to reformat either...

Page 48: ...called MOOS Supported software products No attempt will be made in this User s Guide to comprehensively describe any MOOS Supported software product Appendix H contains a list complete at time of publication of all products that can be invoked from an MOOS diskette as a command Each description will contain the additional hardware requirements if any the command line formats and a brief discussion...

Page 49: ......

Page 50: ...on the command linel then zero will be used as the source unit and one will be used as the destination unit Specifying only a single logical unit number on the command line will cause zero to be the source unit and the specified logical unit to be the destination unit Both s unit and d unit must be valid logical unit numbers 0 3 d unit cannot be zero and the two numbers cannot be the same BACKUP w...

Page 51: ... copy selective Tiles to destination diskette Verify compare source and destination diskettes Function Continue i read write erro s occur Continue i deleted data mark errors occur Change ID sector during copy Use line printer for bulk of message printing Suppress printing of file names being copied Suppress printing oT byte orfsets during c ompar i sons Include unallocated space in copy verify pro...

Page 52: ...ling BACKUP BACKUP FROM DRIVE 0 TO 1 y and would produce a copy on the destination diskette of the source diskette s allocated space If an EXORdisk III system is being used then the destination diskette cannot be a single sided diskette ir the source diskette is a double sided diskette The error message INVALID TO COPY VERIFY FROM DOUBLE TO SINGLE SIDED will be displayed and control eturned to MDO...

Page 53: ...or is copied and optionally modified if the If I I 0 P t i on wassp e c i fie d 5 e cond I the L 0 c k0 ut C1 us t el Allocation Table LCAT and the Cluster Allocation Table CAT are initialized user locked out sectors are not copied during the reorganization process Third the directory sectors on the destination disk are zeroed Fourth the Bootblock is copied Fifth all of the file names from the sou...

Page 54: ...s a carriage return only No more commands will be entered The files to be copied have been selected If no file selection commands were issued all iles in the sorted directory will be copied Begin the cop process Both the SAVE and DELETE commands require file names to be specified as parameters The format of the SAVE and DELETE commands are the same exceptJ oT coursel TOT the command letter D OT S ...

Page 55: ...e entered at an time in 1 esponse to the file selection command prompt QUIT will cause the BACKUP process to be terminated and control returned to MDOS The file selection commands entered thus far ill have had no efTect on the destination diskette however due to the reorganization option the destination diskette will have had its basic system tables initialized as described above The NO MORE comma...

Page 56: ...s must be from the set of those displayed in front of the file names These numbers are used to indicate which files are to be excluded from the sorted directory before files are copied to the destination diskette For examplel the following entry 01 03 lE 06 would cause the file names with numbers to be removed rram the sorted directory befo e the Tile copy process beg ins Another DELETE FILE NOS U...

Page 57: ... MDOSaV1 SY COPYING MDOSOV2 SY COPYING MDOSOV3 SY COPYING MDOSOV4 SY COPYING MDOSaV5 SY COPYING MDOSOV6 SY COPYING MDOSER SY STARTING TO COpy FILES COPYING BACKUP CM COPYING COpy CM COpy ING DEL CM COPYING RLOAD CM COPYING EGU SA COPYING IOCB SA After all eligible Tiles from the sorted directorij have been copied BACXUP will return control to MDOS The destination diskette will contain all of the s...

Page 58: ...ibility of Tile name duplication exists In the event that one of the selected file names from the sorted di ecto y duplicates a file name in the destination directorYI the following message will be displayed name DUPLICATION IS IT TO BE COPIED The operator must respond with either an N or Y The Nil response will prevent the file from being copied to the destination diskette Th e fly response will ...

Page 59: ... The el 1 or message OB ECT FILE CREATION COPY ERROR will be displayed and the BACKUP command will be terminated The destination diskette may have sufficient space to accommodate the rile howeve 1 iT the space is not contiguousl the above errol OCCUl S To copy the fileJ the destination diskette should be run thr ugh the file reorganization process described in section 3 3 or the rile must be copie...

Page 60: ... verified against a double sided diskette 3 6 Other Options The Other Options described briefly in section 3 1 cannot be used indiscriminately with any of the Main Options This section serves to ully explain the use o each Other Option Other Valid with Function Option Main Option C any The C option will cause the copy or veriTY process to continue even if a retryable read w ite error occur ed hich...

Page 61: ...AME DATE MMDDYY USER NAME Operator Response Maximum or eight character ror dis kett e ID Format is similar to that of a i 1 e name Six igit numeric date No check is made or valid months or days aT the month Maximum of twenty c harac ter The ilL option cause the output rrom the copy process or from the verification process to be directed to the line printer instead of the system console The UN opti...

Page 62: ...iven as a response to the file name duplication error message This will automatically prevent the Tile on the source diskette from bei g copied to the destination diskette The ItZ and Y options are mutually exclusive The following messages can be displayed by the BACKUP command Not all messages are error messagesl although error messages are included in this list The standard error messages that c...

Page 63: ... GUIT Q J NO MORE CR 5 D P J G I CR The Rn or AI option has been specified file selection process is activated The line shows wh t the valid responses are The third SJ 0 P J i CR SYNTAX ERROR This is a subse uent prompt from the file selection process SAVE and DELETE commands can be entered until a P print G q uit or carriage return NO MORE is entered This indicates a mistake in a response to a Q ...

Page 64: ... IS IT TO BE COPIED NEW NAME This indicates th t the file name specified by name alr ady exists o the destination diskette during the append process Only a Y or N is accepted as a valid response This message is displayed if a V n is given in response to the preceding message It allo s the operator to assign a new file name to the file being copied from the source diskette A carriage return respons...

Page 65: ...me on the destination diskette could not be deleted due to its protection attributes DELETE FILE NOS nn name The PRINT command displays this prompt to allow deletion or file names by entering thei displayed numbers The prompt will be redisplayed until a null response carriage return is given After the PRINT command is chosen during the file selection process a list of all file names eligible for c...

Page 66: ... This indicates that on an EXORdisk III system the source diskette was double sided while the destination diskette was single sided This is invalid 3 8 Precautions with BACKUP The rollowing sections describe some or the precautions that should be taken when using the BACKUP command in the various environments that are supported by MDOS 3 8 1 BACKUP and the CHAIN process Since the BAC UP command ha...

Page 67: ...t possiblel hOUlever foT BACz UP to sense the difTerence bet een a two rive and a Tour drive sqstem Thus due to the nature o r the two drive disk cont rolleT S Ullth EXORd isk II it is possible to destroq a diskette in drive one if BAC UP is invoked lUith the RI option and if non zero numbers aT e speci ie on the command line TOl s unitJ and d unit If the user has a t o dl ive system it does not m...

Page 68: ...rator system interactions BACKUP VS SECTOR 0000 The following example assumes that no scratch or garbage files exist on the source diskette Then the reorganization process requires a minimum amount or operato interaction I BACKUP 1 2iR BACKUP FROM DRIVE 1 TO 2 y ENTER FILE COpy SELECTION COMMANDS SAVE S DELETE D PRINT P I QUIT Q NO MORE CR S D P Gl CR COPYING MDOS SY etc STARTING TO COpy FILES COP...

Page 69: ...for copying Then the PRINT command as used to see the eligible list of file names The PRINT command terminates the use of the DELETE and SAVE commands Thus the PRINT command s delete Pile feature is used to emove any emaining file names f m the eligible list File names OB oe 00 OEI and 10 were deleted in this manne A null esponse is required to terminate the PRINT command s inpu prompting The last...

Page 70: ......

Page 71: ...ination thereof The unspeciTied parts oT name 2 will be supplied from the respective parts of name 1 with the exception of the suffix The default suffix for name 2 is IILX to indicate its EXbug loadable Format If no file specification is given for name 2JI the output file will be created with the same file name as name 1 but with the s uf of i x 1 LX I f 0 n 1y a s u of fix i s g i ven f 0 T narne...

Page 72: ... memor image file TESTPROG LO also on logi al unit zero IT the output file is to be created on a different d ive than the input file but the other default paramete s are still to be applied then only a logical unit number need be speci ied fo name 2 as in the following example BINEX TESTPROG 1 which will c eatg the Pile TESTPROG LX on logical unit one If the rile to be converted happens to reside ...

Page 73: ......

Page 74: ... ault suffix SAil and the derault logical unit number zero name 1 must be the name of a file that exists in the directorq name 2 must not al eady exist A standard error message will be displayed if either Or these criteria is not met o ir enamel is Or the wrong file Format 5 2 BLOKEDIT Command File The command file speciried b name 1 is the controlling facto in the execution of the BLOKEDIT comman...

Page 75: ...to specif from hich ile the subsequent lines are to be copied A sour e rile can only be named by putting its file specification at the beginnin oT a command line Optionally the suffix and or logical unit numbe can be speci ied in the standard format after the file s name The default values of SA and zero are supplied automatically i no explicit references to surfix or logical unit number are made ...

Page 76: ...e neUf file as is Thus it is possible to include original lines of text that will be copied into the new file in addition to the physical lines copied rrom the named source files The following example illustrates the use Or quoted lines II START OF QUOTED LINE SEGUENCE LABEL LDAA FD SET MASK LSRB STAB TAB 4 TAB COMMENTS IN QUOTED LINES GET WRITTEN OUl MP EX IT END OF QUOTED LINE SEQUENCE The first...

Page 77: ...he next command line r T om the command rile will be processed 38 INVALID LINE NUMBER OR RANGE This er or message can be displayed for several r asons A line in the command rile did not beg i n wit han as t e 1 i ski adoubI e Q U ate J a dec i ma 1 dig i t 0 9 Lor an alp habe tic c ha rae tel A Z I and the line was not a quoted line If the command line started with a digitI then the physical line ...

Page 78: ...A O is created using the EDIT command Define the irst source file EDIT 1 176 205 224 230 Define the second source file ASM SA O Insert a PAGE directive to separate routines PAGE II 56 80 90 101 150 163 Define the last source file LOAD If Insert another PAGE directive PAGE 1 27 28 29 3Q 31 32 33 34 35 36 37 38 39 40 End of Command File Then the MDOS command line BLOKEDIT BLKCMD UTILITY is used to i...

Page 79: ...ed to shu fle the lines in the source file PROGl SA O First lines 207 300 tliould be copied into the new ile These would be folloUled by lines 10 206 which would be followed by lines 1 9 The last example illustrates an error message displayed by BLOKEDIT The command line in error is displayed prior to the error message The initial five digit number in Tront of the displayed command line gives the ...

Page 80: ......

Page 81: ...e specification or the diskette rile that contains the procedure definition The CHAIN file name 1 is given the derault sufrix CF permitting the file name to be identified in the director listing at a glance as being a CHAIN file The default logical unit number is zero The optional arguments arg i i 1 to n are CHAIN tag definitions which can be used to modif the compilation content or ex ec uti on ...

Page 82: ... to supply information from the intermediate file until the end of the File is encounte red If at that point the next input i equest from the console is bq the MDOS command interpreter the CHAIN process will be properly terminated MDOS ill be re entered and commands will again be accepted f om the operator at the console I r however the end of the intermediate file is encountered while a program i...

Page 83: ... to determine if the CHAIN process will produce output to a printer The values of the tags DAY and TIME could be substituted in one Gf the heading lines that may be produced by the CHAIN process So rar in the discussion the value or a tag has not been used The existence of a tag can be tested regardless of a tag s alue A iag s value is substituted ror each occurrence or th e tag s name contained b...

Page 84: ...to s When the above lines re compiledJ the resultant intermediate file will not contain the ba c Ie s 1ash c h ar act e yO s I F the va 1 ue It XLGIf i s given t G OPT I ON 01 8 78 to DATEI and lfi 1000n to START1 then the compiled CHAIN file would appear as RASM TESTPROGiHXLG PROGRAM ASSEMBLED ON 01 8 78 CHAIN FILE2iSTARTki lOOOi The value or START would be passed from the first CHAIN file to the...

Page 85: ...ful in communicating to the operator what intermediate Tile is being compiled for execution The comment lines are only displayed if the part of the file containing the comments is being compiled into the intermediate file see next section 0 3 2 IF operator If the characters following a slash are IIIFu an IF operator is denoted There may be any number Or intervening spaces between the slash and the...

Page 86: ...arating tag names on an IF line will perform an i clusive or function A period separating tag namesl on the other handl wi 11 perform an and function The and ll function has precedence ovel the or function i Th at is the comma s or can beth 0 ugh t 0 f as 9r 0 up i n g the perio s and For examplel the IF operator line IIFS FLAG1 FLAG2 FLAG3 is equivalent to the previous example o three successive ...

Page 87: ...fied on the CHAIN c emman d 1 in e A h e ad i n 9 1 i n e i sal sop r 0 v ided lIJ i t h i nth e CHAIN file if the LIST tag is used If however LIST is not specified then the ELSE portion of the conditional operator ill be compiled causing TESTFILE to be shown on the s stem console instead If the above example were to be written without the ELSE ope t ator one additional IF and XIF operator pair Ul...

Page 88: ...r s responsibility to include an explanation for the ABORT through the use o Compilation Comments The ABORT operator is typiaally employed in terminating a CHAIN compilation if one or more critical tags have been omitted from the CHAIN command line For example the J Tollowing CHAIN Tile will be aborted during the compilation phase ir both or the tags OPT and FILE are missing The Compilation Commen...

Page 89: ...ents are used to relay information to the operator during the actual execution of the intermediate file In conjunction with the Operator Breakpoint next section these comments also serve as a means of passing instructions to the operator for mounting paper into the pr inter I swap ping dis Ie ettes in dr i yes one tWOl or three loading a cassette etc 6 4 2 Operator Breakpoints A variation of the E...

Page 90: ...d all bits of the Error Status and the Error Type are cleared 0 The Error Mask is not affected by MDOS commands If an error occurred during the commandl the Error Status Flag bit F tali 11 be set by the comman d In add i t i on an Er l 0 r Ty Pe UI i 11 be set into the lower hal o the status word bits 0 7 The Error Type is used to indicate which error was detected by the command UsuallYI the CHAIN...

Page 91: ...t is to be placed If the status word designator is not specified then W the whole word part will be assumed If va 1ue i s not s p e c i fie d I t hen z erow i 11 b e ass um e d As an example of the SET operatorl the following will set the E ror Mask Flag Cbit B to inhibit CHAIN process aborting due to command execution e rors SET M 8 SET W 800 SET 800 All three Torms will set bit B of the error st...

Page 92: ...d word part The last two tests BS and Be allow specific bits in the deSignated word part to be tested for being set BS or clear Bel The bits to be tested are indicated by the one bits from value The value part oT the TST operator is a hexadecimal number in the range O FFFF The size of valu j must not be greater than the size of the word part that is being tested No Signed numbers can be used That ...

Page 93: ...iate file each command line is displayed on the console Likewise all input reQ uested by the command that is supplied from the intermediate rile will be displayed on the console The CMD operator can be used to suppress console display or all input that originates rrom the intermediate rile The CMD operator has the follo ing format CMD ON or OFF where either ON or OFF must be specified The CMD oper...

Page 94: ...N I An invalid tag reference or invalid tag separator other than period or comma as used on a conditional Compilation Operator statement J INVALID NESTING OF CONDITIONALS Mo e than sixte n levels of conditionals were usedl an unequal number of IFs and XIFs exist or an ELSE operator was used illegally EXECUTION OPERATOR OPERAND ERROR The operand of an execution operator was invalid VALUE TOO LARGE ...

Page 95: ... system console again The intermediate rilel CHAIN O will have been deleted 01 COMMAND SYNTAX ERROR An Execution Operator was encountered that had an illegal operand field 08 CHAIN ABORTED BY BREAK KEY The operator depressed the BREAK key during the execution phase causing the CHAIN proce ss to be aborted 09 CHAIN ABORTED BY SYSTEM ERROR STATUS WORD The last executed program set an error status in...

Page 96: ...he need t recompile the original CHAIN file The special CHAIN command line CHAIN will restart the execution phase with the line last Tetched from the intermediate ile the line that caused the error For example if an assembly has been invoked bq the CHAIN process Tor which a duplicate object file exists the CHAIN process will normally be aborted The operator could then manually delete the duplicate...

Page 97: ...ot all at the same time In this example the CHAIN process ill display messages to the operator if no parameters are supplied It ill also display messages that indicate what path the compilation phase is takingJ based on the passed CHAIN tags lIFe ASM LOAD 1 THIS CHAIN REGUIRES AT LEAST ONE OF THE FOLLOWING 1 PARAMETERS 1 1 ASM CHAIN FOR ASSEMBLIES 1 LOAD CHAIN FOR PRODUCING MEMORY IMAGE FILE 1 AND...

Page 98: ... IFS ASM DEL PROG2 RO 1 RASM NOLJEGU LIS PROG2 liR7 0PT7 0 PROG2 1 XIF I IFS LOAD TST S EG JMP ENDl DEL PROG2 LO 1 RLOAD IDONi BASE CURP S100iLOAD PROG2 1 OB A PRaG2 1 CURP 100 LOAD PROG2 1 MO LP MAPF EXIT LBL ENOl I XIF I XIF XIF IIFS ALL D2JPROG3 PROG4 INSERT DISK 2 INTO DRIVE 1 DEPRESS ANY KEY WHEN READY IFS ALLJD2JPROG3 1 PROGRAM PROG3 1 IFS ASM DEL PROG3 LX l RASM PROG3 lihOPT l XIF IFS LOAD ...

Page 99: ...sier to understand Prior to the assembly and link load or obJect file conversion processes a DEL command has been placed to ensure that the output rile rrom the process does not exist The first time that the CHAIN file is used the DEL command will cause an error to occuri however the SET operator has been used to inhibit CHAIN process aborting The TST operator is used after each assembly process t...

Page 100: ...LES ON ALL DISKS name NAME OF FILE THE FOLLOWING ARE OPTIONAL PARAMETERS OPT ASSEMBLER OPTIONS The next example uses the same CHAIN rile againi ho ever this time the parameters or assembling ASM memo y image rile cT ation LOAD and processing all iles i nth e s y stem ALL al e s pee i r i e d I n a dd i t ion the 0 pt ion s ield or the assembler will be initialized with the value HLX to pl oduce a ...

Page 101: ...d line the process to create memory image files was not performed This resulted f om the fact that the assembly process generated e rors in each p ogram Had no e rors occurredl the memory image files would have been created The operands of the Execution Operators have been converted into hexadecimal codes during the compilation to make it easier Tor the execution phase overlay to process the inter...

Page 102: ...OR MEMORY FILE CREATION PROGRAM PROG3 SET FOFF 0800 INSERT DISK 2 INTO DRIVE 1 DEPRESS ANY KEY WHEN READY DEL PROG3 LX l ROG3 LX 1 DELETED RASM ROG3 ljLN 120 MDOS MACROASSEMBLER 03 00 COPYRIGHT BY MOTOROLA 1977 TSTIFOOO 0000 0027 DEL PROG3 LO 1 RQG3 LO 1 DELETED EXBIN PROG3 1 LBL 2F29 END CHAIN Page 06 22 ...

Page 103: ...le or destination device and options may specify the type of copying that is to be pe T fo rmed The following options are valid Their use is desc ibed explicitly in the next sections Option B c D name 3 J L M N Function Perfo T m both the copy and the verify processes when copying between two diskette files Use binary T ecord conversion during the copy to a non diSKette device Use a instead device...

Page 104: ...ESTPROG 1 In this example the deTault values were rirst supplied for name 1 1 and then the derault values supplied ror name 2 There is no restriction in file format when copying from one diskette file into another an 1y the Bit It LIt I I VII and the II W n 0 pt ion s are val i d when copying between two diskette files The V and B opt i on 5 I a s UJ e 11 a s the If Vn an d n WIf opt i on s are mu...

Page 105: ...n file formaot mode The file format mode is the default mode that the COpy command uses The file format mode will write one extra record to the device before any data records are copied from the file This special record is called the File Descriptor Rec9rd FDR and serves the same purpose as a directory entry for diskette files the FDR contains the diskette file s name suffix and file format see se...

Page 106: ...y mode chosen rile fo mat o non ile ormat name 2 is optional If the file format mode is to be used no N option specified then name 2 can be omitted In such cases the file name to be used Tor the diskette file is taken out of the FDRi however if name 2 is specified still no liNn option the SOUl ce device will be r1 ad until an FDR is found that matches name 2 before the copy takes place In other Ul...

Page 107: ... ASClI converted binary format The FOR contains the format o f the rile on the device Thus the conversion from ASClI c9nverted binary to binary is perfcirmed automatically The lie II option there fore is invalid with this Torm Or the COPY command The W option can be specified to automatically overwrite the diskette file name 2 if it already exists The 0 and 11M options are only valid ir name 1 is ...

Page 108: ... or file of the shorter file When veri ying a diskette file with a non diskette file the mis comparisons between the two files are displayed in a slightly diFferent format as shown below RECORD mmmmm OFFSET kkk SRC yy DST zz Ulhere mmmmm is the physical record number in the diskette file in decimal IIkkk is the offset within the record a 1 so i n dec i rna 1 and y y and II z Z are the samea s desc...

Page 109: ...ere the terminating comma is optional If the 0 option is the last option specified then the comma need not be supplied however if other options follow the D option then the comma must be present to serve as a terminator for the file name specification of the device driver The device d iver must be in a Tile that has the memor image format name 3 is a complete file name specification The default va...

Page 110: ...ssages indicate that the user defined device driver has Just been loaded into memory The actual numbers in the pseudo registers may dirrer and are inconse uential The purpose of going to the debug monitor is to allow the user to set bl aakpoints at critical places in t he device drivel to vel if that it is working p operly After the breakpOints are set control is returned to the COpy command by en...

Page 111: ...ually exc lusive N option re uires name 2 name 2 causes search Tor FDR on device if no N option L option is only valid with V 7 4 Messages The following messages can be displayed by the COpy command Not all messages are error messages although error messages are include in the list The standard error messages that can be displayed by all commands are not listed h eT e name EX ISTS OVERWRITE ihe ri...

Page 112: ...ring diskette files The offset kkktf is decimal iF comparing a diskette file with a non diskette file The b te in the source file is shown as y The byte in the destination rile is shown as II ZZ II The following examples have been separated into the three COpy modes as illustTated in the table oT section 7 3 7 5 1 Diskette to diskette example The follo ing command line COpy PROGS RO 2J RN 1 will c...

Page 113: ...e command line is entered Since no Nt option UJas specifiedJ an FDR record before any data records are copied Most f eQ uently however the user files to the console punch for loading via command In such cases the FDR should not punch device ThenJ the following command used COpy TESTPROG LXJ CPiN will be written will copy object the EXbug LOAD be written to the line should be where TEST ROG LX is t...

Page 114: ...been copied to the console punch with an FDR it can be ve iTied or cQpie back to diskette without having to speciftj its name The following command line COpy CR ill cause COPY to search pOl the pirst FDR on the console reader device Once it is ound the file name contained in tne FDR will be used or name 2 IT the rile name does not exist in the directory it will be created before receiving the data...

Page 115: ...ER BKPT ERROR P 2126 X 2161 A OD B 80 C CO S 226F 3056iV 3064iV 3082iV iP The EXbug monitor is given control after the user s driver file DRIVER LO O has been loaded into memory b d the COPY c amman d Th e user then sets t hr e e b r ea Ie poi n t s the add res s e s pOl the breakpoints are of course meaningless in this example they serve only to illustrate that breakpoints are set The Hi pit comm...

Page 116: ...M68IFC must EXORciser S card be inserted into the cage with power ofT on the 4 The EXORtape should then be connected via its cable to P3 of the Interface Module The COpy command can now use the EXORtape reader as an input device through the device name HR in all instances that an input evice is valid For users without the M68IFC but with a compatible paper tape reader see M68R680 EXDRtape User s G...

Page 117: ...The list of file names specified on the command line is processed from left to right As the list is processed the file names are searched for in the directory specified by the logical unit numbers If no logical unit number is explicitly entered by the operator zero will be supplied as a default No default suffix is supplied File names which are deleted by accident via the DEL command may be restor...

Page 118: ...e single file name deletionl multiple file name deletion will cause one message to be displayed for each file name entered on the command line to indicate whether it as deleted Ulhethe it did not exist or whether it was protected and could not be deleted As many file names as can be accommodated on the command line can be deleted at one time 8 1 3 Familq deletion In either the single or the multip...

Page 119: ...lude rile names with the system attribute in the family mode of deletion Normall the ram i 1 y mod e e xcI udes s u c h ri 1 e name s The It S fI 0 Pt ion has no effect in the single or multiple file name modes The ItY option will inhibit the DEL command s prompt asking if each family member is be deleted The effect o specifying the tty option is to give an automatic Y response to the prompti howe...

Page 120: ...d ive zero the following command line IIould be entered DEL TESTPROG SA The DEL command would then display the message TESTPROG SA O DELETED after it has deleted the Tile name To delete the three rile names SCRATCH SA on drive one TEST LX on d ive two and PROG RO on drive zero the following command line would be used The system s responses a e also shown DEL SCRATCH SA 1 TEST LX 21 PROG RO SCRATCH...

Page 121: ...thout having to respond V command line could be used Pile names on to each prompt DEL 3iYS or DEL 3iVS 8 4 Examples drive three the following In this case unprotected rile names ith and without the system attribute will be deleted Page 08 05 ...

Page 122: ... t h the systemll attribute when displaying a family Display the entire directory entry fo each fi le name Display the associated allocation information along with the entire dir ctory ent Whenever the DIR command is invoked regardless of options or file name specifications the drive number and the ID from the diskette in the specified or default drive ill be displayed as a heading This heading wi...

Page 123: ... name and su Tix Appendix G describes in more datail how names ar placed into the directory however it should be noted here that hen a File s name OT suffix is changed its position in the directory may also change Thusl when the directory is sho Un at different times the order of the displayed names ma y d i p f ei 9 1 2 System files File names with the systemll attribute will be included in the o...

Page 124: ... ord 5 ASC I I rec ord 7 ASCII converted binary record Non compressed spaces Contiguous space allocation System rile Delete protection Write protection T h us i f the If WII i s disP 1aye d I the f i lei s wr i t e pro t e c ted I f noll W i s dis P 1aye dI the r i 1 e i s not wr i t e pro tee ted i i f the C is displayedl the file is allocated contiguous spacei if no C is displayed the file is se...

Page 125: ...descnibes where each segment of the file is located on the diskette This information is displayed following the complete directory entry One line is sho n for each segment of the file The format of the allocation information is ss pppp lIZ Ulhere ss is the number OT the segment npppp is the physical sector number start s the s e 9men t hex a dec i ma 1 I and II z Z I II the s e 9mentin sec tor s h...

Page 126: ...layed if either the E or the Alf option UJas specified on the command line and if one or more directory entries ere found It gives the total number of sectors that is al10cated to th e Til es whose names are d i sp lay ed dd d d II is the dec ima 1 val ue of the tota 1 hhh It is the hexadecimal value OT the total This message is displayed after all file names have been printed TOTAL DIRECTORY ENTR...

Page 127: ...S mes sag e th is one i nd i cates that a rile s RIB has been damaged It indicates that the terminator was missing from the RIB The allocation information displaqed for the file is meaningless since 56 segment descriptors have been displayed The ile s content is no longe accessible The REPAIR command Chapte 22 should be used to check the remainde of the diskette as ell as to remove the e oneous F ...

Page 128: ...splayed since neither the E nor the AU option was specified If a diskette is in drive one which contains MOOS Supported software products see Appendix H the following shows how the directory entries with sufrix eM on that drive can be displayed DIR eM liAS DRIVE 1 DISK I D EDIT0300 ASM eM DSC 2 OOBO 002C 70 00 OOBO 02C EDIT eM DSC 2 0230 0018 72 00 0230 018 TOTAL NUMBER OF SECTORS 0068 044 TOTAL D...

Page 129: ...he same sector but is the third entry in that ec tOT In all of the above examples the ilL option could have been used in addition to any other options to direct the output from the DIR command to the line printer It is recommended that a cop of the directory p intout containing the entire directoT entry and the allocation information be kept ith each diskette Since files can d namically expand and...

Page 130: ...or addressing information Single sided diskettes usually come pre formatted in an IBM 3740 similal format with the established sector addressing information Double sided diskettes however must be formatted with the FORMAT command Chaptel 15 since the double sided format required by an EXDRdisk III is a non standard single density format In either case whether single or double sided other informati...

Page 131: ...that can be ritten to DOSGEN DRIVE unit 7 The response should be the lettel nyll if the diskette in the indicated unit is to be DOSGENed Any other response ill terminate the DOSGEN command and return control to MDOS In this case the diskette in unit is not affected I F a I YII i s 9 i ven a s are s p 0 n s e c e l t a i n in for ma t ion for the diskette s identirication secto must be supplied by ...

Page 132: ...e must be a valid hexadecimal sector number for each prompt The secto numbers entered must meet the following criteria in order to cau e the specified diskette area to be locked out 1 The sector numbers must be hexadecimal 2 The starting sector number must be the physical sector number of the first cluster to be locked out The ending sector number must be the physical sector numbe oT the last clus...

Page 133: ...ut a Main Option unless the IIDII option is used to make a complete copy Or the allocated space Without the DIt option the complete copy process will abort if a ratal read error occurs Since the complete copy is based on the allocation table it is inevitable that the bad sectors locked out via DOSGEN will be read Thus the resultant copy of the diskette will always be incomplete Thererorel BACKUP s...

Page 134: ...urned to MDOS This prompt is used to obtain the eight character 1D Pield that is subsequently displayed by all DIR and FREE commands when used on the generated diskette The ID field has the same Pormat as an MODS rile name DATE MMDDYY USER NAME This prompt is used diskette generation numeric characters to The obtain the date must date be of six This prompt is used to obtain the descriptive informa...

Page 135: ... during the l II ite read test Ttl option this message is displayed to indicate which sector failed the test The nnnnlt is the hexadecimaL physical sector number The cluster in which the sector resides will be automatically locked out COPYING FILE namej This message is displayed for each system file as it is being copied to the destination diskette It serves only to monitor the DOSGEN operation MD...

Page 136: ...USEROOOIJ the geneT ation date July 25 1978 and the descT iptive infoT mation SYSTEM DEVELOPMENT I were placed into the ID sector Since no additional sectors lIJeT e locked out DOSGEN proceeded to copy the MDOS family of system files that must reside on each diskette The following example shows what might happen iF a bad diskette is used in the generation process DOSGEN 2iT DOSGEN DRIVE 2 Y DISK N...

Page 137: ...out those sectoT s the diskette should be regenerated with a diTTeT ent range locked out If the WTite ead test locked out those sectoT s the diskette is unusable as a system diskette Chapter 15 should be consulted for making such a diskette usable again Page 10 08 ...

Page 138: ...running it will display a colon as an input prompt whenever it is eady to accept a command from the operator Commands exist ror selecting logical units for opening and closing riles for displaying sectors ror modifying single sectors and ror displaying the directory and cluster allocation table 11 1 1 Physical Mode of operation If no name is specified on the command line or if name only consists o...

Page 139: ...og i cal Mod e If of operation hen it displays the input prompt name must contain an explicit suffix No default suffix is supplied by the DUMP command The logical unit number hOUJever is given a default value of zero if it is not specified on the command line IT the name cannot be found in the directory a standard error message will be displayed indicating that the file name does not exist In that...

Page 140: ...fer is to be WTitten The sector change buffer is very useful in modifying sectors Most FrettuentlYI the sector change buf Fer is used in conjunction with the REPAIR command Chapter 22 to Tix critical system tables which have been round in error Or course this procedure is not recommended unless the operator has detailed knowledge of the system table structure Situations do arise when critical file...

Page 141: ...y of the digits 0 3 The U command is valid in either mode of operationi hOUlever ii the current mode of operation is the Logical ModeJ then the file that is open ill be automatically closed After the U command is executedl the Ph sical Mode of operation will be in effect The sector address associated with the sector change bufTe is invalidated by the U command If DUMP was invoked with only a logic...

Page 142: ...ready the Physical Mode then no action results from the execution ofth e C comman d I f a f i 1 e i sop en1 thenth e Ph y sic aIM0 d e of operation will be entered after the file is closed The sector address associated with the sector change buffer is invalidated by the C command 11 2 5 Show sector S The S command is used to display a sector s contents on the system console There are several forms...

Page 143: ...ter Allocation Table The LB command is only valid in the Ph sical Mode of operation L me nJ Print the contents of sector mJl or the contents of sectors mit through nit The values 01 rIm and Itn are either physical or logical sector numbers depending on the cur ent mode oT operation LD me nJJ P int th contents o the directo q LC mE J sectors The entire directory will be p rinted if no m and no n u ...

Page 144: ...mand is only valid in the Physical Mode of operation RD m Read the specified logical sector of the directory into the change buff r The RD command is only valid in the Physical Mode of operation R m Read the specified sector into the change buffer The current mode of operation will determine whether II mil is a logical or a physical sector number 11 2 8 Write change buffer into sector W The W comm...

Page 145: ...nd is used to fill the sector change burfer with a certain bit pattern o a certain ASCII characte The format of the F command is where the hexadecimal the buffer Pi rst bit with associated with the F command F c or Fila form will rill the bu er with he pattern 1Ic I and the sec ond Torm will fill the character a The sector address the sector change bUT e is invalidated by 11 2 10 Examine change se...

Page 146: ...g forms which will at offset Then the displayed commands b str cr cause the locations of the change buffer starting b to be changed according to the string str location after the last one changed will be The operator can then ental other examine change If the initial command has the form b stT cr then the same function will be performed as in the previous command however instead of remaining in th...

Page 147: ... the range of the sector change buffer The examine change mode is terminated INVALID SECTOR ADDRESS The sector address associated with the sector change buffer has been invalidated In this case the W command cannot be used without specifying a sect r address PHYSICAL MODE This message is displayed initially hen the DUMP command is ente ed and the mode of operation is the Physical Mode If the messa...

Page 148: ...r is being shown The heading ItCLUSTER ALLOCATION MAP indicates that the B qualifier was used with either the 5 or L command Likewise the heading DIRECTORY indicates that the D qualirier was used with either the S or L command The heading FILE xxxxxxxx xx indicates that the Logical Mode of operation is in effect The rile s name and suffix are displayed to the right or the equal sign PSN II gives t...

Page 149: ...HYSICAL MODE SD 0 3 UNIT O DIRECTORY PSN OO03 LSN OOOO 00 42 49 4E 45 58 20 20 20 43 4D 01 4C 72 00 00 00 BINEX CM Lr 10 42 55 49 4C 44 20 20 20 43 4D 01 6c 72 00 00 00 BUILD eM lr 20 4C 49 53 54 20 20 20 20 43 40 02 F8 72 00 00 00 LIST CM r 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60 00...

Page 150: ... The Physical Mode of operation is entered aut 0 rna tic a 11 y Then the a command is used to open the f i 1e Subsequently two sectors of the file are displayed The logical sector numbers allow a user to examine the file s contents without knowing where the file is physically located on the diskette DUMP MDOSER 04 FILE NAME NOT FOUND o MDOSER SY S 1 2 UNIT O FILE MDOSER SY PSN OOA6 LSN OOOl 00 81 ...

Page 151: ... T MATCHES DISK The first Few lines show the contents Or the ID sector The line that begins with 06 03 01 11 shows the contents of a directory entry that has been found in er or The subsequent line shows the error that REPAIR detected The error is in the attribute bytes of the directory entry Chapter 22 describes the format of the displayed directory entry With that information the operator knows ...

Page 152: ...00 00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 181 18 53 19 41 1A 05 10 BC lC 05 lD 81 00 S CHANGE BUFFER PSN OOO6 00 4D 44 4F 53 4F 56 34 20 53 59 00 88 72 00 00 00 MDOSOV4 SY r 10 54 45 53 54 50 52 4F 47 53 41 05 BC 05 00 00 00 TESTPROGSA 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...

Page 153: ...oints will be duplicated on the line printer The line prj nter will continue to rE ceive a copy Or all console I O until the ECHO command is invoked with the N option The UN option will turn off the echo feature No paging is performed Thus if paper alignment is critical it will have to be manually reset after the echo feature is disabled 12 2 Messages The following messages can be displaged by the...

Page 154: ...e two file names is entered on the command line then an options speCification must be present Tha following option letters are available They are described in detail in the followin sections Option Function A File is of the ASCII record format R F ile is of the binary record format as created by the Macro Assembler with the OPT REL option D C S E Set the delete protection on the MOOS ri 1e Create ...

Page 155: ... alr ady exist on the MDOS diskette A standar f error mes sage will be d i s pIay e d i r name 2 aIr e a dye xis t s Ir no option or if the ItAIl option is speci Pied on the command line EMCOPY will assume that the EDOS rile is in the ASCII record format The R option c n be used to copy EDOS files that wer created by the EDOS Macro Assembler with the relocatable option OPT REL Obviously URII and i...

Page 156: ... ASCII record format The delete protection will automatically be set for files with the Permanent Attribute on th e EDOS dis kette The liS option cannot be speciFied at the same time as the liE option 13 1 3 Selected file copy To copy only selected riles from the EDOS diskette the itS option must be specified on the command line Nothing can be specified for name 1 or name 2 if the liS option is us...

Page 157: ...tput Files created by the Macro Assembler RASM J The EMCOPY command will tTansfer either t pe of fi e on a sector by sector basis Thus af er a file is copied to the MDOS diskette its sectors are still in the same internal r0 r ma t h 0 I ever III h e11 an ASC I Ire cor d ri 1e i s pro c e sse d b Y the MDOS e d itor i t UJ i lIb e a 1t ered M u1tip 1e spa c e s III ill b e compressed into a single...

Page 158: ...ng the selected file copy mode The attribute letters All C D or RI can be entered A response of carriage return only will cause the A attribute to be used NO MORE FILES The EDOS director has been exhausted during the selected file copy mode 13 4 Examples The following e xample illustrates how the single file TEST from an EDOS diskette would be copied into the file TESTPROG SA on an MDOS diskette E...

Page 159: ...at EDOS Tile The EMCOPY is stopped at that point since subsequent files ould probably not have room either Files like RSMB RLOAD ASMB and EDIT on EDOS diskettes should not be copied to MDOS diskettes since those programs make assumptions about the diskette structure and will Fail to Uloric iF copied and executed aFter EXBIN conversion The last example shows how the selected File copy mode is used ...

Page 160: ...DIR 25 INVALID FILE NAME COpy PRNTX y SUFFIX RO ATTRIBUTES R COpy 0120 COpy OMEX COpy OXRF COpy aNOL y SUFFIX ATTRIBUTES COpy OLlS COpy ONMC COpy DASM COpy DUPOS COpy 001K COpy OOPl COpy TITLE COpy PAGE COpy PCHO COPY RSMB NO MORE FILES 13 4 Examples Page 13 07 ...

Page 161: ...le namel a suffix or a logical unit number or any combination thereof The unspecified parts of name 2 will be supplied from the respective parts of name 1 with the exception of the suffix The default suffix for name 2 is LO to indicate its memor image format If no file specification is given for name 2 the output file ill be created with the same file name as name 1 but with the s u oF i x II LO I...

Page 162: ...ss The output rilEib name 2 1 can then be loaded into memor1 j directly rom diskette using the LOAD command see Chapter 18 14 2 Execution Address Specification A starting execution address for the memor image file can be specified by entering a valid hexadecimal number in the options rield The number must be in the range OOOO FFFF entered in the options rield without the dollar sign In addition th...

Page 163: ...pecified in the options field or the address contained in the 59 reiord is not within the range of memory addresses spanned by the file 30 INVALID EXECUTION ADDRESS Normally this standard error message has a slightly different meaning During the EXBIN process however this error indicates that the starting execution address given in the optio s field was not a valid hexadecimal number 14 4 Examples...

Page 164: ...EXBIN COMMAND 14 4 Examples The starting execution address 2100 will be assigned to the output Tile regardless Or hat is contained in the S9 record Page 14 04 ...

Page 165: ... as a If a user has a dual drive EXORdisk II system there is no need for him to specify a unit on the command line IT he does caution must be used since the specification of logical unit number 2 on a EXORdisk II system will cause logical unit number zero to be formatted due to the ay the diSK cont oller works Since the FORMAT command will destroy all information on the diskette in the specified d...

Page 166: ...ases I the unusable diskette is inspected careFully by manually turning the diskette ithin its protective envelope a mark or indentation can usually be found on its surface The FORMAT command can be used to format Single sided diskettes on the single and double sided Calcomp EXORdisk II II systems O on the single sided Pertee EXORdisk II systems noweverl double sided diskettes can only be formatte...

Page 167: ...ORMAT DRIVE 17 Y PROM lID ERROR STATU5 38 AT 2006 ON DRIVE l PSN OlF2 FORMAT FORMAT DRIVE 1 y PROM lID ERROR STATUS 38 AT 2006 ON DRIVE I PSN 0226 FORr 1AT FORI1AT DRIVE 1 Y PROM lID ERROR STATUS 31 AT 2006 ON DRIVE l PSN 0226 FORMAT FORMAT DRIVE 1 Y PROM IIO ERROR STATU5 31 AT 2006 ON DRIVE l PSN 0226 Page 15 03 ...

Page 168: ...u however can be used to direct this data to the line printer instead After the FREE command has deteT mined the available space on the diskette the data will be displayed in the following format DRIVE i xxxxxxxx aaaa bbb SECTORS ccc dd FILES eeee fff LARGEST CONTIGUOUS BLOCK The symbols have the rollowing meanings Stjmbol i xxxxxxxx aaaa bbb ccc dd eeee Meaning Logical unit number selected Eight ...

Page 169: ...double sided diskette is used FREE 3 DRIVE 3 MDOS0300 3004 BBC SECTORS 124 7C FILES 0212 004 LARGEST CONTIGUOUS BLOCK The last example uses a single sided diskette No unit i sen t eredon the comman d 1 in e J sothe de pau 1t 0 f zel 0 is used FREE DRIVE 0 MDOS0300 0820 334 SECTORS 140 8C FILES 0064 040 LARGEST CONTIGUOUS BLOCX Page 16 02 ...

Page 170: ...n letters describ d below Option Function L H N F Display file on line printer Get head i nog information from system console Display physical line number for each 1 ine Use a non standard page format The nam parameter must be specified with the LIST command If no suffix is given the default value SA will be supplied The default logical unit number is zero The following sections describe each of t...

Page 171: ...e start specification If no start specification is ente ed on the command line then the Cend specirication can be or either Tormi however if the Cstart specification is entered then the end specirication must be OT the same Form For examplel it is invalid to speci Fy a start specification of logical sector Five and an end specirication OT physical line 216 The end speci ication must be larger than...

Page 172: ...ine of text that is to be used as the heading The maximum length of the entered heading is 100 decimal characters The heading line containing the page number rile name specirication and user supplied text will automatically be printed on the second line of each page 17 1 4 Non standard page formats Normally the LIST command will display a maximum oT eighty characters per line and sixty six lines p...

Page 173: ...AL SECTOR NUMBER OUT OF RANGE This error is caused when a start specification references a logical sector number that is greater than the logical sector number of the end of file 34 INVALID START END SPECIFICATIONS The start and end specifications on the command line Ulere not both of the same form ilL or sn or the end specification had a value that was less than the value of the start specificati...

Page 174: ...G OPT NOL PAGE MDOS VERSION 03 00 SYSTEM EGUATE FILE JULY 25 1978 SPC 3 The following example uses the end specification to stop on the tenth line of the file Since the default value for the start specification is to be used a null parameter must be specified for it This is done b entering the two adjacent commas The II Nit option causes the display of the ph sical line numbers LIST EGU Ll0iN PAGE...

Page 175: ...ctor The physical line number option liN is Fairly meaningless if the logical sector form of the start specification is used Since no count is available for the numb r o lines between the beginning of the file and the specified logical sector the physical line numbers if printed would only be relative to the part of the file that was displayed A paTtial line will usually be seen as the first line ...

Page 176: ... equate file In addition to the previously shown featuresl the H option is used to specify a heading This heading would be printed at the top of each page if multiple pages we re p rinted LIST EGU L9iHN ENTER HEADING THIS IS THE MDOS SYSTEM EGUATE FILE PAGE 001 EGU SA O THIS IS THE MDOS SYSTEM EGUATE FILE 00001 00002 00003 00004 00005 00006 00007 00008 00009 TURN OFF THE LISTING OPT NOL PAGE MDOS ...

Page 177: ... II system with the dual memory map configured can only be executed via the LOAD command and one of its options G The LOAD command is invoked with the following command line LOAD name i options J where name is the file name specification of a file from which the program is to be loaded into memory and options specifies how to load the program If name is specified it must be the name of a ile that ...

Page 178: ...gets loaded Command i nterpreter l oadab 1e programs sec t ion 18 1 1 are guaranteed that memorq exi9ts since the memory as sized at initialization timei however programs loading into discontiguous areas of memor o into the User Memor Map of a dual memo map configuration are not guaranteed that memory exists The operator is responsible for knowing where memor is configured in his s stem and where ...

Page 179: ...ng command lines TESTPROG LO or LOAD TESTPROG G would load the program from TESTPROG LO from logical unit zero and execute the program It should be noted that these two command lines will accomplish the same function Since the first orm of the command line is shorter especially if the suffix were change to eMil the second form is seldomly used Command interpreter loadable follo ing requirements pr...

Page 180: ...mand inteT pT eteT lo dable p ogT ams take advantage of the Tact that the stack pointer is initialized to the end of the program area by using that part of memory ror the actual stack during execution Such stacks must be a minimum of 80 decimal bytes in size In addition to setting up the pseudo registers the LOAD command will change the MDOS variable ENDUS Chapter 24 to contain the last address lo...

Page 181: ...dress as calculated from the parameters in the RIB must not be greater than FFFF SpecificallYI the starting load address plus the number of sectors to load minus one expressed in numbers Or bytes plus the number of bytes to load from the last sector minus one must be less than or equal to SFFFF see section 24 2 If either of these criteria is not met the standard error messages will be displayed in...

Page 182: ...he flU option as shown in the following command line the LOAD command can be used to load a program into the User Memory Map Or an EXORcise II system that has the dual memorq map configured LOAD TESTPROG U If the dual memory map is not configured an er or message will be displayed The only requirement placed on programs loading into the User Memory Map is that the ending load address not be greate...

Page 183: ...ons 18 1 4 rIDOS command line initialization The Other Option str is used while testing command i nterprete T l oadab 1e programs sec t i on 18 1 1 Sue h prog ams usually obtain parameters via the initial command line that activated the program When testing such programs however the command line buffer will contain the command line that invoked the LOAD command Thus the str option is used to allow...

Page 184: ...mmand without first depl essing either the ABORT or RESTART pushbuttons on the Tront panel aT the EXORciser Ir the LOAD command as entered as shown in the example aboveJ MDOS can be reentered without reinitialization by using the debug monitor command P The LOAD command has con igured itself so that the lIiP command will cause a normal return to the MDOS command interpreter IT the V option was use...

Page 185: ...ed Earlier versions aT MDOS supported the tip and ItM options which we T e used as defaults iT no options were entered The uP option had same e f f e ct as the null Ma i n 0 pt ion 1 he MilO Pt ion had the same effect as the null Other Option If II P wa sus e d UJ i t han y 0 f the Ma i n 0 p t ion s or i f II M wa sus e d wit h the GII opt ion thenth i s message would also be displayed 12 INVALID...

Page 186: ...RIB of the file has been invalidly created UsuallYI this occurs when a program loads into the highest memory location FFFF but does not start loading at an address that is a multiple of eight Since the only in ormation available to the LOAD command is the starting load address and the program s size a multiple of eight bytes the ending load address may exceed FFFF diskette controller forces the mu...

Page 187: ...not use any of the resident MDOS functions LOAD BLAK ACKiVG The next example iilustrates how the PROM Programmer I program can be used for m king PROMs of programs that load above resident MDOS and the area re uired by the command interpreter and LOAD command It is assumed that the program in the file TPROM LO loads above 2300 Since the contents of memory are not destroyed during the initializatio...

Page 188: ...n diskette addr Use hexadecimal addr as starting execution address of destination file The options are described sections in detail in the following Only name 1 and dname are required All file name specifications on the MERGE command line must contain at lea s t a f i 1 e name For a 11 name i I the d e fa u 1 t Sur of i x If SA and the default logical unit number zero will be used if none are expl...

Page 189: ...ory image Binary record ASCII record Memory image files can be merged together The file dname however cannot exist in such cases because MERGE must ensure that the destination file is allocated contiguous space to accommodate the memory images of all name i files If dname already ex ists MERGE cannot ensure such allocation For all other file formats that name i can assume dname can already exist I...

Page 190: ...e will be a memory image file also howeveri it will span all memory locations between the lowest and the highest address spanned by the name i fi es If the files to be merged occupy overlapping areas in memory then ih destination file will contain the contents of the last file to be merged that occupies those common locations The MERGE command produces a file that is the memory image of riles 1 n ...

Page 191: ...t bytes ill al ays be loaded This fact must be kept in mind hen merging flles hich span memo locations that a e close together Memo y image iles have associated with their load information a starting execution address Ir no options ield is speciTied on the MERGE command line dname will have the sta ting execution add ss oT name 1 assigned to it however as can be seen from the above example this de...

Page 192: ... RIB is considered to be dama ed if the number of se tors to load is zero the number of bytes to load From the last sector is zero or if the ending load address is larger than FFFF If a damaged RIB is suspected the REPAIR command Chapter 22 should be invoked to co ect tbe er or 16 CONFLICTING FILE TYPES The riles specified by name i have diTfe ent file formats They must all be the same format Even...

Page 193: ...ates how a l elocatable llDl a file can be constl ucted r om various smaller files The library file already exists It will have the riles appended to its end MERGE L B RO DSKIO RO CNSIO RO FLOT RO LIB RO The last example illustrates how a patch file can be attached to a test program file A new starting execution address is specified as lF20 MERGE TESTPROG LO PATCH1 LO NEWTEST LOi lF20 The file nam...

Page 194: ...tion letters listed below Option Function D Set delete protection W Set write protection X Remove protection S Set system attribute N Remove system attribute The options are discussed in detail in the following sections 20 1 1 Chan gin 9 f i 1e name s If name 2 is specified on the command line the NAME command will attempt to change the name and or suffix of name 1 name 1 must always be specified ...

Page 195: ...r in both places The family indicator can be used to change the names o the su ixes or an entire ramily of file names Fo example the command line NAME ED SA would change all ile names on d ive ze o that had the suffix liED as Ulould be c reated by the EMCOPY command when it uses the de ault suf ix so that they had the new suffix SA Si mila r 1YI the command line would change all Tiles name TESTPRO...

Page 196: ...can be specified at one time The option letters are processed from left to right For example if a file Ulith write protection set is to have only delete protection set the command line NAME TESTPROGi XD could be used If the X and tiD options were reversed the file would be unpT otected If no name 2 is speciried then an options field must be present In such cases the Family indicator can be used ro...

Page 197: ... example w ll take all file names with the suffi ED change it to LXIt and remove anq protection that may be present The last example illust ates how a user iJiritten program can be incorporated as a system command file NAME TEST ROG LO 3 SURFACE CMjSD This command line changes both rile name and suT ix In addition the system attribute and delete pTotection are set Thus the program rile named SURFA...

Page 198: ...nteractive program that has its own command structure Once PATCH is running it will display a greater than sign as an input prompt to indicate that a command must be entered by the operator Commands exist to assign an oFfset used as a base address Tor acceSSing the file to calculate the relative addresses for branches to dis assemble opcodesl to search the file for eight or sixteen bit patterns to...

Page 199: ... string of elements separatad Each element can be a e or or aus enclosed in double q uotes lIill is a valid M6800 assembly mnemonic M6809 assembly mnemonic if using MDOS09 lang uag e language The pe iod symbol represents the current position within the rile name It takes on the value of the current absolute address minus the current oTTset The asterisk represents the assembler location counter whe...

Page 200: ... to either the single value Itm f if only m n is specifiedl or to the value 11m plus n J if both parameters are present The following sequence of commands illustrates both forms of the 0 command A01FO 0 OFFSET AOIF 1234 56780 0 OFFSET 68AC 21 2 3 Di play single location The command to dis P 1a y the con ten t s a f a s i n9 1 e 1 0 cat ion ithin the file has the following format mC nJJ cr If both ...

Page 201: ...the current location to the lowest address o the file The contents of the lowest address will also be displayed The format 01 the L command is simply the letter L Initially when the PATCH command is started the lowest address is shown automatically The L command can be used to return to this point o the ile at an time Locations at addresses numerically less than L cannot be accessed since they do ...

Page 202: ... the example are the second bytes of branch instructions PATCH LOG eM 8200 00 BA 82BA 05 COR REL ADDR 0005 119 8319 F9 113R REL ADDR FFF9 0 The first relative address is in the forward direction The second relative address is in the backward direction The relative address is shown as a siAteen bit numberl even though only eight bits are re uired for the operand of the M6800 branch instructions 21 ...

Page 203: ... RII or I1 RII one b te he adecimal operand A two byte hexadecimal operand A one byte hexadecimal operand indicating relative addressing mode cannot appear concurrently with 11 1 X or If RII The indexed addressing mode operand ualifier cannot appear concurrently wi th 11 II HHHH or RR A two byte hexadecimal operand indicating relative addressing mode cannot appear concurT ently with 11 or II Rn RL...

Page 204: ...command is m L nJM 11 her e m i s the sear c h pat t ern and n tI i s the sear c h ma s k Initially both the search pattern and the search mask are set to zero The M command can be used to set both pattern and mask or to set either independently aT the other For examplel E5E5M will set only the search pattern to the hexadecimal number E5E5 The search mask is unaffected however the command I FFFFM ...

Page 205: ...from add r es slim p 1us 0 p r set u t 0 lin p 1us off set It J inc 1us i ve A ma t chi sin d i cate d i f a by t e i nth e ile meets the following condition contents of address search mask search pattern where the lI n indicates the logical and ll function The following example il1ust ates the use o the S command PATCH TESTPROG 8200 30 OOEE FFFFM OJ lD7 82A7 EE 82AD EE 82AF EE 1 21 2 10 Search To...

Page 206: ...us offset inclusive are the locations to be shown The format of the display is illustrated in the following example PATCH TESTPROG 8200 30 95 DOP 8290 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 82AO OOAO 00 00 00 00 00 3F 32 EE 04 FF 80 04 30 EE 00 EE 72 0 82BO OOBO 06 FF 80 06 CE 80 00 3F 05 24 05 SF 3F 20 3F 1A 7 7 7 82CO 82DO G OOCO 3F 33 3F 0 5 24 03 7E 03 D3 7E 04 32 30 31 30 30 73 ...

Page 207: ...lf The execution address must be within the range of addresses spanned by the ile between addresses shown with Land H commands The following example shows how the G command is used to change the starting execution address 21 2 15 Change locations PATCH TESTPROG 8200 30 OG EXEC ADR 8259 2G G EXEC ADR 8202 G Two commands exist that will open a specified location within the rile and allow the content...

Page 208: ... will be applied The increment or decrement modes will remain in effect until changed by another slash backslash or parenthesis command section 21 2 16 The string str can contain either hexadecimal elements or ASCII string elements in any combination For examplel the command 1500 0 I AA L 2EJ AABBCC will change the following locations to the indicated value s Absolute NeUi value Address 1500 AA 15...

Page 209: ... of the inst uctian mnemonic decode mode in can be ang valid M6800 assembly language mnemonic CM6809 assembly language mnemonic for MDOS09 and the close parenthesis character indicates the end of the instruction decode mode Since the close parenthesis is optionall the user can remain in the instruction mnemonic decode mode to enter several lines of inst uctions until a close parenthesis character ...

Page 210: ...ween the mnemonic and th e ac c umu lator des i gnator e g LDAA is valid LDA A is not Only val id req uires an is required as any if the instruction op erana I f no op erand the operand is treated The operand field format when required has the following J ar9 or arg J or C arg or arg J JX wh ere th e U II i nd i cates immed iate ad dres sing mod e and X indicates the indexed addressing mode The or...

Page 211: ...es direct mode instructions only when the most significant byte Or the expression is zero In all other cases the direct mode must be forced by the user Reference M6800 M6801 M6805 M6809 MacT o Assemblers Manual I This Format allows the operator to enter assembly language mnemonics with comments after the operand field Tor documenting the patch The instruction mnemonic decode mode automatically put...

Page 212: ...8 was used to reenter the instruction mnemonic decode mo d e i houtev e r I t his time a b sol ute 10 cat i on 831 7 wa s the address where a patch was to be placed Line 11 was used to insert a hexadecimal constant into the location following the previously entered SWI instruction Line 12 was used to return to the instruction mnemonic decode mode at the location following the hexadecimal constant ...

Page 213: ...re usually changed by initially using the m nI form o the change command Thenl subseq uent changes use It I The same holds true for the bacxslash and open parenthesis commands used ith the period symbol InS m P Search from the current location to the address n plus offset Display locations m plus offset to the current location 21 4 ET or Messages The following messages can be displayed by the PATC...

Page 214: ...emonic decoder did not recognize a valid Mb8 00 assembly language mnemonic The instruction mnemonic decode mode is terminated The current inst uction was not used to change the Pile This error can also occur if an invalid M6800 operation code is given as the 0 perand 0 f the II I II comman d ILLEGAL OPERAND An illegal operand was used in the operand field of the instruction The instruction mnemoni...

Page 215: ...ult The REPAIR command runs through five different phases 1 ID I LCAT CAT and Bootblock sector check phase 2 Directory sector check phase 3 Retrieval Information Block check phase 4 CAT regeneration phase and 5 CAT rep lacement phase Each of the different phases is described in detail in the following sections REPAIR progresses from each phase to the next carrying along information that was obtain...

Page 216: ...an perrorm and detect The REPAIR command must be invoked from a working MOOS diskette Thus if a given diskette cannot be used or initialjzation it must be placed into drives onel two or th ee and anothe working diskette or the same MDOS version as the dammaged diskette placed into d ive zero before the REPAIR command can be used REPAIR does not attempt riles It only attempts to find tables to rind...

Page 217: ...e first line will vary depending on the type of ead error that was detected tbe version of REPAIR being used and the drive in which the diskette resides The same is true for all of the PROM 1 0 error messages given in the examples of this chapter A response of either N or V must be made b the operator The N response wi 11 cause the message ID SECTOR CANNOT BE CHECKED to be displayed Since the othe...

Page 218: ...on revision numbers from the MDOS file since the diskette cannot be initialized if they are not the same The message VERSION AND REVISION NUMBERS IN ID SECTOR AND RESIDENT MDOS FILE ARE DIFFERENT THE NUMBERS IN THE ID SECTOR ARE CHANGED TO vV rr to i nd i cate th e c orrec ti on Th e numb ei S vv and 1 1 are the version and revision numbers of the resident operating system file respectively The op...

Page 219: ... MDOS given control 1 f the L CAT s e I tor i s rea dab 1 e J 0 r iof r eUlr i tin g the sec tor c 1ear s the e r l 0 r I REP AI R wi IIp roc e edt 0 c h e c k the contents of the LCAT The LeAT must show that the diskette s system tables in the first cylinder are locked out unavailable For allocation by a FileL and all regions of the diskette that correspond to non phYSical locations beyond the hi...

Page 220: ...ring the REPAIR process since they could c9nflict with sectors already allocated The REPAIR command is not intended to be used for tne normal lockout procedure that is tne runction of the DOSGEN command Chapter 10 If a diskette did have sectors locked outl then t e identical sectors must be locked out by the operato again here Arter the LCAT has been rebuilt or if it was good to begin with the Clu...

Page 221: ...OR The operator must respond wi th either a try or uNfI to the last q uestion I an N is entered REPAIR wi 11 d isp lay the message BOOT BLOCK SECTOR CANNOT BE CHECKED before continuing Since the Bootblock is not affected by other system tables REPAIR ill continue to check the remainder of the diskette however a diskette ith a damaged Bootblock sector cannot be used as an MOOS diskette in drive zer...

Page 222: ... rollowing criteria 1 If the first byte Or the directory entry unused entry then the remaining bytes entr must be zero also is lero of the 2 If the first byte of the directory entry is the hex ad e c i ma 1 n umbel FF del e ted en try I thenth e second byte of the entry must be FF also If the second byte is not FF and if the remainder of the entry is validJ then the entry is the result of an incom...

Page 223: ...HEXNAM HEXSUFJ where he symbols have the following meanings Symbol PSN LSN EN NAME SUF RIB ATTR NU HEXNAM HEXSUF Meaning Directory sector s physical sector number Directory sector s log cal sector number Entry number within sector File name File suffix Physical sector number f RIB Attributes Not used portion of directory entry File name in hexadecimal Suffix in hexadecimal All of the fields are di...

Page 224: ... ion 5 will probably not be satisFied The directory entry would then be displayed again with the corresponding error message 03 00 00 i lNEX eM 014C 7200 0000 FF494E4558202020434D POSSIBLE INCOMPLETE NAME CHANGE NEW NAME The rollowing example illustrates a directory entry that rails to meet criterion 3 The RIB address is oi the director J entry is invalid In this case the RIB address is a sector t...

Page 225: ...tion or to run any pro rams Phase 3 is started after these checks have been completed 22 4 Retrieval Information Block Check Phase 3 of REPAIR checks the Retrieval Information Blocks RIBs of all directory entries that have a valid RIB address If a RIB address is invalid in a directory entry then the RIB cannot be found The RIBs are checked in the order in which they are referenced in the directory...

Page 226: ...owed by the director entry and a prompt that allo s the file to be deleted cause Or erT or 03 00 00 BINEX eM 014C 5200 0000 RIB IN ERROR DELETE FILE The actual content or the vary The following messages cause o error field FIRST SDW IN ERROR directory entry however can appear in place of UJill the This error message will be displayed if the fir5t Segment Descriptor Word SOW does not contain the cl...

Page 227: ...t zero Only Files in the memory image format can have non zero bytes in the RIB follo ing the terminatorl and then only beginning with the 117th decimal byte of the sector 117 is relative to zerOi ze o being the First byte in the RIB BINARY LOAD FILE RIB ERROR This error message can be displayed for a variety of reasons The RIB of memory image files contains special load information in the last el...

Page 228: ...er than or equal to the starting load address and less than or equal to the ending load address 6 Bytes 124 127 are not used and must be zero Because of the complexity of the errors that can occur in a RIB th REPAIR command will make no attempt to fix a RIB If a RIB error is detected REPAIR will give the operator a choice oT deleting the rile thereby removing the RIB and fixing the problem or leav...

Page 229: ...4 reads all valid RIBs All clusters that are allocated are retained in memory in a table called Table 1 A second table Table 2 also in memory will contain all clusters which have been allocated to more than one Tile If no dual allocation has occurred Table 2 should be empty at the end of Pass 1 IT it is the rest oT Phase 4 is skipped If Pass 1 has determined that dual allocation occurred then Pass...

Page 230: ...pared to tha PS T t of the file that is in conrlictl a relative indication can be obtained of the fraction of the rile that may be in e T ro T The CONFLICTS total fo1 the Oute1 rile includes the allocation conFlicts with all Inne1 riles desc1 ibed below The third and fourth lines of the display a1 e of the same f 0 l ma t as the r irs t two line s h owev el I the s eli n e s describe an Inner file...

Page 231: ...ed to examine the conflicting clusters to See which file theq actually bel on g to Th en I REPAI R i s l una sec 0 n d time to act ua 1 1 Y delete the files in error The files must not be deleted with the DEL command since it deallocates the files space in addition to deleting the directory entries For riles with allocation conrlicts ollowing statements may be t ue one of 1 The Outer file may have...

Page 232: ...before terminating and returning cont ol to MDOS If the reconst ucted table does not match the one on diskette and if no RIB errors remain then the message WRITE RECONSTRUCTED C A T TO DISK will be displayed The operator must respond ith either a Y or an Nu The llyn response ud11 cause the new allocation table the correct one to be written to the diskette The NII response will leave the erroneous ...

Page 233: ...AIR is used on a working diskette in drive zero to verify that the system tables are correct REPAIR DISK ID MDOS0300 VERSION 03 REVISION 00 DATE 072578 USER SYS DEVELOPMENT DISK 31 GOOD FILES 00 FILES WITH BAD RIBS RECONSTRUCTED C A T MATCHES DISK The next example illustrates how REPAIR is used once Just to gather information about what is rong with the dis k e t t e Then I DUMP i susedt0 fix the ...

Page 234: ...RUCTED C A T NOT MATCHING DIS1 The DUMP command Chapter 11 can then e used to change the directory entry Since LOG CM is a memor image rile the RIB contains load information after the terminatori however the attribute part of the directory entry as destTo Jed Thus REPAIR could not detect the memory image format From the information shown ror the directory entTyJ it is determined t at the directory...

Page 235: ...FF 00 00 LOG eM p 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 The REPAIR c ommand was then invoked a second time to ensure that the fix usas correctly applied Since REPAIR then recognized the file LOG CM as a memory image file the RIB errol disappeared automatically The same erro could have been corrected without having the detailed systems knowledge that was used in the above exam...

Page 236: ...rectory allowing the operator to search or the deleted entr visually OEL TESTPROG SA TESTPROG SA O DELETED DUMP PHYSICAL MODE RD 3 5 CHANGE BUFFER PSN OOO6 00 4D 44 4F 53 4F 56 10 FF FF 53 54 50 52 20 00 00 00 00 00 00 30 00 00 00 00 00 00 40 00 00 00 00 00 00 50 00 00 00 00 00 00 60 00 00 00 00 00 00 70 00 00 00 00 00 00 lO ltTE 5 CHANGE BUFFER PSN OOO6 00 4D 44 4F 53 4F 56 10 54 45 53 54 50 52 2...

Page 237: ...SK I D MDOS0300 TESTPROG SA 5 05FC 0004 31 00 05FC 004 TOTAL NUMBER OF SECTORS 0004 004 TOTAL DIRECTORY ENTRIES SHOWN 001 01 22 8 Examples The above procedure should only be used as a last resort It can be avoided completely if an adequate backup copy is kept of all files and if the protection attributes are set for those files which are not to be deleted Page 22 23 ...

Page 238: ...id to have the File name specified with logical unit number one see section 23 1 4 If a file name is specified on the command line it must be the name of a file which does not already exist in the diT ectory WheneveT the file is created it will be in the memory image format and allocated contiguously on the diskette There are four different ways in which the ROLLOUT command can be used Each of the...

Page 239: ...mmand is invoked with the command line ROLLOUT name U the memo y rom the UseT Memory Map of an EXORcise II s stem ulith the dual memory map configured will be written into the di kette file name on tha specified logical unit If the dual memor J map is not configured ROLLOUT will terminate after displa ing the following message USER MEMORY MAP NOT CONFIGURED If the dual memory map is configured the...

Page 240: ...s message prompts will be displayed howeve 1 in addition to the criteria set forth in that section ror valid addresses the address range must not have been overlayed by MOOS or the ROLLOUT command If an address range is specified that Tails into the overlayed memory the message START ADDRESS MUST BE GREATER THAN Snnnn ill be displayed The nnnn is the last address that has been used by MDOS or the ...

Page 241: ...ent memor 1 ROLLOUT will display the standa d e ro message 53 INSUFFICIENT MEMORY and return to MDOS Caution must be used in locating the position independent routine in memory Since MDOS uses the upper end of memory when the command interpreter is running the rOU lne should not be loaded within 100 decimal bqtes of the end of contiguous memory_ Ca e must also be taken to en ure that the program b...

Page 242: ... ROLLOUT name 0 then the memory written to the scratch diskette with the V option will be copied into the file name ROLLOUT will assume that a scratch diskette is in drive one that has been created via the ROLLOUT command with the V option The name specified must be for logical unit zero Since the diskette in drive one is scratch no rile can be created there The ROLLOUT command ill display the fol...

Page 243: ...RE V N Q This message allows the operator to veriry that the starting ending addresses entered are what he wants The Y response wi 11 cause ROLLOUT to continue The N response will allow a new address range to be entered The G response will terminate the ROLLOUT command DRIVE 1 SCRATCH This message is displa ed by the position independent routine to allo the operator a chance to insert a sc atch di...

Page 244: ...1 CONTAIN A MEMORY ROLLOUT This message allows the operator time t insert the scratch diskette created via a previous ROLLOUT process with the V option into dri ve one berore ROLLOUT will convert the data into a diskette file on drive zero A V response will cause ROLLOUT to continue Any other esponse will cause control to be returned to MDOS INVALID DISKETTE IN DRIVE 1 This message indicates that ...

Page 245: ...LDUT DISKROM 2 START ADDRESS E800 END ADDRESS EBFF ARE YOU SURE Y N G Y The file named DISKROM LO will be created on drive two example is valid for either type or EXORciser system THis The following example shows how the ROLLOUT command is used to write memory to disk during a test session of a use program that overlays MOOS A maximum contiguous memory range or 32 is assumed ROLLDUT V LOAD ADDRESS...

Page 246: ...ing and testing his program the operator invoked the routine via the 1f7DOOiG EXbug command After enteT ing the end addressl the user realized an error and responded N to the ARE YOU SURE question Testing can be continued after the block of memory has been written to the diskette The last example illustrates how the scratch diskette generated above is converted into a file ROLLDUT TESTROLL D DOES ...

Page 247: ...kette is stored in sectors 128 decimal bytes in size As the diskette turns the read write head in a stationary position will pass over 26 decimal sectors each revolution The area accessible to the stationary head on one side of the diskette is called a track The area accessible to the stationary head on both sides of the diskette is called a cylinder The head can be p0 sit ione d 0 v er 77 d ec i ...

Page 248: ...ndix A has been provided It contains the physical sector numbers of the First sector of each cylinder on each sUT fac e A portion of each diskette is reserved for some special system tables These tables reside in the outermost cylinder of the diskette cylinder zero Each table with the exception of the directory occupies a single sector The Tollowing table summarizes the location Or the system tabl...

Page 249: ...l end of the diskette are marked as allocated so that they cannot be used by any MDOS functions an single Sided diskettes bytes Q 3E of the CAT correspond to the physical locations on the diskettei however in byte 3EJ bits 0 3 are set to one since no physical sectors correspond to those cluster numbers Bytes 3F 7F are set to all ones The cluster division for allocation only includes 2000 decimal s...

Page 250: ...e suffix This is merely a c nvention of the command interpret r and has no signi ricance in relatirin to the internal format of the directory System routines and functions dealing with file names as a pa ameter use a ten b Jte block which is always dealt w ith as a mon 01 i t hie item File names assigned by the user must be from one to eight alphanumeric characters in length The first character mu...

Page 251: ...ds resp ec t i ve 1 y In addition to a name each directory entry contains a set of att ibutes which characterize the file s content A file s attributes include inherent attributes and aSSignable att ibutes The inherent attributes of a file describe its allocation scheme contiguous o segmented the file format ASCII record binary record memory image or use defined and whether space compression is us...

Page 252: ... bit S lstem file bit Delete protection bit Write protection bit Associated with each diT ectory entry is an eight bit numbeT 1 the directory entry number DEN which is a runction of the phqsical location of the entry within the directorq The DEN is not found anywhere in the directory It is a calculated uantity and is interpreted as follows 7 6 5 4 3 24 1 5 Bootb loc k 2 1 o Position within sector ...

Page 253: ...rst physical sector of a rile is not really a data sector the RIB is given an LSN Or minus one FFFF Therefore logical sector zero of a rile the first data sector is actually the second phqsical sector of the file Logical sector numbers for data sectors are numbered sequentially beginning with zero Thus even though a file may be segmented not physically contiguous on the diskette it is treated as a...

Page 254: ...cisel I system in the User Memory Map of an EXORcier II system with the single memory map configuredl or in the Executive Memory Map of an EXORciser II system with the dual memory map configured this value must be greater than hexadecimal location lF if the program is to be loaded via the MOOS loader EXORciser II systems can have pT ograms loaded into the User Memory Map of the dual memory map con...

Page 255: ...end or file It contains the logical sector number of the end or file The sector which is the end of a rile may be partially filled with null characters Thus no actual end or file record will be found ithin a file This feature allows files to be merged together without having to read through the entire file looking rOT an end or file record The actual format of a RIB is shown in the following diagr...

Page 256: ...ical sector number The user has the responsibility or formatting the data within the sectors in the manner suited to his application Memory image iles include all files whose contents are to be loaded into memory directly rrom the diskette by the MDOS loader Memory image riles are allocated contiguous space on the diskette The only information retained about where the content is to be loaded is ke...

Page 257: ...d space that is contiguous to the originally allocated space Normally contiguous files are created with the maximum space that they will ever need 24 3 Record Structure This section describes in detail the two record types supported for diskette files In addition a special record t pe used for copying binary files to a non diskette device is also discussed The actual use of such records is fully d...

Page 258: ... be a carriage return line feed and null sequence Since diskette riles contain the logical end of file indicator in the RIB the bin ry EOF record only will be seen on non diskette deviceso The binary EOF record has the following format E I Be C CR The symbol E is the end or file record header which is the letter liE 45 The other symbols are the same as in the above table The EOF record has no data...

Page 259: ...aintains the logical end of file indicato in a file s RIE no ASCII EOF record will be seen in a diskette filei however when ASCII record riles are written to a non diskette device he ollowing EOF record will be supplied lA CR where the 1A symbol represents the end or file indicator It is the hexadecimal value lA or SUB control character CTL Z The CR symbol is the carriage return line reed and null...

Page 260: ...te devices as a ufilelll similar to a rile on diskette The File Descripto R2cord FDR is employed to serve the same function as a directory entry ror a diskette f i 1e The FDR eont a ins a p i 1e name j S U f fix and a ri 1e format descriptor Thus MDOS can search for a named file on a cassette or paper tapel if it was originally created using the file format mode All FDRs are identical in rormat re...

Page 261: ...ielq The terminating carriage return character sequence line feedl and null byte is a of The length of all fields of the FDR except Hand CR is doubled when written ASCII converted binary Tormat Thusl if the CR field is counted as three characters carriage return line feed null then the physical length of an FDR in the ASClI converted binary format is 36 decimal bytes 24 4 System Files On every MDO...

Page 262: ...r punch device hand 1 ing MDOSOV2 SY Reading standard records FDRs i eading MDOSOV3 SY Closing a file device rewinding diskette filesl changing file names and attributes MDOSOV4 SY Opening a ile device MDOSOV5 SY CHAIN file execution MDOSOV6 SY Command line interpretation When MDOS is initialized the directorq is searched ror the seven overlays by name The physical diskette addresses are then reta...

Page 263: ...accessed by the error message function MDERR section 27 4 The error messages are placed in this file so that the most frequently used messages are near the beginning If the error message file cannot be read or accessed the error message function will display a message indicating that an invalid error message has been requested 24 5 Memory Map The memory mapping of MDOS within the EXORciser system ...

Page 264: ... KERNEL SYSTEM FUNCTIONS CONTROLLER DESCRIPTOR BLOCKS SUPPORTED DEVICE DRIVERS RESIDENT SYSTEM FUNCTIONS OVERLAY HANDLER OVERLAY REGION 1 OVERLAY REGION 2 OVERLAY REGION 3 OVERLAY REGION 4 and USER PROGRAM AREA 3FFF END OF MINIMUM SYSTEM MEMORY END OF CONTIGUOUS MEMORY RAM Discontinuity NON MDOS RAM EBOO DISKETTE CONiROLLER PROM ECOO PIAs FOOO EXbug MQNITOR FFF8 INTERRUPT VECTORS 24 5 Memory Map P...

Page 265: ...iskette controllel entry points Appendix D the direct aaaressing area below location 0020 can be used but only after the program is resident in memory The MDOS vari ables locations FE and highe r contain pointers to several areas in memory that might be required by a user program The absolute addresses of these pointers should be obtained Tram the MDOS equate file The pointers most often required ...

Page 266: ...is scanned ror the first valid file name specification IT no valid rile name is recognized the standaT d message WHAT will be displayed and a new input prompt shown If the first encountered file name specification contains a valid file name it will be used to search the directory The de Pault suffix IICM and the de Fault logical unit number zei O will be supplied by the MDOS command interpreter if...

Page 267: ...interpreter regains control after a command terminates it checks that the diskette in drive zero still has the same parameters version numberl overlay RIB addresses as the diskette used during the last MOOS initializa tion If these parameters differ one of the standard error messag es EL ER EU EV Chap ter 28 wi 11 be displayed and control given to the debug monitor MDOS will then have to be reinit...

Page 268: ...w to respond to the IRG An IRG must not be pending or occur when the MOOS command i terp eter is given control Since the M6809 MPU does not give control to the address in the IRG vector if an NMI occurs while an SWI is in progress MDOS09 handles lRGs in a slightly different manner During initialization the IRG vector is set up so that if an IRG occurs control is returned to EXbug after printing an...

Page 269: ...r defined SWI vector will be changed to point back int o MDOS Thus user defined SWls cannot be processed after the user program has terminated This is to be expected since MDOS commands and user programs all load into one area of memory Thus the user defined SWI handler is not resident after the MDOS command interpreter regains control 24 8 System Function Calls All of the system functions that MO...

Page 270: ...brea kpoi n t s h0 U 1d be cleared this is only true for the newer versions or the M6800 MPU which do not give control to the IRG vector when an NMI occurs while an SWI is executing 4 MDOS sy stem Tunc ti ons cannot be trac ed OT single stepped through with the EXbug commands uiN or iT Since these debug monitor functions utilize the stack parts of MDOS will be over ritten due to the internal use o...

Page 271: ...re noted and returned to the calling program In these instances it is the responsibility of the calling program to identify the source of the error and decide what the course or action should be 24 9 MDOS Equate File With each MDOS system diskette comes a file EGU SAj known as the MOOS equate file The MDOS equate file contains the deTinitions of all symbols that are required b the resident MDOS an...

Page 272: ...owed by a function byte These equates are derined using a macro that allows the labels to sequence themselves Thus if one label is removed from the listl the numbers aSSigned to the labels will still be consecutive ascending integers The first function is given the value or zero Subsequent functions are assigned a number one higher than the previous function If the SCALL macro is used in writing p...

Page 273: ...ls These equates are followed by a partial list of the locations in EXbug required b y MOOS i h e EX bug eliuate 1 i s tis not c omp let e Th us useT s requiring other entry points into EXbug must provide them ithin their progra s If programs are being written thpt use the resident MDOS fun c t ion s it issu9 gestedt hat the MDOS e qua t e f i1 e b e included as a part of the assemb 1y requires M6...

Page 274: ... using system functions and hoUl errors are hand led by system functions see section 24 8 25 1 Supported Devices MDOS provides input and output functions to access the following supported devices MDOS Name eN CP CR OK LP Physical Device Console keyboard and or display Console punch Console reader Diskette drive Line printer The following sections describe the system functions that are available fo...

Page 275: ...tem be given to the these parameter except Buffer fatal error error message to be displayed and control to MDOS command interpreter Since MDOS manages tables reserving opening etc any error Overflow during a console input will be a If while accessing the console or the line pi interJ the errors are to be handled b the alling program the device irrdependent I O runctio s section 25 3 must be used i...

Page 276: ...ufrer A carriage return line feed is displayed on the console All characters are normally echoed on the console display mechanism to indicate that they have been ntered into the i nput bufferi howeverl the following characters are echoed but are not placed into the input buffer ENTRY PARAMETERS Character Value Null 00 Line feed OA DCl 11 DC2 12 DC3 13 DC4 14 B The ma imum number of characters to b...

Page 277: ...t ere d X is unchanged CC is indeterminate The input bufTer contains the entered data including the terminating carriage return 25 2 2 Check for BREAK key CKBRK The CKBRK function examines the system ACIA for a framing error status indicating that the BREAK key has been depressed since the last character was input rom th console keyboard This Tunction also checks to see if the CTL W key has been d...

Page 278: ...ed character string on the system console The function DSPLY displays a string that is terminated by a carriage retu n character The functions DSPLX and DSPLZ display st ings that are te minated by an EOT cha acte facilitating the use f embedded carriage returns within the st ing to output multiple line messages with one function call Both DSPLY and DSPLX will send a carriage re urn line reed se u...

Page 279: ...tem function MDENT The system function ADBX is used to add the contents of the B accumulator to the X register Both of these functions are described in Chapter 27 A maximum st ing length of ten is allowed The exam p Ie has been assembled with the MDOS equate file It is assumed in this example that the program is origined above location lFFF since it is using the esloent MDOS functions The program ...

Page 280: ...SPLY SHOW INVERTED STRING BRA INPUT WORKING STORAGE IBUFF asz 10 1 INPUT BUFFER OBUFF BSZ 10 1 OUTPUT BUFFER PROMPT FCC ENTER STRINGS 11 CHARACTERS FCB CR STKSAV FOB 0 SAVE AREA BSZ 80 STACK SET HERE BY LOAD END START BEGIN EXECUTION AT THIS LABEL 25 2 4 Printer output PRINT PRINX The PRINT and PRINX functions are both used to print a specified charact r string on the line printer The function PRI...

Page 281: ...ing example illust ates the use of the PRINT system function The example will pl int strings of eighty identical characters beginning ith spaces 20 and proceeding through the entire displayable ASCII character set The s stem function STeHR is used to fill a buffer with the characte contained in the A accumulator The system function MDENT is used to eturn control to MDOS Both of these functions are...

Page 282: ...The EREAD function on the other hand wi 11 return to the call ing program whether an error occurred or not The EREAD function will return the error status that was detected by the diskette controller In either casel if a diskette error occurred that was e t y a b 1 e eRe del e ted da t a mar k da t a add res s mar klor address mark eRe errors the following steps were taken in an attempt to recover...

Page 283: ...scribed in Appendix D IT the head properlYI it is possible to receive timeout The diskette controller variables below location 0020 will be changed by these functions ENTRY PARAMETERS EXIT CONDITIONS 8 The logical unit number are ignored Bits 2 7 x The address of parameter packet following Tormat a Tive byte IIO The packet has the o Return status 1 Physical sector number 2 to be read 3 Address oT ...

Page 284: ...e functions described in section 25 2 8 should be used The DWRIT function will only return to the calling program if no diskette controller errors are detected during the write attempt The EWRIT function on the other hand will return to the calling program whether an error occurred or not The EWRIT function will return the error status that was detected by the diskette controller If an error occur...

Page 285: ...ection 25 2 5 DREAD EREAD was attempted In addition the same precautions regarding the restoring of the read head described in that section apply to the MREAD and MERED unctions ENTRY PARAMETERS EXIT CONDITIONS B The logical unit number are ignored Bits 2 7 x The address o a seven byte I O parameter packet The paT ameter packet has the rollowlng rormat o Return status 1 Starting physical sector nu...

Page 286: ...o the diskette Same as ror MREAD and MEREDi howeve the contents of the sector bUTTer are unchanged after returning to the calling program 25 2 9 Diskette controller entry points The diskette controller has various entry points that allow the diskette to be accessed on a physical sector basis howeverl since these entry points are independent or MDOS they are described in a separate section Appendix...

Page 287: ... Tile are used These are noted in the description of the status byte Or the IOCB section 25 3 1 1 A summary or all possible input parameters that are required by the twelve diffe ent modes in which an IOCB can be used s contained in Appendix K 25 3 1 I O Control Block IOCB The device independent I O functions are parameterized through the IOCB The I O functions in turn interface to a device driver...

Page 288: ...ame or Maximum LSN referenced File name continued or M OE Current segment descriptor word OF 10 11 12 13 File name continued OT Starting LSN of SDW File name continued or Next logical sector number Suffix or 14 Logical sector number oT EOF 15 16 Physical sector number of file s RIB 17 W D S C N FMT 18 reserved 0 IOCDTT Data transFer typ e IOCDB lOCDBS IOCDBE IOCGDW IOCLUN Logical unit number IDCNA...

Page 289: ... 1 19 reservedi 0 lA 113 PSN EN lC reserved 0 1D Initial new rile size 1E IF 20 21 22 23 24 or Se tor bUrrel pointer Sector bUrrel start add1 9SS Sector burf r end address Sector buf fer internal pointer o IOCDEN Directory entrq number IOCSBP rOCSBS IoeSBE IOCSEI Page 25 16 ...

Page 290: ...file upon closing Non file format flag o 0 File format mode 1 Non file format mode Mode flag 00 Update mode existing file 01 Input mode existing file 10 Output mode new file 11 Update mode any file Not used 0 Reserved flag o lOeB released 1 lOeB reserved Logical unit number 30 39 Write protection bit o No write protection 1 Write protected Delete protection bit o No delete protection 1 Delete prot...

Page 291: ...O function completed normally without an Y erTors A non zero value indicates that an lID function encountered some sort of an error The Following table contains all of the currently defined values that can be returned in the IOCSTA Along with each value the system s mbol equated to the value MDOS eq uate file and the standard error message that Ulould be displayed iT the error message function wer...

Page 292: ...14 INVALID FILE TYPE 17 INVALID DATA TRANSFER TYPE 37 END OF MEDIA 22 BUFFER OVERFLOW 23 CHECKSUM ERROR 26 FILE IS WRITE PROTECTED 10 FILE IS DELETE PROTECTED 24 LOGICAL SECTOR NUMBER OUT OF RANGE 41 INSUFFICIENT DISK SPACE 40 DIRECTORY SPACE FULL 42 SEGMENT DESCRIPTOR SPACE FULL 43 INVALID DIRECTORY ENTRY NO AT nnnn 32 INVALID RIB 44 CANNOT DEALLOCATE ALL SPACE DIRECTORY ENTRY EXISTS AT nnnn 45 R...

Page 293: ... IOCDTT byte has been initializedl care must be taken so that none of the system supplied flags are destroyed Flags must be itor ed II into the IOCDTT to be set I and I and ed out of th e IDCDTT to be cleared one e th e IOCB has been reserved The properties controlled by the various bits of the IOCDTT are explained below 10 Bits 6 7 I O transfer flag These two bits are controlled exclusively by th...

Page 294: ...een made A one indicates that the file or device is closed A zero on the other hand indicates that the file or device is open T Bi t 3 Truncate Flag The truncate Flag is only applicable to liD on a dis ke t ted e vic e Norma 11Y the user UI ill not havet 0 set or change this biti however certain cases will arise where changing of the truncate fiag by the user may be necessary see CLOSE function se...

Page 295: ...ode F 0 must be used ror accessing M Bits 0 1 Mode rlag The mode flag can take on one of four different values 00 Open an existing Pile diskette only ror either input or output 01 Open an existing diskette rile or open a device for input only 10 Create a new diskette file or open a device for output only 11 Open an existing rile or create a new rile diskette only ror either input or output The upd...

Page 296: ...function Before any I O functions can be invoked IOCGDW must contain the MDOS device name that is to be accessed se section 25 1 The device name consists Or two ASCII cha racters Once the RESRV function section 25 3 2 has been called IOCGDW will contain the address of the controller descriptor block CDB section 26 2 1 associated with that device After the CDS address has been put into IOCGDW the c...

Page 297: ...le name and suffix into IOCNAM and IOCSUF 25 3 1 9 IOCSUF Suff i x This two byte field of the IOCB serves a dual purpose If the non file Tormat mode is being used F 1 of IOCDTT I I DCSUF i s not u s ed a tal I h0 bI eveT lin the f i 1e r 0 ma t mod e IOCSUF must contain the suffix Or the file to b accessed The suffix must be in the valid MDOS suffix format Any unused parts of the suffix must be sp...

Page 298: ...ut an d 0 u t put M 00 or 11 0 f IOCDTT however the truncate flag may have to be set to one by the use if the file is to be shortened or if the end of file pointer in the RIB is to be updated If an extant ile does not gro in size the truncate flag ill be zero In addition when files are to be deleted upon a subsequent CLOSE function cal l I the IOCMLS must be set to a value of SFFFF and the ti unca...

Page 299: ...e been incremented by more than one depending on the number 01 sectors processed 25 3 1 14 IOCEOF LSN of end of file The IOCEOF field overlays IOCSUF after the OPEN function has been called diskette IIO only IOCEOF is a system maintained parameter that represents the logical sector number Or the logical end of Tile This value must not be changed by the calling program once the OPEN Tunction has be...

Page 300: ...ed If the W bit is set to zero the file can be read rromI wr itt en to 0 T del e ted the II D II bit mu s t be zero also The W bit is one or the changeable attributes of a file D Bit E Delete protection bit The D bit only applies to diskette files If this bit is set to one the file cannot be deleted If the liD bit is set to zero the File can be deleted the W bit must be zero also The 0 bit is one ...

Page 301: ...he liNn bit is set to zero ASCII Tecords written to the Tile Ulill have spaces compressed into a byte of the Tollo ing format 7 6 5 4 3 2 1 o Number Or compressed spaces CompreSSion flag 1 All MDOS commands CTeate ASCII riles with space compression N 0 in o der to minimize the amount of dis ke t t e spa c e con 5 ume d The NI bit i s on e 0 f the inherent att ibutes o a file It is specified at the...

Page 302: ...m will alwa s be dealing with eight bit data in memory The FMT field is automatically changed to either a 3 or 7 depending on the device by the OPEN function 2 Memory image format This format applies only to diskette files Any f le whose contents are to be loaded into memory directly Trom the diskette must be in the memory image format Due to the nature of the diskette controller memory image form...

Page 303: ...iles This format is intended to be used for riting binar record files rrom the diskette to a non diskette device that can only accept seven bit data bytes Otherwise this rormat is identical to FMT 3 NOT USED Bits 0 7 Reserved area The least significant byte of the IOCFDF rield is reserved ror ruture expansion This b te must be zero ror all riles 25 3 1 17 IOCDEN Di rec tory entry numb er Associate...

Page 304: ...on description section 27 4 contains a more detailed explanation of the allocation mechanism After a file has been opened the IOeSBP contains a pointer into the sector buffer that is used by the record 110 functions Therefore the contents of IOeSB must not be changed by the calling program once a file is open when using the record I O functions If the sector 110 functions are used then IOCSBF can ...

Page 305: ...he last valid data byte within a sector buffer rOeSB is initialized and changed by the lID runctions The contents Or IOeSBI must not be changed by the calling program aTter a file has been opened when using the record IIO functions however when using logical sector 1 0 the contents or IOCSBl may be changed The value OT lOeSBI will always be less than or equal to the value oT IOeSBE The following r...

Page 306: ... red B not zera The r ema indel 0 r CCis i nd e terrni nate The IoCB is afFected in the following manner if an error occur red IOCSTA c onta ins th e error status Th e following error statuses can be returned I IVDV I RESV I NODV The remainder of the IDCB is not changed The IoCB is affected in the fallowing manner if no errors occurred IOCSTA O IOCDTT has the 1110 bits set to zero and the 0 bit se...

Page 307: ...input FDR processing consists o r cre ting a rile descriptor record or a directory entry ir the rile is being opened ror output One Torm of update mode processing M 11 or IOCDTT will be identical to the input mode processing ir the rile already exists in the dir ctorYi or it ill be identical to the output mode pr cessing ir the file does not exist in the directory The other form of update mode pro...

Page 308: ...R proc es sing wi th non diskette devices If used it must be large enough to accommodate an FDR s e c t i on 24 3 4 IOCDBE must contain a buffer end address unless diskette 1 0 either record or logical sector or the non file format mode has been specified in the IOCDTT The data buffer described by IOCDBS and IOCDBE is used for FDR processing with non diskette devices If used it must be large enoug...

Page 309: ...on at tl i but e sset I S in c e the y 1 1 i 11 prevent a rile from being deleted upon closing if no information was wr itten in t o the f i 1 e Th e protection attl ibutes should be set via the CHANG system function or via the NAME command IOCSBP must be initialized if the device type is OK and either the output mode M 10 of IOCDTT or the update mode to a non xisting file M 11 of IOCDTT is specif...

Page 310: ... and Z 0 if an e ror occurred B not zero The remainder of CC is indeterminate The lOCB is affected in the following manner if an error occurred IoeSTA contains the error status The follo ing error statuses can be returned ISCKSM I CLOS ISDSPC SDTYP ISDUPE I EOF SFSPC FTYP I EOM I IVDV NONM ISNORV NRDY ISRIB I WRIT The remainder of the IOCB and the contents of the data buffer non diskette device an...

Page 311: ...F will have been replaced with the rOCEOF entr OCEOF contains the logical sector number of the logical end of file if the device type is DK IOCRIB contains the physical sector numbe of the file s RIB if the device type is DK OCDEN contains the ent number if the OK file s device director J type is IOCFDF contains the FDF field from the di ectory entry or the FDR if open mode is input or update to e...

Page 312: ...o the data buffer This automatic space ex ansion occurs regardless of the compression bit in IOCFDF bit N A carriage return will be the last data character in the data bu Pfer ASClI converted binary records are handled similarly to binary records howeverl the conversion of two seven bit data bytes into a single eight bit data byte is automatically performed The GETRC function treats the system con...

Page 313: ... IOCDBE must contain the address where the last byte of the maximum size record is to be stored The buffer described by IaCDnS and IOCDBE must be large enough to accommodate the largest possible record that mag be encounter d in the file IaCSUF may be configured by the calling program to contain a displayable character in its irst byte if the input device is the system console In this case the cha...

Page 314: ...OCB is unchanged If a bur er ove low error occurred lOCSTA I BUFO then the last data character of the record carriage return will be the last character of the bur Fer The first n characters n being the size of the data buffer minus one of the record are intact If Otherwise the contents of the data buffer are indeterminate the device contents of type the indeterminate is DK sector then the buffer a...

Page 315: ...terminating carriage return is supplied by the PUTRC Tunction If the output device is a non diskette device the terminating carriage return will actually be a carriage return line reed null sequence None oT these automatically supplied fields are present in the data buf er described by the IOCB ASCII records will be automatically space compressed iP the output device is diskette and iT the N bit o...

Page 316: ...e flag bit M must specify either the output or the update modes as configured prior to opening the file IOCDBS must contain the address of the first byte of the record that is to be wr i tten IOCDBE must contain the address of the last byte of the record that is to be UJ itten A terminating carriage return is not re uired in the data buffer IOCFDF must have been configured for a valid file format ...

Page 317: ...TTected in the following manner if no errors occurred IOCSTA O IOCDTT has the 110 transfer flag set to indicate output 10 01 If additional file space was allocated the truncate Tlag T is set to one iT it was not already one prior to the output transfer The remainder oT IOCDTT is unchanged IOCDB contains the address of the last character in the data burfe same as IOCDBE IOCMLS IOCSDW IOCSLSJ IOCLSN...

Page 318: ...e type If the IOCB has been opened in the input mode M 01 of IOCDTT I th en th e CLOSE func t i on wi 11 simp 1 y chang e th e IOCB to indicate that the file is closed If the lOeB has been opened in the output mode M 10 of I OCDTT t hen CLOSE wi 11 per for m the f 0 11 0 til i ng For a device type of DK CLOSE will zero fill any unused portions or the untllritten sector buffer to a sector boundar y...

Page 319: ...functionsl respectively Normall no additional parameteT s are rea uiredi however when dealing with diskette files in the update mode M 00 or 11 o r lOCDTT the truncate flag T o IOCDTT and the maximum referenced logical sector number IOCMLS can be configured by the calling program Since the update modes only set the truncate flag to one if a new file is created during the open p ocess or if additis...

Page 320: ...SDELT I IDEN ISRANG I SECB I FSPC ISSSPC I RIB I DEAL remainder of contents of the IOCB and the the data buffer and the sector buffer are indeterminate The IOCB is affected in the following manner if no errors occurred IOCSTA O IOCDTT has closed the 0 bit set to one file The remainder of the IOCDTT is unchanged IOCRIB will be zero if the file as deleted from the diskette Otherwise it will be uncha...

Page 321: ...d via the CLOSE function before the IOCB can be released A is indeterminate B The contents of the IOCSTA entry If no errors occurred B will be zero A non zero value indicates that an error occur T ed X is unchanged C 0 and Z 1 if no errors occurred 0 The remainder of CC in de te rmi na teo B is C 1 and Z 0 if an error occurred 3 not zero The remainde r of CC is indeterminate The IOCB is af ected i...

Page 322: ...pplied parameter on the command line The system symbols from the MDOS equate file are used throughout this example OUTPUT EGU START OF OUTPUT lOCB FeB 0 IOCSTA FCB DT OPO DT CLS IOCDTT FOB 0 lOCDBP FOB RBUFF IOCDES FDB RBUFFE IOCDBE FCC 2 DK IOCGDW FCB 0 0 IOCLUN DEFAULT 0 FCC 8 IOCNAM FCC 2 SA IOCSUF DEFAULT SA FOB 0 IOCRIB FOB FD FMA 8 IOCFDF ASCII FDB 0 RESERVED FOB 0 IOCDEN FOB 0 IOCSBP FOB SC...

Page 323: ...at the program i s i nv0 ked r l 0 m the MDOS command 1i ne Th us i t mu s t be origined to load above location lFFF The stack pointer is automatically initialized through the loading process to point to the last loaded program location The stack area has been set up so that the de ault value o the stack pointer can be used without having to execute a load stack pointer inst uction DEFINE SOME WOR...

Page 324: ... POINTER OUTPUT PUTRC WRITE THE RECORD LOOP CC NQ ERRORS ERR3 CLOSE AND RELEASE THE 10CB RETURN TO MDOS EXIT LDX OUTPUT POINT TO THE IOCB SCALL CLOSE BCS ERR3 CS ERROR SCALL RELES BCS ERR3 CS ERROR MDOS SCALL MDENT RETURN TO MDOS LEAVE SOME ROOM FOR STACK BSZ END 80 START STACK SET HERE BY LOAD 25 3 9 Specialized diskette lID functions Three additional 1 0 functions exist that also use the IOCB as...

Page 325: ... a sector bufTer The sector buffer must be an integral number of sectors in size see section 25 3 L 20 Th is buffer does not necessarily have to be the same one used to open the rile The sector buffer can be in a different location for each GETLS callj houseverl if the sector buffer is to be moved after a rile has been opened then IOCSBS rOeSBE and rOeSBI must be changed by the calling program Ioe...

Page 326: ...tor bufrer are indeterminate The lOeB is affected in the following manner if no errors occurred loeSTA O IOCMLS IoeSDW and IOCSLS contain the system maintained parameters described in section 25 3 1 reflect the current diskette pointers as They file IOCLSN has been incremented by the number of sectors read into the buffer IOCSBI IOCSBS l 128 loeSEP contains the sector lOCSBS the starting address o...

Page 327: ...has been properly reserved and opened 1 e no errors oc urred via the RESRV and OPEN functions respectively IOCDTT must have the Sit bit set to one sector lID The mode rlag bit M must specify either the output or the update modes as conrigured prior to opening the file IDCLSN must contain the logical sector number that is to be written into The actual number of sectors written depends on the size o...

Page 328: ...indeterminate B The contents of the IOeSTA entry If no errors occurred B will be zero A non zero value indicates that an error occurred x fs unc hanged C 0 and Z 1 if no errors occurred B 0 The remainder or CC is i nd etermi nate C 1 and Z 0 if an error occurred B not z e r 0 Th e r ema indel 0 fCC i s indetermi nate The IOCB is affected in the following manner if an error occurred IOCSTA contains...

Page 329: ...ress of the ectar buffer the same as IOCSBS The remainder or IOCB and the contents of the sector buffer are unchanged 25 3 9 3 Rewind file REWND The REWND function resets the pointers of the IOCB so that subsequent IIO functions will access the diskette file as if it had Just been opened i e from the beginning Only files that have been opened in the update or input mode can be rewound Files opened...

Page 330: ... r soc curred 1 B uli lIb e zer 0 A non zero value indicates that an error occurred X is unchanged C 0 and Z 1 if no errors occurred B 0 The r erna i n de 0 of CCis indeterminate C 1 and Z 0 if an error occurred B not zero The T emainder of CC is i nd etermi nate The IaCB is affected in the following manner if an error occurred IOCSTA c onta ins the error status Th e same error statuses can be ret...

Page 331: ... a file is the same as iF a CLOSE and a OPEN function were performedi howeverl the REWND Function reopens the file without having the calling program re speci q the file s name and suf rix Thusl when the file is rewoundl the same space deallocation and end Or file pointer considerations take ef rect as if the file were closed Since the truncate Tlag is set to zero after the REWND call opening an e...

Page 332: ...rst a file name specification which must have been ente ed on the MDOS command line is extracted from the command line buffer and placed into the IOCB This is accomplished with the PFNAM system function described in Chapter 27 Thenl the IOCB is reserved and opened Next one sector is read from the file and all upper case alphabetic characters are converted into lower case characters A special heck ...

Page 333: ...stack area has been set up so that the default value of the stack pointer can be used without having to execute a load stack pointer inst uction DEFINE SOME WORKING STORAGE PFNPAK FDB UCFLG FCB 0 0 o PROCESS FILE NAME PACKET UPPER CASE CONVERSION FLAG EXTRACT NAME FROM COMMAND LINE START ERR ERR2 LDX STX LDX STX LDX SCALL TSTB BEG ASLB BCS LDAB BRA TEXFIL IOCLUN DESTINATION PFNPA 2 OF NAME CBUFP P...

Page 334: ...N PICK UP LSN POINT BACK TO LAST READ SECTOR TEXFIL IOCLSN TEXFIL PUTLS ERR3 LOOP 1 WRITE THE SECTOR BACK CS ERROR READ NEXT SECTOR AND CONTINUE END OF FILE DETECTED ON INPUT EQF ISEOF ERR3 TEXFIL CLOSE ERR3 RELES ERR3 NE I O ERROR CS ERROR CS ERROR EXIT CMPB BNE LDX SCALL BCS seALL Bes seALL MOENT RETURN TO MOOS COMMAND INTERPRETER CONVERT ALL UPPER CASE ALPHABETIC CHARACTERS TO LOWER CASE CHARAC...

Page 335: ...tion The errol message function will decode the contents of IOCSTA only if it is called with the B accumulator equal to zero and with the X register pointing to the IOCB None of the IIO functions described here will return control to the calling program ir a diskette controller errol is detected only applicable ir the device type is OK These errors are fatal errors and will cause the program to be...

Page 336: ...J the user should be using MOODS OEM MDOS which can be configured to work in that manner The COpy command Chapter 7 is an exception It can load a user defined device driver into memory to copy a file rrom that device to the diskette or fr m the diskette to that device 26 2 Device Independent I O This section describes how the device independent I O functions interface to the device driv rs which i...

Page 337: ...2 1 o v 00 01 02 03 04 05 06 07 08 09 OA OB IOCB addl ess Devi c e dl i veT address j Ria I F W S L D iN I a Device dependent area Working storage Bit position CDBIoe CDBSDA CDBHAD COSODF Device desc ip tor flags CDBVDT Valid data tlJpes CDBDOA CDBWST j Page 26 02 ...

Page 338: ...ose riles 1 Can open close files Rewindable device flag o Cannot rewind files 1 Can rewind files System console flag o Not system console device 1 System console device Logical sector lID flag o Cannot perform logical sector 1 0 1 Can perform logical sector I O Default binary record format flag o Binary record is default binary format 1 ASClI converted binary record is default binary format Non fi...

Page 339: ...e haT dware device PIA or ACIA used to interface with the external device The actual usage of this coa entTY depends exclusively on the device driver progT am The device independent liD functions do not access this entT l 26 2 1 4 CDBDDF Device descT iptor flags The CDBDDF byte contains the basic description about the types of liD accesses that the device can perform The fOT mat or the CDBDDF byte...

Page 340: ...to one then the device can be used Tor output If the 0 Tlag is set to zero then the device cannot be used Tor output I Bit 5 Input dev ce flag Th i s bit i n d i c ate s 11 h e ther a d evic e can b e use d b input functions If the I bit is set to one then the device can be used for input If the I flag is set to zero then the device cannot be used for input F Bit 4 File type device Flag This bit d...

Page 341: ...sole rom all other devices This is needed since the record input runction does speCial processing ror the certain control characters which are treated differently when being input from another device These special characters are described in section 25 3 4 If the liS bit is set to one the device is the s stemconsole If the US bit is set to zero the aevice is not the s stem console L Bit 1 Logical ...

Page 342: ...format Conly if binary records are being processed If the 0 bit is set to zero then the default record fOrmat will be the binar format only if binary records are being processed If the device can process eight bit data then the setting of the 0 bit is independent of the device typei however ror devices hich can only process seven bit data the 110 bit must be set to one Otherwise the device may res...

Page 343: ... can only be used in the non file format mode NOT USED Bits 3 6 0 1 Reserved area These bits of the CDaVDT byte are eserved for future expansion They must be zero B Bit 2 Binary device flag This bit indicates whether a device can process eight bit data or not If the IIBu flag is set to one then eight bit data are valid If the a tl flag is set to zero then eight bit data are invalid 26 2 1 6 CDBDDA...

Page 344: ...ndependent liD functions by executing an indexed subroutine call The offset index value is defined by the displacement of the entry point from the beginning of the device driver Since these offsets must be the same for all device drivers a set of system symbols is defined in the MDOS equate file for the device driver entry point offsets The device on and off entry points are accessed at the beginn...

Page 345: ...the I O runction This calling sequence applies to all entry points into all device d ivers Before returning to the lID function the devic d iver must set an erro status condition indicating the state of the performed action Two things must be configured by the drivel to indicate an el ro1 Fil stl the IOCSTA byte of the lOeB must be initialized with one of the standa d liD el or statuses section 25...

Page 346: ...e according to the definition in section 26 2 1 4 is not the system consolel and is not able to perform logical sector 110 The de ault binary format has been arbitrarily identified as binary record The paper tape reader is capable of being used in the non file format mode and is capable of transmitting eight bit data to the device Thus both bits N and liB oT CDBVDT are set to one The only other re...

Page 347: ...GET ADR OF IOCB SET END OF MEDIA STATUS RETURN TO CALLER GET ADR OF FDE FOLLOWING JSR ADJUST STACK FOR RETURN JUMP TO ADR FOLLOWING FDB READER INITIALIZATION ROUTINE INITR STX LDX CLR CLR LDAA STAA LDX RTS INPUT ONE GETCP STX LDX LDAA LDAA STAA LDAA STAA CLR CLR GETCl LDAA HR CDB CDEDDA HR CDB CDBHAD TCTLJX PTDTA X 3C PTCTLJX SAVE INDEX REGISTER GET THE PIA ADDRESS HR CDE CDBDDA RESTORE INDEX REGI...

Page 348: ...T the device driver defined in the above example is to be used by a user s program with the device independent lID functions then the only function that is treated differently is the RESRV function Since RESRV must be used to link the IOCB with a known CDB the RESRV call is bypassed altogether by the user program howeverl before the OPEN function is invoked the IDCE must be parameterized as ir it ...

Page 349: ...ng system functionsl and how errors are handled by system functions se section 24 8 The remainder of this chapter is devoted to the description of all system functions not described thus far The description is divided into the following sections register functions double byte arithmetic functions character string functions diskette file functions and miscellaneous functions 27 1 Register Functions...

Page 350: ...TT ans reT X to B A TXBA The TXBA function transfers the contents or the X register into the register pair a A ENTRY PARAMETERS EXIT CONDITIONS No ne A contains XL B contains XH X is unchanged CC is indeteT minate 27 1 2 TT ans reT BJ A to X TBAX The TBAX function transrers the contents of the register pail B A into the X l egist r ENTRY PARAMETERS EXIT CONDITIONS None A is unchanged B is unchange...

Page 351: ... e an unsigned binary number ENTRY PARAMETERS EXIT CONDITIONS None A is unchanged B is unc hanged X has bee incremented b the co tents or A CC has been s t as in a normal unsigned addition 27 1 6 Add B A to X ADBAX The ADBAX function adds the contents of the register pair B A to the contents Or the X registe ENTRY PARAMETERS EXIT CONDITIONS None A is unchanged B is unchanged X has been incremented...

Page 352: ...ned 27 1 9 SubtTact A Prom X SUAX function subtracts the contents Or the A The SUAX register from subtraction is number the contents of the X register The ENTRY PARAMETERS EXIT CONDITIONS perrormed as i A were an unsigned binary None A is unchanged B is unchanged X has been decremented by the contents Or A CC has been set as in a normal unsigned subtraction 27 1 10 Subtract a A from X SUBAX The SU...

Page 353: ...XIT CONDITIONS A is unchanged B is unc hang ed X is unchanged CC has been set as in a normal unsigned sub trac t ion 27 1 13 Shirt x right ASRX The ASRX function shifts the contents of the X register to the right by one bit position Bit 15 is held constant and bit 0 is moved into C ENTRY PARAMETERS EXIT CONDITIONS None A is unchanged B is unchanged X is shifted right one bit position The sign bit ...

Page 354: ... been pushed on the stack followed by the contents oT XH 27 1 16 Pu 11 X from stac k PULX The PULX function pulls the contents from the stack into the X register ENTRY PARAMETERS EXIT CONDITIONS None A is unchanged B is unchanged XH contains the contents located at the entry value of S 1 XL contains the contents located at the entry value 01 S 2 CC is unchanged S has been incremented by 2 27 2 Dou...

Page 355: ... has been shifted to the left by the number Or bits represented by the contents of A Zero bits are brought in from the l i g h t a s t h e s h i f t t a k e s piac e 27 3 Character St ing Functions The character string functions are used by some of the more complex system functions and the MDOS commands as macro instructions or subroutines 27 3 1 String move MOVE The MOVE function transfers a seri...

Page 356: ... uous bytes in memory from one location with a series of bqtes at another location The comparison is made starting with the lowest addressed byte o the source string ENTRY PARAMETERS EXIT CONDITIONS B The number or bytes to be compared If B is intially zero 256 decimal bytes will be compared X The address or the first byte of a four byte parameter packet The parameter packet has the follo ing form...

Page 357: ...3 Character il1 a string STeHR The STeHR runction stores a specific character into a series Or contiguous bytes in memor ENTRY PARAMETERS EXIT CONDITIONS A The character to be stored into the string B The number of b tes to be rilled with the character If B is initially zero 256 decimal bytes will be rilled X The address Or the first byte of the string to be rilled A is unchanged B O X is unchange...

Page 358: ...a valid ASCII decimal digit 0 9 ENTRY PARAMETERS EXIT CONDITIONS A The character to be tested A is unchanged if it contained an invalid digit Otherwise A contains the binary equivalent Or the decimal digit bits 4 7 will be zero B is unchanged X is unchanged C 0 if A contained a valid digit The remainder of CC is indeterminate C 1 ir A contained an invalid digit The remainde of CC is indeterminate ...

Page 359: ...on It will be seen that the first sixteen b ytes of the DFT are identical in format with an MDOS d ir ectory entry Also the entire DFT is or the same format as part of an IOCB starting with IOCLUN and ending with lOeSBE The contents of the individual fields are not described in this section since they have been adequately discussed in sections 24 1 4 and 25 3 1 All of the diskette rile functions i...

Page 360: ... number of file s RIB OD W D S C N FMT OE OF 10 11 12 13 14 15 16 17 18 reserved 0 reserved 0 PSN EN reserved 0 Initial ne file size Sector buffer start address Sector buffer end address 27 4 Diskette File Functions f I LUN NAM SUF RIB FDF File descrip tor flags RES DEN Directory entry number SIZ SBS SBE Page 27 13 ...

Page 361: ... codes ror the B register are defined B 1 indicates to search ror and B B retrieve the next non deleted d i rec tory entry The DFT must have DEN 0 ror the initia l call The D N must then remain unchanged for subsequent calls since it is used to determine where to resume the search The contents or the sector bu fer must also remain unchanged between successive calls for this function code 2 indicat...

Page 362: ...therwise the OFT is parameterized identically to the B 4 case B 16 10 indicates that a specific directory entry is to be deleted from the directory The DFT entries NAM and SUF are used to spec i fy the entry to be deleted B 32 20 indicates to search for the next non deleted irectory entry with a specific set of file attributes Entries encountered with di ferent attributes will not be returned b th...

Page 363: ...ry Th e ALLOC runc t ion section 27 4 4 should be consulted ror a ull descT iption Or the alloc tion scheme and the reasons Tor arriving at this error B 7 indicates that an attempt was made to create a duplicate entry in the diT ectorq The rile name identiTied by LUN NAM and SUF already exists in the director B 8 indicates that entry was created LUN NAM and SUF a ne directory as specified by B 9 i...

Page 364: ...ile name then the DFT will be affected in the same way as for B l S The exit conditions ror this case are the same as for B 4 In addition if a dup 1 icate entry already existed in the directory the directory entry fields NAN through RES inclusive UJill contain the full image of the duplicate entry DEN will also contain the duplicate entry s directory entry number 16 If the entry is deleted the com...

Page 365: ...dd ess of new DFT The old DFT 11 con t a ins the L UNI NAM1 and SUF fields or an existing directory entry that is to be changed The SBS contains the starting add ess Or a 128 decimal byte sector buffer SEE contains the ending add ess of the sector buffer If the sector bu fer is la ger than one sec tor I on 1y the f i l S t 128 bq t e s wi 11 be used The IInet JI DFT contains the information that i...

Page 366: ...m file write protection delete protection can be changed The inherent attributes of a file remain constant for the duration Or the file s ex i stenc e X is unchanged C 0 if no erroT S occurred B 0 The remainder of CC is ind terminate C 1 if an error occurred B not zero The remainder of CC is indeterminate The four byte file packet is unchanged The old DFT and its sector buffer have been changed as...

Page 367: ... his programs are load ed Al so due to th e nature of the diskette cont oller it is not possible ror the LOAD function to compare what is read from the file with what is stored into memory Only diskett cont oller read errors can be detected during the load process PTograms brought into memory rrom the diskette will be loaded in multiples o eight bytes This fact must be considered when programs are...

Page 368: ...MDOS SWI vector will be unchanged to allow access to M DOS system Functions Bit 4 is mutually exclusive with bits 5 and 7 Bit 5 1 indicates that the program can only be loaded into the User Memory Map of an EXORciser II system with the dual memory map configuration The MDOS SWI vector will be resto ed to point back to the debug monito iT control is passed to the loaded p ogram or to the monitor I ...

Page 369: ...2 a e set th en contra 1 will be returned to the calling program after the program is loaded x The address or the DFT All calls to the LOAD runction require that LUN cDntains the logical unit number to be accessed ASCII number 0 3 30 33 that SBS contains the starting add ess of a 128 decimal byte sector buffer and that SBE contains the ending address of the sector burrer If the sector buffer is la...

Page 370: ... above lFFF and eight bytes below the end of contiguous memory If bit 5 was set the program must load within the range SOOOO FFFF inc lusive in the User Memroy Map of ap EXORciser II s stem with the dual memory map con fig ured I fbi t 7 usa sse tith e program must load within the range 20 FFFFI inclusive B 6 indicates that the starting execution address is invalid The starting execution address m...

Page 371: ...ue of B the stack pointer will con ain the highe t address loaded into eight bytes greater than the highest program location twent bytes for MDOS09 If loading over the resident MDOS or into discontiguous memory Bit 7 set to one in entry value of B the stack pointer will contain the add ess of the EXbug stack a ea If loaqing into the User Memo q Map of an EXORciser II system with the dual memo q ma...

Page 372: ... Fo programs not loaded into the User Memory Map of an EXORciser II system with the dual memo y map con oF i 9 ur e dI t his pre cal t ion doe s not a pply Pa ticular attention should be placed on programs that load into the highest memory address FFFF Since the diskette controller can only load programs in a multiple of eight bytesl such programs should have a starting load address that is a mult...

Page 373: ...t to zero additional space can be allocated anywhere on the diskette If RIB is zero th e FDF entry is no t req u ire d SIZ must contain the number of sectors that are to be allocated If SIZ is zero the de Pault allocation size 32 clusters will be used SBS must contain the starting address o P a 128 decimal byte sector buffer SEE must contain the ending address of the sector buffer If the sector bu...

Page 374: ... sectors specified in SIZ could not be allocated contiguously Ulith the existing space If SIZ contained a zero value this error indicates that no space is available at all on the diskette or that no space is available that is contiguous to the existing space depending on C being zero or one in FDF If the default of 32 clusters SIZ 0 cannot be allocated ALLOe will allocate whatever space it can wit...

Page 375: ...allocated space Since space deallocation is performed automatically by the device independent lID unctionsl the DEALe function should only be used by programs that are doing physical sector 1 0 on MDOS compatible diskettes ENTRY PARAMETERS x The address of the OFT The DFT must contain parameters the folloUling LUN must contain the logical unit number on which the rile resides ASCII number 0 3 30 3...

Page 376: ...ndicates that the file had an existing Retrieval Information Block that was invalid see section 24 2 B I RANG indicates that the maximum referenced logical sector number specified in bytes 1 and 2 does not belong to the fi Ie That is the LSN specified is gT eater than the number of sectors belonging allocated to the file B I IDEN indicates that an invalid DEN was specified B I OEAL indicates that ...

Page 377: ...ndex number will also be used to modify the system error status word see section 28 4 Certain error messages contain references to external parameters that must be supplied by the calling program e g a file name specification or an address These parameters are sho n in the list of error messages below as a backslash character C followed by a numeric digit which indentifies the format of the parame...

Page 378: ... the stack is decremented by twa pointing to the system call of the error message function and converted into rour displayable hexadecimal digits This parameter allows the location of the call to MDERR to be incorporated into the error message ror system diagnostic purposes The following table lists the standard error messages from the MDOS error message file in order of their error message index ...

Page 379: ...11 32 INVALID RIB l 30 INVALID EXECUTION ADDRESS 13 14 INVALID FILE TYPE 14 36 FILE EXHAUSTED BEFORE LINE FOUND 15 24 LOGICAL SECTOR NUMBER OUT OF RANGE 16 34 INVALID START END SPECIFICATIONS 17 35 INVALID PAGE FORMAT 18 38 INVALID LINE NUMBER OR RANGE 19 39 LINE NUMBER ENTERED BEFORE SOURCE FILE 1A 06 DUPLICATE FILE NAME lB 04 FILE NAME NOT FOUND lC 10 FILE IS DELETE PROTECTED lD 33 TOO MANY SOUR...

Page 380: ...F I O ERROR STATUS 3 AT 8 PROM I O ERROR STATUS 3 AT h DRIVE i PSN J The First case index number DO should be used for displaying standard erro messages as a result or the device independent I O functions The MDERR function expects the X register to contain the address or an IOCB The status byte of the IOCB will be decoded into one of the standard system error messages shown above In the event tha...

Page 381: ...ge as shoUln in the above tables X may not have to be parameterized IT the er 1 or message calls for an external parameter X will have to contain the pa ameter or the address of the parameter that is to be placed into the error message The contents of X depend on the type or message displayed as shoUln in the above tab 1es A is indeterminate B is indeterminate X is indeterminate C O The remainder ...

Page 382: ...morYI set the sqstem error status word when non standard rror messages are displayed so that CHAIN processing will work properly and to return control to the MOOS command interpreter 27 5 1 Process ile name PFNAM The PFNAM function scans a speciried input bUTTer ror a file name or device specification The information is returned in a format which is called the standard MDOS Tile name format This f...

Page 383: ...d te minator this is automatically handled by the MDOS command interpreter in using the MDOS command line bUTTer This character is normally a space or a commai however anq other valid terminator will suffice The second pointer of the file name packet defines where the standard file name is to be placed This area must be eleven bytes long The fil st b te ill contain the logical unit number The next...

Page 384: ...area will not be changed The same is true ror the file name and for the surfix fields This feature allows approp iate default values for the logical unit number file name and suffix to be placed into the standard file name area before PFNAM is invoked Then after the input bufrer is scanned those parts of the file name specification which were not explicitly found will assume the default values whi...

Page 385: ... file name area those areas where the default values would be Found Input string II FILEJ II I FILE1 0 F SA II FILE RO 1 U 0 I Extracted file name FILE OFILEl F SA lFILE RQ 0 LX 1 FILENAMETOOLONG AB 1 U FILESAB 1 II l LX lFILENAMEAB FILE LP I UD 1 II F LE L LP lUD IFILE 27 5 2 Re enter resident MDOS MDENT The MDENT function passes control from a calling program to the MDOS command interpreter It i...

Page 386: ...d a new command line accepted from the system console The system error status word is cleared Error Type and Error Status Flag if a valid command is interpreted 27 5 3 Reload MOOS from diskette BOOT The BOOT function reloads the resident operating system from the diskette in drive ze o via the diskette controller firmware This function should be used if the resident operating s stem has been chang...

Page 387: ...to the Error Type field of the system error status word Any value is valid Section 28 4 describes the format of the error status word A is unchanged B is unchanged X is unchanged CC is indeterminate The lowe byte of the system e ror status ord contains the value passed in B The Er or Status Flag has also been set to one Th e rema i nde of th e error status ord is unchanged 27 5 5 Allocate user pro...

Page 388: ... the contains the number memory that a e to be the end of the current X egister or bytes of allocated to use r program B 2 indicates that all of the remaining contiguous memo T Y is to be allocated to the current user program aT ea X contains the parameters as described above A is unchanged B contains the return following retu rn defined status statuses The are B 0 indicates that no e rrors occurr...

Page 389: ...C 0 if no er ors occurred B 0 The remainder of CC is indeterminate Z 0 and C 1 if an error occurred B not zero The remainder oT CC is i nd etermi nate The MDOS variabl ENDUS is unch nged iT an error occurT d Otherwise ENDUS will contain the following if the entry value of B was zero ENDUSS ill contain the entry value of the X l e 9 i s t er i i T th e en t q val u e 0 f B wa s one ENDUS will have ...

Page 390: ...errors can be displayed in two forms depending on the phase MOOS is in During the initialization phaseJ the error messages from the tontroller take on the form of the letter E followed by a decimal digit 0 9 Control is given to the debug monitor after the message is displayed Aft r MOOS has been properly initialized the diskette cont oller e rors are identified by the text npROM 110 ERROR Control ...

Page 391: ...rive with the wrong orientation the not l eadyll errol will be also generated This error will also occur if a double sided diskette is placed into a Single sided diskette drive Clos ng the door waiting a little bit longer before entering the E800iG or II MDOS command or turning the diskette around so it is properly orient d should eliminate this error A deleted data mark was detected while reading...

Page 392: ...ated on that diskette making it useful again The DOSGEN Chapter 10 and or FORMAT Chapter 15 commands should be consulted ror generating a new diskette Depending on the extent of the errors the diskette may be used in drive one to re over any files that may be en it see section 2 8 9 The diskette controller error E5 can occur for a variety of reasons The most common reason and the most fatal is the...

Page 393: ... chaT acter message is a non numeric character The following errors can occur during initialization but only after has been read into memory Message E Probable cause This error indicates that the RIB o the resident operating sqstem file MDOS SY is in error The operating system cannot be loaded The diskette probably is not an MDOS system diskette or the system riles have been moved from their o igi...

Page 394: ...initialization Errors of this sort indic te a possible memory problem or the opening of the door to drive zero while the initialization is taking place EV One of the system files is missing or cannot be loaded into memory If a s ystem f i 1 e ismiss in 9 I the dis k e t t e has been improperly generated or the file was intentionally deleted IT a rile cannot be loaded then the diskette should be re...

Page 395: ...in error repositioned back over the sector and another five accesses attempted Lastly the head was positioned a maximum oT rive cylinders inward from the sector in error repositioned back over the sector and another five accesses attempted Occassionally if the diskette in drive zero was changed without properly reinitializing the system or if an MDOS sq tem Tile is moved r1 lnam dl or deleted from...

Page 396: ...nizable INVALID MESSAGE mm AT nnnn This message is displayed by the MDERR system runction if it is called with an index number for which no vali error message exists o if the MDOS error message file cannot be accessed on the dis k e t t e IJJ i tho utan err 0 r The numb er mm II shows the index number or the error message that the MDERR function was trying to display_ The numbel u nnnn shoUis the ...

Page 397: ...le name already exists in the diskette s directory The rile must not exist pr i or tau sin 9 the c amman d Th e name o i s displayed to show which ile name o the multiple names speciried as parameters caused the error 06 DUPLICATE FILE NAME The rile name entered on the command line as a parameter already exists in the diskette s di ectory The rile must not exist prio to using the command No rile n...

Page 398: ...be aborted 10 FILE IS DELETE PROTECTED An attempt was made to delete a file which had the delete protection bit set in its directory entry The rile is not deleted 11 DEVICE NOT READY Most rrequently this error indicates that a command is trying to output to the printer while the printer is not ready or out or paper however the message can apply to any Or the supported devices whether being used fo...

Page 399: ...d directory entry s attribute field for the intended operation No file name is displayed since only one paramete is required by the command This error can also occur if a binary recoro transrer is being requested to a device that does not support binary transfersj ir a nan record ro mat e g 1 memory imag e r01 mat is 5p ec i r i ed when opening a non diskette device or if a non ASCII record f01 ma...

Page 400: ...ES system function was called or bit 0 of the IOCDTT byte was set to zero when the OPEN system function was called 21 END OF FILE An end or file record was read from a non diskette device or an attempt was made to read beyond the logica end of file in a diskette file Attempting to read from a diskette file after the end or file error has occurred will result in the same e ror Reading from a device...

Page 401: ...bered logical sector allocated to the file This error can also be caused if the IOCSDW and IOCSLS entries of the IaCB are changed by the calling program after the file has been opened 25 INVALID FILE NAME A file name was family indicator indicator J or c harse tel specified that contained the J began lJJith a device name began with a non alphabetic The NAME command Chapte 20 limits the use of the ...

Page 402: ...y logical unit numbers of zero are allowed 30 INVALID EXECUTION ADDRESS The starting execution address or a program in a memor image file is less than the lowest address or greater than the highest address loaded into by the program Th is ind icates a RIB er ror The REPAIR command Chapter 22 should be used to correct the error The EXBIN command Ch pter 14 uses this message to rerer to an illegal s...

Page 403: ...ECIFICATIONS The start and end specifications entered on the command line for the LIST command did not start lIIi th th e 1 ettar s liS or L I I Th is errol can occur if the starting specification starts with liS and the ending specification starts ith L or vice ve sa If the end specification has a value less than the value of the start specification then this error will also occur 35 INVALID PAGE...

Page 404: ...9 I or an alphabetic character A Z I and the line was not a uoted line If the command line started with a digit then the physical line number had a value outside of the range 1 65535 or the starting number of a line number range was greater than the ending line number of the range 39 LINE NUMBER ENTERED BEFORE SOURCE FILE A line number was encountered in the BLOKEDIT command file Chapter 5 before ...

Page 405: ...ngle sector File reorganization section 3 3 will consolidate fragmented space possibly increasing the size o the available contiguous space 42 SEGMENT DESCRIPTOR SPACE FULL During an allocation request fo additional space the ile s Retrieval Information Block was round to have the maximum numbe of Segment Descriptors already in usa File reorganization section 3 3 will consolidate segment descripto...

Page 406: ...bug command tlnnnniV this error may occur if the SWI vector is still configured for MDOS functions 48 CHAIN OVERLAY DOES NOT EXIST The CHAIN overlay s file name does not exist in the directory The REPAIR command Chapter 22 should be used to check the diskette for other errors 49 CHAIN ABORTED BY ILLEGAL OPERATOR An illegal execution operato was encountered in the intermediate file during tne CHAIN...

Page 407: ...plete its task The minimum memol l requirements de cl ibed in section 1 1 is sufficient Tor all MDOS commands Thus this message indicates a problem with the existing memorys or tampering with the memory map The same is true for the MDOS Supported software products that displaq this message however the memory requirements Tor the particular product that displayed the error message should be reviewe...

Page 408: ...AME NOT FOUND 18 DEVICE ALREADY RESERVED 19 DEVICE NOT RESERVED 11 DEVICE NOT READY 31 INVALID DEVICE 06 DUPLICATE FILE NAME 04 FILE NAME NOT FOUND 20 INVALID OPEN CLOSED FLAG 21 END OF FILE 14 INVALID FILE TYPE 17 INVALID DATA TRANSFER TYPE 37 END OF MEDIA 22 BUFFER OVERFLOW 23 CHECKSUM ERROR 26 FILE IS WRITE PROTECTED 10 FILE IS DELETE PROTECTED 24 LOGICAL SECTOR NUMBER OUT OF RANGE 41 INSUFFICI...

Page 409: ... will inhibit CHAIN process aborting if it is set to one The process of setting the Error Mask is descl ibed in section 6 4 28 5 Commands Affecting ErT oT Status Worti All MDOS commands that are intended o be invoked by the CHAIN process have been programmed to configul e er or t pes into the system error status word These error types are summarized here to racilitate the user who is taking advant...

Page 410: ...RR BACKUP BINEX BLOKEDIT CHAIN COpy DEL DIR DOSGEN DUMP Error Type 80 FF 80 81 82 83 84 85 86 87 80 81 80 81 80 81 Error Message or Condition WHAT INVALID MESSAGE mm AT nnnn SOURCE FILE COPY ERROR OB ECT FILE CREATION COpy ERROR CANNOT DELETE DUPLICATE NAME INVALID TO COPY VERIFY FROM DOUBLE TO SINGLE SIDED DIRECTORY READ WRITE ERROR SYSTEM SECTOR COPY ERROR SYNTAX ERROR Sector veri e or Response ...

Page 411: ...SYNTAX ERROR ILLEGAL OP CODE ILLEGAL OPERAND ILLEGAL ADDRESS Sly to The rollowing MDOS suppo ted commands available at time of publication change the Er or Type in the er or status word Command ASM ASM1000 ASM3870 BASIC Error Type Erro Message or Condition The error message number oT the last encountered error will appear in the Error Type The error message number of the last encountered error wil...

Page 412: ...ncountered error appear in the Error Type The error message number of last encountered errol appear in the Error Ttjpe Illegal Commmand Illegal command syntax User aSSignment error Undefined intermediate file Phasing er T or Section overflow Undefined object rile Illegal obJect record Local stjmbol table overflow Undefined symbol Multipl defined symbol Illegal addressing mode Global ymbol table ov...

Page 413: ...r of a cylinde on each su face Su face ze o is the top surface and surface one is the bottom surface The following notation is used in the table headings NOTATION CYLINDER PSN DEC HEX SFC 0 SFC 1 MEANING The numbers in these columns are the cylinder numbe s on the diskette They are given in both decimal and hex a dec i ma 1 The numbers in these columns aTe the hexadecimal physical sector numbers o...

Page 414: ...A 11 DB l1E 50 32 514 12 OC 138 51 33 52E 13 00 152 52 34 548 14 OE 16C 53 35 562 15 OF 186 54 36 57C 16 10 lAO 55 37 596 17 11 lBA 56 38 5BO 18 12 1D4 57 39 5eA 19 13 lEE 58 3A 5E4 20 14 208 59 3B 5FE 21 15 222 60 3C 618 22 16 23C 61 3D 632 23 17 256 62 3E 64C 24 18 270 63 3F 666 25 19 28A 64 40 680 26 1A 2A4 65 41 69A 27 1B 2BE 66 42 6B4 28 Ie 2D8 67 43 6eE 29 1D 2F2 68 44 6E8 30 1E 30e 69 45 70...

Page 415: ...A90 AAA 14 OOE 2D8 2F2 53 035 AC4 ADE 15 OOF 30C 326 54 036 AF8 B12 16 010 340 35A 55 037 B2C B46 17 011 374 38E 56 038 B60 B7A 18 012 3A8 3C2 57 039 B94 BAE 19 013 3DC 3F6 58 03A BC8 BE2 20 014 410 42A 59 03B BFC C16 21 015 444 45E 60 03C C30 C4A 22 016 478 492 61 030 C64 C7E 23 017 4AC 4C6 62 03E C98 CB2 24 018 4EO 4FA 63 03F eec CE6 25 019 514 52E 64 040 DOO DIA 26 OlA 548 562 65 041 D34 D4E 27...

Page 416: ...Cl 1 A G a q I 2 STX DC2 II 2 B R b r T 3 ETX DC3 3 C S c s 5 4 EDT DC4 4 D T d t 5 ENG NAK r E II e I v J 0 6 ACIo SYN 8 6 F V f v BEL ETB r0 W 9 tiS I T 8 BS CAN 8 H X h x 0 9 HT EM 9 r y i Y A LF SUB J Z J z 3 B VT ESC K k C FF FS L 1 0 CR GS M J m E SO RS N n F 51 US 0 0 DEL Page B 01 ...

Page 417: ...ate Z Skip dupli ca e 4 BINEX memory image file EXbug loadable file 5 BLOKEDIT command file l new rile 6 CHAIN comma nd file tag i Ci value i i J CHAIN N CHAIN 7 COpy source name destination name options J 8 DEL file J options 9 DIR file options J B Automatic verify after copy C Convert binary records D f i 1e L Dr i vel f i 1e L Line printer M Test driver via debug monitor N Non rile format V Ver...

Page 418: ...J Ci start address 15 FORMAT C unit J 16 FREE C unit J options J L Line printer 17 LIST ASCII File C C start JC end JJ options J FCmmmJ CnnJ Page format H Input heading L Line printer N Line numbers 18 LOAD memory image file Ci options J null Go to EXbug null Load above MDOS G Load and go U EXORciser II User Memor Map V Overlay MDOSi discontiguous memory string Initialize command bUrrel 19 MERGE f...

Page 419: ...s 22 REPAIR C unit 23 ROLLOUT memory image file J Li optionsJJ null Memo y above MDOS D Build file from scratch diskette U EXORciser II User Memo y Map V Any memory to scratch diskette These commands allow the family indicator in the file name specification Page C 03 ...

Page 420: ...This number includes a partial sector ir a partial sector read is being requested The sum of STRSCT and NUMSCT cannot be greater than 7D2 single sided diske tes 01 FA4 double sided diskettes This byte contains the number of bytes to be read from the last sector during a read operation This number should be a multiple of eight and cannot be greater than 128 80 If a numbel is specified that is not a...

Page 421: ... r outine Each entry point is accessed by executing a n Jump to subroutine instruction SR The parameters must have been set up in RAM as indicated for each specific function It should be noted that the ROM routines for the diskette functions run with the interrupt mask bit set to one in the condition code register The routines also use the NMI vectoT Both the NMI vector and the interrupt mask are ...

Page 422: ...lag is set to one an error occuT red then the routine will print an E followed by the contents of FDSTAT and two spaces on the system console Control is given to the resident debug monitor after printing the error message CHKERR does not change any of the parameters This entry point will print an II Ell followed by the contents of FDSTAT followed by two spaces on the slJ stem console PRNTER does n...

Page 423: ...RCs The only parameter changed is FDSTAT This ent y point causes the read write head on CURDRV to be positioned to cylinder zero The only paramete required is CURDRV The only parameter changed is FDSTAT This ent y point causes the read write head of CURDRV to be positioned to the cylinder containing STRSCT see Appendix AL The only parameter changed is FDSTAT This ent y point causes the two bytes o...

Page 424: ...points can be used o access a line printer Name Address Function LPINIT EBCO LIST SEBCC LDATA EBE4 LDA TA EBF2 This entry point intializes the PIA from a reset condition This entry point sends the contents of the A accumulator to the line printer If the paper empty or printer not selected status condition is detected the LIST ent y point will return with the carry flag of the condition code regist...

Page 425: ...APPENDIX D Diskette Cont oller Ent Points are not printed Fo a complete description oT the module the Flopp Disk ContT oller should be consulted diskette cont oller Module User s Guide ...

Page 426: ...cally set up by the mini diagnostic routine from LDADDR see beloud before each execution of t e specified function These two bVtes contain the data that would normally be placed into CURADR The diagnostic routine will update CURADR from LDADDR before each function is executed These two bytes must contain the address or the entry point or the function READSC WRTEST I etc that is to be executed by t...

Page 427: ...Upon completion of the function the lette E fol owed by a digit 0 through 9 will be printed and contTol r turned to the debug monitor The displayed message will indicate the completion status o the function as retu ned in FDSTAT Continuous Execution In order to execute a diskette unction continuously the parameters CURDRV STRSCT NUMSCT LSCTLN and LDADDR should be configured as required ror the spe...

Page 428: ...or code 30 39 Thus the following correlation exists between the normal error and the printed character following the E Normal Error o 1 2 3 4 5 6 7 8 9 Printed character b d f h J 1 n p r If the user initializes a counter to the value FFFF for example the mini diagnostic will run continuously until the first error of the type monitored by the counter occurs Page E 03 ...

Page 429: ...protective envelope when not in a drive unit 2 The diskette in its envelope should be stored vertically It should not be stacked or placed under heavy pre sur as this can cause warping of the oxide surface 3 Too many diskettes should not be forced into one box 4 The diskette should not be exposed to any magnetizing force in excess of 50 oersted The 50 oersted level can be reached about three inche...

Page 430: ...d in order to write on the diskette An opaque adhesive backed label or tape can be used to cover the hole The Single sided diskette is recorded in a format that is similar to the Single sided single densit format of an IBM 3740 diskette The detailed format description is contained in the IBM document number GA21 9190 3 IIIEM One sided Diskette OEM Information J Appendix B The format described in t...

Page 431: ... the se tor identified by the hashing fun tion New entries can be made into those entries which have a zero oor an FF in their first byte Thus a search for a name can stop whenever an entry is Found hich has the first byte equal to zero A directory search begins in the sector id ntified by the hashing function If no entries within this sector contain zero in their first byte and iT no match is fou...

Page 432: ...IN THE RANGE 0 19 DECIMAL TMPl RMB 1 TMP2 RNB 1 T a I I II J HASH LDAB STAB CLC CLRB HASH2 STAB TPA STAA LDAB SUBS BPL CLRB HASH25 LDAA TAP ADCB ROLE INX DEC ENE RORB TEA RORA RORA RORA RORA ABA TAB ANDB CMPB BLS SUBB CMPB BHI ASRA ROLB HASH3 STAB RTS 1 10 TMP3 TMPl TMP2 0 X GET FILE CHAR 25 MAKE IT UNIGUE HASH25 TMP2 TMPl TMP3 HASH2 7 00011111 19 HASH3 20 9 HASH3 TMP3 ...

Page 433: ...lq All MOQS Supported products are purchased and shipped separately from MDOS At the time or publ ication onl the following suppo ted products are available For MDQS09 RASM09 RLDAD EDIT and E These descriptions contain a brier discussion of how the product is invoked from the MDOS command line Anq additional hardware re uirements are also noted The product s manual that is sh ipped along with its ...

Page 434: ...options listed in the following table All options except those that control the destination of the source listing and the destination Or the object file can be specified from ithin the source prog am with the OPT directive Ce tain options are automatically used as a default condition These conditions can be reversed or over idden by preceding the option letter with a minus sign The following optio...

Page 435: ...sign i however the dollar sign may not be used as the first character of a symbol The END directive has been changed so that it now has the follo ing rormat END C expression J where the value of the optional expressicn will be placed into the 59 record of the object file This record is used to specify the starting execution address of the object file If no expression is specified the value of zero...

Page 436: ...the 1 is tis i nth e s ta n dar d MDOS Til e n a me forma t rile name suffix C logical unit number J The de rault values of SA and 0 11 are used if suffix and logical unit number are not explicitly entered Up to t enty file names can be accommodated by the assembler The options may be one or more of the options listed in the following table All options except those that control the destination of ...

Page 437: ...bel aT printed lines per page toll d d If dec i ma 1 A P sup P1 e sse s paging Print symbol table Print opcode usage statistics table Print unassembled code between conditional directives Print cross reference table Certain options L N 0 p re uire a terminating comma only if other options follow Options are specified without any intervening blanks or separators Each symbol in the symbol table re u...

Page 438: ...APPENDIX H 2 sensitive to the BREAK and CTL W keys of the system console ...

Page 439: ... list is in the standard MDOS file name format file name suffix C logical unit number J The default values of SA and 0 are used if suffix and logical unit number are not explicitly entered Up to twenty file names can be accommodated by the assembler The options may be one or more of the options listed in the following table All options except those that cont ol the destination of the source listin...

Page 440: ...mber of printed lines per page to dd II d e c i ma 1 A P sup presse s pag ing Print s mbol table Print unassembled code between conditional directives Print cross reference table Certain options L I N J 0 1 P require a terminating comma only if other options follow Options are specified ithout any intervening blanks or separators Each s mbol in the symbol table requires ten bytes Thus if the minim...

Page 441: ... the standard MDOS file name format file name C suffix C logical unit number The default suffix SAil and the default logical unit number zero will be automatically supplied if none are explicitly entered If name 1 is the name of file which alread exists in the directory then it must contain a valid BASIC program The contents of the file name 1 will then be automatically loaded into the work space ...

Page 442: ...ORciser sqstem allows the user to perform editingJ employing speci ically designed eatures of the EXORterm The E command is invoked rrom the MDOS command line as are other MDOS commands however the Editor re uires the system has a minimum Or 32 bytes of memory_ For a complete description of the E command s usagel IIM6800EDITORM Resident Editor Reference Manual should consulted that the be ...

Page 443: ...name 1 does not already existl then it will be automatically created and all output written to it The second rile name specificationl name 2 can only be used if the file to be edited already exists on the dis k e t t e Norma 1 1YI n ame 2 i s not s pe c i r i e d I nth i s case the EDIT program will automatically create a temporary output rile called SCRATCH SA The output file will be created on t...

Page 444: ...e ril to receive the output whether explicitly entered on the command line or implicitly used as SCRATCH SAJ cannot exist p io r to the edit One or the standard error messages will also be dis p 1a I e d i r dur i n g a cr 0 s s dr i vee d i t I na me 2 cannot b e renamed after the original Tile name 1 has been deleted This can occur if name 1 exists on both drives In this case the edited output w...

Page 445: ...e user program The EM3870 Emulator is invoked from the MOOS command line as are o ner MDDS commands however the Emulator requires that the system has a minimum of 20K bytes of memor as ell as an M3870 Emulator Module In addition the user s development system must not contain memory between locations 0000 through DFFF inclusive The EM3870 Emulator is command line invoked from the following EM3870 F...

Page 446: ...he form file name suffix C logi al unit number If name 2 is not speci ied on the command 1ineJ then name 1 s rile name and logical unit number will be used as default values for name 2 If either suffix 1s omitted from the command line then the default values AO and AF will be used or name 1 and name 2 respectively If the logical unit number is not specified ror name 1 then the default value zero w...

Page 447: ... or zzn ror that recordl and nzz are output PLA initialization values During the processing Or the command the BREAK key can be depressed at any time to cause a controlled termination of the program however the partially generated output rile will have to be deleted manually The output file name 2 does not get cT eated with space compression as do other MDOS ASCII files The efore name 2 must not b...

Page 448: ...24K bytes of memory The format of the command line is FORT name l CJ name 2 name n J C options J where name i are the names Or source files Each file name in the list is in the standard MDOS File name format rile name C suffix J C logical unit number The default values SA and zero are used if suffix and logical unit number are not explicitly entered Up to twent file ames can be aCGommodated by the...

Page 449: ...ine length to ddd decimal Create obJect rile with name name 1 and suffix RO on same logical unit as name 1 of command line Create obJect file with name name Set number of printed lines per page to ICdd U decimal j A P suppresses paging int s mbol table Conditional compilation of statements beginning with letter XU Certain options L N 0 P require a terminating comma only if other options follow Opt...

Page 450: ...ommand line as are other MDOS commands however the Cross Assembler re uires that the system has a minimum of 32K bytes of memory The format or the command line is where name iJ are the names Or source riles Each file name in the list is in the standard MDOS file name format rile name surfil C logical unit number The default values o P SA and 0 are useti i F suffix and logical unit number are not e...

Page 451: ...e logical unit as name 1 of command line Create obJect file with name name Set number of printed line per page to d d d e c i ma 1 A P sup presses paging Specifies name of file containing definition tables to be referenced during the assembly phase T implies tables are in memorq Print cross reference table Certain options D L N 0 p T re uire a terminating comma only if other options Tollow Options...

Page 452: ...name of an output file 80th file names are in the standard MDOS Pile name format rile name C suffix C logical unit number The default value AD will be used for the suffixes of name 1 and name 2 ir none are explicitly entered The derault logical unit number for name 1 is zero The default logical unit number for name 2 is taken from the logical unit number of name 1 Only two letters can appear in th...

Page 453: ...ent Tester are identical regardless of the media on which they were supplied the conversion to diskette will greatly speed up the amount of time it requires to initially load the program If tne program is on either paper tape or cassett it can be copied to the diskette by using the following MDOS command COpy CR MOTST LX N If the program is on an EDOS diskette it can be copied to the MOOS diskette...

Page 454: ...ile name C suFfix C logical unit number The default values SA and zero are used if suffix and logical unit number are not explicitly ent T ed The options may be one or more of the options listed in the following table Certain options are automatically used as a default condition The sense or an option can be reversed by preceding the option letter with a minus sign The following options are recogn...

Page 455: ...on or the MPL compiler consult the M6800 Resident MPL Compiler Reference Manual The S9mbol table requirements ror the NPL compiler are fairly complex however 6000 decimal bytes of symbol table space are available This is sufficient to accommodate a p pro x i ma tel y 200 d e c i ma 1 s y mb 0 1 s Page H 23 ...

Page 456: ...diskette by entering the MDOS command line LOAD PPHliVG or LOAD PPLO VG depending on which version is to be used Ir a user program on the diskette is to be placed into a PROM the following procedure can be used iT the user program loads above the resident operating system and MDOS command interpreter The file can be loaded into memory using the MDOS command LOAD name V where name is the file name ...

Page 457: ...after being loaded into mem ry The fila should be deleted after it has been placed into the PROM If the user has the PROM Programmer I on a non MDOS diskette media it can be copied to the MDOS diskette using the follo ing procedure If the the commands PROM Programmer r 15 on COpy CR PPHI LX N COpy CR PPLO LXiN should be used Ir the PROM Programmer diskette the commands EMCOPY PPHI LX EMCOPY PPLO L...

Page 458: ... 4 bit and 8 bit PROMs and EROMs The PROM Programmer 11 111 is invoked From the MDOS command line as a e other nDDS commands hOweVeTI tn PROM Programmer requires that the system contains the PROM Programmer 11 111 Module The format of the command line is PROMPROG For a complete description oT the PROM Programmer IIIIII and its command structure the PROM Programmei II II Rererence Manual should be ...

Page 459: ...e the names of source Piles Each file name in the list is in the standard MDOS file name format Pile name C suffix C logical unit number The de rault values of SAil and 0 are used if suffix logical unit number are not explicitly entered twenty fil names can be accommodated by the assembler and Up to The options may be one or more of the options listed in the following table All options except thos...

Page 460: ... image on same logical unit as name 1 or command line Create obJect rile with name name Set number of printed lines per page to If dd dec i ma 1 A P sup presses pag ing Relocatable object rile output Print symbol table Print unassembled code between conditional directives Print cross rererence table Use M6801 instTuction mnemonics instead of M6800 and create M6801 object output Certain options L N...

Page 461: ...APPENDIX Ho 16 M6800 M6801 M6809 Macro Assembler Reference Manual should be consulted Like other MDOS commands the RASM command is sensitive to the BREAK and CTL W keys of the system console Page H 29 ...

Page 462: ...me n C options J wh ere name i are th e names of sourc e f i 1 es Each f i 1e name in the list is in the standard MDOS rile name format file name C su r rlx J C logical unit number The default values of SA and 0 are used if suffix and logical unit number a e not explicitly entered Up to twenty file names can be accommodated by the assembler The options may be one or more of the options listed in t...

Page 463: ...e logical unit as name 1 or command line Create obJect file with name name Set number of printed lines per page to d d II dec i ma l A P sup presse s pag ing Relocatable object file output Print symbol table Print unassembled code between conditional directives Print cross reference table Certain options L N 0 P require a terminating comma only if other options follow Options are specified without...

Page 464: ...APPENDIX H i7 Like other MDOS commands the RASM09 command is sensitive to the BREAK and CTL W keys of the system console ...

Page 465: ...ands allow the use of either a defined ASCT symbol or a numeric constant to the right of the equal sign The default BSCT address that RLOAD will assign is 0020 if assembly language progT ams are being linked however the default address of aSCT will become 0040 if FORTRAN programs are linked In addition FORTRAN programs will be automatically assigned memory locations so that DSCT and PSCT fallon ev...

Page 466: ...gest LST where SIZE is the total size Or the symbol table in bytes and GST and LST are computed r om the fo mulas given below GST 12 5 ASCT NC XDEF UXREF NMOO LST 12 5 ASCT NC XDEF XREF The symbols have the rollo ing meanings Symbol GST LST ASCT NC XDEF XREF UXREF NMOD Meaning Size of Global Symbol Table Size of Local Symbol Table An LST is created for each file loaded however only one LST is kept...

Page 467: ...mory addresses for one or more of the following reasons The combined length of all sections is greater than FFFF bytes Due to the location of ASCTs or user assigned sections the remaining unassigned sections cannot be placed into unassigned areas of memory The automatic sequence in hich sections are assigned memor locations BSCT CSeT DSCT PSCT results in the Linking loader being unable to assign m...

Page 468: ...pecification was used with the DEF command A non ASCT symbol was used to the right of the equal sign of a STRI CUR or END command A backslash was used with the STR or END commands An undefined global symbol was used to the right of the equal sign of the EXIT command The file module qualifier was invalid with the LOAD or LIB command A logical unit number greate than 3 was specified with a rile name...

Page 469: ...he actual The user assigned addresses ror sections over lap The execution address specified with the EXIT command is less than the starting load address or greater than the ending load address of the program The user assigned starting ending address for BSCT is greater than 0100 UDS Undefined Symbol Error The symbol in question is displayed following the UDS message The symbol was not defined duri...

Page 470: ...culated as suf ic ient during Pass I This can occur iT diTferent iles are loaded during the tUlO passes This message UJill again occur when the EXIT command is issued resulting in the output file being deleted 41 INSUFFICIENT DISK SPACE Any memory image rile Tor which an appropriate contiguous block of space does not exist ill cause this error Usually this occurs when c eatin9 a file with initiali...

Page 471: ...e program and to changes back to the diskette The SIMIOOO Simulator is invoked from the MDOS command line as are other MDOS commands however the Simulator requires that the system has a minimum of 24K bytes of memory as _ U C Q l QII M1Ll1n f I c MI I I 1 lJ T r IiI W Q V W t tIWW 40 The SIM1000 Simulator is invoked from the following command line SIM1000 For a complete description of the Simulato...

Page 472: ...c 1oc k The other precauti on is the possibility of having a PIA or ACIA in the user memory generate an IRG when MDOS is initializing When memory resides at the same addresses in both EXORciser and user system the EXORciser memory responds when such a redundant location is readi howeve both locations respond one in each system when the EXORciser memory is 1 itten to Thus if an liD device resides i...

Page 473: ...le 0000 A 0000 A MDOS VERSION 03 00 SYSTEM EGUATE FILE ULY 25 1978 DEFINE TYPE OF MDOS RESIDENT MOOS ONLY MDOSF EQU 0 0 MDOS 1 OEM MOOS MDOS9 EGU 0 0 MDOS 1 MDOS09 S K I P 2 MAC R a THE GENERATED BYTE IS A COMPARE INDEX IMMEDIATE THE EXECUTION OF THE BYTE WILL CHANGE THE CONDITION CODE NO REGISTERS ARE AFFECTED THUS A ONE BYTE INSTRUCTION IS FORMED THAT SKIPS FORWARD TWO BYTES SKIP2 MACR FeB 8C EN...

Page 474: ... 0001 0002 0003 0004 0005 0006 0007 0008 0009 OOOA OOOB OOOC 0000 OOcE OOOF 0010 0011 SEQ SEa SEQ SEa SEG SEa SEG SEa SEa SEa SEa SEG SEa SEG SEa SEG SEG SEG RESRV RELES OPEN CLOSE GETRC PUTRC REWND GETLS PUTLS KEYIN DSPLY DSPLX DSPLZ CKBRK DREAD DWRIT MOVE CMPAR RESERVE A DEVICE RELEASE A DEVICE OPEN A FILE CLOSE A FILE READ A RECORD WRITE A RECORD POSITION TO BEGINNING OF FILE READ LOGICAL SECTO...

Page 475: ...EMORY DOUBLE BYTE BY MULTIPLY SHIFT LEFT MEMORY BY A DIVIDE SHIFT RIGHT MEMORY BY A ENTER MDOS WITHOUT RELOADING LOAD A FILE FROM DISK DIRECTORY SEARCH AND MODIFY PROCESS FILE NAME ALLOCATE USER MEMORY CHANGE NAME ATTRIBUTES MDOS ERROR MESSAGE HANDLER ALLOCATE DISK SPACE RETURN DISK SPACE SET ERROR STATUS WORD FOR CHAIN TRANSFER X TO B A TRANSFER B A TO X EXCHANGE B A AND X ADD B TO X ADD A TO X A...

Page 476: ...RTICAL TAB FORM FEED CARRIAGE RETURN SHIFT OUT SHIFT IN DATA LINK ESCAPE DEVICE CONTROL 1 DEVICE CONTROL 2 DEVICE CONTROL 4 DEVICE CONTROL 4 NEGATIVE ACKNOWLEDGE SYNCHRONOUS IDLE END OF TRANSMISSION BLOCK CANCEL END OF MEDIUM SUBSTITUTE ESCAPE FILE SEPARATOR GROUP SEPARATOR RECORD SEPARATOR UNIT SEPARATOR SPACE WORD SEPARATOR DELETE RUB OUT C H A RAe T E R E QUA T E 5 SUFFIX DELIMETER OPTIONS DELI...

Page 477: ...RIB SL EGU 118 NUMBER OF SECTORS TO LOAD 0078 A RIB L A EGU 120 MEMORY LOAD ADDRESS 007A A RIB SA EQU 122 START EXECUTION ADDRESS U N I F I E D 1 I a CON T R o L B L 0 C K a F F S E T S 0000 A lOCSTA EGU 0 ERROR STATUS 0001 A IOCDTT EQU 1 DATA TRANSFER TYPE 0002 A IOCDBP EQU 2 DATA BUFFER POINTER 0004 A IOCDBS EGU 4 DATA BUFFER START ADDRESS 0006 A IOCDBE EGU 6 DATA BUFFER END ADDRESS 0008 A IOCGD...

Page 478: ...RMAL RETURN NO SUCH DEVICE DEVICE RESERVED ALREADY DEVICE NOT RESERVED DEVICE NOT READY INVALID DEVICE DUPLICATE FILE NAME FILE NAME NOT FOUND INVALID OPEN CLOSED FLAG END OF FILE INVALID FILE TYPE INVALID DATA TRANSFER TYFE END OF MEDIA BUFFER OVERFLOW CHEClo SUM ERROR FILE IS WRITE PROTECTED FILE IS DELETE PROTECTED LOGICAL SECTOR NUMBER OUT OF RANG NO DISK FILE SPACE AVAILABLE NO DIRECTORY SPAC...

Page 479: ...EGU A FD CON EGU A F D SYS EGU A FD DEL EGU A FD WRT EGU BIT D E FIN I T ION S 00000000 7 00000001 7 00000010 00000011 7 00000100 7 00001000 1 00010000 1 00100000 1 01000000 7 10000000 OPEN UPDATE INPUT OPEN INPUT MODE OPEN OUTPUT MODE OPEN UPDATE MODE NON FILE FORMAT IIO FLAG TRUNCATE FLAG FILE OPEN CLOSE FLAG SECTOR IIO FLAG OUTPUT TRANSFER TYPE INPUT TRANSFER TYPE BIT D E FIN I T ION S 7 000000...

Page 480: ...OGICAL SECTOR I O FLAG CONSOLE FLAG REWIND FLAG OPEN CLOSE FLAG INPUT DEVICE FLAG OUTPUT DEVICE FLAG RESERVABLE DEVICE FLAG BIT D E FIN I T ION S 7 00000100 00001000 7 00010000 7 10000000 BINARY OB ECT FLAG TEMP GDB POINTER FLAG TEMP SDA POINTER FLAG NON FILE FORMAT FLAG D R I V E R E N TRY OFF SET o 3 6 9 12 E ROM o 1 3 5 6 8 11 0 E N TRY E800 E822 E853 E85A E869 E86D E86F SE872 E875 E878 E87B E8...

Page 481: ...IST ONLY F01S A INCHNP EGU F015 INPUT CHARACTER NO PARITY F01S A OUTCH EGU F018 OUTPUT QNE CHARACTER F021 A PCRLF EGU F021 PRINT LF CR F024 A PDATA EGU F024 PRINT STRING FCFD A SBITS EGU FCFD BIT 7 INDICATES IRG OCCURRED IF FF1F A BRKPT EGU FF1F MAID S BREAKPOINT TABLE 8 FOB S FF4F A BKPINS EGU FF4F EXBUG BREAKPOINTS IN MEMORY FF53 A AECHO EGU FF53 INPUT CHARACTER ECHO FLAG O ECH FFFB A IRG VC EGU...

Page 482: ... 0001 DT OPO 0002 DT OPP 0000 DT OPU 0003 DT OUT 0040 DT SIO 0020 DT TRU 0008 DVSINT 0006 DV IO OOOC DV OFF 0003 DV ON 0000 DV TRM 0009 E FATL 0080 EM 0019 ENDOS 0106 ENDRV 0110 ENDSYS OlOA ENDUS 0108 ENG 0005 EDT 0004 ERSACR 0039 ER CRC 0031 ER DAD 0036 ER DMA 0038 ER MRK 0034 ERSRDY 0033 ER SEK 0037 ER TIM 0035 ER WRT 0032 ESC OOlE ETB 0017 ETX 0003 FAMDLM 002A FD CMP 0008 FD CON 0010 FD DEL 004...

Page 483: ... SEEK E878 51 eeOF SIDES 0000 SO OOOE SOH 0001 SPACE 0020 STRSCT 0001 STX 0002 SUB OOlA SUFDLM 002E SWISSV 0116 SWI UV 0118 SWI VC FFFA SYEDCB 016A SYERR 0114 SYIOCE 0120 5YN 0016 SYPOCB 0145 US OOlF VD BIN 0004 VD GDB 0008 VO NFF 0080 VD SDA 0010 VERS 0100 VT OOOS WRDDAM EB7E WRITSC E884 WRTEST E87B WRVERF ESS XREGSA FFIA XREGSB FF1B XREGSC FF1C XREG P FF16 XREG S FF1D XREG X FF18 XSTAK FF8A Page...

Page 484: ...E BYTE WILL CHANGE THE CONDITION CODES NO REGISTERS ARE AFFECTED THUS A ONE BYTE INSTRUCTION IS FORMED THAT SKIPS FORWARD TWO BYTES SKIP2 MACR FeB 8C ENDM SKI P 1 MAC R a THE SAME CONCEPT AS THE IISKI 2 MACRO IS USED EXCEPT THAT A BIT TEST ACCUMULATOR A IMMEDIATE OP CODE IS GENERATED SKIPl MACR FCB 85 ENDM S CAL L SCALL MACR IFEG NARG l SWI MAC R 0 FCB O i 01111111 ENDC IFNE NARG l SYSTEM FUNCTION...

Page 485: ...READ DWRIT MOVE CMPAR STCHB STeHR ALPHA NUMD ADDAM SUBAM U N C TO 0 MDOS09 Equate File Listing NUMBERING SEGUENTIAL EGUATES T I o N D E F I N I T FOR THE EQUATE DEFINITIONS SAVE OLD LOCATION COUNT RESERVE A DEVICE RELEASE A DEVICE OPEN A FILE CLOSE A FILE READ A RECORD WRITE A RECORD I POSITION TO BEGINNING OF FILE READ LOGICAL SECTOR WRITE LOGICAL SECTOR CONSOLE INPUT o N 5 CONSOLE OUTPUT TERM WI...

Page 486: ...OM DISK DIRECTORY SEARCH AND MODIFY PROCESS FILE NAME ALLOCATE USER MEMORY CHANGE NAME ATTRIBUTES MOOS ERROR MESSAGE HANDLER ALLOCATE DISK SPACE RETURN DISK SPACE SET ERROR STATUS WORD FOR CHAIN TRANSFER X TO B A TRANSFER B A TO X EXCHANGE B A AND X ADD B TO X ADD A TO X ADD a A TO x ADD X TO B A SUBTRACT B FROM X SUBTRACT A FROM X SUBTRACT B A FROM X SUBTRACT X FROM a A COMPARE a A TO x SHIFT X R...

Page 487: ... 4 NEGATIVE ACKNOWLEDGE SYNCHRONOUS IDLE END OF TRANSMISSION BLOCK CANCEL END OF MEDIUM SUBSTITUTE ESCAPE FILE SEPARATOR GROUP SEPARATOR RECORD SEPARATOR UNIT SEPARATOR SPACE WORD SEPARATOR PELETE RUB OUT C H A R ACT E R E G U ATE S SUFFIX DELIMETER OPTIONS DELIMETER LOGICAL DRIVER DELIMETER GENERIC DEVICE NAME DELIMETER FAMILY NAME SUFFIX DELIMETER FATAL ERROR BIT MOO S SEC TOR E G U ATE S A SCSO...

Page 488: ...I L E OFF SET S NUMBER OF BYTES IN LAST SECTOR NUMBER OF SECTORS TO LOAD MEMORY LOAD ADDRESS START EXECUTION ADDRESS U N I FIE 0 I O CON T R 0 L B LaC K A IOCSTA EGU A IOCDTT EGU A lOCDS EGU A IOCDBS EGU A IOCDSE EGU A IOCGDW EGU A IOCLUN EGU A IOCNAM EGU A IOCMLS EGU A IOCSDW EGU A IOCSLS EGU A IOCLSN EGU A IOCSUF EGU A IOCEOF EGU A IOCRIB EQU A IOCFDF EGU A IOCDEN EGU A IOCSBP EGU A IoeSBS EGU A...

Page 489: ...ROR FILE IS WRITE PROTECTED FILE IS DELETE PROTECTED LOGICAL SECTOR NUMBER OUT OF RANGE NO DISK FILE SPACE AVAILABLE NO DIRECTORY SPACE AVAILABLE NO SEGMENT DESCRIPTOR SPACE AVAIL INVALID OIR ENTRY NO INVALID RIB CAN T DEALLOCATE ALL SPACE INARY RECORD LENGTH TOO LRGE SECTOR BUFFER SIZE ERROR RESTORE THE LOCATION COUNTER M DOS I N T ERN A L V A R I A B L E AND A MDOS EGU A CBUFL EGU A CBUFF EGU A ...

Page 490: ...0000000 OPEN UPDATE INPUT OPEl INFUT MODE OPEN OUTPUT MODE OPEN UPDATE MODE NON FILE FORMAT I O FLAG TRUNCATE FLAG FILE OPEN CLOSE FLAG SECTOR liD FLAG OUTPUT TRANSFER TYPE INPUT TRANSFER TYPE BIT D E FIN I T ION S 7 00000000 1 00000001 7 00000010 7 00000011 1 00000101 7 00000111 USER DEFINED FORMAT SECTOR liD DEFAULT aB ECT REC D FORMAT BINARY LOAD FORMAT BINARY RECORD FORMAT ASCII RECORD FORMAT ...

Page 491: ...SE FLAG INPUT DEVICE FLAG OUTPUT DEVICE FLAG RESERVABLE DEVICE FLAG BIT D E FIN I T ION S 7 00000100 BINARY OB ECT FLAG 7 00001000 TEMP GDB POINTER FLAG 7 00010000 TEMP SDA POINTER FLAG 7 10000000 NON FILE FORMAT FLAG o 3 6 9 12 D R I V E ROM o 1 3 5 6 8 11 D E N TRY EBOO E822 E853 E85A E869 E86D E86F SE872 E875 E878 E87B E87E SEBSl E884 ERR a R C 0 I E N TRY DEVICE ON OFFSET DEVICE OFF OFFSET OFF...

Page 492: ... FF21 FF22 FF68 FCF4 FF92 INCLUDES ALL REFERENCES BUT ROLLOUT A INCHNP EGU A OUTCH EGU A PCRLF EGU A PDATA EGU A SBIT EGU A BRKPT EGU A BKPIN EGU A AECHO EGU A SW3 VC A SW2 VC A FIR VC A IRQ VC A SWI VC A NMI VC A XSTAK A MAID A XREG P A XREG U A XREG Y A XREG X A XREG O A XREG B A XREG A A XREG C A XREG S A BRKPE A CNACI A LINES EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU EGU ...

Page 493: ...2B SUXBA 002E TBAX 0025 TXBA 0024 XBAX 0026 ACK 0006 AECHO FF58 BEL 0007 BKPINS FF54 BRKPE FF68 BRKPT FF24 BS 0008 CAN 0018 CASSET FF67 CBUFF OOAE CBUFL 0050 CBUFP OOFE CDBDDA 0008 CDBDDF 0006 CDBHAD 0004 CDBIOC 0000 CDBLEN DOOe CDBSDA 0002 COaVDT 0007 CDBWST OOOA CHFLG OllA CHKERR E853 CNACI FCF4 CR 0000 CURADR 0006 CURDRV 0000 DCl 0011 DC2 0012 DC3 0013 DC4 0014 DDSCNS 0004 DnSFMC 0001 DDSINP 00...

Page 494: ...S FOF3 MDDSS 0100 MDOS9 0001 MDOSF 0000 NA 0015 NM1 VC FFFC NULL 0000 NUMSCT 0003 OCHAR F9CF OPTDLM 003B OSLOAD EBOO OUTCH F01S PCRLF F021 PDATA F024 PRNTER E85A RDCRC E86F READPS E86D READSC E869 RESTOR E875 RETRY 0005 REVS 0102 RIBSLA 0078 RIB LB 0075 RIBSSA 007A RIB SL 0076 RIBBA 010E RS OOlE RUBOUT 007F RWTEST E872 SBITS FCFD SC SB 0017 SC CAT 0001 SC CLS 0004 SC DID 0000 SC OIR 0003 SC OOS 00...

Page 495: ...versions of MDOS These items a1 e listed below 1 A program making explicit checks for logical unit numbers 0 and 1 must be changed to accommodate the new numbers 2 and 3 2 A program referring to the maximum number of sectors on a diskette as 2000 decimal or 2002 or the symbol from the MDOS equate rile SC MAX must be changed to accommodate the possible larger diskette sizes that can be encoun ered ...

Page 496: ...6 A program accessing logical unit 1 without first using the system runction OPEN DlRSM CHANG or LOAD will have to be changed so that the ead head is restored before the unit is accessed Previous versions of MDOS resto gd both logical units 0 and 1 each time the system initialized and each time the MDOS command interpreter received control however in MDOS 3 0 th is is no longe true Thus the disket...

Page 497: ... the IOeE ending sector bur rer pointer still points to the last b te in the sector buffer however the sector buffer can be an integral number of sectors in length one or more No program modification will be required if a program is using record 1 0 and if the sector buffer stays in the same place however changing the size of the sector bUTfer should speed up the program Programs using logical sec...

Page 498: ... was added to the command package ECHO allows users EXORciser II system to ecno all input output to a line printer standard with an console 3 The Bootb loc k program may generate a new el rOl message EM This message indicates that insufficient contiguous RAM exists in the system to load the resident MDOS 4 When MDOS 2 20 or 2 21 ini tial i z es via the EBOOi G or MDOS command to the debug monitorl...

Page 499: ...me and suffix 12 All standard error messages are displa led with a two digit decimal reference number to allow them to be easily looked up in the error message chapter OT the new MDOS manual Most error messages are still the same However the wording was changed on several to make them more uniform Also the AT nnnn phrase that accompa ied many error messages has been removed to make the messages le...

Page 500: ... the greatest increases in speed The other enhancements are listed below 1 The BACKUP command has been modiried to allow single ided diskettes to be copi d onto double Sided diskettes A logical unit number specification can be entered on the command line to allow copying diskettes from units other than zero to units other than one The IIR u option no longer copies the LCAT rom the source diskette ...

Page 501: ...gical units other than number one to be rormatted Both single and double sided diskettes can be rormatted 5 The REPAIR command has been changed so that it will work with logical units 0 3 and with single and double sided diskettes In addition the version numbers between the resident MDOS and the ID sector are compared and made the same The version and revision numbers can no longer be changed by t...

Page 502: ...rneath each lID function will be the letter N 01 Y The Nil indicates that the function cannot be used in the mode described by the title line under each table A Hy indicates that the function can be used An X appears in those places where a given IOCB entr is required as an input parameter to the function in whose column the XU appeal s At the bottom of each table the values that must be placed in...

Page 503: ... y X X X X X X x x G p E U T T R R V N X V A IOCB Input Parameter Summary C R G P R L E E U E 0 L T T W S E L L N E S S 5 n y y N N Y Diskette Device Record Processingl Input Existing File IOCDTT DT CLS DT OP IaCGDW DK IOCLUN 0 3 IOCNAM File name of e isting file IaCSUF Suffix laCSBS Sector buffer start IOeSBE Sector buffer end lOCDBS Data bUTTer start IOCDBE Data buffer end I 1 3 __ _ u _r l ...

Page 504: ... X ISDW X ISLS X ILSN X IOCSUF EOF X IOCRIB lOCFDF X lOCDEN f IOCSBP SIZ X IOCSBS laCSBE X lOCSBI Diskette Device Record Procesing Output New file IOCDTT DTSCLS DTSOPO IOCGDW D IOCLUN 0 3 IOCNAM File name of new rile IOCSUF Suffix lOCFDF FD FMA or FD FMB plus other optional attributes IOCSIZ 0 Default size or specific size IOCSBS Sector buffer start IOCSBE Sector burfer end IOCDeS Data bufrer star...

Page 505: ...OCNAM MLS X ISDW X ISLS X ILSN X IOCSUF EOF X IOCRIB IaCFDF x IOCDEN lOCSBP SIZ X loesas x IaCSBE x loeSBI Diskette Device Record Processingl Update New File IOCDTT DT CLS DT OPU IOCQDW DK IOCLUN 0 3 IOCNAM Fi Ie name oT new Tile IOCSUF Suffix IOCFDF FD FMA or FD FMB plus other optional attributes IOCSlZ 0 Default size or specific size IOCSBS Sector bufTer start IOeSBE Sector buffer end IOCDBS Dat...

Page 506: ...DBP lOCDBS X X IOCDBE X X IOCGDW X IOCLUN x laCNAM MLS x x ISDW X ISLS X ILSN X IOCSUF EOF X lOCRIB IOCFDF IOCDEN IOCSBP SIZ lOCSBS X lOCSBE X lOCSEl Diskette Device Record Processing Update Existing file lOCDTT DTSCLS DT OPP IOCGDW DK IOCLUN 0 3 IOCNAM Fi Ie name IOCSUF Suffix IOCSBS Sector burfer start lOeSBE Sector buffer end lOCnBS Data buffer start IOCnSE Data buffer end Page 10 05 ...

Page 507: ... x x x x x x x G p E U T T R R C C N N IOCB Input Parameter C R G P R L E E U E 0 L T T W 5 E L L N E S S S 0 Y Y Y N Y Diskette Device Logical Sector P rocessing Input Existing file IOCDTT DT CLS DT OPI DT SIO IOCGDW OK lOCLUN O 3 IOCNAM File name o existing file IOCSUF Su rix IOCLSN Starting logical sector number to be l ead IOCSBS Sector bUTTe start laeSBE Sector __ IIt __ end lJUrT r SummarlJ ...

Page 508: ... X ISDW X ISLS X ILSN X X IOCSUF EOF X IOCRIB IOCFDF X IOCDEN IDCSBP SIZ X IOCSBS X X lOCSBE X IOCSBl X Diskette Device Logical Sector Processing Output New file IOCDTT DT CLS DT OPO DT SID IOCGDW DK IOCLUN 0 3 IOCNAM File name OT new file IaCSUF Suffix IOCFDF Optional attributes IOCLSN Starting logical sector number to be written IOCSIZ 0 DefCiult size or specific size IOCSBS Sector buffer start ...

Page 509: ... SOW X ISLS X ILSN X X X I OCSUFIEOF X IOCRIB IOCFDF X IOCDEN IOCSBP SIZ X IOCSBS X X X lOeSBE x x lOCSBI X Diskette Device Logical Sector ProcessingJ Update New file IOCDTT DT CLS DT OPU DT SIO IOCGDW DJ IOCLUN 0 3 lOCNAM File name oT new file IOCSUF Suffix laCFDF Optional attributes IOCLSN Starting logical sector number IOCSIZ 0 Default size or specific size OCSBS Sector buffer start IOeSBE Sect...

Page 510: ...J W 1 1 X IOCNAM MLS X X SDW X ISLS X ILSN X X X IOCSUF EOF X lOCRlB lOCFDF lOCDEN lOCSBP SIZ lOCSBS X X X loeSBE X X lOeSB X Dis ke t t e Devic e Log i cal Sec tor Pro c e s sin 9 Up date Existing File IOCDTT DT CLS DT OPP DTSSIO IOCGDW DK IOCLUN 0 3 IOCNAM File name OT existing file IOCSUF Sur rix IOCLSN Starting logical sector number IOCSBS Sector buffer start lOeSBE Sectol buffeT end IOCSBI Se...

Page 511: ...ENTRY IOCSTA IOCDTT X IOCDBP IOCDBS X IOCDBE X IOCGDW X IOCLUN X IOCNAM MLS ISDW ISLS ILSN IOCSUF EOF X IOCRIB IOCFDF X IOCDEN IOCSBP SIZ IOCSBS loeSBE loeSEI Non diskette Device Non file Format Input IOCDTT DTSCLS DT NFF DT OPl IOCGDW eN or CR IOCLUN 0 IOCFDF FD FMA IOCSUF Display prompt if device is eN lOCDBS Data buffer start IOCDBE Data buffer end Page K l0 ...

Page 512: ...y y y N N N loeB ENTRY IOCSTA IOCDTT v rOCDBP IOCDBS x X IOCDBE X X IOCGDW X IOCLUN X IOCNAMlMLS ISDW SLS ILSN IOCSUF EOF IOCRIE IOCFDF X IOCDEN IOCSBP SIZ IOCSBS IOCSBE IOCSEI Non diskette Device Non file Format Output IOCDTT DTSCLS DTSNFF DTSOPO IOCGDW LP eN or CP IOCLUN 0 IOCFDF FD FMA lOCDBS Data buffer start IOCDBE Data buffer end Page K l1 ...

Page 513: ... SIZ IOCSBS loeSBE loeSBI R C S R V Y X X 0 G P E E T N R C Y y X X X X X X X X X X P e R G P U L E E U T a L T T R S E L L E S S S N y Y N N Non fiiskette Device File Formati Input lOCDTT DTSCLS DT OPI IOCGDW CR lOCLUN 0 IOCDBS Data buffer start used ror FDR processing IOCDBE Data bUTrer end IOCNAM File name of existing file IOCSUF Suffix R E W N D N Summar ...

Page 514: ...IOCDBP IOCDBS X X X IOCDBE X X X IOCGDW X IOCLUN X IOCNAM MLS X ISDW X SLS X ILSN X IOCSUF EOF X IOCRI13 IOCFDF X I DCDEN IDCSBP SIZ IOCSBS lOeSBE loeSBI Non diskette Device File Formatl Output IDCDTT DT CLS DT OPO lOCGDW CP IOCLUN 0 IOCDBS Data bu F Fe start used For FDR processing IOCDBE Data bu e end IOCNAM File name IDCSUF Suffix IOCFDF FD FMA FD FMB FD FMCI o FDSFMD only Page K 13 ...

Page 515: ...Depth Height Weight Floppy Disk Controller Width Height Board thickness CONNECTOR TYPES Bus Connector Pl Di sk D ri ve Un i t Connector P2 SPECIFICATIONS I I r l_ OV nLI 3 4 A __ Mill t 110 Vael 110 Vac 220 Vac 00 HZI 3 4 Amps 50 Hz I 1 8 Amp s 5 Vdc 2 75 Amps 12 Vdc 20 mAmps 12 Vdc 45 mAmps TTL compatible Bi di rectional three state TTL compatible Positive true TTL compatible 0 70 degrees Celsius...

Page 516: ...x 20912 I I I I I Attention Publications Manager Mail Drop M374 Phoenix Az 85036 i I j I I I I I I I I I I I I I I I I I I I I I I I I I I I I I Comments Product I Please Print I I I I I I I I I Name I I I I I i I Company i I I Street City Hardware Support Software Support 800 528 1908 602 962 3935 Manual Title Division Mail Drop Phone Number State Zip ...

Page 517: ...ItIIOTOROLA Semiconductor Products Inc P O BOX 20912 PHOENIX ARIZONA 85036 A SUBSIDIARY OF MOTOROLA INC 124M 1 PRTflTm rN II l n un rMPnrAI I rTll1 RGX71 1nnn ...

Reviews: