Post Reply 
Leonardo meets Emu42
09-03-2021, 09:18 PM (This post was last modified: 09-10-2021 02:45 PM by Christoph Giesselink.)
Post: #1
Leonardo meets Emu42
Code:
Global
    Print    "==================================================="
    Print    ""
    Print    "This Real 32S graphic is by Christoph Giesselink."
    Print    "http://hp.giesselink.com/"
    Print    "Graphic based on a scan by Hewlett-Packard."
    Print    ""
    Print    "==================================================="
    Title    "Christoph's Real HP32S for 1024x768"
    Author   "Christoph Giesselink"
    Hardware "Lewis"    # Sacajawea
    Model    "L"        # Leonardo
    Rom      "HP32S.ROM"
    Bitmap   "REAL32S.PNG"
    Color    3 180 189 180
    Debug    0
End

Background
    Offset   0   0
    Size   356 656
End

Lcd
    Offset 40 131        # position of display area
    Color  0 100 118 100    # segment color table
    Color  1  91 107  91
    Color  2  82  96  82
    Color  3  73  85  73
    Color  4  64  74  64
    Color  5  55  63  55
    Color  6  46  52  46    # default
    Color  7  37  41  37
    Color  8  28  30  28
    Color  9  19  19  19
    Color 10  10  10  10
    Color 11   0   0   0
    Color 12   0   0   0
    Color 13   0   0   0
    Color 14   0   0   0
    Color 15   0   0   0
    Color 27  92 109  90    # background
    Color 28  86 100  82
    Color 29  78  91  74
    Color 30  70  82  66
    Color 31  62  73  58
End

Digit
    Offset 17 13        # position of 1st character
      Size    3  4        # size of LCD pixel
    Distance 21        # distance between segments
End

Annunciator 1            # chr  0-0, Minus
    Size 12 4
    Offset 0 25
    Down 0 657
End

Annunciator 2            # chr  0-1, Down
    Size 8 9
    Offset 0 0
    Down 20 657
End

Annunciator 3            # chr  0-2, Soft1
    Size 7 14
    Offset 13 48
    Down 271 657
End

Annunciator 4            # chr  0-3, cm
    Size 5 4
    Offset 32 42
    Down 13 662
End

Annunciator 5            # chr  0-4, dp
    Size 4 4
    Offset 33 38
    Down 14 657
End

Annunciator 6            # chr  1-0, Up
    Size 8 9
    Offset 8 0
    Down 29 657
End

Annunciator 7            # chr  1-1, Left
    Size 21 8
    Offset 32 50
    Down 0 667
End


Annunciator 8            # chr  1-2, Shift
    Size 19 9
    Offset 19 0
    Down 39 657
End

Annunciator 9            # chr  1-3, cm
    Size 5 4
    Offset 53 42
    Down 13 662
End

Annunciator 10            # chr  1-4, dp
    Size 4 4
    Offset 54 38
    Down 14 657
End

Annunciator 11            # chr  2-0, Soft2
    Size 7 14
    Offset 59 48
    Down 271 657
End

Annunciator 12            # chr  2-1, Begin
    Size 29 9
    Offset 41 0
    Down 59 657
End

# Annunciator 13        # chr  2-2, unconnected

Annunciator 14            # chr  2-3, cm
    Size 5 4
    Offset 74 42
    Down 13 662
End

Annunciator 15            # chr  2-4, dp
    Size 4 4
    Offset 75 38
    Down 14 657
End

# Annunciator 16        # chr  3-0, unconnected

Annunciator 17            # chr  3-1, A..Z
    Size 20 11
    Offset 77 49
    Down 279 657
End

Annunciator 18            # chr  3-2, Pgm
    Size 28 9
    Offset 73 0
    Down 90 657
End

Annunciator 19            # chr  3-3, cm
    Size 5 4
    Offset 95 42
    Down 13 662
End

Annunciator 20            # chr  3-4, dp
    Size 4 4
    Offset 96 38
    Down 14 657
End

# Annunciator 21        # chr  4-0, unconnected

