Post subject: Mupen64Plus to Mupen-rr Porting
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
I'm a big fan of Banjo-Tooie and was sad that it couldn't be TASed. There was a fire switch in Isle o' Hags that you couldn't get past - it was simply impossible to hit. I saw that Mupen64plus let you get passed it, so I compared the code between Mupen64plus and Mupen-rr, patched Mupen-rr with some Mupen64plus additions, and voila: Link to video Banjo-Tooie can now be TASed. I'm posting this here because there might be other games in a similar situation - where they don't work in Mupen-rr and they do work in Mupen64plus. I don't really know much about programming (I literally just crosschecked the C files of the two source codes) and was able to do it fairly easily.
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
Download: http://cronikeys.com/mupen-bt.rar Open: mupen-bt\mupen64_src-rerecording-v8\winproject\mupen64.exe Open Banjo-Tooie Play movie: mupen-bt\The Fire Switch.m64 I don't know much about compiling so someone else can make a cleaner release. Files modified: r4300.h r4300.c pure_interp.c cop0.c From this original source: http://code.google.com/p/mupen64-rr/downloads/detail?name=mupen64_src-rerecording-v8-AVISplit.7z&can=2&q=
Publisher
Joined: 4/23/2009
Posts: 1283
That's great that this worked! Maybe you could merge all the plus code and make it stable (joking)! Seriously though, it be nice to fix up Mupen.
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
Well one problem was fixed, but there's still another to take care of apparently. There was a bug that wouldn't let you enter a certain room. I fixed it. You can now enter the room and leave the room in both recompiler and interpretter mode. However, if you're recording a movie it doesn't work. Any insight by people familiar with mupen's code would be very much appreciated. I don't understand why something would work, but not work while recording? Help please x_x
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
What is needed to compile mupen on windows? You've got me interested in looking at this.
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
RachelB wrote:
What is needed to compile mupen on windows? You've got me interested in looking at this.
This software: http://www.bloodshed.net/devcpp.html
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
Can you provide a save state at the above area?
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
Line 498 of pif.c seems to be the only thing outside of vcr.c that ever depends on whether a movie is active or not (other than inconsequential things like frame counter), and it seems unlikely that that would cause it. Unless that somehow is indeed the cause (i can't check without a save state), i don't have the slightest idea how having a movie active could cause a problem here.
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
RachelB wrote:
Can you provide a save state at the above area?
Here's a save state right in front of the door: https://dl.dropbox.com/u/118290/Banjo-Tooie%20%28U%29%20%5B%21%5D.st0 Thank you for your help! I'm looking for a solution as well.
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
Did you have to do something to get it to work without a movie? It freezes for me either way.
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
RachelB wrote:
Did you have to do something to get it to work without a movie? It freezes for me either way.
Yeah, I modified a few files as per the instructions of one of the bug report pages I linked. Here is what I currently have for all of the files: https://dl.dropbox.com/u/118290/mupen-bt.rar
Post subject: Re: Mupen64Plus to Mupen-rr Porting
Joined: 3/16/2013
Posts: 43
Cronikeys wrote:
I'm a big fan of Banjo-Tooie and was sad that it couldn't be TASed. There was a fire switch in Isle o' Hags that you couldn't get past - it was simply impossible to hit. I saw that Mupen64plus let you get passed it, so I compared the code between Mupen64plus and Mupen-rr, patched Mupen-rr with some Mupen64plus additions, and voila: Link to video Banjo-Tooie can now be TASed. I'm posting this here because there might be other games in a similar situation - where they don't work in Mupen-rr and they do work in Mupen64plus. I don't really know much about programming (I literally just crosschecked the C files of the two source codes) and was able to do it fairly easily.
I've been keeping up with your finds on YouTube and now that we know this game can be TASed, aside from some future emulation issues, do you plan on making a run of it? Nice fix, btw!
Joined: 7/12/2011
Posts: 142
Location: Indianapolis
I found a way to make physics in some games more "console accurate" by backporting some things from Mupen64plus to Mupen. I did it with Donkey Kong 64 in mind, but I'm pretty sure the code I changed also fixed Blast Corps, Perfect Dark, Banjo-Kazooie (some jumps are now possible that weren't before), Banjo-Tooie (fixes some problems with its physics), and probably a lot more. Moral of the story: if there's a problem in Mupen, it might be fixed or fixable. Also, a lot of games that "can't be TASed," can be TASed.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Do you know why physics being different could possibly be caused by emulator problems? For example, in NES games like mega man sprites are moved around by specific pixel and subpixel amounts, so for that to be wrong it would have to not emulate basic math (and then nothing would work). What's the difference between that and Mupen?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
NES is much simpler. Everything is done with low level emulation running simple 2d games. Mupen uses HLE for some things (which can introduce error in certain things while similar functions work just fine), and the games are doing much more complex things. Dolphin has had some similar kinds of problems before too.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
So, Majora's Mask will not desync anymore? Because if that's the case, then Wootz!
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Editor, Experienced player (860)
Joined: 8/12/2008
Posts: 845
Location: Québec, Canada
hegyak wrote:
So, Majora's Mask will not desync anymore? Because if that's the case, then Wootz!
It's highly unlikely that this new built fixes desyncs (same goes for Conker BFD), but hey, maybe Cronikeys will find a fix in the future! Good job Cronikeys!