WP34S files - dumb question
#1

In todays SVN 1209 I see an updated file emulator_d.dll (among others).

What's the purpose of those emulator_d.* files? Debug versions?

Franz

#2

Quote:
What's the purpose of those emulator_d.* files? Debug versions?

You got it. The problem I'm tackling with this approach is that the emulator kernel written by HP uses the MFC development headers and libraries which are not available with the free Express edition of Visual C++. I've split the package in a dll and an exe. The exe can be compiled with VC++ Express and you can even debug in this environment. It's necessary to provide compiled debug versions of the dlls complete with the symbol tables to make this possible.

Edited: 12 July 2011, 4:17 p.m. after one or more responses were posted

#3

Ok, thanks Marcus!

Deinen Link zum "Konkurrenzprodukt" Casio kapiere ich in diesem Zusammenhang allerdings nicht - Du wirst doch nicht etwa "fremdgehen"? ;-)

#4

Welcher Link? ;-)

#5

;-)

#6

Quote:
Welcher Link? ;-)

Du bist ja ganz schön hinterlistig! ;-)
#7

Errare humanum est, besonders mit Hilfe von Computern.

#8

Quote:
Errare humanum est, besonders mit Hilfe von Computern.

Oder kurz: Errare computerum est!
#9

Time for a silly question.... (given that you obviously have way too much time on your hands :-)

What are the chances that we could get a live stack window for the emulator? And pushing luck *way* beyond the breaking point, a dynamic view into the registers set as well?

Just day dreamming...

#10

Sorry, the emulator is just a development tool for the real hardware, not the main target of the developers. Feel free to enhance it, but don't ask me. I pretty much dislike Windows GUI programming. :-(

#11

Quote:
What are the chances that we could get a live stack window for the emulator? And pushing luck *way* beyond the breaking point, a dynamic view into the registers set as well?

Yes, that would indeed be a very nice feature!

OTOH it's a pity that Emu42/48 doesn't support this HP20/30b calculator. I guess the hardware differences are not so big, so that an emulation of this calc (i.e. using calc.bin as ROM) shouldn't be too much work - at least not for an expert like Christoph Giesselink.

CHRISTOPH, DO YOU READ THIS? ;-)

#12

Keep your fingers crossed that Michael succeeds with his 15C update. Then chances will be elevated you may see two stack levels at a time like 33 years ago. Else no way unless HP rethink their display policy (don't hold your breath) :-/

Walter

Edited: 12 July 2011, 5:01 p.m.

#13

Franz, stop dreaming!

The 42s and the 20b/30b hardware have almost nothing in common. OK, both have a display and a keyboard, but that's it.

#14

Quote:
Franz, stop dreaming!

Never, that's what makes life interesting, Marcus! ;-)
Quote:
The 42s and the 20b/30b hardware have almost nothing in common. OK, both have a display and a keyboard, but that's it.

Well, I rather meant Emu48+ with its emulation of the ARM9 processor.

Doesn't the HP20b also have a ARM(7?) CPU?


Edited: 13 July 2011, 5:12 a.m.

#15

Quote:
Well, I rather meant Emu48+ with its emulation of the ARM9 processor.
Doesn't the HP20b also have a ARM(7?) CPU?

It's an Atmel AT91SAM7L128 with an ARM 7 core and a bunch of peripherals. But why go the hardware emulator way when the source code is freely available? If you want more brains in the GUI, feel free to improve it! It's just not my interest to do Windows GUI coding beyond what I've done so far. I still have to patch in some more functionality with respect to my current work on the project (I/O) which I'm not looking forward to.

#16

Quote:
If you want more brains in the GUI, feel free to improve it!

Well, I would probably do it if the emulator were written in 'Delphi', but 'C' is not my world.

I even had still another idea: maybe I could write some kind of 'shell' for the WP34S emulator, which just calls WP34S as subprocess, but the only problem is: how to communicate with the emulator?

If there were any external interface in WP34S with which it could be controlled, things would be quite easy, but so the only method I can imagine is to 'send mouseclicks' to this WP34S subprocess - and so far I'm not even sure if this would work at all in Windows.

#17

Franz, you can. You just need to write a DLL which replaces the emulator.dll from the project. The interface is relatively thin, most calls go from the dll to wp34s. The main program registers some callbacks which are called by the dll. The main loop is in the dll.

#18

Another question, Marcus:

I know you're compiling WP34S with VisualStudio 2008 (or even 2010/11?), but this system is much to big for me to download.

Now I would have the possibility to get the old MSVC6 compiler, which would also have the advantage that it produces compiles that are Win98 compatible.

Now my question: do you know if the WP34S system can be compiled with MSVC6, or is this impossible?

Edited: 14 July 2011, 5:21 a.m.

#19

Quote:
I know you're compiling WP34S with VisualStudio 2008 (or even 2010/11?), but this system is much to big for me to download.
Now I would have the possibility to get the old MSVC6 compiler, which would also have the advantage that it produces compiles that are Win98 compatible.

It's Visual Studio 2010, the only version available for purchase and download when I started. The minimum system requirement for this environment (and the code produced by it) is XP. I bought the professional version in order to be able to handle the MFC GUI parts.

Quote:
Now my question: do you know if the WP34S system can be compiled with MSVC6, or is this impossible?

That's how I started and gave up early. MSVC6 does not understand the "long long" data type, at least not under this name. I started modifying the code of the SDK (before tackling the WP 34S sources) to comply to the old compiler but that wasn't fun.

The main problem was that MSVC6 supports an older version of the MFC library lacking an important API that is used in the emulator. Without this API I was unable to populate the Skins menu. It seemed to be easier to switch to a more recent compiler then.

If you do not want to touch the GUI components you can compile the project with the freely available VC++ Express 2010 edition, but if I understand your intentions right, the GUI is just what you want to do.

It shouldn't be too hard to rewrite the GUI with Delphi if you are able to create a DLL with this environment. You need to understand what HP has done in its emulator, though.



Possibly Related Threads…
Thread Author Replies Views Last Post
  How to copy files from 9114B to hard drive via PIL-box? Joe Horn 23 10,022 12-14-2013, 11:57 PM
Last Post: Geoff Quickfall
  How to update PRIME Firmware using Files on PC Harold A Climer 2 1,925 12-04-2013, 12:05 PM
Last Post: Erwin Ried
  Loading .prgm files to the Prime Thomas Chrapkiewicz 8 2,929 10-25-2013, 09:34 AM
Last Post: Eddie W. Shore
  Proper location for files on the PC for Connectivity Kit ,etc. Harold A Climer 8 2,778 10-23-2013, 02:43 AM
Last Post: Marcus von Cube, Germany
  HHC 2013 speakers' files Joe Horn 2 1,576 09-26-2013, 02:51 AM
Last Post: Geoff Quickfall
  Nonpareil Rom files davorin 2 1,410 09-20-2013, 06:20 PM
Last Post: Didier Lachieze
  Simple? programming question [WP34S] Shawn Gibson 3 1,414 03-15-2013, 11:56 AM
Last Post: Didier Lachieze
  [wp34s] xtal question jerome ibanes 9 2,863 02-05-2013, 05:35 PM
Last Post: Massimo Gnerucci (Italy)
  41 and 71B Overlays, DXF Files? aj04062 0 974 11-25-2012, 08:04 AM
Last Post: aj04062
  [WP34S] WP34S firmware on the AT91SAM7L-STK dev kit? jerome ibanes 1 1,176 10-04-2012, 04:59 PM
Last Post: Paul Dale

Forum Jump: