Hey guys,

First off, welcome to the mailing list. Hopefully it becomes fairly active. The more discussions we have the better we can flush out what needs to be worked on, and we'll be able to get this thing playing games :)

Cxbx was, in the past, always a High Level Emulator. We intercept API calls, and then do the best we can to emulate them accurately. This is very fast, but has it's own set of problems. Generating function signatures, handling LTCG (link time code generation), converting between formats, etc.

There were always certain situations, sometimes really hairy ones, where HLE was difficult to work with. For example, Halo accesses certain memory addresses directly in order to manipulate the GPU. This particular issue was handled using exception handlers which modify the CPU context - but that may not be the ideal solution.

I have not though a lot about LLE in Cxbx, but I would like to consider it as part of Cxbx 2.x. I wanted to start a thread to discuss it. Does anybody have any thoughts about LLE? How would it work? Whats an example situation where it would be really useful?

Kingofc, I know you have done some significant work in this area. I am not familiar with how you did it, though. Can you describe it? Also, where is your source code available?