• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

New Project64k Core 2.2

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
Hey guys,

I am bored and in-between jobs so I created this for fun. The current Project64k is from 2003 and is based off of Project64 1.4. I'm not sure why the community uses an emulator that is so outdated! This new Project64k was created this week (2015) and is based off of Project64 2.2 (the latest release). I am hoping that the community will be more willing to switch to a newer version of p64k since nobody seems to want to switch to mupen (which is an awesome emulator too).

You may find it on:
https://github.com/Ownasaurus/Project64k-Core-2.2/releases

Coders: please feel free to contribute since it is open source.

Smashers: here is what you need to know (all based off of limited testing since it is so new)
+ More stable, fewer DS
+ Stays in sync with items, random CPU and random stage!!
+ Stays in sync with cheats since release 1.6

- to allow for full sync on kaillera, core runs at ~58 VI/sec instead of 60 VI/sec
- Incompatible with other versions of p64k including older versions of itself

Feedback is most welcomed and appreciated.

Ownasaurus
 
Last edited:

nickthename

Smash Apprentice
Joined
Apr 5, 2015
Messages
95
Location
Halcyon Tower
I think there will be problems without syncing cheats, because people tend to use different cheat codes, and this could cause problems. Also, many people forget altogether. Thanks very much for releasing this though, I've been hoping for a while we could move to a more modern emulator.

Maybe someone could distribute this with all the cheats already enabled, or we could use the quickmatch rom, which doesn't require cheats, since it has them baked in. That rom is also quite convenient, since it boots straight to the character select screen without requiring manually disabling cheats.
 
Last edited by a moderator:

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
I think there will be problems without syncing cheats, because people tend to use different cheat codes, and this could cause problems. Also, many people forget altogether. Thanks very much for releasing this though, I've been hoping for a while we could move to a more modern emulator.
Well the old p64k syncs cheats - not always perfectly though. That's why the host can enable something like the "falcon knee" cheat and everyone suddenly has it enabled.
 

nickthename

Smash Apprentice
Joined
Apr 5, 2015
Messages
95
Location
Halcyon Tower
Right, I know. Cheat syncing is nice because it means you can play cheat games without having to send everyone the codes, and if you know your configuration works you can host online without having to worry about players joining your game with different/non-functional cheats and messing things up. So, it'd be great to have on 2.2.

But, even if we can't get cheat syncing under 2.2, we should still be able to make use of it through the quickmatch rom, which doesn't need cheats.
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
There seems to be a problem with the random sync right now, updates to come later
 

Uair

Banned via Warnings
Joined
Jun 16, 2015
Messages
580

Also could you distribute the Project64 2.2 files as well, on the Project64 website it is detected as a virus from Firefox, and malwarebytes when I try installing it. I have my own backup of 2.2 but I'm not sure if it's the same, and I've yet to test this or with Glide vs Jabo and different audio plugins but could you prioritize Save Support.

I can't wait for playable F Zero X multiplayer GP.
 
Last edited by a moderator:

UNKN{OWN}iXi

Smash Journeyman
Joined
Feb 7, 2006
Messages
458
It'd be great coupling this with the quickrom that has Dreamland in the first slot, or if it stays on the previously chosen stage.
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
Hey guys,

I am bored and in-between jobs so I created this for fun. The current Project64k is from 2003 and is based off of Project64 1.4. I'm not sure why the community uses an emulator that is so outdated! This new Project64k was created this week (2015) and is based off of Project64 2.2 (the latest release). I am hoping that the community will be more willing to switch to a newer version of p64k since nobody seems to want to switch to mupen (which is an awesome emulator too).

You may find it on:
https://github.com/Ownasaurus/Project64k-Core-2.2/releases

Coders: please feel free to contribute since it is open source.

Smashers: here is what you need to know (all based off of limited testing since it is so new)
+ More stable, fewer DS
+ Stays in sync with items, random CPU and random stage!!

- Incompatible with other versions of p64k
- Does not yet support syncing cheats... so everyone needs to have everything unlocked to avoid DS (annoying - next fix on my to-do list)

Feedback is most welcomed and appreciated.

Ownasaurus
First of all, great work. I really do hope people can finally move onto a better emulator. I actually recently figured out how to fix the desync on PJ64k, at the cost of poorer audio quality, but this is a much better solution :) . I was honestly considering improving 1964 and releasing that, but I guess I won't need to anymore. People here seem to be more inclined to use Project64, not sure why xD.

