Project64 Forums

Project64 Forums (http://forum.pj64-emu.com/index.php)
-   Open Discussion (http://forum.pj64-emu.com/forumdisplay.php?f=9)
-   -   New LLE RSP Plugin (accurate, fast but untested?) (http://forum.pj64-emu.com/showthread.php?t=3618)

HatCat 14th April 2013 05:53 AM

"Static Interpreter"
 
I ran out of attachment upload slots using this post, so I'll be trying something different from now on.
Currently I'm going to stick with FileSend to be able to count downloads, in my lack of education about better options.

Available versions for download:
Remember to READ THE MANUAL (not all of it) for any specific concerns pertaining to your use of this software, either before or after running into any issues, but not after complaining about something in a deficient way. This HTML2 help file is provided within the download archive for the latest version.

As you can see by reading the manual, I have named this software Static Interpreter because it was designed to use optional branch elimination and other unusual, slick simplifications of a normal algorithm to a standard CPU execution loop with the fetch-decode-execute pattern. It was designed for the purpose of proving that an interpreter can be just as fast, if not even faster, than a quality re-compiler plugin such as Jabo's MMX re-compiler extension to zilmar's Project64 interpreter, although the goal of surpassing its speed was not uncontestedly met in most games.

HatCat 14th April 2013 05:55 AM

Change Log
 
There is no more maintenance of a change log using this forum.

Like I said, read the MANUAL (at section 5.2 for the change log).

squall_leonhart 14th April 2013 08:23 AM

still won't boot RS unless Interpreter CPU Method is set in the debug menu :\

shunyuan 14th April 2013 10:50 AM

any instruction to compile your RSP project with VC and gcc? and how to configure to build a specific type of RSP?

ExtremeDude2 14th April 2013 12:51 PM

he specifically said you don't need to do anything, it will just compile :p

shunyuan 14th April 2013 01:38 PM

Quote:

Originally Posted by ExtremeDude2 (Post 45354)
he specifically said you don't need to do anything, it will just compile :p

Thanks, I will try.

HatCat 14th April 2013 02:30 PM

Quote:

Originally Posted by squall_leonhart (Post 45352)
still won't boot RS unless Interpreter CPU Method is set in the debug menu :\

You're not using the correct RSP plugin. :/

There is no Debug menu for anything of the RSP unless it's a zilmar spec #1.2 RSP plugin, and this is a #1.1.

Make sure per-ROM plugins for Rogue Squadron was not left at "RSP 1.7.0.9" because that is not the name of my plugin.

Using the recompiler with my plugin is impossible because it is interpreter-only. :)

Quote:

Originally Posted by suanyuan (Post 45353)
any instruction to compile your RSP project with VC and gcc? and how to configure to build a specific type of RSP?

The native C build is done with GCC/MinGW up-to-date packages all as of 04-10-2013 (latest RT, GCC core, binutils).

The C++ build was done by Microsoft Visual Studio 2010.
I have the project files somewhere, but I didn't upload them.
(I guess I will add the Visual Studio project files in the next package release, if I get enough bug reports/suggestions to upload a new version to the thread.)

They should be able to compile straight out of the box without any code changes, as long as your compiler supports ANSI C rules + `inline` keyword.

Code:

@ECHO OFF
TITLE MinGW Compiler Suite Invocation
CD ..\..\MINGW\BIN\

ECHO CC1.EXE:  Compiling C source code...
GCC.EXE -S -O3 -m3dnow -mabm -maes -msse2 -o ../rsp/rsp.s ../../rsp/rsp.c
ECHO.

ECHO AS.EXE:  Assembling compiled sources...
AS.EXE --statistics -o ../rsp/rsp.o ../rsp/rsp.s
ECHO.

ECHO LD.EXE:  Linking assembled object file...
GCC.EXE --shared -s -O -o ../rsp/rsp.dll ../rsp/rsp.o
PAUSE

So just copy all that stuff out of the .7z\SRC folder, and compile the main file `rsp.c`. It should get straight to work. :)

the_randomizer 14th April 2013 03:56 PM

Gauntlet Legends boots, but the audio crackles like hell. Suggestions?

I should note pressing F1 crashes the ROM and emulator.

Pau 14th April 2013 04:28 PM

I want to sent you a pull request with some fixes but can't find you on github/gitorious/googlecode/bitbucket/sourceforge

HatCat 14th April 2013 04:53 PM

Quote:

Originally Posted by nintendo1889 (Post 45361)
I should note pressing F1 crashes the ROM and emulator.

Hmmm it does crash on F1, and Shift+F1.

However it seems to only be this game, maybe WDC/SR64.
Any other game I tried seems to reset fine with F1 without crashing.

It probably is because of how zilmar manages the threading during the intermission of re-starting an SP task.
I can't really control that from within the RSP, so that bug is not on my end.

Quote:

Originally Posted by nintendo1889 (Post 45361)
Gauntlet Legends boots, but the audio crackles like hell. Suggestions?

You might need to play with the AI update/VI refresh values in PJ64 RDB.
I guess zilmar never had much of a chance to since it was hard just getting this game to boot in the first place, let alone run at full speed.

I just tested this game on PJ64 1.7.0.48 with Jabo's 1.7 audio, sync-game-to-audio LLE on my RSP, the sound is perfect.
It is bad only on this current 2.0 EXE we are using, so it's because of his timing bypasses. I can't control how the core is doing the audio.

But if you do downgrade to that older EXE the audio should sound just fine.

It's a shame but I really can't test audio HLE....
AziAudio.dll hasn't HLE'd the audio ucode for Gauntlet Legends,
and I can't seem to get the new 1964 Audio Plugin to work anywhere except on 1964 :D but then my RSP doesn't initialize on 1964. :p (But I did that on purpose; they really need to fix that DllConfig bug on their end.)


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

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