-
Notifications
You must be signed in to change notification settings - Fork 75
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
cpu_gettotalcycles() called with no executing cpu! #493
Comments
Please post the full log |
|
This seems like RA is crashing and not allowing the core to function normally. Did you recently update RA when these issues began? |
I got RetroArch from the current master branch. I don't think that the problem is RetroArch, infact if I start Final Fight the game runs correctly. I'm the developer of M.A.M.E. SDL Plus and I'm familiar with MAME source code. That log, Do you have the time to debug the problem? If not I'll take a look |
Well yes, certainly that error is concerning. However, if you look at your log there are many errors and warnings from RA as well. I have personally tested killer instinct and it works fine for me (screen shots below just taken). So this issue maybe isolated to your platform or specific build. You may try posting a "debug" level log and maybe that will show something more? |
Those RetroArch errors are exactly the same that come from the run of Final Fight (that works fine), so are not related to the problem. Did you enable MIPS dynarec when compiled the core? You have the flag X86_MIPS3_DRC in the Makefile (that comes from original MAME 0.78), I forgot to mention that I enabled that (I want the x86 dynarec enabled for what I'm trying to check). My RetroArch and core builds obviously are compiled in 32 bit mode. I checked the mips3drc.c and x86drc.c source code, you didn't change anything about malloc() stuff so the dynarec is trying to execute memory from no executable allocated memory. In this way e.g. on Ubuntu or Windows it will never work. Did you test the dynarec? If not maybe it is better to remove that flag from Makefile |
This core does not receive updates anymore since there are no active maintainers besides the few commits I bring over from the mame2003-plus core, which does see development. None of the maintainers for these cores receive any compensation for there time. We work on these as a hobby to benefit others. I would only recommend using the official libretro builds downloadable from https://buildbot.libretro.com/nightly/ when filing issues here since modifying the source, including the makefile, can have undefined results. We like to leave development open for future development, so removing the flag would not be encouraged. If you would like to contribute to the project we accept and welcome the development. |
All MAME developers don't receive compensation, why you have to say that? I don't ask money for my M.A.M.E. SDL Plus. In your Makefile there is the option, with a comment that doesn't come from original MAME 0.78 source code, for enabling dynarec, if the developers of this porting don't know what a dynarec is, that flag must be removed. Sorry but if you answer is not friendly I have to use the same style |
I think you're missing the point here because this isn't meant to sound hostile.... This core is essentially abandoned. If it wasn't for the few housekeeping things that I do here, no one would have responded to this at all. This project is not mine and I have not made all the decisions that went into this cores current condition. It's community built.....if you think you can improve the current condition of this core, we welcome Pull Requests from everyone at any time. My commenting on your proposal is that if you are changing default settings in the makefile then filing issues that things do not work properly then there may be a reason why the default setting is the way it is. Someday a developer may want to fix the dynarec implementation so we do not encourage removing it entirely. In the event that a default setting causes issues we would certainly correct that. Thanks. |
@padremayi this sounds like an exciting project. I'm technically a maintainer of this core, but I'm not active at the moment, unlike mahoneyt944. As he said, there is little to no activity on this core, but contributions are definitely welcome. Most platforms are known to be able to run this game with this core, so it does seem like the first step is to figure out why you are having trouble. I am posting just in case you were not aware of mame2003-plus, at https://github.com/libretro/mame2003-plus-libretro That is an active fork of mame2003. mahoneyt944 is also a maintainer there! :) |
Hi, Killer Instinct works because you built the core without MIPS dynamic recompilator enabled. In your Makefile there is this option: why do you offer the possibility to enable the dynarec if it doesn't work? If you enable the dynarec Killer Instinct doesn't work because the code is unchanged compared to the original MAME 0.78 source code. Maybe it is a good idea to remove that flag. Only a suggestion. What I did is a check on dynarec performance on your port but the dynarec is not supported :-( I'm working on it on my port in order to write the dynarec for ARM. As I said before, I'm the developer of M.A.M.E. SDL Plus and my port has many code optimizations, in terms of performance it runs very fast also on Raspberry Pi v1, the first model. I'm adding the ARM dynarec. If you want to try M.A.M.E. SDL Plus has these things:
|
I'm sorry, but you don't understand this makefile. The dynarec is most certainly enabled for x86 platforms. I don't understand your attitude, if you want to know why you are having problems, we are trying to help you. You don't know about this build environment evidently, but based on your qualifications, if you spend some time reading and asking questions, I'm sure you can contribute here as well. Thanks. |
I'm sorry but maybe you didn't understand the problem. Dynarec is enabled on x86 platform but not in x86_64 platform.
If you build the core with DRC enabled and -m32 flag (as I wrote before) the output must be the same as the one built on x86 platform (x86_64 platform runs x86, so 32 bit application, without problem). Additionally, the original MAME 0.78 binary was built as 32 bit application. I want to help you to find the problem but if I write where the problem is and all of you answer that I have to find where the problem is... it is a circle! |
Both core and RetroArch compiled from master branch (in 32 bit mode). When I starts Killer Instinct (with dynarec enabled) I get a segmentation fault. The last error is this:
[libretro ERROR] [MAME 2003] cpu_gettotalcycles() called with no executing cpu!
The text was updated successfully, but these errors were encountered: