HP Forums
Classic, Woodstock and Spice Emulators - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: Classic, Woodstock and Spice Emulators (/thread-6398.html)

Pages: 1 2 3 4 5 6


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-19-2016 07:47 PM

(09-19-2016 06:44 PM)Dieter Wrote:  BTW your 67 emulator (and all others I tried so far) runs fine. And I love it. ;-)

Thank you! The HP-67 emulator maybe was a good throw.

(09-19-2016 06:44 PM)Dieter Wrote:  BTW2: unlike the '67/97, the decimal point of most other HPs from that era does not occupy a full digit. Instead it is placed between the digits. As far as the font is concerned this is no problem, the classic LED font handles this with its regular period/comma. But I don't know if this a problem in terms of emulator programming. ;-)

When calculating the display string for the HP-67 emulator, the only thing to check is, whether the classic LED font is selected, if so a semicolon ; will be inserted instead of a period . , which shows the decimal dot at a higher position and occupies a full digit.

However if emulating the HP-67 or HP-19C on a HP-25 hardware with the new ACT, if a decimal dot is detected, it must be attached to the previous digit on the left. Two more digits must be eliminated by other means for displaying everything in only 12 available digits.

(09-19-2016 06:44 PM)Dieter Wrote:  BTW3: I'd suggest that the display region in the 19C pictures get a uniform dark red, like the 67, which makes the digits blend seamlessly into the background. With the '67 I am using RGB 43,32,38 for this. Or do you know a way of displaying a TTF font on transparent background ?-)

I didn't yet try transparent font yet, but it is a good idea and is possible somehow. Perhaps I will make a (real final ?) version containing this feature Smile

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-19-2016 08:20 PM

(09-19-2016 07:21 PM)PANAMATIK Wrote:  Mea culpa! I accidentally compiled for .NET 4.5. Now I recompiled for .NET 3.5. You can download the new version, which should run also on XP systems.

Great - it works now.

The standard kml file is configured for a PNG file which is not supplied. This should be changed to the same size JPG file that comes with the emulator (hp19c_407.jpg).

I tried the printer and there were some problems. First, all printer fonts I tried to not look good (almost no spacing between the lines, sometimes distorted characters), and more important: although the font size should be small enough lines are cut at about 2/3 the line width and the remaining characters are not printed until the next print command follows. Press PRX and nothing happens. Press PRX again and the value in X is printed. Press PRX a third time and the trailing "***" are printed. #-)

On the other hand Courier New 12pt seems to work fine (maybe this is the reason why this is the default setting in the KML file) but the printout starts at the very limit of the left paper border while on the right hand side there is plenty of room. I could not find a configuration setting that moves the printout more towards the center.

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-19-2016 09:34 PM

(09-19-2016 08:20 PM)Dieter Wrote:  The standard kml file is configured for a PNG file which is not supplied....

I'm sorry, again my fault! Download again!

(09-19-2016 08:20 PM)Dieter Wrote:  I tried the printer and there were some problems. First, all printer fonts I tried to not look good (almost no spacing between the lines, sometimes distorted characters), and more important: although the font size should be small enough lines are cut at about 2/3 the line width and the remaining characters are not printed until the next print command follows. Press PRX and nothing happens. Press PRX again and the value in X is printed. Press PRX a third time and the trailing "***" are printed. #-)

On the other hand Courier New 12pt seems to work fine (maybe this is the reason why this is the default setting in the KML file) but the printout starts at the very limit of the left paper border while on the right hand side there is plenty of room. I could not find a configuration setting that moves the printout more towards the center.

Dieter

Indeed the two supplied printer fonts for HP82240 have some limitations, and I had no influence of the line spacing, therefore I choose "Courier New" as default.

If PRX doesn't show the first lines, the font size is too big. Reduce the number of print lines or font size.

If printout starts at the very left of the border, I assume the font is proportional with very small sized leading spaces. My "Courier New 12pt" behaves non proportional, but I don't know why it behaves different.

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-19-2016 10:29 PM

(09-19-2016 09:34 PM)PANAMATIK Wrote:  I'm sorry, again my fault! Download again!

