SUBTTL SETUP - TOP LEVEL STUFF PAGE + ; READ THE SETUP FILE ; SSETUP HAS UNDER GONE TO SETS OF REVISIONS. REVISION 6 IS RESPONSIBLE ; FOR ALL OF THE DOS 2.0 FILE HANDLING PATCHES. REVISION 7 IS RESPONSIBLE ; FOR SETTING UP COLOR OR MONOCHROME BASED ON THE VIDEO SETTINGS AND WHAT ; WAS SPECIFIED ON THE COMMAND LINE. ; PUBLIC SSETUP SSETUP PROC NEAR MOV AH,15 ; (7) CHECK VIDEO STATE INT 10H ; (7) TO SEE IF IN A COLOR MOOD CMP AL,0 ; (7) THIS IS 40x25 BW JNZ SSET5 SSET0: FATAL FTL14 ; (A1) SCREEN IS NOT 80 CHARS WIDE SSET4A: MOV IBMPC,0 ; (A15) TURNED OFF IF SWITCH IS USED TEST CMDLIN,3 ; (A15) ANY COLOR BITS SET? JZ SSET$$ ; (A15) NOPE, GO ASK TEST CMDLIN,1 ; (7) WAS THIS SET ON CMD LINE JNZ SSET6 ; (7) YES, CANNOT OVERRIDE JMP SSET4B ; (A15) BIT 2 IS ON, TURN ON COLOR SSET$$: PRINT WANTCO ; (A1) DO YOU WANT COLOR? SSET1A: MOV AH,CNOECHO ; (A1) GET A CHARACTER INT 21H ; (A1) FROM THE KEYBOARD AND AL,5FH ; (A1) UPPERCASIFY IT CMP AL,'Y' ; (A1) CHECK FOR YES NO JNZ SSET3A ; (A1) AND SET COLOR APPROPRIATELY SSET4B: MOV COLFLG,1 ; (7) SET COLOR FLAG MOV SCRATR,COLATR ; (7) SET VIDEO ATTRIBUTE JMP SSET6 ; (A1) THANKS FOR YOUR TIME SSET3A: CMP AL,'N' ; (A1) IS IT A NO JNZ SSET1A ; (A1) IF NOT, THEN ASK AGAIN JMP SSET6 ; (A1) OTHERWISE ECHO IT SSET5: CMP AL,1 ; (A1) 1 40x25 COLOR JZ SSET0 ; (A1) SO DIE APPROPRIATELY CMP AL,2 ; (A17) 80x25 BW? JE SSET4A ; (A17) CHECK CMDLINE AND ASK CMP AL,3 ; (7) THIS IS 80x25 COLOR JZ SSET4A TEST CMDLIN,2 ; (7) DID THEY SET COLOR FROM CMD LINE JNZ SSET4A ; (7) TURN IT ON SSET6: CMP FITS,1 ; (A1) IF FITS, THE LOAD WILL BE LONG JNZ SSET7 CALL CLRSCR ; (A1) CLEAR THE SCREEN MOV BX,OFFSET WAIT ; (A0) INFORM WAIT CALL MSPRT SSET7: RET SSETUP ENDP ;INITIALIZATION PUBLIC TSETUP TSETUP PROC MOV AL,SLPP ; NUMBER OF LINES SUB AH,AH ; ASCIIFY THIS NUMBER INTO AX INC AX ; FOR SLPP = 24, THE CURSOR IS AT 25 DIV RADIX ; SO THAT WE CAN PUT THE CURSOR ADD AH,"0" ; THERE WHEN WE FINISH THE STATUS ADD AL,"0" ; LINE OUTPUT IN MSOUT MOV BX,OFFSET CLS1 ; (7t) PATCH CLEAR SCREEN MOV [BX],AX ; (7t) SO THAT IT RESTORE CURPOS MOV BX,OFFSET CLS1C ; (7t) PATCH IT IN COLOR TOO MOV [BX],AX MOV BX,OFFSET OUTBUF ; NO DETERMINE END OF OUTPUT BUFFER MOV CL,SCPL SUB CH,CH ADD BX,CX DEC BX ; (7v) SHORTEN BY ONE TO AVOID HARD MOV ENDBUF,BX ; WRAP MOV BYTE PTR [BX],0 CALL MINIT RET TSETUP ENDP