# Annunciator 22        # chr  4-1, unconnected

Annunciator 23            # chr  4-2, Soft3
    Size 7 14
    Offset 108 48
    Down 271 657
End

Annunciator 24            # chr  4-3, cm
    Size 5 4
    Offset 116 42
    Down 13 662
End

Annunciator 25            # chr  4-4, dp
    Size 4 4
    Offset 117 38
    Down 14 657
End

Annunciator 26            # chr  5-0, Input
    Size 30 9
    Offset 104 0
    Down 120 657
End

Annunciator 27            # chr  5-1, Error (!)
    Size 18 17
    Offset 122 46
    Down 300 657
End

Annunciator 28            # chr  5-2, Flag0
    Size 6 9
    Offset 137 0
    Down 151 657
End

Annunciator 29            # chr  5-3, cm
    Size 5 4
    Offset 137 42
    Down 13 662
End

Annunciator 30            # chr  5-4, dp
    Size 4 4
    Offset 138 38
    Down 14 657
End

# Annunciator 31        # chr  6-0,  unconnected

Annunciator 32            # chr  6-1, Flag1
    Size 4 9
    Offset 146 0
    Down 159 657
End

# Annunciator 33        # chr  6-2, unconnected

Annunciator 34            # chr  6-3, cm
    Size 5 4
    Offset 158 42
    Down 13 662
End

Annunciator 35            # chr  6-4, dp
    Size 4 4
    Offset 159 38
    Down 14 657
End

Annunciator 36            # chr  7-0, Flag2
    Size 6 9
    Offset 153 0
    Down 165 657
End

Annunciator 37            # chr  7-1, Soft4
    Size 7 14
    Offset 164 48
    Down 271 657
End

Annunciator 38            # chr  7-2, Flag3
    Size 6 9
    Offset 162 0
    Down 173 657
End

Annunciator 39            # chr  7-3, cm
    Size 5 4
    Offset 179 42
    Down 13 662
End

Annunciator 40            # chr  7-4, dp
    Size 4 4
    Offset 180 38
    Down 14 657
End

Annunciator 41            # chr  8-0, G
    Size 6 9
    Offset 172 0
    Down 181 657
End

Annunciator 42            # chr  8-1, Rad
    Size 20 9
    Offset 179 0
    Down 188 657
End

Annunciator 43            # chr  8-2, Bat
    Size 20 8
    Offset 181 51
    Down 44 667
End

Annunciator 44            # chr  8-3, cm
    Size 5 4
    Offset 200 42
    Down 13 662
End

Annunciator 45            # chr  8-4, dp
    Size 4 4
    Offset 201 38
    Down 14 657
End

# Annunciator 46        # chr  9-0, unconnected

Annunciator 47            # chr  9-1, Soft5
    Size 7 14
    Offset 214 48
    Down 271 657
End

Annunciator 48            # chr  9-2, Hex
    Size 19 9
    Offset 203 0
    Down 210 657
End

Annunciator 49            # chr  9-3, cm
    Size 5 4
    Offset 221 42
    Down 13 662
End

Annunciator 50            # chr  9-4, dp
    Size 4 4
    Offset 222 38
    Down 14 657
End

# Annunciator 51        # chr 10-0, unconnected

Annunciator 52            # chr 10-1, Oct
    Size 20 9
    Offset 225 0
    Down 231 657
End

Annunciator 53            # chr 10-2, Right
    Size 21 8
    Offset 226 50
    Down 22 667
End

Annunciator 54            # chr 10-3, cm
    Size 5 4
    Offset 242 42
    Down 13 662
End

Annunciator 55            # chr 10-4, dp
    Size 4 4
    Offset 243 38
    Down 14 657
End

# Annunciator 56        # chr 11-0, unconnected

Annunciator 57            # chr 11-1, Soft6
    Size 7 14
    Offset 256 48
    Down 271 657
End

Annunciator 58            # chr 11-2, Bin
    Size 16 9
    Offset 248 0
    Down 253 657
End