I noticed your repository is a bit behind. No need to rush, but I think it's necessary to catch up before releasing. I wouldn't recommend always forcing Fixed Audio timing to be enabled (only force it on when using netplay). Some people like to only use 1 emulator, so it's preferable to disable it when playing offline. Don't listen to anyone who tells you that Fixed Audio timing is more accurate or reduces crackling. Most games sound better with the option off, especially SSB.

Another suggestion is to prioritize syncing save support. 1964 1.1 has this feature implemented. They also went the extra mile and synced emulator settings! It's open source so you can see the code for that. I think syncing settings will be necessary because that could cause a desync if the settings that are different have an impact on the results, like AIcountper bytes or VI Refresh rate, maybe even counter factor too actually. If no one touches the settings, then it won't be required to sync settings, but I think it's good to have safety measures.

If you need/want help, feel free to PM me!
It'd be great coupling this with the quickrom that has Dreamland in the first slot, or if it stays on the previously chosen stage.
I've done that before, where I made the dreamland the default selected stage. Don't know if I still have the patch. If not, I'll have to open up Nemu and debug again. Also if anyone is interested in changing spawn coordinates, I think I should be able to do a few changes.
 

KnitePhox

Smash Lord
Joined
Oct 17, 2005
Messages
1,838
Location
Chicago, IL
YES fair spawn points for singles and teams (p1&p2 vs p3&p4)

19XXTE with dreamland in first stage slot + spawn fixes would be god like
 

nickthename

Smash Apprentice
Joined
Apr 5, 2015
Messages
95
Location
Halcyon Tower
I have a copy of the quickmatch rom if anyone needs it, by the way. Dunno who made it, it boots to character select with all characters unlocked, items off, 5 stocks. Doesn't default to DL though.
 
Last edited:

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
First of all, great work. I really do hope people can finally move onto a better emulator. I actually recently figured out how to fix the desync on PJ64k, at the cost of poorer audio quality, but this is a much better solution :) . I was honestly considering improving 1964 and releasing that, but I guess I won't need to anymore. People here seem to be more inclined to use Project64, not sure why xD.

I noticed your repository is a bit behind. No need to rush, but I think it's necessary to catch up before releasing. I wouldn't recommend always forcing Fixed Audio timing to be enabled (only force it on when using netplay). Some people like to only use 1 emulator, so it's preferable to disable it when playing offline. Don't listen to anyone who tells you that Fixed Audio timing is more accurate or reduces crackling. Most games sound better with the option off, especially SSB.

Another suggestion is to prioritize syncing save support. 1964 1.1 has this feature implemented. They also went the extra mile and synced emulator settings! It's open source so you can see the code for that. I think syncing settings will be necessary because that could cause a desync if the settings that are different have an impact on the results, like AIcountper bytes or VI Refresh rate, maybe even counter factor too actually. If no one touches the settings, then it won't be required to sync settings, but I think it's good to have safety measures.

If you need/want help, feel free to PM me!
I've done that before, where I made the dreamland the default selected stage. Don't know if I still have the patch. If not, I'll have to open up Nemu and debug again. Also if anyone is interested in changing spawn coordinates, I think I should be able to do a few changes.
Thanks for your detailed response and some great information.

The reason my repository is so behind is because I based it off of the (stable) 2.2 release. I tried the latest (unstable) version of the code, but it had some very annoying bugs - such as the audio not working during a second emulation without restarting the whole client.

My hope is that kaillera support will eventually merge into the official future p64 releases - once my work is stabilized.

Update: It seems to stay in sync with any Graphics, Audio, or RSP plugin that we have tested so far!!!!!!! But... changing the input plugin causes issues. More to come soon.

- Owna
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
Thanks for your detailed response and some great information.

The reason my repository is so behind is because I based it off of the (stable) 2.2 release. I tried the latest (unstable) version of the code, but it had some very annoying bugs - such as the audio not working during a second emulation without restarting the whole client.
Fair enough. I did remember that audio bug, but felt there were enough positive changes to outweigh the negative ones. Are there any other issues in particular that concern you?

My hope is that kaillera support will eventually merge into the official future p64 releases - once my work is stabilized.
I think it might be better to keep it unofficial, or maybe just have an unofficial branch that's used exclusively for the smash community. The reason why is because there may be some changes you make that won't be liked by others and you may also not like changes done by other people.

