Does anyone know if the HP-42S supports the synthetic programming that is available on the HP-41 Models?
HP 41CX vs HP 42s
|
|
« Next Oldest | Next Newest »
|
▼ ▼
Post: #3
02-07-2003, 03:50 AM
>Does anyone know if the HP-42S supports the synthetic programming that is available on the HP-41 Models?
41 and 42 are different technologies. Synthetic programming ▼
Post: #5
02-07-2003, 07:16 AM
Requires direct byte editing in the debugger. You're limited to things such as making very long labels, i.e., "LBL 'Thisisalonglabel' " You can make labels with lower case letters this way. A few other things. You cannot put instructions such as RCL d into the HP-42S. Sorry. There is an issue of HPX from 1988 or so that covers the 42s in good detail. It's available on the CD ROM set that Jake Schwartz has scanned (and which every HP calculator nut ought to have!) ▼
Post: #6
02-07-2003, 02:18 PM
Well, some synthetic programming is possible Yes, but it isn't synthetic programming in the 'traditional' HP-41 way. HP-41 programs which contains synthetic instructions cannot be keyed in and executed on HP-42S. ▼
Post: #7
02-07-2003, 03:49 PM
Which is why I said "You cannot put instructions such as RCL d into the HP-42S. Sorry."
Post: #8
02-07-2003, 02:24 PM
okay, so my current development code for the 42 "memopad" program is using 6 character alpha strings stored as elements of an array. Is there any way to use this method to make the memopad better? (currently, you enter a text string and I consecutively store and recall matrix elements, having to do 0 checking and inster a space to keep empty cells form returning 0.0000 in my fix5 env., etc. It's kind of ugly, but so far works really well) ▼
Post: #9
02-07-2003, 03:54 PM
Hi; I remember the first time I get into contact with the HP41's X-Functions/memory module and the X-memory file concept. Program and data files were easy to relate with existing HP41 resources, but the ASCII files were beyond the HP41's hability to handle ASCII strings. The ALPHA register is able to hold 24 characters but any numbered register can hold only six characteres of an ALPHA string. Manipulating ALPHA strings with the basic HP41 functions' set is not easy: ARCL, ASTO and ASHF allow the handling of six characters at a time, and to handle one single character demands a bit of "juggling". The X-Functions set added not only some powerfull ALPHA manipulating functions - XTOA, ATOX, AROT, ALENG, ANUM, - but also some ASCII file handlers - CRFLAS, INSREC, GETREC, INSCHR, APPCHR, GETCHR and others (I'm writing by heart, if there are erros, please, correct me). And I thought: "What are these functions for?" Later, when I read about the HPIL and all HPIL-compatible devices and measurement instruments that could be connected and controlled by the HP41, I understood that ASCII strings were primarily dedicated to hold and handle ASCII data received from and send to external devices. One can handle ASCII data with a series of programs, but viewing ASCII strings in large texts by the 41's LCD is painfull. One specific HPIL device is the TV Link and allos ASCII files to be shown as complete text, but specific programs must br written to do so. The HP42S has the lack for I/O activity, so ASCII files lost their space and only ALPHA strings prevail. Functions like ALENG, ANUM, XTOA and ATOX (plus the very welcome AIP) were kept, but there are no specific places (variable types or files) to hold large, contiguous ASCII sequences, that must be broken into sets of six characters each, so they can be stored in numbered registers, variables or matrix elements. Complex matrices and complex variables will need double the space of their real-only counterparts, but will still hold only six characters for each valid position. I believe Christof's is a very well elaborated program that allows this ASCII-data handling and holding abilities in the HP42. I hope we can see it soon, because this is a very good way to use large messages organized in sort of an data bank, easing ALPHA manipulation. Cheers. ▼
Post: #10
02-07-2003, 07:46 PM
well, I'm cleaning up the "next line" handling and growing the matrix. once that is done, the most basic complete code will be available (it lacks a seperat implementation for a "directory" of matrix varnames that are "text files", but I'm not sure that is worth doing yet. Copy, delete, and some mild encryption will definitely be coming after the final tweaking of the preliminary) I'm sticking with the AON and r/s key method of inputting text for the moment- I may eventually make a getkey version that will use an alpha layout similar to the 32Sii.
Post: #11
02-08-2003, 12:12 AM
blah, blah. okay, maybe it is "synthetic", maybe it is "entry points". whatever. It works. now, this XFCN... does anyone know more about it? It supposedly will execute na external ML routine, but how does one manage this?
Post: #14
02-07-2003, 10:02 AM
Hi; One of the most important difference that must be taken into account in this particular subject is related to memory structure and registers. In the HP42S the access to all memory is achieved by using a sort of mapping, and system access to memory positions is different than the one used in the HP41, that has fixed positions for each system resource. This is mostly because in the HP42 we may have a complex number, a matrix descriptor and a real number in each of three available stack registers, and their size differ from each other. Then there is no way to fix an specific number of bytes for each stack register, unless you use the maximum required for the largest object, what would be a waste of memory. As a test you may check for available memory and recall a matrix descriptor to the X-Register and check again to see the difference. Then you copy it in Y, Z and T with [ENTER^] and check again: no memory consumed for the copies. But if you fill the stack with different objects, remaining memory decreases for each entry. This suggests that in this particular case, stack registers contents are related to pointers instead of the object contained there. This is a major difference. And when we think of ALPHA register and the registers tht compose it in the HP41 (M, N, O and P, if I am not wrong) there should be the equivalent RCL M, RCL N and so in the HP42S. Even if you build the equivalent bytes for these instructions in the HP42 (what is a lot easier than in the HP41), I am almost sure you will not have a STO N or RCL e because these registers addresses are meaningless for the HP42S. The new structure does not demand their existence. That's why Gene mentioned you cannot put these instructions in the HP42S, but their equivalent byte codes may be placed in a program by using the built-in memory browser (do you know how to get it active?). Gene's suggestion is a good starting point for those who already know Synth programming.
Hope you found what you needed. And if you delve into the HP42's resources and find something new, tell us about it...
▼
Post: #15
02-07-2003, 10:12 AM
Have a look at this very interesting thread: Thread on HP42S synthetics, map memory, etc
▼
Post: #16
02-07-2003, 03:22 PM
Hi, John; this is a very interesting set of information about the 42S subject. Thank you for the valuable link. Best regards.
Post: #17
02-08-2003, 09:03 AM
Educalc apparently offered a guide to synthetic programming on the 42S -- Stock #TN24, HP42S Synthetic Programming ..........Free
See Does anyone have a copy of this guide? Does it add anything that's not already known?
|