Shouldn't be required as a simple change in the KML file (JPG instead of PNG) is all that's required.

(09-19-2016 09:34 PM)PANAMATIK Wrote:  Indeed the two supplied printer fonts for HP82240 have some limitations, and I had no influence of the line spacing, therefore I choose "Courier New" as default.

I also tried the 82143A font. Some font sizes result in missing dot lines, similar to a defective matrix printer.

(09-19-2016 09:34 PM)PANAMATIK Wrote:  If PRX doesn't show the first lines, the font size is too big. Reduce the number of print lines or font size.

Example: NORM mode, type Pi and SCI9. Nothing happens. Pressing PRX makes Pi appear on the printer. Another PRX shows the SCI9 command, a third one prints Pi.

(09-19-2016 09:34 PM)PANAMATIK Wrote:  If printout starts at the very left of the border, I assume the font is proportional with very small sized leading spaces. My "Courier New 12pt" behaves non proportional, but I don't why it behaves different.

Of course all fonts I tried are fixed-width fonts, not proportional ones. Courier New 12 pt has the same problems, the printout starts at the left border. It looks like there is no leading space at all.

I just tried the 82240A Roman font 12 pt with 14 print lines, and here the leftmost character still is directly at the left border while this time the rightmost character almost touches the right border. Also the line spacing is much too narrow.

All in all I did not get a convincing printout with any font and setting I tried. Courier still is the one that looks best. If it only would not start that close to the left paper border.

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-19-2016 10:41 PM

(09-19-2016 10:29 PM)Dieter Wrote:  Shouldn't be required as a simple change in the KML file (JPG instead of PNG) is all that's required.

But the now supplied .png file is prepared for TRANSPARENT mode Smile

I will try to improve the printer font handling.

(09-19-2016 10:29 PM)Dieter Wrote:  Example: NORM mode, type Pi and SCI9. Nothing happens. Pressing PRX makes Pi appear on the printer. Another PRX shows the SCI9 command, a third one prints Pi.

Reduce Number of print lines

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-20-2016 06:44 PM

(09-19-2016 10:41 PM)PANAMATIK Wrote:  But the now supplied .png file is prepared for TRANSPARENT mode Smile

Yes, that's fine. However, in transparent mode clicking on "OFF" exits the emulator – and all data is lost as, unlike the real thing, the emulator does not save anything on exit. What about a state file that preserves everything a real 19C would also keep when turned off?

(09-19-2016 10:41 PM)PANAMATIK Wrote:  I will try to improve the printer font handling.

Here is a picture that shows a real 19C and the emulator side by side. It's based on a screenshot from Jürgen Keller's website. Click to view the full sized picture.

[attachment=3963]

You can see that the program listing on the real device is right justified while the emulator starts all lines directly at the left border. For this example Courier New 12pt was used. The line spacing is fine, but the printout would improve if everything was moved by, say, three characters to the right.
BTW, what's the max. number of characters the 19C prints on one line? 17? Up to 20?

Finally let me add two suggestions regarding the printer function.

First I think that adding a "clear printout" button would be nice. Something that works like advancing and tearing off the paper on a real 19C so that you get a blank print area on the emulator. Could be done by double-clicking on the paper.

And then there is a nice feature that I really like on Free42: printed output can be written to a text file. Everyting that goes to the printer is saved (appended to) a file specified by the user. This way you get all printed results even if the output is longer than the 10 or 12 lines that are visible on the emulator. Would you consider this a useful extension?

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-20-2016 07:28 PM

(09-20-2016 06:44 PM)Dieter Wrote:  .... in transparent mode clicking on "OFF" exits the emulator – and all data is lost as, unlike the real thing, the emulator does not save anything on exit. What about a state file that preservers everything a real 19C would also keep when turned off?

Yes, I will implement that.

(09-20-2016 06:44 PM)Dieter Wrote:  You can see that the program listing on the real device is right justified while the emulator starts all lines directly at the left border. For this example Courier New 12pt was used. The line spacing is fine, but the printout would improve if everything was moved by, say, three characters to the right.
BTW, what's the max. number of characters the 19C prints on one line? 17? Up to 20?

