Post Reply 
Emulator Source Load and Save
11-25-2015, 05:55 PM (This post was last modified: 11-25-2015 07:06 PM by BarryMead.)
Post: #1
Emulator Source Load and Save
You may have noticed that the tools for assembling/disassembling and managing WP-34S source programs are very crude compared to
the way Torsten does it in his HP-15C simulator.

When I tried to explain the concept of being able to instantly load a program from a vast library of user supported WP-34S source programs
the core development team shrugged it off, saying you can already do everything you want with the tools we provided.

Well I beg to differ. If you want to load a program into the wp34s you have to go through the following list of complex steps.

Step One. Run the emulator and issue these commands: P.FCN END, f CLP , and press Y for Yes then (Exit the emulator) (This creates a wp34s.dat with an empty RAM program area)
Step Two. Copy the empty program wp34s.dat file from where your emulator saves it to the wp34s/trunk/tools directory
Step Three. Compile your source from the tools directory with: perl wp34s_lib.pl sourcefile.wp34s -ilib wp34s.dat -f -state (This adds the program to the empty wp34s.dat file)
Step Four. Copy the updated wp34s.dat file from the wp34s/trunk/tools directory back to the directory where the emulator needs it.
Step Five. Run the Emulator (Now the newly compiled program is in RAM)
Step Six. Transfer the RAM to your calculator over the serial interface (P.FCN SENDP) on Emulator and (P.FCN RECV) on calculator.

This is a clumsy and complex set of operations just to load a source program into your calculator.
And to make matters worse, each version of the emulator (Bit's) or (Complex) has different wp34s.op file to use with the compiler.
So keeping all of this stuff straight can be quite difficult.

I proposed that the Emulator have a "Built-In Source Level Program Loader (Compiler)" which could call the underlying primitives
as needed to handle the compile. This would make it much more likely that users would share their programs with others.

The emulator also needs a capability to Disassemble the programs in it's RAM and save them to a source file.

This procedure currently looks like this:

Step One. Transfer the program in RAM to the emulator (over the serial cable) with (P.FCN SENDP) on the calculator and (P.FCN RECV) on the emulator.
Step Two. Exit the Emulator and copy the wp34s.dat file from where the emulator uses it to the wp34s/trunk/tools directory.
Step Three. Disassemble the program in the tools directory with: perl wp34s_asm.pl -dis wp34s.dat -s 0 -ns -dis_alias -o sourcefile.wp34s

So there are complex steps going in both directions to SAVE a program from the calculator to a source file, and to LOAD a program from
a source file into the calculator. I believe that if these operations were made as simple as they are in Torsten's HP-15C Simulator then more people
would share the programs they develop, and the community would benefit as a whole.

Oh well, If I were a little more familiar with Qt programming, I would modify Pascal's emulator code myself to add these Source Load/Save features.

There are only so many tasks that one person can tackle.

If more than one of us were to request these features and phrase them in a way that others could appreciate the benefits, then perhaps there is
a chance that more developers would show an interest in adding this capability the the WP-34S emulator, or Qt emulator.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Emulator Source Load and Save - BarryMead - 11-25-2015 05:55 PM
RE: Emulator Source Load and Save - fhub - 11-25-2015, 06:37 PM
RE: Emulator Source Load and Save - fhub - 11-25-2015, 07:21 PM
RE: Emulator Source Load and Save - fhub - 11-25-2015, 11:43 PM
RE: Emulator Source Load and Save - Dieter - 11-25-2015, 09:15 PM
RE: Emulator Source Load and Save - fhub - 11-25-2015, 08:55 PM
RE: Emulator Source Load and Save - fhub - 12-06-2015, 12:20 PM
RE: Emulator Source Load and Save - fhub - 12-06-2015, 04:35 PM



User(s) browsing this thread: 1 Guest(s)