Annunciator 59            # chr 11-3, cm
    Size 5 4
    Offset 263 42
    Down 13 662
End

Annunciator 60            # chr 11-4, dp
    Size 4 4
    Offset 264 38
    Down 14 657
End

Button 71            # ON, should be the first defined key
    Type 0
    Size 36 23
    Offset 29 585
    Down 29 587
    OutIn 0 32768
End

Button 11
    Type 0
    Size 36 23
    Offset 29 272
    Down 29 274
    OutIn 5 64
End
Button 12
    Type 0
    Size 36 23
    Offset 83 272
    Down 83 274
    OutIn 4 64
End
Button 13
    Type 0
    Size 36 23
    Offset 134 272
    Down 134 274
    OutIn 3 64
End
Button 14
    Type 0
    Size 36 23
    Offset 186 272
    Down 186 274
    OutIn 2 64
End
Button 15
    Type 0
    Size 36 23
    Offset 239 272
    Down 239 274
    OutIn 1 64
End
Button 16
    Type 0
    Size 36 23
    Offset 292 272
    Down 292 274
    OutIn 0 64
End

Button 21
    Type 0
    Size 36 23
    Offset 29 324
    Down 29 326
    OutIn 5 32
End
Button 22
    Type 0
    Size 36 23
    Offset 83 324
    Down 83 326
    OutIn 4 32
End
Button 23
    Type 0
    Size 36 23
    Offset 134 324
    Down 134 326
    OutIn 3 32
End
Button 24
    Type 0
    Size 36 23
    Offset 186 324
    Down 186 326
    OutIn 2 32
End
Button 25
    Type 0
    Size 36 23
    Offset 239 324
    Down 239 326
    OutIn 1 32
End
Button 26
    Type 0
    Size 36 23
    Offset 292 324
    Down 292 326
    OutIn 0 32
End

Button 31
    Type 0
    Size 88 27
    Offset 29 376
    Down 29 378
    OutIn 4 16
End
Button 32
    Type 0
    Size 36 23
    Offset 134 376
    Down 134 378
    OutIn 3 16
End
Button 33
    Type 0
    Size 36 23
    Offset 186 376
    Down 186 378
    OutIn 2 16
End
Button 34
    Type 0
    Size 36 23
    Offset 239 376
    Down 239 378
    OutIn 1 16
End
Button 35
    Type 0
    Size 36 23
    Offset 292 376
    Down 292 378
    OutIn 0 16
End

Button 41
    Type 0
    Size 36 23
    Offset 29 428
    Down 29 430
    OutIn 5 8
End
Button 42
    Type 0
    Size 47 23
    Offset 88 428
    Down 88 430
    OutIn 3 8
End
Button 43
    Type 0
    Size 47 23
    Offset 153 428
    Down 153 430
    OutIn 2 8
End
Button 44
    Type 0
    Size 47 23
    Offset 217 428
    Down 217 430
    OutIn 1 8
End
Button 45
    Type 0
    Size 47 23
    Offset 281 428
    Down 281 430
    OutIn 0 8
End

Button 51
    Type 0
    Size 36 23
    Offset 29 481
    Down 29 483
    OutIn 5 4
End
Button 52
    Type 0
    Size 47 23
    Offset 88 481
    Down 88 483
    OutIn 3 4
End
Button 53
    Type 0
    Size 47 23
    Offset 153 481
    Down 153 483
    OutIn 2 4
End
Button 54
    Type 0
    Size 47 23
    Offset 217 481
    Down 217 483
    OutIn 1 4
End
Button 55
    Type 0
    Size 47 23
    Offset 281 481
    Down 281 483
    OutIn 0 4
End

Button 61
    Type 0
    Size 36 23
    Offset 29 533
    Down 29 535
    OutIn 5 2
End
Button 62
    Type 0
    Size 47 23
    Offset 88 533
    Down 88 535
    OutIn 3 2
End
Button 63
    Type 0
    Size 47 23
    Offset 153 533
    Down 153 535
    OutIn 2 2
