Hotfix release available: 2025-05-14b "Librarian".
upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian".
upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian".
upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos".
upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos".
upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos".
upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum".
upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum".
upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum".
upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor".
upgrade now! [53.1] (what's this?)
terminal_rip3
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.
terminal_rip3.txt · Last modified: 06/04/2023 09:16 by 127.0.0.1