RIPScript3

This is my documentation of the specification 3.0

MegaNums

Is a form of BASE36 used for denoting positions on the screen.

 Const
 Offset = 36;
 MegaNumbers = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
 Function EncodeMegaNums(A:Longint):String;
 var
    M,L:Longint;
 
 Begin
    M:=A div Offset;
    L:=A-(M*36);
    Result:=MegaNumbers[M+1]+MegaNumbers[L+1];
 End;
 
 Function DecodeMegaNums(Ws:String):Longint;
 var
    L:Longint;
 
 Begin
    Result:=0;
    For L:=1 to Length(Ws) do begin
       If L mod 2=1 then Begin
          Result:=((Pos(Ws[L],MegaNumbers)-1)*Offset);
       End
       Else Begin
          Result:=Result+(Pos(Ws[L],MegaNumbers)-1);
       End;
    end;
 End;
 
 var
    Loop:Longint;
    S:String;
 
 Begin
    S:='05043M2R';
    Loop:=0;
    While Loop<Length(S) do begin
       Writeln(DecodeMegaNums(Copy(S,Loop+1,2)));
       Inc(Loop,2);
    End;
    Writeln(EncodeMegaNums(35));
    Writeln(EncodeMegaNums(71));
 End;

Modern Pascal Script, tested and works perfectly…

GIF

Recently, the UNISYS patent on the LZW technology expired, worldwide. Consequently, it is no longer necessary to request additional licensing from UNISYS.