Leonardo meets Emu42 - Christoph Giesselink - 09-03-2021 09:18 PM
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"
[attachment=9778]
RE: Leonardo meets Emu42 - Massimo Gnerucci - 09-03-2021 10:14 PM
Thank you Christoph for completing the Mid Range Pioneer exhibition.
We only miss the 22S now... ;)
[attachment=9779]
RE: Leonardo meets Emu42 - Christoph Giesselink - 09-10-2021 03:01 PM
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.
RE: Leonardo meets Emu42 - Eric Rechlin - 09-11-2021 03:44 AM
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.
RE: Leonardo meets Emu42 - Christoph Giesselink - 09-11-2021 07:07 AM
(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.
RE: Leonardo meets Emu42 - J-F Garnier - 09-16-2021 12:25 PM
(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
RE: Leonardo meets Emu42 - Christoph Giesselink - 09-16-2021 10:17 PM
(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". ;-)
RE: Leonardo meets Emu42 - Massimo Gnerucci - 09-16-2021 11:31 PM
(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
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!
RE: Leonardo meets Emu42 - Giuseppe Donnini - 09-17-2021 07:55 AM
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.)
RE: Leonardo meets Emu42 - Christoph Giesselink - 09-17-2021 08:46 AM
(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.
RE: Leonardo meets Emu42 - J-F Garnier - 09-17-2021 09:40 AM
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.
J-F
RE: Leonardo meets Emu42 - Massimo Gnerucci - 09-17-2021 01:57 PM
(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.
J-F
Excellent job! Thank you both.
RE: Leonardo meets Emu42 - Vincent Weber - 09-18-2021 11:28 AM
(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.
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
RE: Leonardo meets Emu42 - J-F Garnier - 09-18-2021 01:10 PM
(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
RE: Leonardo meets Emu42 - Vincent Weber - 09-18-2021 01:16 PM
(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
RE: Leonardo meets Emu42 - Christoph Giesselink - 09-18-2021 03:29 PM
(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.
RE: Leonardo meets Emu42 - Giuseppe Donnini - 09-18-2021 04:07 PM
(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.
RE: Leonardo meets Emu42 - Massimo Gnerucci - 09-18-2021 06:58 PM
Yes, thanks again. Mine is running fine too!
[attachment=9830]
RE: Leonardo meets Emu42 - rprosperi - 09-19-2021 02:39 AM
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...
|