This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Alphakill
#18
(02-06-2016, 08:34 PM)vlj Wrote: As far as I know there's only a single proper lle emulator, znes for the snes. It simulates chip inner working up to cycle accuracy.

Others emulator use hle to some extent : for instance gpu inner working are not really documented, dev only have access to the "reaction" of gpu to some inputs. Cpu increasing complexity also prevent accurate emulation : you can execute the instruction on the host hardware but chances are that latency are different, not accounting that no interpreter or compiler mimic cpu cache, cpu instruction reordering or track branch instruction path.

Today lle and hle are used to qualify library. An lle Emu will execute library code with the same interpreter/recompiler as the game is using. An hle Emu will catch system library call and execute an equivalent native one.
Of course the barrier is moot since lle lib can call library function too, so there's likely a small irréductible set of function that needs to be written with a native implementation : ps3 has 2 level of libs, lv2 are accessed by games and make use of lvl 1 level which exposes "kernel like" features that need to access mmu.

Another thing that worth mentioning is that lle module are not redistributable. Lle emulator can't be proposed on store like Google play or Steam since they can't work out of the box. I know that this doesn't sound like an important feature but lately psx games are sold on Steam, some game controller are designed with Dolphin compatibility in mind and so on. This can only happen if it's considered legally safe to do so.

http://ngemu.com/threads/partial-hle-in-...uff.10672/
http://ngemu.com/threads/perspective-cor...hat.21080/
http://ngemu.com/threads/a-crazy-idea-fo...ins.26213/

'''Now back to your question! HLE is done on N64 emulators to by pass emulating the instructions that are queued for rendering the graphics. HLE knows that there are function calls in the N64 dev kit and looks for those function calls. It reads the information passed to it and fakes rendering the information passed to the low level GPU. Doing this on the PSX might be much more challenging since many games really don't have a decipherable pattern from the SONY dev kit. There are many high level functions that this can be done with.. I don't think the GPU is that easy to do it with. The PSX uses a 'bios' whereas the N64 has no real bios, the ROM is the boot loader. Bios functions are emulatable as well.. the end situation is.. it's not the same animal as the N64.

I think you could refer to HLE as "static precompilation" - it uses native code that has been compiled before execution of the emulator.
You have to be careful with terms like LLE and HLE, because they are dependant at what level you are analysing a system - how low is low, how high is high?. I am sure that statement will confuse more people than will understand it!'''



You mean bsnes because zsnes while LLE is far from accurate.
I noticed everyone has different definition of HLE and LLE.
In my opinion emulator doesn't need to be cycle accurate to be LLE because HLE and LLE are just methods so no matter how innacurate zsnes is it's still LLE.
What do you mean by modules and working out of box? If you mean bios then they can sell without it. LLE emulators of older consoles don't really use any modules since they don't emulate any libraries just hardware by simulating registers according to a guy who was PS1 GPU plugin developer. From what I read consoles like Saturn and PS1 didn't really have any standardized library unlike PS3 every company used their own so HLE emulation of these consoles probably would had to be done on per game basis. There are LLE emulators on Google Play like ePSXe and FPse and also some Gameboy, Nes and Snes emulators and ePSXe even has HLE bios emulation even though overall its LLE.
Defintely if GPU isn't documented/reverse engineered enough so that functions of registers aren't known and in effect they aren't directly emulated then this is probably HLE in my opinion(or inaccurate lle if only some are emulated).
Are RSX/Cell registers documented at all and do you emulate their functions?

By the way what do you think is harder emulating fixed functions with shaders or emulating shader with well shaders. I heard opinions that older consoles are harder to emulate than PS3 for instance because PS3's gpu is more similar to PC architecture.
Reply


Messages In This Thread
Alphakill - by Inue - 01-31-2016, 11:04 AM
RE: Alphakill - by tambre - 01-31-2016, 11:41 AM
RE: Alphakill - by vlj - 01-31-2016, 11:04 PM
RE: Alphakill - by tambre - 02-01-2016, 05:40 AM
RE: Alphakill - by Inue - 02-02-2016, 09:08 PM
RE: Alphakill - by vlj - 02-02-2016, 10:18 PM
RE: Alphakill - by Inue - 02-06-2016, 08:28 AM
RE: Alphakill - by tambre - 02-06-2016, 10:04 AM
RE: Alphakill - by Inue - 02-06-2016, 10:45 AM
RE: Alphakill - by tambre - 02-06-2016, 11:16 AM
RE: Alphakill - by Inue - 02-06-2016, 11:48 AM
RE: Alphakill - by tambre - 02-06-2016, 12:49 PM
RE: Alphakill - by vlj - 02-06-2016, 05:40 PM
RE: Alphakill - by Mindinis - 02-06-2016, 07:08 PM
RE: Alphakill - by tambre - 02-06-2016, 07:49 PM
RE: Alphakill - by Mindinis - 02-06-2016, 08:02 PM
RE: Alphakill - by vlj - 02-06-2016, 08:34 PM
RE: Alphakill - by Inue - 02-06-2016, 10:31 PM
RE: Alphakill - by tambre - 02-07-2016, 06:55 AM
RE: Alphakill - by Inue - 02-07-2016, 07:45 AM
RE: Alphakill - by tambre - 02-07-2016, 08:10 AM
RE: Alphakill - by vlj - 02-07-2016, 12:15 AM
RE: Alphakill - by vlj - 02-10-2016, 01:03 AM
RE: Alphakill - by Inue - 02-14-2016, 06:05 PM
RE: Alphakill - by vlj - 02-18-2016, 05:05 PM
RE: Alphakill - by Inue - 02-19-2016, 07:42 PM
RE: Alphakill - by flashmozzg - 02-19-2016, 08:13 PM
RE: Alphakill - by kd-11 - 02-25-2016, 08:12 PM
RE: Alphakill - by Inue - 03-01-2016, 12:29 AM
RE: Alphakill - by vlj - 03-02-2016, 02:11 AM
RE: Alphakill - by vlj - 03-02-2016, 02:11 AM
RE: Alphakill - by Inue - 03-02-2016, 08:32 PM
RE: Alphakill - by vlj - 03-03-2016, 01:31 AM
RE: Alphakill - by Inue - 03-03-2016, 06:33 PM
RE: Alphakill - by Inue - 03-16-2016, 05:26 AM

Forum Jump:


Users browsing this thread: 8 Guest(s)