▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
In preparation of any upcoming keyboard changes I've modified the software to behave a little more like the 41C. It's in SVN and it's very likely buggy. I didn't test my changes thoroughly. So I ask you to download and install either the emulator or the firmware and report any bugs or strange behavior in the keyboard engine.
Before you ask: There is no hidden ASN command!
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
I've modified the software to behave a little more like the 41C.
WOW, works great - congratulations Marcus! :-)
So far I've found no problems ...
One question: is it intended that SHOW now only works as long as you hold down the key?
Franz
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
Quote:
One question: is it intended that SHOW now only works as long as you hold down the key?
You found a bug. The temporary displays need some more attention. We may leave it the way it is now but I tend to better bring back the old behavior.
Edit: hopefully fixed.
Edited: 12 Oct 2011, 2:54 p.m.
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
Edit: hopefully fixed.
Yes, SHOW is working again as before, but I just found that something with the f/g/h keys is seriously broken: if you press one of these shift-keys you can't undo this anymore! :-(
[f] and [g] pressed more often than once just doesn't switch off the prefix again, you can switch from g to f and from f to g, but it doesn't go away at all. And [h] is even more mysterious: pressing [h] repeatedly switches from h to f to h to f ... ;-)
Franz
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
Quote:
[f] and [g] pressed more often than once just doesn't switch off the prefix again, you can switch from g to f and from f to g, but it doesn't go away at all. And [h] is even more mysterious: pressing [h] repeatedly switches from h to f to h to f ... ;-)
I've tried it on both the emulator and the real hardware. It works fine. Have you updated the DLL?
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
I've tried it on both the emulator and the real hardware. It works fine. Have you updated the DLL?
Yes, latest DLL 1717 from yesterday.
Now I've tried it again and I found a small difference whether I use the touchpad (instead of a mouse on my Win7 netbook) or the keyboard:
with the touchpad it works sometimes (maybe 50%) correctly when I make an extremely short touch on the pad (i.e. release the finger almost immediately), but with the keyboard it always fails.
It behaves as if the key/mouse 'release' would be interpreted by the program as if it would be a new 'press' - I guess it's a timing problem in the 'press/release' routine!?
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
So it's emulator only and Win 7 related. Can you try with a mouse instead?
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
So it's emulator only and Win 7 related. Can you try with a mouse instead?
I can't imagine what this should have to do with Win7 or using a mouse instead of the touchpad!?
But ok, I've tried it now with a mouse and this is just as bad as with the keyboard - whenever f/g/h is activated it can't be switched off anymore with f/g/h keys.
The last version I have where this problem does not exist is 1716, so it can't suddenly be a problem of Win7 when it hasn't been so for any previous version.
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
The reason I'm suspecting Win7 is that it works flawlessly on my XP development system. I have an idea how to fix it, though. I'll report back here when you can test again.
▼
Posts: 248
Threads: 5
Joined: Feb 2008
Hi Marcus, I’ve tested the latest emulator & dll version under Win7 and I have the same issue.
It's very strange. For example when I start the emulator if I click on [h] with the mouse several times the h indicator toggles as expected, however sometimes I get the f indicator on when the h indicator should be off. If I use the keyboard and press [h] to toggle the h indicator, I see h and f indicators alternatively in the display. For [g] it's similar: with the mouse the indicator generally toggles correctly but with the keyboard I keep seeing the g indicator in the display. Same for [f].
Edit: I've tried to run it with different compatibility modes (Win XP SP2, Sp3, Vista..): same behavior.
Edited: 13 Oct 2011, 7:06 a.m.
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
The whole GUI stuff is a bit flaky and has ever been so. It's code originally written by HP for their internal testing. There ware and most probably still are some strange pieces of code which I do not completely understand and have modified to death. Please try the latest version of the emulator and see if I fixed the issues.
▼
Posts: 2,247
Threads: 200
Joined: Jun 2005
Marcus,
Sorry for asking you the obvious. What is the URL for the latest eumlator? I keep getting links to older emulator versions when I search through Google.
Namir
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
Please try the latest version of the emulator and see if I fixed the issues.
No, the problem still exists in SVN 1725!
The only thing that has changed is that now [h] doesn't toggle between 'f' and 'h' anymore (but stays with 'h'), but in about 80% f/g/h don't switch themselves off.
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
Franz, I don't have Win 7 and the problem does not exist on XP. So I need an idea. I ask you to explain exactly what you are doing and what happens then. I can then create custom versions with debug output built in for you to test. I fear that Win 7 does a different handling of events. Wait until Friday.
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
I ask you to explain exactly what you are doing and what happens then.
Ok, wenn meine bisherigen (mehrmaligen) Erklärungen in Englisch nicht verständlich waren, dann also nochmals in Deutsch: ;-)
Also, bleiben wir mal bei der Tastatur:
Ich drücke [f] und 'f' erscheint im Alpha-Display. Ich drücke nochmals [f], aber die Anzeige 'f' bleibt - es gibt nur ein (sehr) kurzes Blinken so als ob ich die Taste [f] 2-mal gedrückt hätte (oder also ob sie nicht 'entprellt' wäre). Das Prefix 'f' läßt sich also nicht mehr ausschalten (beim Drücken einer anderen Taste geht das 'f' allerdings weg, und es wird auch die korrekt Shift-Funktion ausgeführt. Und bei [g] und [h] tritt exakt der gleiche Effekt auf.
Wenn ich den Emulator mit der Maus bediene, zeigt sich in etwa 80% das gleiche Verhalten, in ca. 20% klappt das Ausschalten der Shift-Funktion mit der jeweiligen Taste aber. Ich sehe allerdings kein System dahinter, ob es klappt oder nicht ist eher zufällig.
Wie gesagt tippe ich auf ein Timing-Problem, d.h. daß der Emulator irgenwie zwischen Taste drücken, loslassen und wieder drücken nicht mehr richtig unterscheiden kann, welcher Tastenzustand gerade herrscht.
Allerdings kann ich mir nicht vortstellen daß Du unter Windows diese neuen Routinen so 'systemnah' programmiert hast, daß zwischen WinXP und Win7 wirklich ein Unterschied sein sollte!?
Franz
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Hallo Marcus, hier noch eine (vielleicht nicht unwichtige) Ergänzung:
Nach weiteren Versuchen habe ich festgestellt, daß sich dieser Bug nur auf die Anzeige von f/g/h bezieht, aber nicht auf das tatsächliche Ein- und Ausschalten.
D.h. ich drücke [f], dann nochmals [f], und intern ist tatsächlich dieses f-Shift wieder korrekt ausgeschaltet, es wird aber immer noch 'f' angezeigt!
Daß es ausgeschaltet ist erkenne ich daran, daß jede nachher gedrückte Taste wieder ihre Grundfunktion (also ohne f-Shift) liefert.
Tatsächlich scheint das ganze also ein reines Anzeigeproblem dieser f/g/h-Indikatoren zu sein.
Franz
Posts: 875
Threads: 37
Joined: Jul 2005
OK, I see that the function name is displayed and NULLs out if you hold the key down. I like that, but might make the "NULL" display go away upon release of the key or after a time delay. What other features/changes are there that makes it "behave a little more like the 41C"?
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
NULL not going away is a bug that should be fixed now.
Yes, it's exactly that you can see the command before it executes what makes 34S behave a little more like the 41C. This helps recognize the commands being executed, especially while you are waiting for your latest overlay from Eric. Hold down one of the hot keys A to D and see if they will execute their default function or call a label, see the actual address called by XEQ + some key, preview the next step in SST mode with the option to cancel it by keeping DOWN pressed for a second...
I did some more work an the shift key detection. I hope I could fix the strange behavior reported by Franz.
▼
Posts: 228
Threads: 7
Joined: Aug 2011
I like the idea! Is there a way for LBL A-D to have it display a user defined string? For example with the TVM solver, is there a way it could it display 'N=' when you press and hold A? I can never remember which program I had assigned to LBL A, B, C or D.
I modified the TVM solver to display the label like the HP-20b does _after_ they key is released, so at least I know when I've hit the wrong key as opposed to puzzling at the wrong answer.
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
Nice idea but not possible with the current infrastructure. I can only display the text representation of an opcode after it has been decoded but before it's executed. Pressing and holding A does not execute any code, it just compiles the keyboard input to XEQ A which is then displayed.
If we ever find a way to support real assignable keys, we may associate them with descriptive strings but at the moment, we have no such plans or resources.
Posts: 3,283
Threads: 104
Joined: Jul 2005
From a conversation I had with Jeff O.:
Quote:
> Hi Marcus,
> Build 1725 is 126 kB. There still seem to be 5 flash regions, are
> they just empty?
I've added a bunch of dat files so that the file is bigger. I should have reset the calc.bin file to its original size before committing it to SVN. Just enjoy what came with it. It's stuff from the library and some testing programs such as Valentin's matrix AM3.
> I tacked on my main memory back up region (wp34s.dat). The bin
> file loaded successfully, but the programs won't run. They all
> worked in 1722. Have there been significant opcode changes?
We have reorganized the op-codes. You need to feed your dat file through the disassembler, change all occurrences of x[<->]y to x[<->] Y and feed it into the assembler again. x[<->]y is gone and is replaced by the more generic command. On the keyboard, there is no difference but old programs suffer from changed op-codes.
Binary program images need to be modified to work on the current release. There is a space before the Y in the exchange command.
Edited: 13 Oct 2011, 11:55 a.m.
Posts: 3,283
Threads: 104
Joined: Jul 2005
In order to fix the Win 7 problems with the emulator I've just ordered a copy of Windows 7 so I have a testing environment. I hope this will sort the bugs out.
It might be the right time to rewrite the emulator DLL based on KML. Are there any KML specialists here willing to do it? The result should
- be HP legacy free,
- not rely on MFC and therefore on the much too expensive full Visual Studio,
- have an easier to maintain skin description file,
- provide a better visual feedback on pressed keys.
This might even be the basis of a future port to other GUIs like Mac OS, Linux, iOS or Android. I'm willing to help but I feel that others are more qualified for the job than me.
Edited: 14 Oct 2011, 5:09 a.m.
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
Thanks to Franz' information I've made another attempt at fixing the emulator issues. Please test.
I still would prefer a complete redevelopment of the emulator. Any takers?
▼
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
Thanks to Franz' information I've made another attempt at fixing the emulator issues.
And this time you were finally sucessful, everything is working fine again with the new SVN 1727 - congratulation! :-)
Many thanks for your good work,
Franz
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
I still would prefer a complete redevelopment of the emulator. Any takers?
Marcus, have you ever thought about using Christoph Giesselink's EmuXX system as base?
It's source code is available, it has a very powerful KML scripting language and is used (and thus known) already to a lot of people.
I guess it shouldn't be too hard to make a connection between the EmuXX GUI code and your calculator code!?
Since my progamming language is not 'C', I couldn't do this, but I could (and would) definitely make a comfortable KML script for the "EmuWP34s" ;-) where ALL functions on the keyboard (also the shifted ones) would be directly clickable by the mouse (as I've already made for almost all other EmuXX versions).
Franz.
▼
Posts: 3,283
Threads: 104
Joined: Jul 2005
Franz, I was hoping for some external help for this. It's exactly what I had in mind.
|