home *** CD-ROM | disk | FTP | other *** search
-
- Function HexToInt(s:String) : LongInt;
- Var
- i,Sum,Divi:LongInt;
- Illegal:Boolean;
- Begin
- Illegal:=False;
- Sum:=0; Divi:=1;
- For i:=Length(s) DownTo 1 Do
- Begin
- If s[i] in ['0'..'9'] Then Sum:=Sum+((Ord(s[i])-48)*Divi)
- Else If UpCase(s[i]) in ['A'..'F'] Then Sum:=Sum+((Ord(UpCase(s[i]))-55)*Divi)
- Else Illegal:=True;
- Divi:=Divi shl 4;
- End;
- If Illegal Then HexToInt:=0 Else HexToInt:=Sum;
- End;
-
- Var
- rAX, rBX, rCX, rDX : Word;
-
- Begin
- If Paramcount=0 Then
- Begin
- WriteLn(#10#13'The Terminate Videomode Changer, Copyright (C) 1995 by Bo Bendtsen');
- WriteLn(#10'Syntax : T-MODE ax [bx cx dx] All in hex, use SCANMODE to find textmodes');
- WriteLn('Example: T-MODE 22 Change to videomode $22');
- WriteLn(' T-MODE 3 MODE CO80 80x25');
- WriteLn(' T-MODE 7 MODE MONO 80x25');
- Halt;
- End;
-
- rAX:=HexToInt(ParamStr(1));
- rBX:=HexToInt(ParamStr(2));
- rCX:=HexToInt(ParamStr(3));
- rDX:=HexToInt(ParamStr(4));
-
- Asm
- Mov AX,rAX
- Mov BX,rBX
- Mov CX,rCX
- Mov DX,rDX
- Int $10
- End;
-
- End.
-
-