The printer buffer in the PIK chip is 21 characters and the firmware prints always 21 characters including leading spaces per line. Obviously I clipped the leading spaces, but now I see they have to be printed. This will shift the printer output by 4 characters to the right. I don't have a real HP-19C, so I didn't know how the printout should look like. Thank you very much for this picture.

(09-20-2016 06:44 PM)Dieter Wrote:  Finally let me add two suggestions regarding the printer function.

First I think that adding a "clear printout" button would be nice. Something that works like advancing and tearing off the paper on a real 19C so that you get a blank print area on the emulator. Could be done by double-clicking on the paper.

And then there is a nice feature that I really like on Free42: printed output can be written to a text file. Everything that goes to the printer is saved (appended to) a file specified by the user. This way you get all printed results even if the output is longer than the 10 or 12 lines that are visible on the emulator. Would you consider this a useful extension?

Dieter

Both suggestions are useful and will find their way to the next emulator version.

Thanks again for your very welcome beta testing.

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-20-2016 07:54 PM

(09-20-2016 07:28 PM)PANAMATIK Wrote:  
(09-20-2016 06:44 PM)Dieter Wrote:  .... in transparent mode clicking on "OFF" exits the emulator – and all data is lost as, unlike the real thing, the emulator does not save anything on exit. What about a state file that preservers everything a real 19C would also keep when turned off?

Yes, I will implement that.

Great. Thank you very much for your quick reply – and an open mind for new suggestions. ;-)

(09-20-2016 07:28 PM)PANAMATIK Wrote:  The printer buffer in the PIK chip is 21 characters and the firmware prints always 21 characters including leading spaces per line. Obviously I clipped the leading spaces, but now I see they have to be printed. This will shift the printer output by 4 characters to the right. I don't have a real HP-19C, so I didn't know how the printout should look like. Thank you very much for this picture.

My pleasure – this way a good emulator gets even better.

(09-20-2016 07:28 PM)PANAMATIK Wrote:  [ Clear printout, write output to file ]
Both suggestions are useful and will find their way to the next emulator version.

I'm looking forward to the next version.

BTW, I now am experimenting with an alternate dot matrix printer font. I found one that seems to work quite well, it is called "Receiptional Receipt", and it looks remarkably similar to the one used in the 97 or 19C. Simply do a Google image search and see for yourself. Only the line spacing is a bit narrow, as it is with most other fonts I tried with the 19C emulator. Maybe this can be adjusted within the emulator. Enter a program and print it with this font in 10pt size (maybe with the output moved a few characters to the right and with a bit more line spacing), and it looks quite similar to a "real" printout. However, at least the version I got does not support some special characters like arrows, "√" or "Σ".

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-20-2016 08:58 PM

(09-20-2016 07:54 PM)Dieter Wrote:  I'm looking forward to the next version.

Dieter

Here it is! Smile HP-19C Now you can also define PRINTCOLOR! Red thermo paper should be no problem. "ContinuousMemory" will be saved on exit. Printer output will be appended to "Printer.log" file.

The only idea which made problems is the transparent font for the display, I couldn't find an easy solution. You still have to provide a uniform color area for your custom image.

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-20-2016 10:28 PM

(09-20-2016 08:58 PM)PANAMATIK Wrote:  Here it is! Smile HP-19C Now you can also define PRINTCOLOR! Red thermo paper should be no problem. "ContinuousMemory" will be saved on exit. Printer output will be appended to "Printer.log" file.

Works great. the logfile cannot be accessed (and viewed) as long as the emulator is running, but that is a minor problem.

The printout now is nicely aligned – much better than before. It seems to come close to the printout of a real 19C. Especially if you use a different printer font: as already mentiod I found a very nice one (Receiptional Receipt) that matches the real thing quite closely. The only remaining problem with most fonts (i.e. all I tried except Courier New) is the line spacing. This could be solved by the settings in the current KML file: simply divide the height of the print area by the number of print lines (...+1) and set the line spacing to this value. So if the printer area is 180 pixels high and 9 lines are printed, the line spacing is 180/(9+1) = 18 pixels.

