VoyagerSave source code
|
10-17-2024, 11:08 AM
(This post was last modified: 10-17-2024 04:38 PM by Divasson.)
Post: #1
|
|||
|
|||
VoyagerSave source code
Hi, I understand I have been authorized to post this here. Of course, we’re on our own, totally non-supported and the customary disclaimers about responsibility and suitability for any use!
The link to VoyagerSave source code: VoyagerSave Source code Hope this helps to have other interfaces for other environments. EDIT: Apologies for the shameless plug, but you need one of these: POGO Cable There is a new cable version currently in production where the Reset button is white, just to avoid confusion in low lighting! Thanks to all that gave feedback on this. It arrives in 15 days from now. |
|||
10-17-2024, 12:16 PM
Post: #2
|
|||
|
|||
RE: VoyagerSave source code
thanks very much indeed, José.
Cambridge, UK 41CL/DM41X 12/15C/16C DM15/16 17B/II/II+ 28S 42S/DM42 32SII 48GX 50g 35s WP34S PrimeG2 WP43S/pilot/C47 Casio, Rockwell 18R |
|||
10-17-2024, 01:01 PM
(This post was last modified: 10-17-2024 02:55 PM by AnnoyedOne.)
Post: #3
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 11:08 AM)Divasson Wrote: The link to VoyagerSave source code. Thanks. Maybe someone can build a Win32 (32-bit) version with this. And/or Mac/Linux users can adapt it. A1 PS: I do have Win7 x64 so a 32-bit version isn't essential but would be nice. I have a WinXP Professional x64 SP2 box. Yes it exists. https://en.wikipedia.org/wiki/Windows_XP...64_Edition I haven't tried Voyagersave on it though. PPS: WinXP x64 was a no go. My HP-15C CE was recognised as a USB device but Windows said that Voyagersave was an invalid Win32 application even though it is a 64-bit one. PPPS: Voyagersave seems to be a Microsoft Visual Studio 2015/2017 project written in C++. HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-17-2024, 02:22 PM
Post: #4
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 11:08 AM)Divasson Wrote: Hi, I understand I have been authorized to post this here. Of course, we’re on our own, totally non-supported and the customary disclaimers about responsibility and suitability for any use! Thank you so much for this Divasson. It looks like the protocol is trivially simple. Write 0xfe followed by 63 zeros to the output endpoint, read the calculator state from the input endpoint. With this info, we'll be able to dump very soon on Linux and restore too. |
|||
10-17-2024, 02:48 PM
(This post was last modified: 10-17-2024 03:05 PM by Idnarn.)
Post: #5
|
|||
|
|||
RE: VoyagerSave source code
Python code to dump the HP 15C collector's edition calculator state. It creates a 2048 byte file for me on Linux, but I still have to check contents as I don't have a decoder for Linux yet. But I don't want to stop anyone else from using it and checking on a Windows computer they own.
WARNING: This code may brick your calculator. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Code:
Edit: I've attached a sample dump file created by this program from my calculator which should have a small program to compute e^(-x^2). The attachment is a ZIP file containing it as the forum won't allow binary files to be attached. Perhaps someone can use Pierre's spreadsheet to check the dump. I myself have to figure out how to disassemble the dump on Linux (Pierre's spreadsheet doesn't work on LibreOffice on Linux). |
|||
10-17-2024, 03:13 PM
(This post was last modified: 10-17-2024 03:41 PM by AnnoyedOne.)
Post: #6
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 02:48 PM)Idnarn Wrote: I've attached a sample dump file created by this program from my calculator which should have a small program to compute e^(-x^2). I opened your file in Pierre's spreadsheet (2024.10.17.001). Code:
A1 PS: Is the SQRT a key entry error or dump error? HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-17-2024, 03:41 PM
Post: #7
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 03:13 PM)AnnoyedOne Wrote:(10-17-2024 02:48 PM)Idnarn Wrote: I've attached a sample dump file created by this program from my calculator which should have a small program to compute e^(-x^2). Maybe an entry error. Please can you try the dump in the ver2 attachment in this post? |
|||
10-17-2024, 03:42 PM
Post: #8
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 03:13 PM)AnnoyedOne Wrote: Is the SQRT a key entry error or dump error? Idnarn's file contains: CABAC3CBB2 so: SQRT x^2 CHS e^x RTN http://ti58c.phweb.me http://clones.phweb.me http://www.instagram.com/ti58c "No! Do or Do not. There is no try!" [Master Yoda] |
|||
10-17-2024, 03:47 PM
Post: #9
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 03:41 PM)Idnarn Wrote: Please can you try the dump in the ver2 attachment in this post? Code:
A1 HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-17-2024, 03:47 PM
(This post was last modified: 10-17-2024 04:13 PM by Idnarn.)
Post: #10
|
|||
|
|||
RE: VoyagerSave source code
Python code to load the HP 15C collector's edition calculator state. I saved and loaded my test program, clearing the calculator's PRGM contents in between the save and load. The program was restored.
WARNING: This code may brick your calculator. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Code:
Edit: Keep in mind that this program would take at least 64 seconds to complete running. This is because it writes to the calculator in 32-byte blocks, and sleeps for 1 second between each write. The calculator state is 2048 bytes long, so it would sleep overall for at least 64 seconds during the load. |
|||
10-17-2024, 03:54 PM
Post: #11
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 02:48 PM)Idnarn Wrote: Perhaps someone can use Pierre's spreadsheet to check the dump. I'm available to test if you want. (AnnoyedOne is a excellent tester too !) (10-17-2024 02:48 PM)Idnarn Wrote: I myself have to figure out how to disassemble the dump on Linux (Pierre's spreadsheet doesn't work on LibreOffice on Linux). If you need any items or information I am available ! http://ti58c.phweb.me http://clones.phweb.me http://www.instagram.com/ti58c "No! Do or Do not. There is no try!" [Master Yoda] |
|||
10-17-2024, 04:07 PM
Post: #12
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 03:54 PM)Pierre Wrote:(10-17-2024 02:48 PM)Idnarn Wrote: Perhaps someone can use Pierre's spreadsheet to check the dump. Thank you Pierre and AnnoyedOne. I will ask if I have doubts. I think I want this to work with a nonpareil calculator state. But a way to write programs in text and load them into nonpareil would be awesome too (like Torsten Manz's simulator). |
|||
10-17-2024, 04:56 PM
(This post was last modified: 10-17-2024 05:05 PM by AnnoyedOne.)
Post: #13
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 03:54 PM)Pierre Wrote: (AnnoyedOne is a excellent tester too !) Thanks. While working at a company I "sort of" took on responsibilty for a product line. All the original developers were gone. Anyway I built (myself--no help) a sophisticated test set-up, test programs, and so on to find bugs in the product (which I was sure were present). So one of the sales/marketing guys came to me one day and told me the story of customer having issues. I didn't have any ideas. The customer removed our products (mad at being blown off I'm sure) but we got the product database(s) for testing. So the symptoms were known and we had all we needed. One morning I loaded the database into my test setup, had every piece of equipment in our lab that would flash/beep hooked up, and the sales/marketing guy and I sat down for a serious debug session. After some time he said "what was that?". He'd caught what I'd missed. So I set a a breakpoint in the C code and reran the test (quite a few times). Bug found! It'd been there for years. We'd repeated what the customer saw. A very subtle bug too. The bottom line? Some don't do much testing. Others do. Either way bugs can still be present. It seems that HP did a very good job of testing the original Voyager calculator models. The only HP-15C bug I know of (since fixed) is the CHS one. They must have done a lot of testing! I'm impressed. Hence emulators vs simulators. These days, with downloadable firmware, products are of often "shipped" before coding/testing is complete (sell, sell, sell!). "We'll fix any bugs later" is the line. Assuming that it ever happens (the next project is due etc). You can't do that with firmware in ROM. A1 HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-17-2024, 05:22 PM
Post: #14
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 04:07 PM)Idnarn Wrote: I will ask if I have doubts. I think I want this to work with a nonpareil calculator state. But a way to write programs in text and load them into nonpareil would be awesome too (like Torsten Manz's simulator). You may check: Effective Computer-aided Calculator Programming - Part 1 - Voyager It's written in Perl but you might just use it as a starting point. At that time the HP-10C was not provided yet and I would probably use UTF-8 nowadays instead of ASCII to print the programs. |
|||
10-17-2024, 07:00 PM
Post: #15
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 02:48 PM)Idnarn Wrote: I myself have to figure out how to disassemble the dump To help you you can use the following pdf documents: VoyagerSave_Mem_File.pdf HP-15C_Codes.pdf Hoping they can be useful to you. http://ti58c.phweb.me http://clones.phweb.me http://www.instagram.com/ti58c "No! Do or Do not. There is no try!" [Master Yoda] |
|||
10-17-2024, 07:20 PM
(This post was last modified: 10-17-2024 07:23 PM by Idnarn.)
Post: #16
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 05:22 PM)Thomas Klemm Wrote:(10-17-2024 04:07 PM)Idnarn Wrote: I will ask if I have doubts. I think I want this to work with a nonpareil calculator state. But a way to write programs in text and load them into nonpareil would be awesome too (like Torsten Manz's simulator). Thank you for the pointer Thomas, and the vcomp.pl program. The workflow then would be something like:
The reverse is:
I dumped the VBA subroutines from Pierre's xls spreadsheet using olevba from Python oletools library, and I think I follow the ReadMem() subroutine in it. I'll attempt to write the missing programs in the lists above soon in Python. With that, I think we'll have everything we need to write programs, test them, transfer them, etc. on any common operating system. |
|||
10-17-2024, 07:25 PM
Post: #17
|
|||
|
|||
RE: VoyagerSave source code
(10-17-2024 07:00 PM)Pierre Wrote:(10-17-2024 02:48 PM)Idnarn Wrote: I myself have to figure out how to disassemble the dump Pierre, thank you very much! These will certainly be useful. I've also studied your ReadMem() subroutine in the .xls spreadsheet this evening. |
|||
11-01-2024, 05:43 AM
(This post was last modified: 11-01-2024 05:51 AM by Idnarn.)
Post: #18
|
|||
|
|||
RE: VoyagerSave source code
I got distracted by work and forgot about this thread. Apologies. Here is a tiny rudimentary Python program that dumps the program within a Voyager save file. It expects the save file to be named as calculator-state.bin just like in the previous Python programs.
The output's formatting should be changed to be parsable by vcomp.pl mentioned earlier in this thread. Eventually these programs should be made more flexible with argument parsing, and put into a voyager-tools repo along with other programs such as the Voyager overlay generator on a different forum thread, or perhaps even moved into a contrib/ directory of Nonpareil if its author would allow it. Many thanks to Pierre for the spreadsheet from which the instruction map was derived. Code:
Sample output of the save file in calculator-state-ver2.zip attached earlier in this thread: Code:
|
|||
11-01-2024, 05:48 AM
Post: #19
|
|||
|
|||
RE: VoyagerSave source code
Here is a decode of Geoff Quickfall's Aviation Pac from this thread: https://www.hpmuseum.org/forum/thread-22204.html
Code:
|
|||
11-30-2024, 05:28 AM
Post: #20
|
|||
|
|||
RE: VoyagerSave source code
See this thread for flashing HP 15C CE firmware on Linux: https://www.hpmuseum.org/forum/thread-22776-page-3.html
|
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)