HP Forums

Full Version: Hrastprogrammer's emulators for the 48gx
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Has anyone here use Hrastprogrammers emulators for the 48gx? Are they top-shelf? Thanks

Joe

I use his 42X emulator that emulates the HP42S. I find it extremely useful, and am glad he developed it. It has way more ram than a user is likely to ever need (either 32k or 96k, compared to 8k on a real one) and you can load and save programs. If you have a 48GX, it is cheaper to buy the necessary ramcards (from Klotz, at least) and the emulator program from HrastProgrammer than it is to buy a real 42S on eBay. The only downsides I can think of are that:
1. it cannot emulate the size and weight of a real 42S (that would be a pretty neat trick!)
2. you cannot transfer a 42S program that exists in the standard ASCII listing. All programs must be typed in the first time by somebody, somewhere on a 48GX running 42X. Once saved in 42X format, they can be transferred and uploaded by anyone running 42X, but the library of 42S programs cannot be directly transferred. This is not a fault of 42X. This could be overcome if a clever person developed a program or application (on the 48GX or PC) to convert such a program listing to the binary string representation of the program that 42X uses. Based on my limited understanding, the hex codes are the well known codes used by the 41C, which are compatible with the 42S.
If you have any more detailed questions, I would be glad to e-mail you directly to answer them.

Well, when I will have enough free time (I really don't know if this will ever happen) and if there will be enough interest from users, I will write the necessary software to convert:

(1) RAW files to HP-41X card collection format

(2) ASCII files to HP-42X format

(3) LIF files to HP-71X card collection format (this will probably be the first one to implement)

This is not very complicated but I simply doesn't have enough time :-(

For example, (2) can be something like that:

...
var
f1: TextFile;
f2: file of Byte;
Inst,Inst1,Inst2: string;
n: Integer;
begin
AssignFile(f1,'PROG42.TXT'); Reset(f1);
AssignFile(f2,'PROG42.BIN'); Rewrite(f2);
while not Eof(f1) do
begin
ReadLn(f1,Inst); Inst:=Trim(Inst);
if Inst='' then Continue;
if Inst[1]='"' then begin Write(f2,TextBytes(Inst)); Continue end;
if Inst='STO 00' then begin Write(f2,$20); Continue end;
...
if Inst='RCL 00' then begin Write(f2,$30); Continue end;
...
n:=Pos(' ',Inst);
if n=0 then
begin
Inst1:=Inst;
Inst2:=''
end
else
begin
Inst1:=Copy(Inst,1,n-1);
Inst2:=Trim(Copy(Inst,Length(Inst)-n));
end;
if Inst2='' then Error('No argument');
if Inst1='STO' then begin Write(f2,$91); Write(f2,RegisterByte(Inst2)); Continue end;
if Inst1='RCL' then begin Write(f2,$90); Write(f2,RegisterByte(Inst2)); Continue end;
...
end;
CloseFile(f1); CloseFile(f2)
end;
...