You really should try this special printer font. I think it looks great. ;-)

Dieter


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-22-2016 06:02 PM

(09-20-2016 10:28 PM)I Wrote:  You really should try this special printer font. I think it looks great. ;-)

Here is a screenshot (as usual, click to the view full size image):

[attachment=3965]

The more I look at it the more differences compared to "the real thing" I discover, but still I think the overall impression matches quite nicely, especially the slightly slanted characters of this font.

There are only a few issues. For instance the printout seems to replace some special characters and symbols by those from another font. Take a look at the X<>Y in line 93. Since the character widths do not match this line is out of alignment (here the line is a bit too short). I am not sure how this character replacement is implemented exactly, maybe you (Bernhard) can shed some light on this. Also I wonder why the divide symbol is "/" instead of "÷".

And then there is the line spacing issue (compare the output with a picture of a real 19C). I already suggested a possible fix, but maybe you have another idea. The listing on the right of the picture gives an impression of how it could look like.

And maybe someone in this community even is able to design a dedicated HP printer font for the 19C/97 and other printing calculators from this era. In this case we would have to define some special characters.

BTW, the position of the print mode slider obviously is not saved in the "ContinuousMemory" file. Maybe this could be changed.

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-25-2016 10:56 PM

Sorry for replying so late.

(09-22-2016 06:02 PM)Dieter Wrote:  There are only a few issues. For instance the printout seems to replace some special characters and symbols by those from another font. Take a look at the X<>Y in line 93. Since the character widths do not match this line is out of alignment (here the line is a bit too short). I am not sure how this character replacement is implemented exactly, maybe you (Bernhard) can shed some light on this. Also I wonder why the divide symbol is "/" instead of "÷".

The problem is that none of the available fonts exactly matches the HP-19C printer font. The "exchange" single character wasn't even present in the Courier New font, so I replaced it by two characters <>, loosing the alignment. And the divide symbol can appear only, if you choose the HP82240R font.

(09-22-2016 06:02 PM)Dieter Wrote:  And then there is the line spacing issue (compare the output with a picture of a real 19C). I already suggested a possible fix, but maybe you have another idea. The listing on the right of the picture gives an impression of how it could look like.

I didn't find a setting for the line spacing in the font class of c#, maybe I was not searching consequently enough.

(09-22-2016 06:02 PM)Dieter Wrote:  And maybe someone in this community even is able to design a dedicated HP printer font for the 19C/97 and other printing calculators from this era. In this case we would have to define some special characters.

This would solve all of the above HP-19C printer issues. Smile

(09-22-2016 06:02 PM)Dieter Wrote:  BTW, the position of the print mode slider obviously is not saved in the "ContinuousMemory" file. Maybe this could be changed.

The slider position is not part of the "Continuous Memory" RAM, it is a mechanical memory, which is not saved to disk. The HP-19C emulator always starts in MAN mode, as well as it always starts in RUN mode. BTW it doesn't save either, whether the f or g prefix was pressed before switching off.

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-26-2016 06:03 AM

(09-25-2016 10:56 PM)PANAMATIK Wrote:  I didn't find a setting for the line spacing in the font class of c#, maybe I was not searching consequently enough.

But it should be possible to define the vertical position of a text line. Or one could print an empty line in a font with 1/4 or 1/8 the regular size.

(09-25-2016 10:56 PM)PANAMATIK Wrote:  
(09-22-2016 06:02 PM)Dieter Wrote:  And maybe someone in this community even is able to design a dedicated HP printer font for the 19C/97 and other printing calculators from this era. In this case we would have to define some special characters.

This would solve all of the above HP-19C printer issues. Smile

Anyone out there who could do this?
The project could start with a reasonably high resolution scan of a 19C or 97 printout of a program listing that contains all commands and the ten digits.

(09-25-2016 10:56 PM)PANAMATIK Wrote:  The slider position is not part of the "Continuous Memory" RAM, it is a mechanical memory, which is not saved to disk.

Anyway, it's something that does not change if you turn a real 19C off and on again. So I think it should be saved as well.

(09-25-2016 10:56 PM)PANAMATIK Wrote:  The HP-19C emulator always starts in MAN mode,

