diff options
Diffstat (limited to 'v4.0/src/CMD/SYS/SYSHDR.INC')
| -rw-r--r-- | v4.0/src/CMD/SYS/SYSHDR.INC | 427 |
1 files changed, 427 insertions, 0 deletions
diff --git a/v4.0/src/CMD/SYS/SYSHDR.INC b/v4.0/src/CMD/SYS/SYSHDR.INC new file mode 100644 index 0000000..896d382 --- /dev/null +++ b/v4.0/src/CMD/SYS/SYSHDR.INC | |||
| @@ -0,0 +1,427 @@ | |||
| 1 | page 80,132 | ||
| 2 | ;******************* START OF SPECIFICATIONS *********************************** | ||
| 3 | ; | ||
| 4 | ; MODULE NAME: SYS1.SAL + SYS2.SAL + SYSSR.SAL | ||
| 5 | ; | ||
| 6 | ; DESCRIPTIVE NAME: SYS | ||
| 7 | ; | ||
| 8 | ; FUNCTION: Copies system programs IBMBIO.COM and | ||
| 9 | ; IBMDOS.COM onto a specified media. | ||
| 10 | ; | ||
| 11 | ; ENTRY POINT: | ||
| 12 | ; | ||
| 13 | ; INPUT: | ||
| 14 | ; | ||
| 15 | ; EXIT NORMAL: | ||
| 16 | ; | ||
| 17 | ; EXIT ERROR: | ||
| 18 | ; | ||
| 19 | ; INTERNAL REFERENCES: | ||
| 20 | ; | ||
| 21 | ; ROUTINES: | ||
| 22 | ; | ||
| 23 | ; DATA AREAS: | ||
| 24 | ; | ||
| 25 | ; EXTERNAL REFERENCES: | ||
| 26 | ; | ||
| 27 | ; ROUTINES: | ||
| 28 | ; | ||
| 29 | ; DATA AREAS: | ||
| 30 | ; | ||
| 31 | ; NOTES: Version 4.0 is a MAJOR diversion from all previous versions of DOS. | ||
| 32 | ; | ||
| 33 | ; In all older versions of SYS the target diskette, HAD to meet the | ||
| 34 | ; following criteria in order to be SYSed: | ||
| 35 | ; - there must be enough physical room for IBMBIO and | ||
| 36 | ; IBMDOS. | ||
| 37 | ; - the first data cluster (#2) had to be either not | ||
| 38 | ; used - or owned by IBMBIO allready on the disk | ||
| 39 | ; - The first 2 root DIR entries had to be unused, deleted | ||
| 40 | ; or owned by IBMBIO and IBMDOS. | ||
| 41 | ; | ||
| 42 | ; 4.0 SYS is far less restrictive. | ||
| 43 | ; - there must still be enough physical room for IBMBIO | ||
| 44 | ; and IBMDOS. | ||
| 45 | ; - SYS will free up all required data clusters required | ||
| 46 | ; by IBMBIO. | ||
| 47 | ; - The 2 root DIR entries for IBMDOS and IBMBIO may | ||
| 48 | ; be anywhere in the root. SYS will move entrys | ||
| 49 | ; in order for IBMBIO and IBMDOS to be in their proper | ||
| 50 | ; positions. | ||
| 51 | ; *** NOTE **** - Sys will operate on DOS 3.2, 3.3 and 4.0. | ||
| 52 | ; This has reqired a HARD CODED lower bound - DOS_low | ||
| 53 | ; that is set in this file to 3.20 | ||
| 54 | ; | ||
| 55 | ; REVISION HISTORY: Ax000 Version 4.0 05/01/87 - first release FG | ||
| 56 | ; Ax001 4.0 PTR P324 D Love | ||
| 57 | ; Ax002 4.0 PTR P583 FG | ||
| 58 | ; Ax003 4.0 DCR D4 - sys anything,anywhere FG | ||
| 59 | ; Ax004 4.0 DCR D201 - extended arbib change FG | ||
| 60 | ; Ax005 4.0 PTR P1334 - 1.2 MB + system hang FG | ||
| 61 | ; Ax006 4.0 PTR P1403 - BIO & DOS wrong spots FG | ||
| 62 | ; Ax007 4.0 PTR P1404,5 - DIR search error FG | ||
| 63 | ; Ax008 4.0 PTR P1406 - IOCTL to INT 21-69 FG | ||
| 64 | ; Ax009 4.0 PTR P1637 - full 720KB error FG | ||
| 65 | ; Ax010 4.0 PTR P1764 - single file error FG | ||
| 66 | ; Ax011 4.0 PTR P1772 - IBMBIO cluster chain FG | ||
| 67 | ; Ax012 4.0 PTR P1710 - ASSIGN or SUBST invalid FG | ||
| 68 | ; Ax013 4.0 PTR P1872 - ROOT restoration problem FG | ||
| 69 | ; Ax014 4.0 PTR P1884 - more ROOT problems FG | ||
| 70 | ; Ax015 4.0 PTR P2165 - ROOT DIR above #100h sec.FG | ||
| 71 | ; Ax016 4.0 DCR D304 - change in BOOT.INC FG | ||
| 72 | ; Ax017 4.0 PTR P2356 - HILDA error message FG | ||
| 73 | ; Ax018 4.0 PTR P2769 - no system on default drv FG | ||
| 74 | ; Ax019 4.0 DCR D380 - run on current VER -1 FG | ||
| 75 | ; Ax020 4.0 PTR P3028 - run using PATHGEN FG | ||
| 76 | ; Ax021 4.0 DCR D494 - add "source" & DOS 3.2 FG | ||
| 77 | ; Ax022 4.0 PTR P3728 - wrong network message FG | ||
| 78 | ; Ax023 4.0 DCR D503 - Version is now 4.0 FG | ||
| 79 | ; Ax024 4.0 PTM P3905 - fix parse error format FG | ||
| 80 | ; Ax025 4.0 PTM P4118 - fix message error FG | ||
| 81 | ; | ||
| 82 | ; PRE-VERSION 4.0 HISTORY: | ||
| 83 | ; | ||
| 84 | ; 1.6 05/21/82 Added rev number message | ||
| 85 | ; 1.61 06/04/82 Allow SYS to blank disk TimP at SCP | ||
| 86 | ; 1.70 06/30/82 NON contiguous DOS allowed on 2.00 IBM. Allows SYS to | ||
| 87 | ; 1.0 1.1 disks. | ||
| 88 | ; 1.71 07/02/82 Put in CHDIRs to make sure everything done in root dir. | ||
| 89 | ; 1.80 04/26/83 MZ make sys work in small machines; use full 2.0 | ||
| 90 | ; system calls | ||
| 91 | ; 1.81 07/22/83 ARR Added check in IBM version for valid FAT ID on | ||
| 92 | ; destination because of IBM problem with SYSing to | ||
| 93 | ; unformatted disks which are really formatted. Prints | ||
| 94 | ; NoDest message for ridic IBM reasons, should have a | ||
| 95 | ; better message. | ||
| 96 | ; 1.82 08/12/83 ARR ZIBOed again. Mark fails to check for errors on | ||
| 97 | ; his file I/O. Results in SYS saying system | ||
| 98 | ; transferred when it hasn't been. | ||
| 99 | ; 1.83 09/08/83 EKE Added code to quit if sys called on a drive across | ||
| 100 | ; a net. | ||
| 101 | ; 1.84 09/09/83 CHRISP grabbed against his will to make this stupid | ||
| 102 | ; program write out a boot sector | ||
| 103 | ; 1.85 10/18/83 NP Printf to print messages and it's now an .EXE file | ||
| 104 | ; 1.86 11/8/83 MZ fix hard file output of boot sector | ||
| 105 | ; 1.87 5/1/84 MZ make sys prompt for system disk in default drive. | ||
| 106 | ; 3.20 11/9/84 RS make sys write out a correct boot sector for the | ||
| 107 | ; version of DOS. It grabs the boot sector off the system | ||
| 108 | ; disk and inserts the correct BPB. | ||
| 109 | ; Uses IOCTL Get Device Parms to get BPB for a Hard drive. | ||
| 110 | ; 3.20 08/5/85 RS Allow FAT ID byte of 0F0H for 'strange' media | ||
| 111 | ; layouts. These come about because of /T /N switches in | ||
| 112 | ; FORMAT. | ||
| 113 | ; 3.20 09/16/85 Incorporate tables of filenames to allow system files | ||
| 114 | ; used by other OEMs to be SYSed onto disks formatted on | ||
| 115 | ; other MSDOS systems. Allows the flexibility to replace | ||
| 116 | ; system files for one OEM by system files for another. | ||
| 117 | ; | ||
| 118 | ; | ||
| 119 | ; 3.30 06/04/86 MT removes initial check for IBMBIO and DOS - not needed | ||
| 120 | ; because of later search of dirs | ||
| 121 | ; 3.30 06/16/86 MT only force part of IBMBIO contig - do this by assuming | ||
| 122 | ; contig part smaller than 1.10 BIOS | ||
| 123 | ; 3.30 06/16/86 MT Check diks space for enough room to install BIO and DOS | ||
| 124 | ; | ||
| 125 | ; Label: "The DOS SHARE Utility" | ||
| 126 | ; "Version 4.00 (C) Copyright 1988 Microsoft | ||
| 127 | ; "Licenced Material - Program Property of Microsoft" | ||
| 128 | ; | ||
| 129 | ;******************* END OF SPECIFICATIONS ************************************* | ||
| 130 | BREAK <SYS1 - Program Organization> | ||
| 131 | ;******************+ START OF PSEUDOCODE +************************************** | ||
| 132 | ; | ||
| 133 | ;ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 134 | ;³ Main ÃÄÄ´Init_Input_OutputÃÄÄÄÄ´SysLoadMsg³ (DOS version check) | ||
| 135 | ;ÀÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÙ | ||
| 136 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 137 | ; ³ À´Parse_Command_Line³ | ||
| 138 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 139 | ; ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 140 | ; ôValidate_Target_DriveôCheck_Default_Drive³ | ||
| 141 | ; ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 142 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 143 | ; ³ ôCheck_Target_Drive³ | ||
| 144 | ; ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 145 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 146 | ; ³ À´Check_For_Network³ | ||
| 147 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 148 | ; ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 149 | ; ôGet_System_FilesÃÄÄÄÄÄ´Prompt_For_Media³ | ||
| 150 | ; ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 151 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 152 | ; ³ ôCheck_Removable³ | ||
| 153 | ; ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 154 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄ¿ | ||
| 155 | ; ³ ôOpen_File³ | ||
| 156 | ; ³ ³ÀÄÄÄÄÄÄÄÄÄÙ | ||
| 157 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 158 | ; ³ À´Fill_Memory³ | ||
| 159 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 160 | ; ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 161 | ; ôCheck_SYS_ConditionsÃÄ´Verify_File_System³ | ||
| 162 | ; ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 163 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄ Ä Ä Ä Ä Ä Ä Ä ¿ | ||
| 164 | ; ³ ôRead_DirectoryÃÄÄÄÄÄÄÄÄÄ´Prompt_For_Media³ | ||
| 165 | ; ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄ Ä Ä Ä Ä Ä Ä Ä Ù | ||
| 166 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 167 | ; ³ ôVerify_File_Location³ | ||
| 168 | ; ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 169 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 170 | ; ³ À´Determine_Free_SpaceÃÄÄÄ´Get_Cluster³ | ||
| 171 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 172 | ; ³ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 173 | ; ôDo_SYSÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´Create_SystemÃÄÄÄÄÄÄÄÄÄÄ´Create_File³ | ||
| 174 | ; ³ÀÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 175 | ; ³ ³ÚÄ Ä Ä Ä Ä Ä¿ | ||
| 176 | ; ³ ôFill_Memory³ | ||
| 177 | ; ³ ³ÀÄ Ä Ä Ä Ä ÄÙ | ||
| 178 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 179 | ; ³ À´Dump_Memory³ | ||
| 180 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 181 | ; ³ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 182 | ; ôDo_EndÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´Close_Files³ | ||
| 183 | ; ³ÀÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 184 | ; ³ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 185 | ; ³ À´Write_Boot_RecordÃÄÄÄÄÄ´Create_Serial_ID³ | ||
| 186 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 187 | ; ³ ³ÚÄÄÄÄÄÄÄÄ¿ | ||
| 188 | ; ³ À´FAT_Size³ | ||
| 189 | ; ³ ÀÄÄÄÄÄÄÄÄÙ | ||
| 190 | ; ³ÚÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 191 | ; À´Message ÃÄÄÄÄÄÄÄÄÄÄÄÄ´Get_DOS_Error³ | ||
| 192 | ; ÀÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 193 | ; | ||
| 194 | ;******************- END OF PSEUDOCODE -************************************** | ||
| 195 | BREAK <SYS - Segment Definition> | ||
| 196 | ;--------------------------------------- | ||
| 197 | ; NOTE: Structures used by SYS include: | ||
| 198 | ; | ||
| 199 | ; find_buf - DTA mapper | ||
| 200 | ; a_bpb - EBPB struc | ||
| 201 | ; dir_entry - Directory struc | ||
| 202 | ; A_DeviceParameters - IOCtl struc | ||
| 203 | ; BootForm - Boot Rec struc | ||
| 204 | ;--------------------------------------- | ||
| 205 | |||
| 206 | |||
| 207 | ; INCLUDE DOSSYM.INC ;also defines version of dos | ||
| 208 | .xlist | ||
| 209 | .xcref | ||
| 210 | INCLUDE DOSSYM.INC | ||
| 211 | .cref | ||
| 212 | .list | ||
| 213 | |||
| 214 | |||
| 215 | ; INCLUDE IOCTL.INC ; Get / Set Device Parameters IOCTL | ||
| 216 | .xlist | ||
| 217 | .xcref | ||
| 218 | INCLUDE IOCTL.INC | ||
| 219 | .cref | ||
| 220 | .list | ||
| 221 | |||
| 222 | |||
| 223 | ; INCLUDE BOOTFORM.INC ; Boot Record Structure | ||
| 224 | .xlist | ||
| 225 | .xcref | ||
| 226 | INCLUDE BOOTFORM.INC | ||
| 227 | .cref | ||
| 228 | |||
| 229 | |||
| 230 | ; INCLUDE PATHMAC.INC ; PATH macro for PATHGEN | ||
| 231 | .xlist | ||
| 232 | .xcref | ||
| 233 | INCLUDE PATHMAC.INC | ||
| 234 | .cref | ||
| 235 | .list | ||
| 236 | |||
| 237 | IBMJAPVER EQU FALSE ; this and the following are mutually | ||
| 238 | IBMVER EQU TRUE ; exclusive | ||
| 239 | |||
| 240 | CODE SEGMENT PARA PUBLIC | ||
| 241 | CODE ENDS | ||
| 242 | |||
| 243 | DATA SEGMENT PARA PUBLIC | ||
| 244 | DATA ENDS | ||
| 245 | |||
| 246 | ; $SALUT (4,25,30,41) | ||
| 247 | ;-------------------------------------- | ||
| 248 | ; constants | ||
| 249 | ;-------------------------------------- | ||
| 250 | |||
| 251 | DOS_low equ 0300h + 20 ; 3 in high reg, 20 in low reg. ;AN023; | ||
| 252 | not_used equ 0 ; filler for INT 21's | ||
| 253 | num_2_letter equ 040h ; turn dirve number to letter | ||
| 254 | dev_local equ 9 ; IOCtl - get device parameters | ||
| 255 | removable equ 01h ; for testing removeability | ||
| 256 | net_drive equ 01000h ; for testing net drive | ||
| 257 | DOS_system_atrib equ 7 ; DOS system file atributes | ||
| 258 | DOS_volume_atrib equ 8 ; DOS volume label atribute | ||
| 259 | error_RC equ 1 ; error return code | ||
| 260 | any_error equ 255 ; mask for detecting errors | ||
| 261 | success equ 0 ; successful completion of SYS | ||
| 262 | LSeek_EOF equ 2 ; seek relative to eof | ||
| 263 | LSeek_Start equ 0 ; seek relative to beginning | ||
| 264 | old_type_media equ 26 ; DOS extended error - old type media | ||
| 265 | file_not_found equ 2 ; DOS extended error - file not found | ||
| 266 | file_spec_length equ 11 ; length of file name | ||
| 267 | empty equ 0 ; empty directory entry | ||
| 268 | deleted equ 0E5h ; entry is deleted | ||
| 269 | SetAtrib equ 01h ; set file attributes | ||
| 270 | set equ 1 ; set file date and time | ||
| 271 | BIG_FAT_THRESHOLD equ 4086 ; size break for FAT12 - FAT16 | ||
| 272 | PRELOAD equ 1 ; normal preload | ||
| 273 | return_error equ 1 ; SYS return error code | ||
| 274 | FQ_DOS_DIR_CON_INP equ 07h ; Flush Queue / Direct CON in no echo | ||
| 275 | hard_drive equ 0F8H ; Media Descriptor for Hard drive | ||
| 276 | first_drive equ 80H ; first physical hard drive number | ||
| 277 | noerror equ 0 ; no errors | ||
| 278 | FAT_sect_size equ 12 ; FAT sector count | ||
| 279 | dot equ 02Eh ; Sub DIR DOT | ||
| 280 | bad_sector equ 0F7h ; FAT bad sector mark | ||
| 281 | end_cluster equ 0FFh ; FAT last cluster mark | ||
| 282 | not_found equ 0FFh ; current cluster not yet found | ||
| 283 | cluster_ent_per_sect equ 512/2 ; (bytes/sector) / (bytes/cluster entry) | ||
| 284 | ; = cluster entries / sector | ||
| 285 | clusters_loaded equ cluster_ent_per_sect * FAT_sect_size ; = # of cluster | ||
| 286 | ; entries loaded in 12 sectors. | ||
| 287 | |||
| 288 | FAT_BUF equ 512 * 13 ; This space is used to do a number | ||
| 289 | ; of tasks. It existes at the START | ||
| 290 | ; of BUF. It is used as a 1 sector | ||
| 291 | ; buffer for processing DIR sector | ||
| 292 | ; manipulation. It is also used to | ||
| 293 | ; process the FAT. NOTE: a 12 bit fat | ||
| 294 | ; has a max. of FFFh (4K) entries - or | ||
| 295 | ; 6K of space - or 12 sectors (512 bytes) | ||
| 296 | ; an extra 512 bytes is added for safety | ||
| 297 | |||
| 298 | ;---------------------------------------- | ||
| 299 | ; definition of the MODE bits | ||
| 300 | ; for an extended open | ||
| 301 | ;---------------------------------------- | ||
| 302 | |||
| 303 | ; BITS DEFINED FOR THE MODE WORD | ||
| 304 | ; FORMAT = 0WF0000CISSS0AAA | ||
| 305 | ; Write ÄÄÄÄÄÄÄÄÄÄÄÙ³ ³³³ ÀÄÄÄ Access code | ||
| 306 | ; 0 = no commit ³ ³³³ 0 = read | ||
| 307 | ; 1 = auto commit ³ ³³³ 1 = write | ||
| 308 | ; ³ ³³³ 2 = read/write | ||
| 309 | ; Fail action ÄÄÄÄÄÄÄÄÄÄÄÄÙ ³³³ 3 = execute | ||
| 310 | ; 0 = INT 24h ³³³ 4 = FCB | ||
| 311 | ; 1 = return error ³³³ | ||
| 312 | ; ³³ÀÄÄÄ Sharing mode | ||
| 313 | ; Code Page support ÄÄÄÄÄÄÄÄÙ³ 0 = compatability | ||
| 314 | ; 0 = validate code page ³ 1 = deny read/write | ||
| 315 | ; 1 = no code page check ³ 2 = deny write | ||
| 316 | ; ³ 3 = deny read | ||
| 317 | ; ³ 4 = deny none | ||
| 318 | ; Inherit | ||
| 319 | ; 0 = pass handle to child | ||
| 320 | ; 1 = no inherit | ||
| 321 | ; | ||
| 322 | MODE_COM equ 0100000000000000b ; Auto Commit | ||
| 323 | MODE_NO24 equ 0010000000000000b ; No 24 - return error | ||
| 324 | MODE_NOCP equ 0000000100000000b ; No 24 - return error | ||
| 325 | MODE_NOINH equ 0000000010000000b ; No child procees access | ||
| 326 | ; Sharing mode | ||
| 327 | ;MODE_SH_COMP equ 0000000000000000b 0 = compatability | ||
| 328 | MODE_SH_D_RW equ 0000000000010000b ; 1 = deny read/write | ||
| 329 | MODE_SH_D_W equ 0000000000100000b ; 2 = deny write | ||
| 330 | MODE_SH_D_R equ 0000000000110000b ; 3 = deny read | ||
| 331 | MODE_SH_D_NONE equ 0000000001000000b ; 4 = deny none | ||
| 332 | ; Access code | ||
| 333 | ;MODE_AC_R equ 0000000000000000b 0 = read | ||
| 334 | MODE_AC_W equ 0000000000000001b ; 1 = write | ||
| 335 | MODE_AC_RW equ 0000000000000010b ; 2 = read/write | ||
| 336 | MODE_AC_EXE equ 0000000000000011b ; 3 = execute | ||
| 337 | MODE_AC_FCB equ 0000000000000100b ; 4 = FCB | ||
| 338 | |||
| 339 | open_mode equ MODE_NO24+MODE_NOCP+MODE_NOINH+MODE_SH_D_RW+ MODE_AC_RW | ||
| 340 | |||
| 341 | ;------------------------------------------------- | ||
| 342 | ; Message Skeleton File | ||
| 343 | ;------------------------------------------------- | ||
| 344 | |||
| 345 | ;util SYS | ||
| 346 | |||
| 347 | ;class 1 | ||
| 348 | |||
| 349 | ;use EXTEND15 ; INVALID DRIVE | ||
| 350 | |||
| 351 | ;class 2 | ||
| 352 | |||
| 353 | ;use PARSE1 ;1 - Too many operands | ||
| 354 | ;use PARSE2 ;2 - Required operand missing | ||
| 355 | ;3 - Not in switch list provided | ||
| 356 | ;4 - Not in keyword list provided | ||
| 357 | ;6 - Out of range specified | ||
| 358 | ;7 - Not in value list provided | ||
| 359 | ;8 - Not in string list provided | ||
| 360 | ;use PARSE9 ;9 - Invalid Parameter | ||
| 361 | |||
| 362 | ;class A | ||
| 363 | |||
| 364 | ;use 1 COMMON1 | ||
| 365 | |||
| 366 | ;class B | ||
| 367 | |||
| 368 | ;def 7 "No room for system on destination disk",CR,LF ; Old | ||
| 369 | ;def 8 "Ivalid path or System files not found",CR,LF ; New | ||
| 370 | ;use 9 COMMON30 ; System transferred - Old | ||
| 371 | ;def 10 "No system on default drive",CR,LF ; Old | ||
| 372 | ;def 11 "Can not specify default drive",CR,LF ; New | ||
| 373 | ;def 12 "Write failure, diskette unusable",CR,LF ; New | ||
| 374 | ;use 19 COMMON25 ; Invalid path ; New | ||
| 375 | |||
| 376 | ;class C | ||
| 377 | |||
| 378 | ;use 13 COMMON12 ; Cannot %1 to a Network drive - Old | ||
| 379 | ;def 14 "Insert system disk in drive %1",CR,LF ; Old | ||
| 380 | ;use 15 COMMON19 ; Insert destination disk in drive %1 - Old | ||
| 381 | ;def 16 "Not able to SYS to %1 file system",CR,LF ; New | ||
| 382 | ;use 18 COMMON14 ; Cannot %1 a SUBSTed or ASSIGNed drive - NEW | ||
| 383 | |||
| 384 | ;class D | ||
| 385 | |||
| 386 | ;use 17 COMMON28 ; Press any key to continue. . . - Old | ||
| 387 | |||
| 388 | ;end | ||
| 389 | |||
| 390 | ;---------------------------------------- | ||
| 391 | ; Message Number Equates | ||
| 392 | ;---------------------------------------- | ||
| 393 | |||
| 394 | util equ 0ffh ; all Utility messages | ||
| 395 | DOS_error equ 1 ; DOS error CLASS | ||
| 396 | PARSE_error equ 2 ; PARSE error CLASS | ||
| 397 | util_B equ 0bh ; Utility CLASS B messages | ||
| 398 | ; (plain message) | ||
| 399 | util_C equ 0ch ; Utility CLASS C messages | ||
| 400 | ; (insert message) | ||
| 401 | util_D equ 0dh ; Utility CLASS D messages | ||
| 402 | ; (wait message) | ||
| 403 | extended_15 equ 15 ; DOS extended error 15 | ||
| 404 | reqd_missing equ 2 ; PARSE error 2 | ||
| 405 | |||
| 406 | ; CLASS B | ||
| 407 | |||
| 408 | no_room equ 7 ; No room for system on destination disk Old | ||
| 409 | system_not_found equ 8 ; Invalid path or System files not found Old | ||
| 410 | done equ 9 ; System transferred Old | ||
| 411 | no_sys_on_def equ 10 ; No system on default drive Old | ||
| 412 | not_on_default equ 11 ; Can not specify default drive New | ||
| 413 | write_fail equ 12 ; Write failure, diskette unusable New | ||
| 414 | bad_path equ 19 ; Invalid path | ||
| 415 | ; CLASS C | ||
| 416 | |||
| 417 | cant_network equ 13 ; Cannot %1 to a Network drive Old | ||
| 418 | sys_disk equ 14 ; Insert system disk in drive %1 Old | ||
| 419 | dest_disk equ 15 ; Insert destination disk in drive %1 Old | ||
| 420 | cant_sys equ 16 ; Not able to SYS to %1 file system New | ||
| 421 | cant_assign equ 18 ; Cannot %1 a SUBSTed or ASSIGNed drive Old | ||
| 422 | |||
| 423 | ; CLASS D | ||
| 424 | |||
| 425 | press_key equ 17 ; Press any key to continue. . . Change | ||
| 426 | |||
| 427 | BREAK <SYS > | ||