home *** CD-ROM | disk | FTP | other *** search
-
- ' ***** DCE ** (C)1988-89, by GNA. *****
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** what kind of display adapter ? ***
-
- DEF SEG=&H40
- IF (PEEK(&H10) AND &H30)=&H00 THEN
- DEF SEG
- PLAY MusiErr$
- CALL CADRE(10,24,16,57,0,7,0)
- LOCATE 12,27:COLOR 12,0:PRINT "The display adaptor found"
- LOCATE 14,26:COLOR 12,0
- PRINT "is not compatible with"+SPACE$(2)+Logiciel$+"!"
- LOCATE 23,1:COLOR 7,0:END
- END IF
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** find the screen area address ***
-
- DEF SEG=0
- SegEcr&=-((PEEK(&H410) AND &H30)<>&H30)*&HB800
- IF SegEcr&=0 THEN SegEcr&=&HB000
- DEF SEG
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** vérifying DOS version (Ver >= 2.11) ***
-
- REG %AX,&H3000
- CALL INTERRUPT &H21
- DosVers=(REG(%AX) AND &HFF)+(REG(%AX) AND &HFF00)/25600!
- IF DosVers<2.11 THEN
- PLAY MusiErr$
- CALL CADRE(10,24,16,57,0,7,0)
- LOCATE 13,24:COLOR 12,0
- PRINT Logiciel$+" needs MS-DOS"+CHR$(32)+CHR$(242)+CHR$(32)+"V2.11"
- LOCATE 23,1:COLOR 7,0:END
- END IF
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** memory size : >= 384 Ko ***
-
- CALL INTERRUPT &H12
- IF REG(%AX)<384 THEN
- PLAY MusiErr$
- CALL CADRE(10,24,16,57,0,7,0)
- LOCATE 13,30:COLOR 12,0
- PRINT Logiciel$+CHR$(32)+"needs 384Ko memory"
- LOCATE 23,1:COLOR 7,0:END
- END IF
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** environment string (COMSPEC) ***
-
- ComSpec$=ENVIRON$("COMSPEC")
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** reboot message ***
-
- Reboot$(1)="System must be loading"
- Reboot$(2)="from disk drive unit"
- Reboot$(3)="hit [Alt]-[Ctrl]-[Del] ..."
-
- '═════════════════════════════════════════════════════════════════════════════
-
- ' *** exists any hard disk drive (C:) ***
-
- REG %AX,&H1C00
- REG %DX,&H03
- CALL INTERRUPT &H21
- DEF SEG=REG(%DS)
- IF PEEK(REG(%BX))=&HF8 THEN
- DEF SEG
- DiskUtil$="C:\"
-
- ' *** COMSPEC from drive C: ***
-
- IF ComSpec$<>"" THEN
- IF LEFT$(ComSpec$,3)<>DiskUtil$ THEN
- FlgSpec=1
- END IF
- ELSE
- FlgSpec=1
- END IF
- IF FlgSpec=1 THEN
- PLAY MusiErr$
- CALL CADRE(10,24,16,57,0,7,0)
- LOCATE 12,29:COLOR 12,0:PRINT Reboot$(1)
- LOCATE 13,28:COLOR 12,0:PRINT Reboot$(2)+CHR$(32)+LEFT$(DiskUtil$,2)
- LOCATE 14,27:COLOR 12,0:PRINT Reboot$(3)
- LOCATE 23,1:COLOR 7,0:END
- ELSE
-
- ' *** sélect hard disk C: (if any) ***
-
- REG %AX,&H0E00
- REG %DX,&H02
- CALL INTERRUPT &H21
- END IF
- ELSE
- DEF SEG
-
- ' *** at least two disk drives needed by DCE ***
-
- REG %AX,&H00
- CALL INTERRUPT &H11
- IF (REG(%AX) AND 1)=1 THEN
- IF (REG(%AX) AND &HC0)<&H40 THEN
- FlgDisk=1
- END IF
- ELSE
- FlgDisk=1
- END IF
- IF FlgDisk=1 THEN
- PLAY MusiErr$
- CALL CADRE(10,24,16,57,0,7,0)
- LOCATE 12,31:COLOR 12,0:PRINT Logiciel$+" needs at least"
- LOCATE 14,26:COLOR 12,0:PRINT "two disk drives to work ..."
- LOCATE 23,1:COLOR 7,0:END
- ELSE
-
- ' *** COMSPEC from drive A: ***
-
- DiskUtil$="A:\"
- IF ComSpec$<>"" THEN
- IF LEFT$(ComSpec$,3)<>DiskUtil$ THEN
- FlgSpec=1
- END IF
- ELSE
- FlgSpec=1
- END IF
- IF FlgSpec=1 THEN
- PLAY MusiErr$
- CALL CADRE(10,24,16,57,0,7,0)
- LOCATE 16,24:PRINT Ligne3$;
- LOCATE 12,29:COLOR 12,0:PRINT Reboot$(1)
- LOCATE 13,28:COLOR 12,0:PRINT Reboot$(2)+CHR$(32)+_
- LEFT$(DiskUtil$,2)
- LOCATE 14,27:COLOR 12,0:PRINT Reboot$(3)
- LOCATE 23,1:COLOR 7,0:END
- ELSE
- DiskUtil$="B:\"
- END IF
- END IF
- END IF
-
- ' --------------------------------- finish ----------------------------------