-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extend uc_open() to specify CPU model #117
Comments
I'm not sure I'm a fan of this. How is the CPU type selected now? Is there a generic x86 type for example? ARM type? In what percentage of cases do you expect that users will want to override the default? If this number is small, then forcing them to specify it every time is a bad UI choice, I think I would prefer an additional: |
Another option is adding something like
So advanced use cases can pass the model, but the original |
Is there a good case for changing the emulated cpu model during execution? If so, the only thing that would make sense to me is a separate API call. |
at the moment for X86 i enabled all the options, so we are using the latest X86 model by default. another approach for the CPU model is having a new API to customize engine at run-time. with this API, CPU model is just one option to customize - so we leave this open for future options.
then after
|
Personally I dislike multiplexing lots of generic functionality into a single API like I much prefer a concise API like |
Updating bindings is easier with a generic function.
|
Any news on this? I'd really like to be able to have two arm cpus running at the same type both being different models (ARM946 and ARM1176). |
Writing a 3DS emulator? :) |
maybe... |
we should not allow to change the CPU model after initializing the engine, so the only place to set the model is inside
in which if model = NULL, we go for the default model (for ex, with X86 default model is the latest CPU model, or with ARM it is "cortex-a15") thoughts? |
i created a new branch https://github.com/unicorn-engine/unicorn/tree/cpu_model to implement the idea above: the Python binding of class @Normmatt : can you test this branch to see if it works for you? thanks. |
@Normmatt, any feedback on the "cpu_model" branch that provides what you requested? |
I haven't had a chance to setup a development environment to compile this yet. (Windows) |
@Normmatt, have you tried that branch yet, even on Linux/OSX? let us know if you have any issues. |
No objection for merging, from my side I'll update the .NET binding. |
Any news? I'd like to more closely emulate my platform of choice (Raspberry Pi) by selecting the precice model of CPU it has. This isn't too important to my application though, I think. I see that the cpu_model branch exists, however, it doesn't appear to be merged in, and is way behind master at this point. Is it because you never recieved the okay from some binding maintainers? |
Let me look at that again to see how best to implement this. It is best if
we dont break any API.
|
I'm also interested in specifying a specific ARM CPU model. I've hard-coded it in my own build for now. |
which model do you use? |
Re-open and link to #1449 |
Closed due to |
we need to let users to specify CPU model at the time the engine is initialized. this is highlighted with a recent issue #114 (comment)
one way to do this is to extend
uc_open()
to contain one more param for CPU model. something like:any comments?
The text was updated successfully, but these errors were encountered: