home *** CD-ROM | disk | FTP | other *** search
- {$A+,B-,D+,E-,F-,G+,I+,L+,N+,O-,P-,Q-,R-,S+,T-,V+,X+}
-
- {$M 16384,0,655360}
-
- {$M $4000,0,65536} {* Set heap size to zero !!! *}
-
- Program UniversialKeymaker;
-
- uses palette,dos,crt,keyinput,modplay;
-
- {$L ULONGS.OBJ} { link in the assembly code }
-
- FUNCTION LongADD (Addend1,Addend2:LONGINT):LONGINT; EXTERNAL;
-
- FUNCTION LongSUB (LongWord,Subtrahend:LONGINT):LONGINT; EXTERNAL;
-
- FUNCTION LongMUL (Multiplicand,Multiplier:LONGINT):LONGINT; EXTERNAL;
-
- FUNCTION LongDIV (Dividend,Divisor:LONGINT):LONGINT; EXTERNAL;
-
- FUNCTION LongMOD (Dividend,Divisor:LONGINT):LONGINT; EXTERNAL;
-
- PROCEDURE WriteULong (LongWord:LONGINT; { the longword }
-
- Width:BYTE; { _minimum_ field width }
-
- FillChar:CHAR; { leading space char }
-
- Base:BYTE); EXTERNAL; { number base 2..26 }
-
-
-
- Var
-
- sk : array[1..8000] of byte absolute $b800:0000;
-
- i,numwritten:integer;
-
- ToF:File;
-
- Output : String;
-
-
-
- Type
-
- String8 = String[8];
-
-
-
-
-
- Const
-
- AskName=1;
-
- AskCompany=0;
-
-
-
- Procedure LongToHex(AnyLong : LongInt; Var HexString : String8);
-
-
-
- Var
-
- ALong : LongInt;
-
- ch : Char;
-
- Index : Byte;
-
- begin
-
- HexString := '00000000'; { default to zero }
-
- Index := Length(HexString); { String length }
-
- While AnyLong <> 0 do
-
- begin { loop 'til done }
-
- ch := Chr(48 + Byte(AnyLong) and $0F); { 0..9 -> '0'..'9' }
-
- if ch > '9' then
-
- Inc(ch, 39); { 10..15 -> 'A'..'F'}
-
- HexString[Index] := ch; { insert Char }
-
- Dec(Index); { adjust chr Index }
-
- AnyLong := AnyLong SHR 4; { For next nibble }
-
- end;
-
- end;
-
-
-
- Procedure Curs(n:integer);
-
-
-
- Var regs : registers;
-
-
-
- Begin
-
- regs.ah:=1;
-
- case n of
-
- 0 : begin
-
- regs.cl:=32;
-
- regs.ch:=32;
-
- end;
-
- 1 : begin
-
- regs.cl:=8;
-
- regs.ch:=7;
-
- end;
-
- end;
-
- intr($10,regs);
-
- End;
-
- PROCEDURE SwitchTo25; ASSEMBLER;
-
- ASM
-
- MOV AX,$1114
-
- INT $10
-
- END;
-
-
-
- Function GenerateReg:String;
-
-
-
- Var
-
- lic,eax,ebx,ecx,edx,edi,esi,ebp:Longint;
-
- xs,Name,Company:String;
-
- bx,y,i,bp:integer;
-
- MyStr : String8;
-
-
-
- Begin
-
- bx:=wherey;
-
- repeat
-
- GetInput(Name,'',20,25,bx,0,7,' ',false);
-
- val(name,lic,bp);
-
- until bp=0;
-
- writeln;
-
- val(name,edi,i);
-
- edi:=edi and $ffff;
-
- ecx:=longadd($90b96501,0);
-
- eax:=longadd($11d06967,0);
-
- ecx:=ecx xor edi;
-
- eax:=eax and $ffff;
-
- ecx:=longadd(ecx,ecx);
-
- ecx:=ecx xor eax;
-
- write(' ■ Lic No. : 1RE');
-
- WriteULong(ecx,0,' ',10);
-
- end;
-
-
-
-
-
- { end;}
-
-
-
-
-
- Begin
-
- writeln(' Cabinet Manager v1.5.25 (c) Microlog');
-
- writeln('──────────────| MiRaMaX |──────────────');
-
- writeln(' ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ');
-
- writeln(' ███ ███ ███ ███▄▄▄ ');
-
- writeln(' ███▄ ███ ███▄ ███ ');
-
- writeln(' ▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀ ▀▀▀ ');
-
- writeln('─────────────────────────────────────────');
-
- writeln(' u N I T E D c R A C K I N G f O R C E ');
-
- writeln('[kEYMAKER]─────────────────────[dEC 1997]');
-
- writeln;
-
- write(' ■ Enter your Cert No.: ');
-
- Output:=GenerateReg;
-
- writeln;
-
- end.
-
-