The following warnings occurred:
Warning [2] Undefined array key 138363 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $thread - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $fid - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 138363 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $lang - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Attempt to read property "messages_in_thread" on null - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks





HP-42S, 41CX and synthetic programming thoughts



#2

Hi all,

I have recently tried to give synthetic programming on the 41 a look and read the book "Synthetic programming made easy", and enjoyed it.

However, SP is not possible on the 42S (besides poking into memory to get long labels and normally non-programmable instructions into programs) because 1) the 42S has a totally different memory architecture than the 41, hence does not have such registers as M,N,O,P,Q,b,d, etc. and 2) the 42S OS has a torough check of parameters and do not accept any SP instruction.

I then started to wonder: "What do I miss not having synthetic programming facilities on the HP-42S (and the Free42 simulator) ? do I have workarounds ?". The sort answer seems to me: "Yes! the 42S has extra built-in functionality that more than make up for the lack of SP". But I would need this to be commented...

Here are my thoughts on the subject, based on the little understanding I got on SP from the book. The list of SP applications and comments below is certainly not exhaustive, and I would most appreciate if SP experts on the forum could complete/correct these thoughts !

So, here it goes. SP can be used on a 41 to:

1-Input any character in the alpha register, not just plain A-Z

=> The 42S can readily enter any character from the alpha menu


2-Use registers M,N,O,P to manipulate directly the alpha register

=> The 42S does not have these registers, but have powerful alpha manipulations functions (ALENG, AROT, etc...) to perform this. (By the way, this is also true of the 41CX/Extended functions)

3-Use registers M,N,O,P as extra "scratch" registers to avoid conflits of use of numeric registers

=> The 42S does not have these registers, but have more general named variables that can be created and deleted on the fly for that purpose

4-Change the numeric registers base adress to avoid confliting use ("curtain")

=> The 42S does not have this facility, but since the registers are stored in the REGS matrix, you can save this matrix locally and restore it after program completion. This is quite powerful, athough it requires to have quite a bit of memory if you do not wish to resize (but memory is not really an issue on Free42 :))

The Extended Functions seems to be able to move the curtain without SP (REGMOVE, etc.)

5-Store and restore the entire flags (RCL d/STO d)

=> The 42S, unfortunately, does not have this feature, and I wish it had it! But let's note that the primary usage given of the book of this is: restore the display mode after a "FIX 0" used to append a counter value to the alpha display as an integer. This goal is achieved simplty on the 42S thanks to the AIP function, which does not exist on the 41.

6-Use a NOP-like instruction (TEXT0) to lift the stack in any case after an ISG or DSE

=> Indeed this is useful, and unfortunately without 42S equivalent that I know of; but on this forum there are examples of using the DEG instruction as a NOP instruction; not ideal, especially when using trigs, but an acceptable workaround.

7-Fast "infinite" loops without labels nor "flying gooze" movement (STO b/RCL b)

=> No 42S equivalent of this, but IMHO this is not an issue given the speed and memory amount of Free42

8-Save memory on exponentials (i.e. E3 instead of 1E3)

=> Same comment as point 7

9-Additional tones

=> No 42S equivalent, but not overly useful to me as I don't intend to turn Free42 into a music instrument...

10-Multi-key-stroke key assignments, e.g. RCL IND X

=> Not possible in the 42S in the CUSTOM menu... but I feel that the comprehensive menu structure of the 42S makes up for it.

That's all for what I could see of SP applications, I certainly missed some, thanks for your input !

Juste one last note - I think Free42 is wonderful and fixes most of the shortcomings of the 42S:

- The lack of I/O and mass storage is adressed,

- The ackward 2-key stroke alpha entry is adressed,

- The display is clear,

- Memory and speed are almost infinite,

- You do not need date/alarms functions when running Free42 on a PDA that adresses these much better than any calculator.

- Nor do you need extended memory functions/memory when you have all the mass storage you want.

In short, I just wish the HP42S had the following additional functions:

- STOFLAG/RCLFLAG,

- a NOP instruction,

- ANUM,

- Algebraic Equation entry a la 19BII/27S, with L() and G() functions,

- One-line complex numbers entry a la 35S,

- Fraction support a la 32SII.


Cheers and best regards from

Vincent


Possibly Related Threads…
Thread Author Replies Views Last Post
  Non-Prime question alert: Hp-41 and synthetic instructions Marcel Samek 11 3,897 11-04-2013, 09:31 PM
Last Post: sjthomas
  "A Penny for your thoughts" on the HP50g Tom Grydeland 3 1,645 08-01-2013, 03:57 AM
Last Post: Les Koller
  A Non-Graphing Calculator with CAS? Thoughts...? mr-scorpio 1 990 02-17-2013, 01:02 AM
Last Post: Les Koller
  HP 42s programming help for novice Carl D (new) 4 1,544 02-02-2013, 11:39 PM
Last Post: Mike Morrow
  [WP34S] Beginner's positive thoughts - 1 week in. Chris Tvergard 7 2,305 05-14-2012, 03:35 PM
Last Post: Walter B
  Re: [WP34S] Beginner's positive thoughts - 1 week in. Chris Tvergard 2 1,398 05-13-2012, 06:50 PM
Last Post: Chris Tvergard
  HP-67 and Synthetic Programming Matt Agajanian 3 1,435 05-11-2012, 04:37 AM
Last Post: Olivier De Smet
  thoughts about HP-35S P<-->R Matt Agajanian 3 1,251 04-07-2012, 08:47 PM
Last Post: Matt Agajanian
  Re: RPN Programming exercise (HP-42S) Gerson W. Barbosa 1 1,000 02-27-2012, 05:51 PM
Last Post: Marcus von Cube, Germany
  RPN Programming exercise (HP-42S) Gerson W. Barbosa 71 12,879 02-26-2012, 11:48 AM
Last Post: Valentin Albillo

Forum Jump: