#1  
Old 23rd May 2015, 06:42 PM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 687
Default Dynarec capability questions.

I am trying to go through the steps to getting Mupen64Plus to handle activator codes properly on recompiler,and i need some info to help and send to the devs.

I want to get either zilmar's attention or any other skilled devs' help that know their way around the Dynarec's functions and source code.

Primarily would like to get it from 1.7.0.50b23 or any other 1.7 version as their GS code handling is superb,and I know my example code changes in realtime from the memory viewer.

Banjo-Tooie (U)

Lighting Intensity (D-pad directions)
D1081084 0800
8110E446 4B80
D1081084 0400
8110E446 C480
D1081084 0200
8110E446 3F80
D1081084 0100
8110E446 4280
Use d-pad to change Banjo and some enemies lighting intensity.

If this example code works in realtime on 2.x/2.1 or 2.2's Recompiler,then I wouldn't mind getting help from one of those versions.
Reply With Quote
  #2  
Old 23rd May 2015, 06:56 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Are you saying those codes work on the interpreter?

If so then idk. You probably could always go on IRC and bug zilmar and RPGMaster about it on Freenode becaues they care about the recompilers.
Reply With Quote
  #3  
Old 23rd May 2015, 07:27 PM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 687
Default

It works on Mupen64Plus AE's (yes,Android ) Pure Interpreter in realtime but fails on both the Cached Interpreter and the Dynarec because the cache is only from the boot sequence and goes unchanged when the code is toggled by pressing the activator buttons,hence immediately altered lighting if I switch to Pure from Cached and hit resume.

But it works perfectly fine on PJ64's Recompiler and should work on the 2.x version Recompilers as well.
Maybe I will check out that IRC biznez.

How much faster exactly is your Interpreter compared to others and even the Recompiler,HatCat?
Curious to know how you did it and if it uses cache to be faster somehow.

Edit: *walks in slowly from hallway corner carefully* Where do I go to reach the IRC page?

Last edited by retroben; 23rd May 2015 at 07:34 PM. Reason: Damn wireless keyboard!
Reply With Quote
  #4  
Old 23rd May 2015, 08:43 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

There's no comparison to any interpreter I wrote, because it wasn't for the R4300. Also the RSP has no TLB and things like that, which makes it even easier to program an RSP recompiler in such a way that no interpreter counterpart would catch up to it. The secondary, slave nature of the RSP CPU makes it a prime example for using recompilation instead of interpretation of the CPU to magnify the difference in speed between the two--however, my interpreter is still about as fast.

I remember disabling LLE gfx (use HLE for the most complex parts) but using LLE audio instead for Mario64--the RSP re-compiler was about 130% (?) the speed of my interpreter in that case, but that's because audio tasks are more highly concentrated of scalar R4000 stuff, micro-operations that fit perfectly well into recompiler segments, which easily runs at full speed no matter how you emulate it. Compiling and translating vector machine code however....

Quote:
Curious to know how you did it and if it uses cache to be faster somehow.
I don't do any register caching or specially known techniques, just a small interpreter with a maximally compacted implementation of the fetch-decode-execute-store pattern.

If Mupen64Plus AE re-compiler has the bug but not Project64's re-compiler, then I'd say it's an incidental thing that compiling in Mupen64Plus misses.

Quote:
Originally Posted by retroben View Post
Edit: *walks in slowly from hallway corner carefully* Where do I go to reach the IRC page?
You're an Android geek so you probably want a dumb web chat client for IRC.

Either find a client that will connect to irc.freenode.net or find some shitty web page that connects to IRC over HTTP, then tell it to /join #project64. The copy of qwebirc client that freenode.net compiled is internally set to handle connection to freenode by itself automatically.

Last edited by HatCat; 23rd May 2015 at 08:48 PM.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 03:06 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.