I'd be glad if it would. But it always starts in NORM mode.

(09-25-2016 10:56 PM)PANAMATIK Wrote:  BTW it doesn't save either, whether the f or g prefix was pressed before switching off.

I do not think a real 19C does this, so that's fine. ;-)

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-26-2016 09:40 AM

(09-26-2016 06:03 AM)Dieter Wrote:  I'd be glad if it would. But it always starts in NORM mode.

Sorry for the mistake, but this can be changed easily.

If I save the slider positions, then I fear, that you will also suggest to keep the last print lines visible. Sad I will think about it. Smile

Bernhard


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 09-26-2016 11:00 AM

The HP-19C does now save the slider positions!

Again I checked the line spacing issue. It is really complicated, because even the richTextbox class doesn't offer this feature. The effort to generate a derived class is not easy. All would be fine if a HP-19C printerfont with appropriate line spacing will be designed by somebody in the future Smile , but I fear I have to do that myself some day Sad

Bernhard


RE: Classic, Woodstock and Spice Emulators - Dieter - 09-26-2016 06:19 PM

(09-26-2016 09:40 AM)PANAMATIK Wrote:  If I save the slider positions, then I fear, that you will also suggest to keep the last print lines visible. Sad

Hmmm... now that you say it... 8-)))

Honestly – I can only suggest the one or other detail that I think would be an improvement. You decide if this might go into the emulator or not.

(09-26-2016 09:40 AM)PANAMATIK Wrote:  I will think about it. Smile

Great.

Dieter


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 10-26-2016 01:25 PM

The worlds first HP-70 Emulator!

At the Allschwil Meeting 2016 I could present the worlds first original microcode emulator of the HP-70 classic model. Nobody has opened an HP-70 calculator before for extracting its ROM code. This was possible by HP collection, who gave me his precious calculator for this purpose. Thanks a lot Matthias.

There is a PC emulator version for download here.

Now all of the classic models finally are available as original microcode emulators.

You will also find new HP-70 and HP-01 microcode files in the panamatik download section.

Bernhard


RE: Classic, Woodstock and Spice Emulators - teenix - 10-27-2016 12:03 AM

(10-26-2016 01:25 PM)PANAMATIK Wrote:  The worlds first HP-70 Emulator!


You will also find new HP-70 and HP-01 microcode files in the panamatik download section.

Bernhard

Nice work Bernhard Smile

I downloaded your microcode file and see instruction (1 -> f 3) at address 03406

There is only this reference to f3, is this special to the calculator model or does it execute as a [no operation]

cheers

Tony


RE: Classic, Woodstock and Spice Emulators - PANAMATIK - 10-27-2016 09:15 AM

(10-27-2016 12:03 AM)teenix Wrote:  I downloaded your microcode file and see instruction (1 -> f 3) at address 03406

There is only this reference to f3, is this special to the calculator model or does it execute as a [no operation]

The instruction at 03406 must be: 0764 delayed select rom 3

I hope this is the only issue (high probability!). Reading the HP-70 ROM by not touching the precious hardware was very complicated and obviously this escaped my verifying.

Thanks for discovering that!

I assume we will see another teenix HP-70 emulator tomorrow Smile

Bernhard


RE: Classic, Woodstock and Spice Emulators - teenix - 10-27-2016 11:00 AM

(10-27-2016 09:15 AM)PANAMATIK Wrote:  The instruction at 03406 must be: 0764 delayed select rom 3

I hope this is the only issue (high probability!). Reading the HP-70 ROM by not touching the precious hardware was very complicated and obviously this escaped my verifying.

Thanks for discovering that!

I assume we will see another teenix HP-70 emulator tomorrow Smile

Bernhard

Thanks for the reply and for making the code available

Yes I can imagine those nervous surgeon hands.

Already uploaded, how could I resist :-)

I found it interesting that after scrounging the general operating system and the mathematical routines from the HP80 and writing the rest of the microcode for the HP70 differences myself, that my code used 325 less ROM words and 1 less RAM and yet offers the same functionality.

Maybe I could have got a job at HP way back then ;-)

cheers

Tony