End
Button 64
    Type 0
    Size 47 23
    Offset 217 533
    Down 217 535
    OutIn 1 2
End
Button 65
    Type 0
    Size 47 23
    Offset 281 533
    Down 281 535
    OutIn 0 2
End

Button 72
    Type 0
    Size 47 23
    Offset 88 585
    Down 88 587
    OutIn 3 1
End
Button 73
    Type 0
    Size 47 23
    Offset 153 585
    Down 153 587
    OutIn 2 1
End
Button 74
    Type 0
    Size 47 23
    Offset 217 585
    Down 217 587
    OutIn 1 1
End
Button 75
    Type 0
    Size 47 23
    Offset 281 585
    Down 281 587
    OutIn 0 1
End

Include "Keyb32s.kmi"
   
Visit this user's website Find all posts by this user
Quote this message in a reply
09-03-2021, 10:14 PM (This post was last modified: 09-03-2021 10:41 PM by Massimo Gnerucci.)
Post: #2
RE: Leonardo meets Emu42
Thank you Christoph for completing the Mid Range Pioneer exhibition.
We only miss the 22S now... ;)

   

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
09-10-2021, 03:01 PM (This post was last modified: 09-10-2021 03:03 PM by Christoph Giesselink.)
Post: #3
RE: Leonardo meets Emu42
Just updated the KML code today. Because of a different PCB layout from the display of the HP14B to the HP32S, the '0' annunciator on the HP32S wasn't working.

A new Emu42 version with the possibility of using "Load/Save Object..." for HP32S user code programs will follow in the next weeks. The emulator and the KML script are still in beta stage, so you don't find anything HP32S related on my Emu42 web page.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-11-2021, 03:44 AM
Post: #4
RE: Leonardo meets Emu42
Nice! I tested it and it works. Seems that the 32SII keyboard include file is compatible with the 32S. Now to hope Plato can join the party.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-11-2021, 07:07 AM
Post: #5
RE: Leonardo meets Emu42
(09-11-2021 03:44 AM)Eric Rechlin Wrote:  Seems that the 32SII keyboard include file is compatible with the 32S.

Meanwhile I renamed Keyb32s.kmi to Keyb32sii.kmi for use at the 32SII and made some minor modifications in Keyb32s.kmi to take account on the single shift and up/down key of the 32S.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-16-2021, 12:25 PM
Post: #6
RE: Leonardo meets Emu42
(09-11-2021 03:44 AM)Eric Rechlin Wrote:  Now to hope Plato can join the party.
You won't have to wait too long now Wink

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
09-16-2021, 10:17 PM
Post: #7
RE: Leonardo meets Emu42
(09-16-2021 12:25 PM)J-F Garnier Wrote:  
(09-11-2021 03:44 AM)Eric Rechlin Wrote:  Now to hope Plato can join the party.
You won't have to wait too long now ;)

J-F

For those who can't wait, I'm prood to get a new picture in my gallery "Pictures at an exhibition of essentials". ;-)
Visit this user's website Find all posts by this user
Quote this message in a reply
09-16-2021, 11:31 PM
Post: #8
RE: Leonardo meets Emu42
(09-16-2021 10:17 PM)Christoph Giesselink Wrote:  
(09-16-2021 12:25 PM)J-F Garnier Wrote:  You won't have to wait too long now Wink

J-F

For those who can't wait, I'm prood to get a new picture in my gallery "Pictures at an exhibition of essentials". ;-)

Thank you Christoph. Collection complete!

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
09-17-2021, 07:55 AM (This post was last modified: 09-17-2021 08:14 AM by Giuseppe Donnini.)
Post: #9
RE: Leonardo meets Emu42
Thank you, Christoph!

Am I right in assuming that “A” is the model code for Plato in a KML file?

(Since the HP-22S isn’t officially supported, it obviously doesn’t get mentioned in the KML documentation.)
Find all posts by this user
Quote this message in a reply
09-17-2021, 08:46 AM
Post: #10
RE: Leonardo meets Emu42
(09-17-2021 07:55 AM)Giuseppe Donnini Wrote:  Thank you, Christoph!

