Classic, Woodstock and Spice Emulators
|
06-19-2016, 06:51 AM
(This post was last modified: 06-19-2016 06:57 AM by Harald.)
Post: #41
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-18-2016 04:48 PM)Dieter Wrote:(06-17-2016 08:27 AM)Harald Wrote: And here comes the "User Diagnostic" program for the emulator: Hi Dieter, I have posted both versions of the program to show the difference in the mnemonics. The other version runs, but as Bernhard said the flags were not set correctly. I assumed the flags would be set correctly, but the way Bernhard has written the emulator, loading a card does not set flag 3. Instead it loads the flags as set in the program file. The comments are taken from Willi Kunz's version for his emulator. I was too lazy to type the program and instead took it from Willi's website. Harald |
|||
06-19-2016, 09:31 AM
Post: #42
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 06:51 AM)Harald Wrote: Hi Dieter, I didn't know that reading a card with register data does automatically set Flag 3. Now I'm not sure whether to add this behaviour and set Flag 3 automatically if the file contains a DATA section. It is possible to get close to a perfect emulation, but not closer. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
06-19-2016, 12:37 PM
Post: #43
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 06:51 AM)Harald Wrote: I have posted both versions of the program to show the difference in the mnemonics. Since you only said "for the emulator" it was not clear which one you refer to. If I understand you correctly, you now say that the first column is for the Kunz emulator and the second one for Bernhard's. Actually neither version runs. Bernhards emulator does not use "CLRG", "Rdn", "SIN^-1" or "PRTX". All these (and more) are invalid mnemonics. (06-19-2016 06:51 AM)Harald Wrote: But as Bernhard said the flags were not set correctly. I assumed the flags would be set correctly, but the way Bernhard has written the emulator, loading a card does not set flag 3. Instead it loads the flags as set in the program file. The original Diagnostic Program comes on a program card. There is no data card, but only reading a data card (!) would set flag 3. When a program card is read all flags are set according to their state when the card was written, i.e. reading a program card sets all four flags to their recorded state (as well as display and trig mode). This way the program is initialized to these settings. So Bernhard's emulator works fine. Just add the MODE section, so that the flags are initialized like on a real HP67. (06-19-2016 06:51 AM)Harald Wrote: The comments are taken from Willi Kunz's version for his emulator. I was too lazy to type the program and instead took it from Willi's website. So this emulator does *not* behave like a real HP67? There must be some hidden digits, otherwise the result would not be rounded up – unlike the real 67/97. Dieter |
|||
06-19-2016, 12:46 PM
Post: #44
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 09:31 AM)PANAMATIK Wrote: I didn't know that reading a card with register data does automatically set Flag 3. Reading a data card sets flag 3. But on real hardware program cards and data cards are two different things. Unlike files for the emulator where both are combined. That's why you should not set flag 3 when a data section is read. The mode section initializes the four flags. What is the emulator supposed to do if MODE tells it to clear flag 3 and DATA tells to set it? And a data section is always there if an emulator file is written by the program. If the user wants to have flag 3 set in an emulator file with data section he can simply set this in the mode section. (06-19-2016 09:31 AM)PANAMATIK Wrote: It is possible to get close to a perfect emulation, but not closer. On a real HP67 reading a data card first would set flag 3, reading the program card afterwards may clear it again. Or the other way round if the program card is read first. #-) Dieter |
|||
06-19-2016, 02:42 PM
Post: #45
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 12:37 PM)Dieter Wrote: So this emulator does *not* behave like a real HP67? There must be some hidden digits, otherwise the result would not be rounded up – unlike the real 67/97. As he claims correctly on his website, his RPN-67 is a simulation and does not emulate the original microcode. Rounding differences in the last digits is a quite common difference between emulation and simulation. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
06-19-2016, 05:43 PM
(This post was last modified: 06-19-2016 05:48 PM by Dieter.)
Post: #46
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 02:42 PM)PANAMATIK Wrote: As he claims correctly on his website, his RPN-67 is a simulation and does not emulate the original microcode. Rounding differences in the last digits is a quite common difference between emulation and simulation. OK, so this is a simulator, not an emulator. But I still wonder why the comment re. the diagnostics program said... Quote:(Note that a real HP-67 returns -8.888888888-88 since it doesn't round the last digit correctly.)...that a real HP67 does something wrong in that it rounded the result incorrectly. This is not true – the 10-digit value 1.111111111 E+88 times –8 is exactly what's displayed: –8.888888888–88. Willy, are you out there? If it's you who wrote this, could you please explain why you think a "real HP67" is wrong here? Maybe I didn't understand you correctly. Dieter |
|||
06-19-2016, 06:25 PM
Post: #47
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 05:43 PM)Dieter Wrote: ...that a real HP67 does something wrong in that it rounded the result incorrectly. This is not true – the 10-digit value 1.111111111 E+88 times –8 is exactly what's displayed: –8.888888888–88. Maybe you meant 1.111111111 E-88 times –8 = –8.888888888–88 :) Greetings, Massimo -+×÷ ↔ left is right and right is wrong |
|||
06-19-2016, 07:59 PM
(This post was last modified: 06-19-2016 08:00 PM by PANAMATIK.)
Post: #48
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 05:43 PM)Dieter Wrote: Willy, are you out there? If it's you who wrote this, could you please explain why you think a "real HP67" is wrong here? Maybe I didn't understand you correctly. The HP-67 has 10 mantissa digits internally. The result of 1/(9 E+87) is 1.111111111000.... E -88 times 8 is 8.888888888000.... E -88 The comment assumes , that there are more internal mantissa digits present, which is obviously only true in the RPN-67 simulator. The original HP-67 is not wrong, but shows the limit of its internal precision. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
06-20-2016, 07:38 AM
Post: #49
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
Ok, sorry for the confusion. I really shouldn't write in a hurry and then comment from my mobile phone without checking what I have actually writenn...
Apparently I made a copy and paste mistake when quoting the code I used for Bernhards emulator. The correct code is: Code:
If the MODE section is now changed to Code:
everything works fine. The comments in the code are A) the code for Willis Simulator (sorry for confusing it with an emulator before, which it cant be if it displays different results from the real calculator) B) the key codes and then below the actual program C) Willis text regarding the program running on his simulator (which by the way is very nice too, and I used frequently until I dropped my ipad and the screen broke) And here is my interpretation of Willis comment on the rounding: The mathematically correct result would be rounded to a 9 in the last digit. The real calculator cannot do that as it has no extra digits and therefore no information on how to round the last digit. So the result is both correct as in it is the best the calculator can do given its limitations, and at the same time incorrect if you were to look at the mathematically correct result. Willis Simulator overcomes those limitations by adding extra internal digits and therefore displays the mathematically correct result. |
|||
06-20-2016, 09:31 AM
(This post was last modified: 07-26-2016 09:09 PM by Willy R. Kunz.)
Post: #50
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(06-19-2016 07:59 PM)PANAMATIK Wrote:(06-19-2016 05:43 PM)Dieter Wrote: Willy, are you out there? If it's you who wrote this, could you please explain why you think a "real HP67" is wrong here? Maybe I didn't understand you correctly. Thank you, Bernhard, that's the correct explanation. If you're running my 67/97 products in what I call "HP-67 accuracy", I limit values to what the display can hold by essentially producing the 0's you show above. Only in high-accuracy mode the invisible digits are left in place and are used for rounding. I found out the hard way that having only high accuracy would break many original HP programs. For example, one program would repeatedly multiply a value by 10 until enough 0's had been shifted in to return TRUE when testing for zero. Willy Addendum: Interestingly, the HP-65 Diagnostic Program (STD-18A) creates the -8.888888889E-88 check number by actually computing the TAN of -5.092958178E-86°. The correct value is -8.888888887 (2471)E-88, so the last digit is indeed 7, not 8. The HP-67, on the other hand, computes TAN correctly, so HP had to take a different approach to produce the desired number. (TAN(-5.092958179E-86) returns -8.888888889E-88, so that's no help either.) As an aside, Free42 returns -1.158028306E-34 for the tangent, although the sine (-8.888888887E-87) and the cosine (1.00000000) are correct. And TAN(-5.092958178E-86°) simply crashes WP34s... (version 3.3, both on iPhone and iPad). |
|||
07-02-2016, 01:01 PM
Post: #51
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
I didn't know that reading a card with register data does automatically set Flag 3. Now I'm not sure whether to add this behaviour and set Flag 3 automatically if the file contains a DATA section.
Flag 3 is set by microcode at address 13016 octal during data card reads, and mentioned on Pg 256 of owner handbook. cheers Tony |
|||
07-04-2016, 02:15 PM
Post: #52
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
Thanks to teenix and his nice looking borderless emulators, I made the HP-67 and HP-65 Emulators now also configurable as borderless application.
The image file name can be chosen within the configuration file and .png files with transparent color are accepted. See the description in the updated manual. HP-67 Emulator Have fun with the now optionally nice looking borderless emulators. HP-25 and other emulators will follow as borderless versions soon. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
07-04-2016, 06:57 PM
Post: #53
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(07-04-2016 02:15 PM)PANAMATIK Wrote: Thanks to teenix and his nice looking borderless emulators, I made the HP-67 and HP-65 Emulators now also configurable as borderless application. The new borderless HP-67 is quite nice. Thank you Bernhard and also to teenix for the nice images and borderless scheme. Bernhard - how does one find the program version (e.g. v1.04) of the .exe file now that the fly-out right border is gone? I checked the .exe file properties on the Details tab, but it shows only 1.0.0.0 so this is not being used. --Bob Prosperi |
|||
07-04-2016, 08:15 PM
Post: #54
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(07-04-2016 06:57 PM)rprosperi Wrote: Bernhard - how does one find the program version (e.g. v1.04) of the .exe file now that the fly-out right border is gone? I checked the .exe file properties on the Details tab, but it shows only 1.0.0.0 so this is not being used. The program version can still be displayed when you configure the non transparent mode in the .kml file. Just remove the keyword TRANSPARENT or rename the .kml file to start in default mode. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
07-04-2016, 10:24 PM
Post: #55
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(07-04-2016 08:15 PM)PANAMATIK Wrote: The program version can still be displayed when you configure the non transparent mode in the .kml file. Just remove the keyword TRANSPARENT or rename the .kml file to start in default mode. Simple answer. Dumb question. Thanks. --Bob Prosperi |
|||
08-03-2016, 12:41 PM
Post: #56
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
HP-19C Emulator available!
The first ever HP-19C microcode emulator is available since today. I was lucky to read the last puzzle of ROM code some weeks ago. And since then I tried to get it running including printing. I think I am not yet successful at all points. But the emulation is running and decodes also the really special printer output sequences to readable text. Still this emulation lacks of some useful features like saving and loading programs and saving the printer output. And I did not yet find the reason, why printing in TRACE mode doesn't show the mnemonics of the last executed function, as described in the manual. Perhaps the microcode of my machine was an early version? Unfortunately I don't have a working HP-19C, I could just read the microcode from its chips. Have fun with playing around with the first ever HP-19C Emulator. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
08-03-2016, 04:18 PM
Post: #57
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(08-03-2016 12:41 PM)PANAMATIK Wrote: HP-19C Emulator available! Wow, there is really a lot happening in terms of emulators these days! Thanks Bernhard! |
|||
08-03-2016, 05:46 PM
Post: #58
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(08-03-2016 04:18 PM)Harald Wrote: Wow, there is really a lot happening in terms of emulators these days! Thanks Bernhard! Harald, In this case, you are 4/5 responsible for making this possible, because 4k out of 5k ROM I could extract from your HP-19C, which you gave me some month ago for this purpose. I needed until now to understand how the 5th k could be read: Two of the ROM chips in the HP-19C have dedicated chip select inputs, one is low active, the other high active, sharing the same address space at 4k. The chip select pin is controlled by the s0 bit in the ACT status register, which is connected to the two ROMs. In later calculator models i.e. HP-67 HP invented the bank switch instruction, which toggled between the ROM chips during runtime without needing an extra chip select pin. Many credits! Thanks again for your help, you will be mentioned in the upcoming manual of the HP-19C emulator. Bernhard That's one small step for a man - one giant leap for mankind. |
|||
08-09-2016, 12:06 AM
(This post was last modified: 08-09-2016 12:29 AM by PANAMATIK.)
Post: #59
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
(08-03-2016 12:41 PM)PANAMATIK Wrote: HP-19C Emulator available! I solved the above problem. There is no doubt any more, that the extracted HP-19C microcode is the original version, it was just interpreting wrong when reading external input pins like the printer mode switch. After intensively examining the HP-19C hardware and the reconstruction of a full schematic, I discovered that the same signal, which switches between the two upper ROMs, is used also as an input multiplexer for PRGM/RUN switch and the printer mode switch and the printer home switch and motor running input, realized by a tricky transistor circuit. Yes, the single s0 signal has five different functions! This hardware trick leads to some remarkable consequences: If code in address range 1-6000 to 1-7777 is running, scanning of the PRGM/RUN or printer switch is strictly prohibited, which indeed doesn't occur. As I understand the circuit better now, I could make some changes and the emulation does work correctly in TRACE mode and shows the mnemonic of the actual calculation . The release of a next HP-19C version will follow in a few days. If some more experiments will also succeed, I think I can announce that a modified newACT repair kit will finally be available for repairing of defective HP-19C calculators Bernhard That's one small step for a man - one giant leap for mankind. |
|||
08-09-2016, 10:24 AM
Post: #60
|
|||
|
|||
RE: Classic, Woodstock and Spice Emulators
That's one small step for a man - one giant leap for mankind. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)