Update: It seems to stay in sync with any Graphics, Audio, or RSP plugin that we have tested so far!!!!!!! But... changing the input plugin causes issues. More to come soon.

- Owna
Have you tried Rice Video? I know that one has weird problems with Project64, but curious if that one can cause a desync. Hopefully not because it's a good plugin for those who use old/not very powerful hardware.
 

firo

Smash Ace
Joined
Jul 27, 2008
Messages
600
Location
Champaign, Illinois
Nice work Owna!

My hope is that you'll support a switch to mupen in the future, so we can go beyond kaillera and also support other platforms.
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
Nice work Owna!

My hope is that you'll support a switch to mupen in the future, so we can go beyond kaillera and also support other platforms.
I will always support whatever I believe is the best is out there. For kaillera, that's currently mupen++; I can't believe nobody uses it. Very shortly though, I hope, my p64k will be superior to that. Then HOPEFULLY we will be able to develop a far superior mupen netplay option at which point it will have my 100% support.
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
Have you tried Rice Video? I know that one has weird problems with Project64, but curious if that one can cause a desync. Hopefully not because it's a good plugin for those who use old/not very powerful hardware.
I think there are a few rice video plugins (might be wrong though). But could you point me towards the specific one you want tested? or you can test with me or someone else on kaillera to know firsthand :)

I will think about keeping a separate branch but I am not sure....
 
Last edited:

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
I wouldn't recommend always forcing Fixed Audio timing to be enabled (only force it on when using netplay). Some people like to only use 1 emulator, so it's preferable to disable it when playing offline. Don't listen to anyone who tells you that Fixed Audio timing is more accurate or reduces crackling. Most games sound better with the option off, especially SSB.
Fixed in latest push, publishing an installer this time right now.

Release:
https://github.com/Ownasaurus/Project64k-Core-2.2/releases/tag/1.1

BEWARE OF BLOATWARE.
 
Last edited:

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
I think there are a few rice video plugins (might be wrong though). But could you point me towards the specific one you want tested? or you can test with me or someone else on kaillera to know firsthand :)
Pretty much any should be fine. Basically PJ64 has some weird problem with most D3D plugins where certain things in certain games don't work right. For instance, the intro in SSB is bugged (DK misses his fair against samus, which is supposed to hit). Other games like Mario Party 1, have messed up audio with certain D3D plugins like Rice.

Fixed in latest push, publishing an installer this time right now.

Release:
https://github.com/Ownasaurus/Project64k-Core-2.2/releases/tag/1.1

BEWARE OF BLOATWARE.
Nice :) . Glad to see that done right.
Also, rice 5.5.1 seems to work.
Ok good to know. Then we probably don't need to worry about video plugins.
Then HOPEFULLY we will be able to develop a far superior mupen netplay option at which point it will have my 100% support.
If you do decide to work on Mupen, it would be nice if you could use zilmar spec just like the original Mupen64 did.

You might want to implement some failsafe code, like disabling load/save states during netplay.
 

felipe_9595

Smash Lord
Joined
Apr 9, 2010
Messages
1,431
Location
Chile
This is nice but we have a heavy use of GS codes so we will not switch until that is fixed, thanks for update though!
 

KnitePhox

Smash Lord
Joined
Oct 17, 2005
Messages
1,838
Location
Chicago, IL
if can figure out code syncing, ill push this hard on server as soon as available or jan 1 (begin kicking people to force switch)
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
If this emulator can allow fullscreen mode without desynching, it'll be the only thing stopping me from quitting online ssb altogether.
I'm quite certain it can do this. But I haven't tested it yet. Want to test it together? If not, I may find someone to test with tonight.
 

Fireblaster

Smash Lord
Joined
Sep 17, 2003
Messages
1,859
Location
Storrs, Connecticut
I'm quite certain it can do this. But I haven't tested it yet. Want to test it together? If not, I may find someone to test with tonight.
I can't test anything this weekend. Windows 10's DWM forces vsync on any program in windowed mode. This ****s with games by giving them input lag and causing them to run full speed and think they're displaying 60 fps when they're actually displaying 30 fps and it makes them unplayable unless they're in fullscreen (exclusive fullscreen skips DWM altogether).
 

Capos

