Skip to content
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

Unhandled R4300i opcode in 64DD emulation #1138

Closed
Nekokabu opened this issue Jul 3, 2016 · 12 comments
Closed

Unhandled R4300i opcode in 64DD emulation #1138

Nekokabu opened this issue Jul 3, 2016 · 12 comments

Comments

@Nekokabu
Copy link
Contributor

Nekokabu commented Jul 3, 2016

When enable Debugger, some error after N64 logo in 64DD emulation.
Error will be displayed in any disk image.

///////////////////////////
CX86RecompilerOps::LW_KnownAddress
Failed to translate address: A4600004
e1

///////////////////////////
CX86RecompilerOps::SW_Const
trying to store AAAAAAAA in A5000520?

///////////////////////////
Unhandled R4300i opcode at: 80278BA0
mtc0 a0, Cause

Stopping Emulation !
e2
e3

///////////////////////////
Break point found at
N64System\Interpreter\InterpreterOps.cpp
2813
///////////////////////////
Break point found at
MemoryExceptionFilter.cpp
40
///////////////////////////

@Nekokabu
Copy link
Contributor Author

Add 0x04600000-0x0460000C to LW.
#1153
Please check this implementation..:p

@Nekokabu
Copy link
Contributor Author

Add some of the 64DD Registers to SW_Const #1156

@DerekTurtleRoe
Copy link
Contributor

@Nekokabu So with those two fixes is the problem resolved, or does it need more to fix the issue?

@Nekokabu
Copy link
Contributor Author

"Unhandled R4300i opcode at: 80278BA0" are not fix yet.

@DerekTurtleRoe
Copy link
Contributor

DerekTurtleRoe commented Jan 13, 2017

@Nekokabu Is the issue in both the recompiler and the interpreter?

@cxd4
Copy link
Contributor

cxd4 commented Jan 14, 2017

If it happens in both you could probably nag @LuigiBlood to see if he cares to look into it. I don't run DD.

@DerekTurtleRoe
Copy link
Contributor

@cxd4 I checked the datasheet and can't find what it is pointing to, unless mtc0 is actually just a COP0 instruction? I thought that's how mfc0 was handled as well. shrugs

@LuigiBlood
Copy link
Contributor

The issue is 64DD related, but it's not a 64DD issue. It's a CPU emulation issue. I don't fully understand MIPS yet so...

@cxd4
Copy link
Contributor

cxd4 commented Jan 14, 2017

unless mtc0 is actually just a COP0 instruction?

Really? Is it possible that mtc0 is just a COP0 instruction?

Gee, I really thought it could have instead been...hm...er, wait, what did you suppose it was?

@DerekTurtleRoe
Copy link
Contributor

@LuigiBlood That's kind of what I was getting at.

@cxd4 Yeah, basically those instructions are handled the same, at least from what I recall about them. They aren't identical obviously, but from what I remember MTC0 and MFC0 utilize the COP0 in some way or something. I don't know, maybe I'm wrong. They move things to/from the coprocessor, I think.

@cxd4
Copy link
Contributor

cxd4 commented Jan 16, 2017

Let me know. If you find out what those two instructions do you could make $1000000 emu.

@Nekokabu
Copy link
Contributor Author

I reviewed this problem again.
It was fixed in the latest version.
(It was fixed by someone with a commit after #1156.)
Thank you, everyone:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants