The Museum of HP Calculators

HP Forum Archive 20

[ Return to Index | Top of Index ]

Simulation vs Emulation
Message #1 Posted by Carl Utter on 11 May 2011, 1:04 p.m.

I found this forum on accident and read an archived thread with the same title as this one. There was no consensus overall in the thread and many good points were made in the argument. It was interesting. My contribution (though late) would be to say:

Despite the medium through which results are delivered (physics, hardware, software, etc…) a simulator produces the exact same expected results and an emulator is differentiated by also producing the exact same unexpected results. Oh to Error!

      
Re: Simulation vs Emulation
Message #2 Posted by Namir on 11 May 2011, 2:34 p.m.,
in response to message #1 by Carl Utter

The difference between simulation and emulation reminds me of the difference between Dementia and Alzheimer's disease.

I like writing calculator emulators because they give me more freedom on how to mimic commands.

Namir

            
Re: Simulation vs Emulation
Message #3 Posted by Marcus von Cube, Germany on 11 May 2011, 4:08 p.m.,
in response to message #2 by Namir

Carl, I like your statement. :-)

In a simulation, you can easily extend the bounds of the original system, be it speed, memory or function set. See Free42 for a good example. But it's a lot of work to implement the original functionality so that the emulator behaves as a superset of the original system and not as a subset with extensions.

In an emulation, you have other problems: You cannot easily extend the bounds of the original hardware like speed or memory because the original firmware needs to be patched to recognize the new possibilities. Keyboard scan or display are examples where an unmodified firmware needs a relatively exact emulation of the original hardware to work reliably. You cannot easily add a dot matrix display to a 15C without severe changes to the old system.

                  
Re: Simulation vs Emulation
Message #4 Posted by Didier Lachieze on 11 May 2011, 5:51 p.m.,
in response to message #3 by Marcus von Cube, Germany

Well, for the HP-15C emulation I think you should be able to add an alphanumeric display and use it to show in program mode the instruction name instead of the keycode, without patching the original firmware.

[Edited to replace simulation by emulation]

Edited: 12 May 2011, 2:48 a.m. after one or more responses were posted

                        
Re: Simulation vs Emulation
Message #5 Posted by robert rozee on 11 May 2011, 10:59 p.m.,
in response to message #4 by Didier Lachieze

interesting you say that, as i've thought over the same thing - a 15c with a dot-matrix display ability PURELY for showing the instruction mnemonics). if the code that displays that data on screen was well compartmentized in the original code, a simulator could substitute it's own alpha-driving routine when it was jumped to.

has anyone sat down and tried to disassemble (at least partially) the original 15c roms back into the original assembly code?

                              
Re: Simulation vs Emulation
Message #6 Posted by Didier Lachieze on 12 May 2011, 2:46 a.m.,
in response to message #5 by robert rozee

I don't think you need to look at the original code, an emulator should already have a routine to drive the physical display, so it "knows" the state of the display. When the PRGM indicator is on it can interpret the keycodes and replace them by the mnemonics.

                                    
Re: Simulation vs Emulation
Message #7 Posted by robert rozee on 12 May 2011, 5:54 a.m.,
in response to message #6 by Didier Lachieze

good point - that would (as far as i can see) work, and add a great deal to the 'user experience' of the calculator with very little programming effort beyond writing the initial 10-series simulator.

                              
Re: Simulation vs Emulation
Message #8 Posted by HrastProgrammer on 13 May 2011, 5:38 a.m.,
in response to message #5 by robert rozee

Quote:
has anyone sat down and tried to disassemble (at least partially) the original 15c roms back into the original assembly code?

Yes.

                                    
Re: Simulation vs Emulation
Message #9 Posted by Massimo Gnerucci (Italy) on 13 May 2011, 3:09 p.m.,
in response to message #8 by HrastProgrammer

Quote:
Yes.


:-)
                        
Re: Simulation vs Emulation
Message #10 Posted by Thomas Radtke on 12 May 2011, 6:37 a.m.,
in response to message #4 by Didier Lachieze

Quote:
Well, for the HP-15C emulation I think you should be able to add an alphanumeric display and use it to show in program mode the instruction name instead of the keycode, without patching the original firmware.
By evaluating the display driver and subsequent transformations? Interesting.
                              
Re: Simulation vs Emulation
Message #11 Posted by Walter B on 12 May 2011, 7:04 a.m.,
in response to message #10 by Thomas Radtke

Carl,

Quote:
Quote:
Well, for the HP-15C emulation I think you should be able to add an alphanumeric display and use it to show in program mode the instruction name instead of the keycode, without patching the original firmware.
By evaluating the display driver and subsequent transformations? Interesting.
It's quite obvious some of us have difficulties with these terms as well ;-) Help: The "WP 34S Emulator" is exactly this :-)

Walter

                                    
Re: Simulation vs Emulation
Message #12 Posted by Thomas Radtke on 12 May 2011, 9:44 a.m.,
in response to message #11 by Walter B

Quote:
It's quite obvious some of us have difficulties with these terms as well ;-) Help: The "WP 34S Emulator" is exactly this :-)
What was the reason to quote me on this?
      
Re: Simulation vs Emulation
Message #13 Posted by Dave Britten on 12 May 2011, 12:02 a.m.,
in response to message #1 by Carl Utter

From what I understand, the traditional definition is/was thus:

Simulation - software-based facsimile
Emulation - hardware-based facsimile

But in the past 15 or so years, it seems to have shifted somewhat:

Simulation - A reimplementation designed for some subset of compatibility with the original, usually at a somewhat high or superficial level
Emulation - A software implementation of the lowest-level details of something, allowing comatibility to kind of fall into place on top of that fundamental layer of functionality


[ Return to Index | Top of Index ]

Go back to the main exhibit hall