Smash Apprentice
Joined
Dec 13, 2014
Messages
187
I'm getting a BSOD every time I open the rom (online or offline). Using the same one I've always used, and never had a crash before.
 

Attachments

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
I'm getting a BSOD every time I open the rom (online or offline). Using the same one I've always used, and never had a crash before.
What OS are you using? It's a known issue. Basically there was some code changes that happened in PJ64 2.0 that "triggers" a BSOD on certain OSes. You'd probably have to wait for Microsoft to patch the bug, unfortunately. Only other way to fix this is if there is indeed a bug in PJ64's code, but even if there is, nobody is willing to even take a look.
 

Capos

Smash Apprentice
Joined
Dec 13, 2014
Messages
187
What OS are you using? It's a known issue. Basically there was some code changes that happened in PJ64 2.0 that "triggers" a BSOD on certain OSes. You'd probably have to wait for Microsoft to patch the bug, unfortunately. Only other way to fix this is if there is indeed a bug in PJ64's code, but even if there is, nobody is willing to even take a look.
Windows 10.
 

Capos

Smash Apprentice
Joined
Dec 13, 2014
Messages
187
i recently had the same problem, but i think it was a restart or graphics setting that i changed that solved it, maybe both

settings screenshot
I've restarted a bunch of times, so it's not that.

I had left the graphic settings at the default, (so I was using Jabo's) Switched to glide, was told there was no controller plugged in. Switched to match your settings (except resolutions) and got the BSOD with same error message. On Jabo's I wasn't getting the BSOD when it didn't detect a controller either, so maybe the controller is the issue?

http://i.imgur.com/NRI2WSQ.jpg
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
Started happening on my 2nd test computer (windows 10) just today as well. Very frusturating. No fix yet. It's exclusive to win10 so i'm deeming it a MS bug =\.
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
YES fair spawn points for singles and teams (p1&p2 vs p3&p4)

19XXTE with dreamland in first stage slot + spawn fixes would be god like
I forgot to ask before, what stages do you want modified spawn coordinates?

@ C Capos @ O Ownasaurus , you guys mind testing https://www.dropbox.com/s/wdm7idxfk6419bp/Project64 2.0.0.3.exe?dl=0 ? It's an old build for version 2.0.0.3. If this build doesn't trigger a BSOD for you guys, I'll consider taking another look at the commit that triggers it. It's a huge commit and I'm not too good with threading code, but maybe I can figure it out.
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
https://github.com/Ownasaurus/Project64k-Core-2.2/releases/tag/1.5

Minor new release. No longer loads save files to help prevent desync on load. Save file sharing hopefully soon. Netcode reworked to allow for cheat sharing soon (next release?).

Can you run the program through a debugger to catch the critical error before the BSOD happens? I would but the win10 computer i have access to isn't mine, and i can't install visual studio on it.


I still don't have anyone to test fullscreen with or i would. I don't see why it would DS though with the code I am using.
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
https://github.com/Ownasaurus/Project64k-Core-2.2/releases/tag/1.6

CHEAT SYNC SUPPORT!!!!! Host has full control over cheats. Everyone else's cheat settings are ignored. Should have amazing sync now.

Now that we're getting somewhere, please try using this if you don't have windows 10. I need to know what works and what does not.

@ Fireblaster Fireblaster - I'm sorry to say that my one test of fullscreen DID DS. But it was odd and froze my computer for like 30 seconds when I tried to go fullscreen, so that may be an atypical example.
 

Timotheus

Smash Journeyman
Joined
Aug 16, 2011
Messages
228
Location
Germany
so sheick and me tested the emulator. the only issue we have is that it only runs with 57-58 frames online for some reason. offline the game runs with 60 frames. any ideas?
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
https://github.com/Ownasaurus/Project64k-Core-2.2/releases/tag/1.7

"Oops! Multi-code cheats were not working last release. This has been fixed. Cheats were also not able to be disabled. I think this has been fixed.

Cheats should be 100% functional now!"

@ Timotheus Timotheus - yeah sadly this happens in project64 if you turn on the option that makes it sync properly. there is extra overhead. i turn this option off for off-line play. if i don't turn it on for online play, it will not sync random cpu or random stage.... hopefully newer versions of project64 will fix this and make it more efficient.

I will put this in the OP as a core flaw of this emulator.
 
Top Bottom