Am I right in assuming that “A” is the model code for Plato in a KML file?

(Since the HP-22S isn’t officially supported, it obviously doesn’t get mentioned in the KML documentation.)

"A" is correct for Plato. An updated KML documentation will be available soon. The keyboard scan codes and the display annunciator mapping are identical with the Leonardo KML file.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-17-2021, 09:40 AM
Post: #11
RE: Leonardo meets Emu42
I'm happy that at least a few people are appreciating the Leonardo and Plato ROMs !

Some background on extracting the ROM.
On Christoph's site, you can read: " For [low-end and mid-range Pioneer] calculators you need special hardware and knowledge to extract the data from the Saturn bus system, a way, as far as I know, never gone on a Saturn based calculator".
So it was considered as "almost" impossible.

The 32S is, as I mentioned several times, my preferred every-day calculator rather than the 32SII, and it was a pity that the 32S was not supported in Emu42 due to the lack of ROM.
Some weeks ago, maybe stimulated by the SM projects, I investigated how to extract the ROM from the 32S.
I used an old 32S, partially working (usual kbd issue) that I opened long ago, and carefully looked at the PCB.
Quite quickly I noticed some 10 unused tracks that end to test pads and are not used elsewhere on the PCB.
I had the idea that maybe these test pads were bringing the Saturn bus outside, then with the help of some information from Christoph, I was able to identify the function of the test pads, access the internal Saturn bus and read the ROM. And that’s it !
The needed hardware is actually nothing special: a simple Arduino board is well enough.

[Image: hp32s_pcb2.jpg] [Image: romdmp_setup2.jpg]

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
09-17-2021, 01:57 PM
Post: #12
RE: Leonardo meets Emu42
(09-17-2021 09:40 AM)J-F Garnier Wrote:  I'm happy that at least a few people are appreciating the Leonardo and Plato ROMs !

Some background on extracting the ROM.
On Christoph's site, you can read: " For [low-end and mid-range Pioneer] calculators you need special hardware and knowledge to extract the data from the Saturn bus system, a way, as far as I know, never gone on a Saturn based calculator".
So it was considered as "almost" impossible.

The 32S is, as I mentioned several times, my preferred every-day calculator rather than the 32SII, and it was a pity that the 32S was not supported in Emu42 due to the lack of ROM.
Some weeks ago, maybe stimulated by the SM projects, I investigated how to extract the ROM from the 32S.
I used an old 32S, partially working (usual kbd issue) that I opened long ago, and carefully looked at the PCB.
Quite quickly I noticed some 10 unused tracks that end to test pads and are not used elsewhere on the PCB.
I had the idea that maybe these test pads were bringing the Saturn bus outside, then with the help of some information from Christoph, I was able to identify the function of the test pads, access the internal Saturn bus and read the ROM. And that’s it !
The needed hardware is actually nothing special: a simple Arduino board is well enough.

[Image: hp32s_pcb2.jpg] [Image: romdmp_setup2.jpg]

J-F

Excellent job! Thank you both.

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
09-18-2021, 11:28 AM
Post: #13
RE: Leonardo meets Emu42
(09-17-2021 09:40 AM)J-F Garnier Wrote:  I'm happy that at least a few people are appreciating the Leonardo and Plato ROMs !

Some background on extracting the ROM.
On Christoph's site, you can read: " For [low-end and mid-range Pioneer] calculators you need special hardware and knowledge to extract the data from the Saturn bus system, a way, as far as I know, never gone on a Saturn based calculator".
So it was considered as "almost" impossible.

The 32S is, as I mentioned several times, my preferred every-day calculator rather than the 32SII, and it was a pity that the 32S was not supported in Emu42 due to the lack of ROM.
Some weeks ago, maybe stimulated by the SM projects, I investigated how to extract the ROM from the 32S.
I used an old 32S, partially working (usual kbd issue) that I opened long ago, and carefully looked at the PCB.
Quite quickly I noticed some 10 unused tracks that end to test pads and are not used elsewhere on the PCB.
I had the idea that maybe these test pads were bringing the Saturn bus outside, then with the help of some information from Christoph, I was able to identify the function of the test pads, access the internal Saturn bus and read the ROM. And that’s it !
The needed hardware is actually nothing special: a simple Arduino board is well enough.

