Simulation vs Emulation



Post: #14

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!


Post: #15

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


Post: #16

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.


Post: #17

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


Post: #18

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?


Post: #19

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.


Post: #20

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.

Post: #21

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

Yes.


Post: #22

Quote:
Yes.



:-)
Post: #23

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.

Post: #24

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


Post: #25

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?
Post: #26

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


Forum Jump: