[Copyright 1999,2002 Frank Durda IV, All Rights Reserved. Mirroring of any material on this page in any form is expressly prohibited. The official web site for this material is: http://nemesis.lonestar.org Contact this address for use clearances: clearance at nemesis.lonestar.org Comments and queries to this address: web_software_2011 at nemesis.lonestar.org]
MISOSYS EDAS-4.3 04/19/99 01:27:38 SYSGEN - LS-DOS 6.2 Page 00001 00001 ;LBSYSGEN/ASM - SYSGEN Command 00003 ; 002C 00004 PAR_ERR EQU 44 ;Parameter Error 000D 00005 CR EQU 13 4300 00006 MOD3BUF EQU 4300H 0028 00007 RST28 EQU 28H 00008 ; 0000 00009 *GET SVCMAC:3 ;SVC Macro equivalents 00010 ;SVCMAC/ASM - LS-DOS Version VI 00011 *LIST OFF 00403 *LIST ON 00405 *LIST OFF ;Get SYS0/EQU 00858 *LIST ON 00859 ; 2400 00860 ORG 2400H 00861 ; 00862 IF @BLD631 2400 ED731B24 00863 SYSGEN LD (SAVESP+1),SP ;<631>Save the stack pointer 2404 E5 00864 PUSH HL ;<631> 2405 217C00 00865 LD HL,SFLAG$ ;<631> 2408 7E 00866 LD A,(HL) ;<631> 2409 CBAE 00867 RES 5,(HL) ;<631>JCL is not active, even if it is 240B 326D25 00868 LD (L256D),A ;<631>Save original state 240E E1 00869 POP HL ;<631> 240F 00870 @@CKBRKC ;<631>Break key down? 240F+3E6A 00871 LD A,106 2411+EF 00872 RST 40 2412 2037 00873 JR NZ,ABORT ;<631>abort 00874 ELSE 00875 SYSGEN @@CKBRKC ;Break key down? 00876 JR Z,BEGINA ;Ok if not 00877 LD HL,-1 ; else abort 00878 RET 00879 ; 00880 ; Save stack & call the sysgen routine 00881 ; 00882 BEGINA LD (SAVESP+1),SP ;Save the stack pointer 00883 ENDIF 2414 CD5024 00884 CALL SYSGEN1 ;Do the SYSGEN 2417 210000 00885 EXIT LD HL,0 ;Set for no error 241A 310000 00886 SAVESP LD SP,$-$ ;P/u original SP 00887 IF @BLD631 241D CD6825 00888 CALL L2568 ;<631> 00889 ENDIF 2420 00890 @@CKBRKC ;Clear pending2420+3E6A 00891 LD A,106 2422+EF 00892 RST 40 2423 C9 00893 RET ;Back to DOS 00894 ; 00895 ; I/O Error Handler 00896 ; 2424 3E2C 00897 PRMERR LD A,PAR_ERR ;Parameter Error 2426 6F 00898 IOERR LD L,A ;Error # to HL 2427 2600 00899 LD H,0 2429 F6C0 00900 OR 0C0H ;Abbrev, return 242B 4F 00901 LD C,A 242C 00902 @@ERROR ;Display error 242C+3E1A 00903 LD A,26 242E+EF 00904 RST 40 242F 18E9 00905 JR SAVESP ;Exit 00906 ; 00907 ; Internal Error Message Handler 00908 ; 2431 214D27 00909 NOMDSK LD HL,NOMDSK$ ;"Memdisk active 2434 DD 00910 DB 0DDH 2435 216B27 00911 NORTES LD HL,NORTES$ ;"File routes active 2438 DD 00912 DB 0DDH 2439 21A526 00913 NOTFND LD HL,NOTFND$ ;"No config found 243C DD 00914 DB 0DDH 243D 213127 00915 NOSPL LD HL,NOSPL$ ;"Spooler active 2440 DD 00916 DB 0DDH 00917 IF @BLD631 2441 21EA26 00918 ISWP: LD HL,ISWP$ ;<631>Drive is write protected 00919 ELSE 00920 NOINDO LD HL,NOINDO$ ;"JCL active 00921 ENDIF 2444 DD 00922 DB 0DDH 2445 210D27 00923 NOCANDO LD HL,NOCANDO$ ;"Sysgen inhibit set 2448 CD0005 00924 CALL @LOGOT 00925 IF @BLD631 00926 ABORT 00927 ENDIF 244B 21FFFF 00928 LD HL,-1 ;Set abort code 244E 18CA 00929 JR SAVESP ;Exit 00930 ; 00931 ; SYSGEN1 - Save the state of the system 00932 ; 2450 118F27 00933 SYSGEN1 LD DE,PRMTBL$ ;Check for user parameters 2453 00934 @@PARAM 2453+3E11 00935 LD A,17 2455+EF 00936 RST 40 2456 C22424 00937 JP NZ,PRMERR ;Quit on parm error 2459 00938 @@FLAGS 2459+3E65 00939 LD A,101 245B+EF 00940 RST 40 00941 ; 00942 ; Routine to process DRIVE parameter 00943 ; 245C 010000 00944 DRIVE LD BC,0 ;Drive parm response 245F 79 00945 LD A,C 2460 FE08 00946 CP 8 ;Drive in range? 2462 D22424 00947 JP NC,PRMERR ;Go if > 7 2465 F630 00948 OR '0' ;Make it ASCII 2467 323E26 00949 LD (CFGSPEC),A ; & stuff drive spec 246A 328426 00950 LD (ATRSPEC),A 00951 IF @BLD631 246D 00952 @@CKDRV ;<631> 246D+3E21 00953 LD A,33 246F+EF 00954 RST 40 2470 DA4124 00955 JP C,ISWP ;<631> 00956 ENDIF 2473 CDFF25 00957 CALL NPARM ;Ck on yes or no entry 2476 CACC25 00958 JP Z,CFGOFF ;Jump if SYSGEN=OFF 00959 IF @BLD631 00960 ELSE 00961 BIT 5,(IY+'S'-'A') ;Can't sysgen during DO 00962 JP NZ,NOINDO 00963 ENDIF 2479 FDCB0346 00964 BIT 0,(IY+'D'-'A') ;Can't sysgen if spooler 247D C23D24 00965 JP NZ,NOSPL ; is active 2480 FDCB0366 00966 BIT 4,(IY+'D'-'A') ;Can't sysgen if memdisk 2484 C23124 00967 JP NZ,NOMDSK ; is active 2487 FDCB026E 00968 BIT 5,(IY+'C'-'A') ;CK user sysgen inhibit 248B C24524 00969 JP NZ,NOCANDO ;Quit if set 248E CD0926 00970 CALL CKRTES ;Ck if any route to file 2491 C23524 00971 JP NZ,NORTES ;Can't if so 00972 ; 00973 ; Initialize a CONFIG file on disk 0, or user spec'ed drive 00974 ; 2494 112F26 00975 LD DE,GENDCB ;"CONFIG/SYS.CCC 2497 210029 00976 LD HL,GENBUF ;Config I/O buffer 249A 0600 00977 LD B,0 ;Set LRL=256 249C 00978 @@INIT ;Create config file 249C+3E3A 00979 LD A,58 249E+EF 00980 RST 40 249F C22624 00981 JP NZ,IOERR ;Quit on init error 00982 ; 00983 ; Generate the file header block 00984 ; 24A2 3E05 00985 LD A,5 ;Put file header 24A4 CD2726 00986 CALL PUTOUT 24A7 3E06 00987 LD A,6 ;Put header length 24A9 CD2726 00988 CALL PUTOUT 24AC 0606 00989 LD B,6 ;Put header name 24AE 214F26 00990 LD HL,CFGNAM$ ;"CONFIG" 24B1 7E 00991 WRNAM LD A,(HL) ;Write name to 24B2 23 00992 INC HL ; config file header 24B3 CD2726 00993 CALL PUTOUT 24B6 10F9 00994 DJNZ WRNAM 00995 ; 00996 ; Generate disabling of all interrupts 00997 ; 24B8 0601 00998 LD B,1 ;Set block length 24BA 113800 00999 LD DE,@RST38 ;Set load address 24BD 21A825 01000 LD HL,C9FLD ;Point to block (X'C9') 24C0 CDAA25 01001 CALL WRBLCK ;Write the block 01002 ; 01003 ; Dump memory from (DVRHI$) to DVREND$ 01004 ; 24C3 2A0602 01005 LD HL,(DVRHI$) ;Point to max memory 24C6 11F40F 01006 LD DE,DVREND$ ;Point to start 24C9 AF 01007 XOR A 24CA ED52 01008 SBC HL,DE ;How much to save 24CC 44 01009 LD B,H ; into BC 24CD 4D 01010 LD C,L 24CE C47025 01011 CALL NZ,DUMP ;File DVREND$ to top 01012 ; 01013 ; Dump memory from HIGH$ to top-of-memory FIRST 01014 ; 24D1 ED5B1C00 01015 LD DE,(PHIGH$) ;Point to max memory 24D5 210000 01016 LD HL,0 ;Set up to get current 24D8 45 01017 LD B,L ; HIGH$ 24D9 01018 @@HIGH$ 24D9+3E64 01019 LD A,100 24DB+EF 01020 RST 40 24DC EB 01021 EX DE,HL ;HIGH$ to DE, 24DD AF 01022 XOR A ; PHIGH to HL 24DE ED52 01023 SBC HL,DE ;How much to save? 24E0 44 01024 LD B,H 24E1 4D 01025 LD C,L 24E2 13 01026 INC DE ;First byte in use 24E3 C47025 01027 CALL NZ,DUMP ;File HIGH$+1 to top 01028 ; 01029 ; Generate all data from address table 01030 ; 24E6 21B427 01031 LD HL,ADRTBL$ ;Point to grab table 24E9 4E 01032 WRTBL LD C,(HL) ;P/u lo order length 24EA 23 01033 INC HL 24EB 46 01034 LD B,(HL) ;P/u hi order length 24EC 23 01035 INC HL 24ED 78 01036 LD A,B 24EE B1 01037 OR C 24EF 280B 01038 JR Z,GENDCT ;Exit on zero length 24F1 5E 01039 LD E,(HL) ;P/u lo order address 24F2 23 01040 INC HL 24F3 56 01041 LD D,(HL) ;P/u hi order address 24F4 23 01042 INC HL 24F5 E5 01043 PUSH HL ;Save table pointer 24F6 CD7025 01044 CALL DUMP ;P/u the code & file it 24F9 E1 01045 POP HL ;Restore table pointer 24FA 18ED 01046 JR WRTBL 01047 ; 01048 ; Generate the DCT$ (offset) 01049 ; 24FC 0650 01050 GENDCT LD B,80 ;Table is 80 bytes 24FE 110043 01051 LD DE,MOD3BUF ;Place to stuff DCT$ 2501 0E00 01052 LD C,0 2503 01053 @@GTDCT ;Write out the DCTs 2503+3E51 01054 LD A,81 2505+EF 01055 RST 40 2506 FDE5 01056 PUSH IY ; handled by SYS0 2508 E1 01057 POP HL 2509 CDAA25 01058 CALL WRBLCK 01059 ; 01060 ; Generate the original interrupt vector JP 01061 ; 250C 0601 01062 INTVEC LD B,1 ;File the interrupt 250E 113800 01063 LD DE,@RST38 ; vector address 2511 21A925 01064 LD HL,JPINST ; with a JP 2514 CDAA25 01065 CALL WRBLCK ;Write the block 01066 ; 01067 ; Generate the transfer address 01068 ; 2517 3E02 01069 LD A,2 ;Transfer address 2519 CD2726 01070 CALL PUTOUT 251C 3E02 01071 LD A,2 251E CD2726 01072 CALL PUTOUT 2521 AF 01073 XOR A ;Xfer address is 0000 2522 CD2726 01074 CALL PUTOUT 2525 AF 01075 XOR A 2526 CD2726 01076 CALL PUTOUT 2529 01077 @@CLOSE ;Close config file 2529+3E3C 01078 LD A,60 252B+EF 01079 RST 40 252C C22624 01080 JP NZ,IOERR ;Quit on close error 01081 ; 01082 ; Let the config sector know there's a CONFIG/SYS 01083 ; 01084 IF @MOD2 01085 ; 01086 LD A,(DRIVE+1) ;Drive # 01087 LD C,A ;Pass drive # 01088 LD HL,SBUFF$ ;I/O buffer 01089 @@GTDCT ;Fetch DCT 01090 ; 01091 LD A,(IY+3) ;Get DCT data 01092 AND 28H ;Bit 5/3 01093 CP 20H ;8" floppy? 01094 JR NZ,SETSYS1 ;Go if not 01095 LD A,(IY+4) ;Get DCT data 01096 AND 50H ;Bit 6/4 01097 CP 40H ;DD and not alien? 01098 JR NZ,SETSYS1 ;Go if not 01099 ; 01100 LD D,(IY+9) ;Get GAT address 01101 LD E,0 ;DE=>gat 01102 @@RDSEC ;Read sector 01103 CP 6 ;Directory? 01104 JP NZ,IOERR ;Go on disk error 01105 LD A,(SBUFF$+0CDH) ;Get gat data byte 01106 BIT 7,A ;Data disk? 01107 SETSYS1 LD D,0 ;Init sys info sector 01108 JR NZ,$+3 ;Go if not 8" floppy sys 01109 INC D ; else sysinfo on cyl 1 01110 LD E,2 ;Sysinfo sector 01111 ; 01112 ENDIF 01113 ; 252F 21001D 01114 LD HL,SBUFF$ ;Use this as disk buffer 01115 ; 01116 IF @MOD4 2532 110200 01117 LD DE,0<8+2 ;Trk 0, sect 2 (SIS) 01118 ENDIF 01119 ; 2535 3A5D24 01120 LD A,(DRIVE+1) ;P/u logical drive # 2538 4F 01121 LD C,A ; of drive (DRIVE) 2539 01122 @@RDSEC ;Read System Info Sector 2539+3E31 01123 LD A,49 253B+EF 01124 RST 40 253C C22624 01125 JP NZ,IOERR ;Quit on read error 253F AF 01126 XOR A ;Turn on standard config 2540 32011D 01127 LD (SBUFF$+1),A 2543 01128 @@WRSEC ;Write it back 2543+3E35 01129 LD A,53 2545+EF 01130 RST 40 2546 C22624 01131 JP NZ,IOERR ;Quit on write error 2549 2EC0 01132 LD L,0C0H ;Pt to SYS/DATA byte 254B B6 01133 OR (HL) ;Check if System disk 254C 21C126 01134 LD HL,WARN$ ; and inform in not 254F 2003 01135 JR NZ,$+5 2551 01136 @@LOGOT 01137 IFEQ 00H,1 01138 LD HL, 01139 ENDIF 2551+3E0C 01140 LD A,12 2553+EF 01141 RST 40 01142 ; 01143 ; Let user know it's done 01144 ; 2554 01145 @@LOGOT CFGBLT ;Log completion 01146 IFEQ 01H,1 2554+215526 01147 LD HL,CFGBLT 01148 ENDIF 2557+3E0C 01149 LD A,12 2559+EF 01150 RST 40 01151 IF @BLD631 255A CD6825 01152 CALL L2568 ;<631> 01153 ENDIF 255D 216E26 01154 LD HL,ATRBIT ;Make CONFIG invisible 2560 3E18 01155 LD A,24 ;Init for CMNDI 2562 C32800 01156 JP RST28 ; & execute 2565 01157 @@CMNDI 2565+3E18 01158 LD A,24 2567+EF 01159 RST 40 01160 IF @BLD631 2568 E5 01161 L2568: PUSH HL ;<631>Restore previous SFLAG$ 2569 217C00 01162 LD HL,SFLAG$ ;<631>setting, including 256D 01163 L256D: EQU $+1 ;<631>turning JCL back on if 256C 3600 01164 LD (HL),0 ;<631>it was on before. 256E E1 01165 POP HL ;<631> 256F C9 01166 RET ;<631> 01167 ENDIF 01168 ; 01169 ; Routine to DUMP core 01170 ; 2570 EB 01171 DUMP EX DE,HL ;Load address to HL 2571 112F26 01172 LD DE,GENDCB ;Config/sys FCB 2574 E5 01173 DUMP1 PUSH HL 2575 C5 01174 PUSH BC ;Save block length 2576 60 01175 LD H,B ;Length of this block 2577 69 01176 LD L,C ; to HL 2578 01FE00 01177 LD BC,254 ;Write block in groups 257B AF 01178 XOR A ;Of 254 bytes max 257C ED42 01179 SBC HL,BC ;Sub blk len fm dump len 257E 3006 01180 JR NC,DUMP2 ;Go if write len > 254 2580 C1 01181 POP BC ;Recover block len 2581 210000 01182 LD HL,0 ;Show block written 2584 1801 01183 JR DUMP3 2586 F1 01184 DUMP2 POP AF ;Remove old len from stack 2587 E3 01185 DUMP3 EX (SP),HL ;Xchg len w/address 2588 41 01186 LD B,C 2589 3E01 01187 LD A,1 ;Start of block 258B CD2726 01188 CALL PUTOUT 258E 78 01189 LD A,B 258F C602 01190 ADD A,2 ;Add for address 2591 CD2726 01191 CALL PUTOUT ;Write block length 2594 7D 01192 LD A,L 2595 CD2726 01193 CALL PUTOUT ;Write lo order address 2598 7C 01194 LD A,H 2599 CD2726 01195 CALL PUTOUT ;Write hi order address 259C 7E 01196 DUMP4 LD A,(HL) 259D 23 01197 INC HL 259E CD2726 01198 CALL PUTOUT ;Write the block 25A1 10F9 01199 DJNZ DUMP4 25A3 C1 01200 POP BC ;Get remaining length 25A4 78 01201 LD A,B 25A5 B1 01202 OR C 25A6 20CC 01203 JR NZ,DUMP1 ;Loop if block not done 25A8 C9 01204 C9FLD RET ; else go back 01205 ; 01206 ; Routine to write an offset block 01207 ; 25A9 C3 01208 JPINST DB 0C3H ;JP instruction 25AA E5 01209 WRBLCK PUSH HL ;Save real load address 25AB 62 01210 LD H,D ;HL = offset address 25AC 6B 01211 LD L,E 25AD 112F26 01212 LD DE,GENDCB ;Config/sys FCB 25B0 3E01 01213 LD A,1 ;Start of block 25B2 CD2726 01214 CALL PUTOUT 25B5 78 01215 LD A,B 25B6 C602 01216 ADD A,2 ;Adj for address 25B8 CD2726 01217 CALL PUTOUT ;Write block length 25BB 7D 01218 LD A,L 25BC CD2726 01219 CALL PUTOUT ;Write lo order load 25BF 7C 01220 LD A,H 25C0 CD2726 01221 CALL PUTOUT ;Write hi order load 25C3 E1 01222 POP HL ;Recover real address 25C4 7E 01223 WRBLK1 LD A,(HL) ; and p/u data from there 25C5 23 01224 INC HL 25C6 CD2726 01225 CALL PUTOUT ;Write the block 25C9 10F9 01226 DJNZ WRBLK1 25CB C9 01227 RET 01228 ; 01229 ; Perform SYSGEN OFF 01230 ; 25CC 21001D 01231 CFGOFF LD HL,SBUFF$ ;Set disk I/O buffer 01232 ; 01233 IF @MOD2 01234 ; 01235 LD A,(DRIVE+1) ;Get drive 01236 LD C,A ;Pass to C 01237 @@GTDCT ;Fetch DCT 01238 LD D,(IY+9) ;Dir cylinder 01239 ; 01240 LD A,(IY+3) ;Get dct data 01241 AND 28H ;Bit 5/3 01242 CP 20H ;8" floppy? 01243 JR NZ,SETSYS2 ;Go if not 01244 LD A,(IY+4) ;Get data 01245 AND 50H ;Bit 6/4 01246 CP 40H ;DD not alien? 01247 JR NZ,SETSYS2 ;Go if not 01248 ; 01249 LD E,0 ;GAT table 01250 @@RDSEC ;Read sector 01251 CP 6 ;Directory read? 01252 JP NZ,IOERR ;Go if not 01253 LD A,(SBUFF$+0CDH) ;Get gat data byte 01254 BIT 7,A ;System disk? 01255 SETSYS2 LD D,0 ;Cyl 0 if not 01256 JR NZ,$+3 ;Go if not 01257 INC D ;Else on cyl 1 01258 LD E,2 ;Sysinfo sector 01259 ; 01260 ENDIF 01261 ; 01262 IF @MOD4 25CF 110200 01263 LD DE,0<8+2 ;Trk 0, sect 2 (SIS) 01264 ENDIF 01265 ; 25D2 3A5D24 01266 LD A,(DRIVE+1) ;P/u drive number 25D5 4F 01267 LD C,A ; & note 25D6 01268 @@RDSEC ; that no config is 25D6+3E31 01269 LD A,49 25D8+EF 01270 RST 40 25D9 C22624 01271 JP NZ,IOERR ; on the disk 25DC 3EC9 01272 LD A,0C9H 25DE 32011D 01273 LD (SBUFF$+1),A ;A X'C9' indicates 25E1 01274 @@WRSEC ; no config 25E1+3E35 01275 LD A,53 25E3+EF 01276 RST 40 25E4 C22624 01277 JP NZ,IOERR ;Quit if write error 01278 ; 01279 ; Now that none is shown, kill the CONFIG/SYS 01280 ; 25E7 112F26 01281 LD DE,GENDCB ;Pt to FCB 25EA 0600 01282 LD B,0 25EC 01283 @@OPEN ;Try to open the config 25EC+3E3B 01284 LD A,59 25EE+EF 01285 RST 40 25EF C23924 01286 JP NZ,NOTFND ;Jump if not there 25F2 01287 @@REMOV ;Kill the config/sys 25F2+3E39 01288 LD A,57 25F4+EF 01289 RST 40 25F5 C22624 01290 JP NZ,IOERR ;Quit if can't be killed 25F8 01291 @@LOGOT CFGDEL$ ;"config deleted.. 01292 IFEQ 01H,1 25F8+218A26 01293 LD HL,CFGDEL$ 01294 ENDIF 25FB+3E0C 01295 LD A,12 25FD+EF 01296 RST 40 25FE C9 01297 RET ;Done - return 01298 ; 01299 ; Parameter parsing of yes/no 01300 ; 25FF 010000 01301 NPARM LD BC,0 ;P/u "no" parm entry 2602 78 01302 LD A,B 2603 B1 01303 OR C ;If NO, make Z 2604 EEFF 01304 XOR 0FFH 2606 C9 01305 RET 2607 0000 01306 YPARM DW 0 01307 ; 01308 ; Any devices routed to files? 01309 ; 2609 114B49 01310 CKRTES LD DE,'IK' ;Point to begin of area 260C 01311 @@GTDCB 260C+3E52 01312 LD A,82 260E+EF 01313 RST 40 260F E5 01314 CKRT0 PUSH HL ;Save pointer 2610 CB66 01315 CKRT1 BIT 4,(HL) ;Routed device? 2612 280B 01316 JR Z,CKRT2 ;Jump if not 2614 2C 01317 INC L ;Bypass TYPE code 2615 7E 01318 LD A,(HL) ;P/u route vector 2616 2C 01319 INC L ; lo-order 2617 66 01320 LD H,(HL) ;P/u vector hi-order 2618 6F 01321 LD L,A 2619 CB7E 01322 BIT 7,(HL) ;Routed to a file? 261B 28F3 01323 JR Z,CKRT1 ;Ck further route if not 261D E1 01324 POP HL ; else exit with NZ 261E C9 01325 RET 01326 ; 01327 ; Point to next device 01328 ; 261F E1 01329 CKRT2 POP HL ;Recover DCB pointer 2620 7D 01330 LD A,L ;Advance to next DCB area 2621 C608 01331 ADD A,8 ;Loop through all 2623 6F 01332 LD L,A ; devices while checking 2624 20E9 01333 JR NZ,CKRT0 ;Loop until table end 2626 C9 01334 RET 01335 ; 2627 4F 01336 PUTOUT LD C,A ;Byte into C 2628 01337 @@PUT ;Do the put 2628+3E04 01338 LD A,4 262A+EF 01339 RST 40 262B C8 01340 RET Z ;Back if good 262C C32624 01341 JP IOERR ; else abort 01342 ; 262F 43 01343 GENDCB DB 'CONFIG/SYS.CCC:0',0 4F 4E 46 49 47 2F 53 59 53 2E 43 43 43 3A 30 00 263E 01344 CFGSPEC EQU $-2 2640 01345 DS 32-$+GENDCB 264F 43 01346 CFGNAM$ DB 'CONFIG' 4F 4E 46 49 47 2655 55 01347 CFGBLT DB 'User configuration built',CR 73 65 72 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 62 75 69 6C 74 0D 266E 41 01348 ATRBIT DB 'Attrib CONFIG/SYS.CCC:d (I)',CR 74 74 72 69 62 20 43 4F 4E 46 49 47 2F 53 59 53 2E 43 43 43 3A 64 20 28 49 29 0D 2684 01349 ATRSPEC EQU $-6 268A 55 01350 CFGDEL$ DB 'User configuration deleted',CR 73 65 72 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 64 65 6C 65 74 65 64 0D 26A5 4E 01351 NOTFND$ DB 'No user configuration found',CR 6F 20 75 73 65 72 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 6F 75 6E 64 0D 26C1 57 01352 WARN$ DB 'Warning: Target drive contains no system',CR 61 72 6E 69 6E 67 3A 20 54 61 72 67 65 74 20 64 72 69 76 65 20 63 6F 6E 74 61 69 6E 73 20 6E 6F 20 73 79 73 74 65 6D 0D 01353 IF @BLD631 26EA 53 01354 ISWP$ DB 'Specified drive is write protected',CR 70 65 63 69 66 69 65 64 20 64 72 69 76 65 20 69 73 20 77 72 69 74 65 20 70 72 6F 74 65 63 74 65 64 0D 01355 ELSE 01356 NOINDO$ DB 'Command invalid during processing',CR 01357 ENDIF 270D 2A 01358 NOCANDO$ DB '** SYSGEN inhibited at this time **',CR 2A 20 53 59 53 47 45 4E 20 69 6E 68 69 62 69 74 65 64 20 61 74 20 74 68 69 73 20 74 69 6D 65 20 2A 2A 0D 2731 43 01359 NOSPL$ DB 'Can''t while SPOOL is active',CR 61 6E 27 74 20 77 68 69 6C 65 20 53 50 4F 4F 4C 20 69 73 20 61 63 74 69 76 65 0D 274D 43 01360 NOMDSK$ DB 'Can''t while MEMDISK is active',CR 61 6E 27 74 20 77 68 69 6C 65 20 4D 45 4D 44 49 53 4B 20 69 73 20 61 63 74 69 76 65 0D 276B 43 01361 NORTES$ DB 'Can''t while route-to-file is active',CR 61 6E 27 74 20 77 68 69 6C 65 20 72 6F 75 74 65 2D 74 6F 2D 66 69 6C 65 20 69 73 20 61 63 74 69 76 65 0D 01362 ; 278F 80 01363 PRMTBL$ DB 80H,42H,'ON',0 42 4F 4E 00 2794 0726 01364 DW YPARM 2796 43 01365 DB 43H,'OFF',0 4F 46 46 00 279B 0026 01366 DW NPARM+1 279D 53 01367 DB 53H,'YES',0 59 45 53 00 27A2 0726 01368 DW YPARM 27A4 52 01369 DB 52H,'NO',0 4E 4F 00 27A8 0026 01370 DW NPARM+1 27AA 95 01371 DB 95H,'DRIVE',0 44 52 49 56 45 00 27B1 5D24 01372 DW DRIVE+1 27B3 00 01373 NOP 01374 ; 01375 ; Table of regions to sysgen 01376 ; 27B4 0200 01377 ADRTBL$ DW 2,HIGH$ ;Save HIGH$ 0E04 27B8 0200 01378 DW 2,LOW$ ;Lowest user address 1E00 27BC 0100 01379 DW 1,TIMSL$ ;Time slice 2B00 27C0 FA00 01380 DW 250,DVRHI$ ;Save primary DCBs 0602 27C4 0300 01381 DW 3,EXTDBG$ ;Ext DEBUG vector & DBGHK A419 27C8 3200 01382 DW 50,INTIM$ ;Table & TCBs 3C00 27CC 2200 01383 DW 34,FLGTAB$ ;Flag table & assorted 6A00 27D0 0200 01384 DW 2,75*2+SVCTAB$ ;Save WRITE vector 9601 27D4 0300 01385 DW 3,HKRES$ ;Sys overlay hook 6C1A 27D8 0200 01386 DW 2,KIDATA$+2 FE08 27DC 0100 01387 DW 1,DODATA$ 940B 27E0 0200 01388 DW 2,DODATA$+3 970B 27E4 1000 01389 DW 16,240+SVCTAB$ ;SVCs 120 - 127 F001 27E8 1000 01390 DW 16,@RST08 ;RST zones 8 and 10 0800 27EC 0100 01391 DW 1,HERTZ$ ;Hertz rate for timer 5007 01392 IF @BLD631 27F0 0100 01393 DW 1,@PRTIMO ;<631>Printer time-out patch addr 290E 01394 ENDIF 01395 ; 01396 IF @MOD2 01397 DW 3,$CRSCHAR ;Cursor char + column siz 01398 ENDIF 01399 IF @MOD4 27F4 0000 01400 DW 0,0 0000 01401 ENDIF 01402 ; 27F8 0000 01403 DW 0,0 0000 27FC 0000 01404 DW 0,0 0000 2800 0000 01405 DW 0,0 0000 2804 0000 01406 DW 0,0 0000 2808 0000 01407 DW 0,0 0000 280C 0000 01408 DW 0,0 0000 2810 0000 01409 DW 0,0 0000 2814 0000 01410 DW 0 ;End of table 2816 00 01411 DC 20,0 ;Patch space 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01412 ; 2900 01413 ORG $<-8+1<+8 2900 01414 GENBUF EQU $ 01415 ; 2400 01416 END SYSGEN 2400 is the transfer address 00000 Total errors
[Copyright 1999,2002 Frank Durda IV, All Rights Reserved. Mirroring of any material on this page in any form is expressly prohibited. The official web site for this material is: http://nemesis.lonestar.org Contact this address for use clearances: clearance at nemesis.lonestar.org Comments and queries to this address: web_software_2011 at nemesis.lonestar.org]