[Image: hp32s_pcb2.jpg] [Image: romdmp_setup2.jpg]

J-F
Congrats !
As far as the 32SII and 19BII are concerned, only version 1 with fractions bugs (for the 32SII) and an alpha version with bugs from version 1 + a messed-up demo mode (for the 19BII) have been extracted so far.
Any hope to extract the latest rom versions ?

Thanks and cheers,

Vincent
Find all posts by this user
Quote this message in a reply
09-18-2021, 01:10 PM
Post: #14
RE: Leonardo meets Emu42
(09-18-2021 11:28 AM)Vincent Weber Wrote:  As far as the 32SII and 19BII are concerned, only version 1 with fractions bugs (for the 32SII) and an alpha version with bugs from version 1 + a messed-up demo mode (for the 19BII) have been extracted so far.
Any hope to extract the latest rom versions ?

The 32SII is using a different PCB and IC package, see here for instance, there are no more the so convenient "test pads" and it will be more difficult to probe the IC pins, or even impossible if the test signals are no more routed to the IC pins.
But this is something I will definitively try to do.

For the 19BII, opening a Clamshell is not as easy as for the Pioneer machines. Although not necessary destructive it requires drilling or sawing the case.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
09-18-2021, 01:16 PM
Post: #15
RE: Leonardo meets Emu42
(09-18-2021 01:10 PM)J-F Garnier Wrote:  
(09-18-2021 11:28 AM)Vincent Weber Wrote:  As far as the 32SII and 19BII are concerned, only version 1 with fractions bugs (for the 32SII) and an alpha version with bugs from version 1 + a messed-up demo mode (for the 19BII) have been extracted so far.
Any hope to extract the latest rom versions ?

The 32SII is using a different PCB and IC package, see here for instance, there are no more the so convenient "test pads" and it will be more difficult to probe the IC pins, or even impossible if the test signals are no more routed to the IC pins.
But this is something I will definitively try to do.

For the 19BII, opening a Clamshell is not as easy as for the Pioneer machines. Although not necessary destructive it requires drilling or sawing the case.

J-F
Many thanks JF.
Good luck !
Cheers
Find all posts by this user
Quote this message in a reply
09-18-2021, 03:29 PM
Post: #16
RE: Leonardo meets Emu42
(09-17-2021 08:46 AM)Christoph Giesselink Wrote:  
(09-17-2021 07:55 AM)Giuseppe Donnini Wrote:  Thank you, Christoph!

Am I right in assuming that “A” is the model code for Plato in a KML file?

(Since the HP-22S isn’t officially supported, it obviously doesn’t get mentioned in the KML documentation.)

"A" is correct for Plato. An updated KML documentation will be available soon. The keyboard scan codes and the display annunciator mapping are identical with the Leonardo KML file.

I updated the KML documentation to rev. 22 adding references to Plato and Leonardo.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-18-2021, 04:07 PM
Post: #17
RE: Leonardo meets Emu42
(09-17-2021 08:46 AM)Christoph Giesselink Wrote:  "A" is correct for Plato. An updated KML documentation will be available soon. The keyboard scan codes and the display annunciator mapping are identical with the Leonardo KML file.

Thank you very much, Christoph. My Plato prototype now works like a charm.

[Image: Z6Lfbug.png]
Find all posts by this user
Quote this message in a reply
09-18-2021, 06:58 PM
Post: #18
RE: Leonardo meets Emu42
Yes, thanks again. Mine is running fine too!

   

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
09-19-2021, 02:39 AM
Post: #19
RE: Leonardo meets Emu42
Thanks very much to:

JFG - for motivation and extracting bits

Christoph - for new artwork to enjoy and the updated KML docs.

Just when we thought EMU42 could not get much better... Big Grin

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: