Compatibility on new 2016 builds

Discuss ROM-compatibility related issues here.
User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Tue Jan 26, 2016 11:33 pm

(Comment regarding attachments - kind of annoying that the forum insists on scaling images that have a width of 640px or more, thereby requiring me to crop the 648px wide screenshots to 639px)



Whoa it can actually boot World Driver Championship!

...though after the second screen you get a black screen of death.
1 - World Driver Championship.png
1 - World Driver Championship.png (77.98 KiB) Viewed 12866 times
2 - World Driver Championship.png
2 - World Driver Championship.png (31.97 KiB) Viewed 12866 times
Also, Hydro Thunder seems to be fully playable other than Cen64's lack of memory card saving...and playing with a keyboard is kind of difficult (I was too lazy to go retrieve my controller).
3- Hydro Thunder.png
3- Hydro Thunder.png (74.18 KiB) Viewed 12866 times
Last edited by Nintendo Maniac 64 on Wed Jan 27, 2016 7:23 pm, edited 7 times in total.
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Linux / Windows / Debug development builds (64-bit only)

Post by MarathonMan » Tue Jan 26, 2016 11:42 pm

FlashRAM, SRAM, mempak, etc. are all implemented and functional, just not documented. Some ROMs won't boot unless you specify the save type (Mario Party 3, I'm looking at you).

I'll probably get around to that after bugsquashing.

ShadowFX
Posts: 86
Joined: Sat Oct 05, 2013 2:08 am
Location: The Netherlands

Re: Feedback on latest updates

Post by ShadowFX » Wed Jan 27, 2016 2:56 am

I have moved the comments on the latest builds to this thread.
"Change is inevitable; progress is optional"

OS: Windows 10 Pro x64
Specs: Intel Core i7-7700K @ 4.2GHz, 16GB DDR4-RAM, NVIDIA GeForce GTX 1080 Ti
Main build: AVX (official)

AIO
Posts: 51
Joined: Wed Nov 05, 2014 4:56 pm

Re: Feedback on latest updates

Post by AIO » Wed Jan 27, 2016 2:21 pm

I'm intrigued that Hydro Thunder works. Other emulators use some game specific code to get it working.

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Feedback on latest updates

Post by Snowstorm64 » Wed Jan 27, 2016 7:07 pm

That's cool, I'll do some test later. :D

@MarathonMan: Has CEN64's RDP been synced up with the upstream (angrylion's RDP)? Because Angrylion's RDP has some new fixes (like this, or this.) which further improve the RDP accuracy. Also, if you have some spare time, please can you sync up 64dd support with the master branch? Because I wonder if those updates can fix that little issue that makes 64dd games to fail to boot. Thank you if you'll do it. :P
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Feedback on latest updates

Post by MarathonMan » Thu Jan 28, 2016 12:27 am

Snowstorm64 wrote:That's cool, I'll do some test later. :D

@MarathonMan: Has CEN64's RDP been synced up with the upstream (angrylion's RDP)? Because Angrylion's RDP has some new fixes (like this, or this.) which further improve the RDP accuracy. Also, if you have some spare time, please can you sync up 64dd support with the master branch? Because I wonder if those updates can fix that little issue that makes 64dd games to fail to boot. Thank you if you'll do it. :P
re RDP: I'll keep it in mind, but it wouldn't be a top priority. Those fixes are very incremental, and I have a modified version of angrylion's RDP so it's a bad effort/time ratio.

mikeryan sync'd up the 64DD code as of last night and it was still broken.

Sorry for being a bummer.

ShadowFX
Posts: 86
Joined: Sat Oct 05, 2013 2:08 am
Location: The Netherlands

Re: Feedback on latest updates

Post by ShadowFX » Thu Jan 28, 2016 4:22 am

Nintendo Maniac 64 wrote:Whoa it can actually boot World Driver Championship!
...though after the second screen you get a black screen of death.
Also, Hydro Thunder seems to be fully playable other than Cen64's lack of memory card saving...and playing with a keyboard is kind of difficult (I was too lazy to go retrieve my controller).
Though already working in the previous build from August 2015, it's nice to have some screenshots instead of simply listing its compatibility :)
Snowstorm64 wrote:That's cool, I'll do some test later. :D
Ditto, though for me it won't be as comprehensive as the latest compatibility test.
"Change is inevitable; progress is optional"

OS: Windows 10 Pro x64
Specs: Intel Core i7-7700K @ 4.2GHz, 16GB DDR4-RAM, NVIDIA GeForce GTX 1080 Ti
Main build: AVX (official)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Feedback on latest updates

Post by MarathonMan » Sat Jan 30, 2016 3:46 pm

ShadowFX wrote:Ditto, though for me it won't be as comprehensive as the latest compatibility test.
I'd hold off on any compat tests for the moment. I've found that ROMs like Mario Party 3 boot and work fine: if and only if you pass the correct "save" type when booting CEN64 (i.e., EEPROM 4/16kbit, SRAM, FlashRAM, etc.)

This is why I threw in a "cart DB": https://github.com/tj90241/cen64/blob/m ... t_db.c#L20

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Feedback on latest updates

Post by Snowstorm64 » Sat Jan 30, 2016 4:10 pm

MarathonMan wrote:
ShadowFX wrote:Ditto, though for me it won't be as comprehensive as the latest compatibility test.
I'd hold off on any compat tests for the moment. I've found that ROMs like Mario Party 3 boot and work fine: if and only if you pass the correct "save" type when booting CEN64 (i.e., EEPROM 4/16kbit, SRAM, FlashRAM, etc.)

This is why I threw in a "cart DB": https://github.com/tj90241/cen64/blob/m ... t_db.c#L20
How does it work? Does CEN64 trick the game, telling it that EEPROM or any other type of save game is present, when actually there isn't one?

However, I have already done my test. ;) So here it is:
Commit: d41f40e53311cd0a2f841ac4f06978a5a54de7e0
24/05/2015 vs 28/01/2016
Games that have seen improvements:
*Blast Corps (From "Timing issues, Controller pak error" to "Running, timing issues")
*Bust-a-Move '99 (From "Black screen" to "Playable")
*Carmageddon 64 (From "Hangs when asked to change rumble pak" to "Playable")
*Castlevania (From "Controls don't work" to "Crashes at main screen")
*Killer Instinct Gold (From "Black screen" to "Hangs in gameplay")
*Mario Party 3 (From "Black screen" to "Playable but requires EEPROM 16k loaded, graphical issues, weird issues")
*Multi Racing Championship (From "Controller Pak error" to "Playable, graphical issues, game can hang at some point")
*Namco Museum 64 (From "Black Screen" to "Playable")
*Resident Evil 2 (From "Hangs at main screen, graphical issues" to "Playable, severe graphical issues")
*Starcraft 64 (From "Black Screen" to "Playable")
*The Legend of Zelda - Majora's Mask (From "Playable, some weird issues" to "Playable, needs FlashRAM loaded to work properly")
*World Driver Championship (From "Black screen" to "Game hangs at main menu")



...And games that are affected by regressions:
*Perfect Dark (From "Running, timing issues, cannot go next without saves" to "White screen")
*Turok 3 - Shadow of Oblivion (From "Game hangs after main menu" to "Black screen")
One last thing: Does someone have a complete list of N64 games with anti-piracy measures? I know Banjo-Tooie and Jet Force Gemini require C/R protection scheme (a thing of the 6105 chip), Mario Party 3 and Perfect Dark want EEPROM 16K. Are there others?

EDIT: I think it's worth to take a look at this issue. MRC - Multi Racing Championship.
MRC.png
MRC.png (73.04 KiB) Viewed 12613 times
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Sat Jan 30, 2016 7:28 pm

The severe graphics issues (especially in RE) are probably RSP LWC2/SWC2 bugs. Thanks.

User avatar
chriztr
Posts: 38
Joined: Sun Oct 06, 2013 4:15 pm

Re: Compatibility on new 2016 builds

Post by chriztr » Sun Jan 31, 2016 6:36 pm

banjo2.png
banjo2.png (104.2 KiB) Viewed 12522 times
banjo.png
banjo.png (117.27 KiB) Viewed 12522 times

ShadowFX
Posts: 86
Joined: Sat Oct 05, 2013 2:08 am
Location: The Netherlands

Re: Compatibility on new 2016 builds

Post by ShadowFX » Sat Feb 20, 2016 12:23 pm

Build 2016-02-17 can now boot Conker's Bad Fur Day!
However, after choosing a new game or multiplayer game, the screen goes black (hangs) with the background music still playing.
Attachments
conkers_bfd_1.png
conkers_bfd_1.png (95.58 KiB) Viewed 12213 times
conkers_bfd_2.png
conkers_bfd_2.png (108.85 KiB) Viewed 12213 times
conkers_bfd_3.png
conkers_bfd_3.png (119.57 KiB) Viewed 12213 times
"Change is inevitable; progress is optional"

OS: Windows 10 Pro x64
Specs: Intel Core i7-7700K @ 4.2GHz, 16GB DDR4-RAM, NVIDIA GeForce GTX 1080 Ti
Main build: AVX (official)

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Sun Feb 21, 2016 9:43 am

It seems to be random, but if you keep insisting on it, you can make it to the gameplay.
Attachments
conkerbfd.png
conkerbfd.png (94.6 KiB) Viewed 12168 times
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Sun Feb 21, 2016 3:34 pm

Yes, I'm aware of this. Not sure what the cause of it is... guessing something with interrupts.

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Mon Feb 22, 2016 5:08 pm

In Perfect Dark there are some issues with the Expansion pak detection:
Attachments
PerfectDark.png
PerfectDark.png (48.13 KiB) Viewed 12054 times
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
izy
Posts: 25
Joined: Tue Jun 02, 2015 11:34 am

Re: Compatibility on new 2016 builds

Post by izy » Mon Feb 22, 2016 8:04 pm

MarathonMan wrote:Yes, I'm aware of this. Not sure what the cause of it is... guessing something with interrupts.
I don't know if you are thinking about this, but the notification functions in vr4300/interface.c aren't atomic for real. I guess this is why there is a FIXME after each check_for_interrupts() call.
In this case, the test should me made again with multithreading off in order to know whether that is the cause of the problem.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Mon Feb 22, 2016 8:05 pm

Hey, your pod racer no longer endlessly wrecks over and over again in Star Wars Episode 1 Racer at the start/finish line, and might actually be fully playable now!

Also, am I crazy or is the audio better than it used to be? I mean, it's still not great, but I thought it might have been worse compared to a month ago...
Snowstorm64 wrote:In Perfect Dark there are some issues with the Expansion pak detection:
That reminds me - is there some way to set Cen64 to run without the Expansion Pak?

I wanted to do this with Pokemon Stadium 2 which, unlike Perfect Dark, actually does detect the Expansion Pak.
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Mon Feb 22, 2016 11:04 pm

Snowstorm64 wrote:In Perfect Dark there are some issues with the Expansion pak detection:
Interesting... this is something I was not aware of. I will look into it.

No, it is not currently possible to disable the expansion pak.
izy wrote:
MarathonMan wrote:Yes, I'm aware of this. Not sure what the cause of it is... guessing something with interrupts.
I don't know if you are thinking about this, but the notification functions in vr4300/interface.c aren't atomic for real. I guess this is why there is a FIXME after each check_for_interrupts() call.
In this case, the test should me made again with multithreading off in order to know whether that is the cause of the problem.
It's easier just to sync the cores every cycle, but right idea wrt taking the variance out of the equation.
Nintendo Maniac 64 wrote:Hey, your pod racer no longer endlessly wrecks over and over again in Star Wars Episode 1 Racer at the start/finish line, and might actually be fully playable now!

Also, am I crazy or is the audio better than it used to be? I mean, it's still not great, but I thought it might have been worse compared to a month ago...
Multithreading will reduce pops in the audio due to the fact that it runs the system closer to realtime. This will make it sound better.

I also fixed some audio-related bugs. However, it still doesn't sound right and I think whatever bug is causing the distortion in Pokemon Stadium 2/Zelda:OoT/other carts which use the jpeg ucode is also resulting in subpar audio.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Mon Feb 22, 2016 11:55 pm

MarathonMan wrote:Multithreading will reduce pops in the audio due to the fact that it runs the system closer to realtime. This will make it sound better.
Well it wasn't that because I was testing using single threaded with speeds hovering around 59-61 VI/s (idling at the start/finish line in Mario Kart 64 in time trials at Frappe Snowland and/or Wario Stadium).
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
izy
Posts: 25
Joined: Tue Jun 02, 2015 11:34 am

Re: Compatibility on new 2016 builds

Post by izy » Tue Feb 23, 2016 4:24 pm

MarathonMan wrote: I also fixed some audio-related bugs
are you editing ai/controller.c? we could conflict i am also writing a patch for that file.

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Tue Feb 23, 2016 7:21 pm

Nintendo Maniac 64 wrote: That reminds me - is there some way to set Cen64 to run without the Expansion Pak?

I wanted to do this with Pokemon Stadium 2 which, unlike Perfect Dark, actually does detect the Expansion Pak.
There's no option, but you can edit the source code and rebuild it if you wish. You have to revert this commit to disable the expansion pak.
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Tue Feb 23, 2016 11:03 pm

izy wrote:
MarathonMan wrote: I also fixed some audio-related bugs
are you editing ai/controller.c? we could conflict i am also writing a patch for that file.
No - all the fixes I'm aware of are in place.

If you are talking about the OpenAL hack... I have not touched that. :D

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Thu Feb 25, 2016 2:10 am

Can confirm - after playing the game for like 5 hours and making it half-way through, Star Wars Episode 1 Racer does indeed seem to be fully playable.


However, I found something quite odd - if you go into the in-game options and change the resolution from "Hi-res" to "Lo-res", you gain like 33% more VI/s.

The thing is, "Hi-res" in this case doesn't actually render the polygons at any higher of a resolution - it just seems to increase the color bitdepth. How is that enough to increase the amount of VI/s by that much?

EDIT: For reference, said "Hi-res" mode is only available with the Expansion Pak, but I don't understand how using twice the amount of RAM would actually cause Cen64 to run at much of a different speed at all let alone noticably slower...
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
Narann
Posts: 154
Joined: Mon Jun 16, 2014 4:25 pm
Contact:

Re: Compatibility on new 2016 builds

Post by Narann » Fri Feb 26, 2016 6:36 pm

Nintendo Maniac 64 wrote:EDIT: For reference, said "Hi-res" mode is only available with the Expansion Pak, but I don't understand how using twice the amount of RAM would actually cause Cen64 to run at much of a different speed at all let alone noticably slower...
I don't know what SWE1 Racer does but if CPU (or RSP) do some post rendering stuff on framebuffer, having a high resolution framebuffer could increase post rendering processing time.

My 2 cts.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Sun Feb 28, 2016 11:50 pm

The World is Not Enough does a similar thing where you can enable 'Hi-Color' with the Expansion Pak which increases the color bitdepth. Interestingly enough however, at least on the main menu (because Cen64 crashes when trying to go in-game), it actually increased the VI/s by like 2%, and it wasn't a fluke because it was repeatable - I got ~73VI/s with 'Hi-Color' but "only" ~71VI/s with 'Standard'.

On a similar note, I find it interesting that using two threads instead of one only gives a ~14% performance boost in TWINE on the main menu (runs ~80VI/s) but in the title screen gameplay demo it runs anywhere from 23% (activating the Raptor Magnum's laser sight) to 42% (initial firing shots of the Wolfram P2K) faster than compared to single-threaded.


Speaking of Eurocom games, it seems that Cruis'n World might be fully playable. Ironically Cruis'n USA still crashes before the title screen (though it's by a different developer; Cruis'n Exotica also crashes before the title screen).
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Sun Mar 06, 2016 6:12 pm

Yay, the newest revision now outputs at an exact 1:1 pixel aspect ratio - this is particularly useful for any post-processing scaling filters.

In particular, I was thinking about making a video recording of playing Hydro Thunder in Cen64, but also doing it as a test to try some fancy upscaling algorithms to upscale the original from 320x237 to 960x711 (plus 9 pixels of letter boxing to make it 960x720) in an attempt to reduce aliasing.
Last edited by Nintendo Maniac 64 on Sat Jul 09, 2016 10:29 pm, edited 1 time in total.
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
The Extremist
Posts: 29
Joined: Sun Nov 03, 2013 6:11 pm
Location: Canadian Prairie

Re: Compatibility on new 2016 builds

Post by The Extremist » Thu Mar 24, 2016 2:52 am

Nintendo Maniac 64 wrote:Yay, the newest revision now outputs at an exact 1:1 pixel aspect ratio - this is particularly useful for any post-processing scaling filters.

In particular, I was thinking about making a video recording of playing Hydro Thunder in Cen64, but also doing it as a test to try some fancy upscaling algorithms to upscale the original from 320x237 to 960x711 (plus 9 pixels of letter boxing to make it 960x720) in an attempt to reduce aliasing.
Exciting times! 8-)

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Sat Jul 09, 2016 7:37 pm

I don't want to make a new thread, so I'm posting in this:
With latest commits some more games are now up like Mario Tennis as mentioned before, but also Mario Golf, Turok 2 and 3, Gauntlet Legends, Pilotwings 64, Castlevania, Killer Instinct. I believe all of them are playable right now! :D There's also a little progress for Paper Mario but it still crashes (TLB exception), at the point where Mario's glitched sprites appear.

So...I'd like to present to you...Glitch Mario! :P
GlitchMario.png
GlitchMario.png (85.18 KiB) Viewed 9836 times
EDIT: Also Mario Kart seems to be more stable with -multithread. Now it works like a charm, at full speed! :)
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Sat Jul 09, 2016 10:18 pm

The sound is mostly fixed now as well.

Found more bugs today then I have in quite some time... it was quite satisfying.

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Sun Jul 10, 2016 7:58 am

That's really awesome! Also the "colored lingering effect" on some object (e.g. Toad in Mario Party2 and vehicles in F-Zero X were greenish) is now gone, and Resident Evil 2 graphics are now fixed (though it's still complaining about missing LHV, SFV and SHV opcodes in some parts.). The intro video in Yakouchuu II is also fixed!

Now most games feel just right, I'm really happy. Thank you, MarathonMan! :D
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Mon Jul 11, 2016 3:53 am

MarathonMan wrote:The sound is mostly fixed now as well.
Now the question is, does the sound actually match what an N64 sound like? There was a fancy post somewhere that went into detail about how the N64 apparently used some sort of cubic resampling which was noticeable with some of GoldenEye's music.

Or at this point, is Cen64 just outputting the audio "unfiltered", like how it outputs the video without the N64's NTSC "Vaseline filter" or whatever the crap it was doing over the video output?
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Mon Jul 11, 2016 10:17 am

It's not accurate, even up to the point where the AI ("audio interface") reads the data.

In HW, the CPU or RSP writes the samples to RDRAM and then tickles the AI to start periodically DMA-ing samples from RDRAM to the DAC.

Here's where it gets messy:
The AI is supposed to send a interrupt back to the VR4300 when it's DMA-ing the last sample or two of audio, but I had to give CEN64 a lot more slack since it's not a realtime system (and the buffers kept underrunning, which led to lots of pops). Moreover, the AI is really only "double buffered" in the sense that it is only aware of two blocks of samples at any given time, but I had to bump this up to three for CEN64 (so when I shoot an interrupt too early, I can toss the sample data into the third block and back off).

Anywho, about the DAC:
I haven't looked into the DAC on my N64's mobo, so it could definitely be cubic as you mentioned. The DAC is a discrete component and is NOT part of the RCP itself.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Mon Jul 11, 2016 8:31 pm

EDIT: I found that forum post I spoke of that went into detail about the N64's audio:
http://forums.cen64.com/viewtopic.php?f ... 2062#p2222

----------------------------------------------------------------

I just really hope that, much like the video, we have the option of the raw "unfiltered" and the original hardware "filter". That way, if the user chooses, they can use whatever filter they want. This is quite important to me because, as more development went into making SNES audio sound correct and be perfectly accurate, it resulted in integrating and thereby forcing the use of gaussian resampling which really is quite a bit worse than cubic and/or sinc with regards to audio fidelity.

Also, this way Cen64 could theoretically resample the source sampling rate dirctly to whatever your OS is outputting at (22047Hz -> 44.1/48/96/192KHz) rather than doing two separate resample processes (22047Hz --6x-> 132282Hz -> 44.1/48/96/192KHz). Of course, I have no idea if it's even possible for Cen64 to know what sampling rate the OS is set to...
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
Matti
Posts: 13
Joined: Sun Jul 10, 2016 2:46 pm

Re: Compatibility on new 2016 builds

Post by Matti » Wed Jul 13, 2016 3:41 am

Hi, I am new to this forum. I tested some stuff and saw that everything is already reported here :D The missing two (?) opcodes are still a thing I think? I saw that the wings in StarFox64 are nearly black.

I have an i7-4750HQ CPU @ 2.00GHz running ArchLinux. I know this CPU will probably never run cen64 at full speed but I am more interested in bugless rendering. But I only get ~130% (out of 800%) CPU usage while running cen64.

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Wed Jul 13, 2016 7:20 am

Yes, LTV and STV are still causing lighting issues in a handful of games.

User avatar
asiga
Posts: 24
Joined: Fri May 30, 2014 5:35 pm

Re: Compatibility on new 2016 builds

Post by asiga » Sun Aug 07, 2016 7:36 am

Any news regarding World Driver Championship in latest builds from this summer? And any hints on what could be the cause for its problems? It certainly was one of my favourite N64 games...

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Thu Aug 11, 2016 4:34 pm

I'm fairly certain it's either not booting due to FPU bugs (which I'm aware of) or RSP synchronization issues (which I have not confirmed).

-multithread will probably break this ROM - last I checked, single threaded builds at least showed a title screen before freezing.

AIO
Posts: 51
Joined: Wed Nov 05, 2014 4:56 pm

Re: Compatibility on new 2016 builds

Post by AIO » Thu Aug 11, 2016 9:24 pm

World Driver Championship needs RSP synchronization, same with Gauntlet Legends. If Gauntlet doesn't work, then there's a good chance you need to change some RSP code. I doubt the current FPU bugs would cause it to not work, considering most emulators likely have some FPU bugs.

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Fri Aug 12, 2016 8:52 am

AIO wrote:World Driver Championship needs RSP synchronization, same with Gauntlet Legends. If Gauntlet doesn't work, then there's a good chance you need to change some RSP code. I doubt the current FPU bugs would cause it to not work, considering most emulators likely have some FPU bugs.
I don't get how it could be synchronization though, because I'm already cycling around the cores in a round-robin fashion. Maybe the DMAs are too fast? IIRC Gauntlet Legends works fine.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Wed Oct 12, 2016 2:20 am

Wow, no new posts? I'm suprised since I just tested Cen64 for the first time in several months and a lot of things now "just work", and save for some crackling the audio seems pretty much flawless now.

Though an odd thing is that some games, such as Rush 2049, have their audio playing too fast even when the emulator is at 60 VI/s...


Now the only thing stopping me from making a new Hydro Thunder video is memory card support.
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Wed Oct 12, 2016 9:10 am

Nintendo Maniac 64 wrote:Wow, no new posts? I'm suprised since I just tested Cen64 for the first time in several months and a lot of things now "just work", and save for some crackling the audio seems pretty much flawless now.

Though an odd thing is that some games, such as Rush 2049, have their audio playing too fast even when the emulator is at 60 VI/s...
Well...the development is quite slow in these months and the only commit that is really interesting is this one from Simon Eriksson, that fixes some games (F-Zero X and others).
Nintendo Maniac 64 wrote:Now the only thing stopping me from making a new Hydro Thunder video is memory card support.
But the memory card (aka the Controller Pak) is already supported. I believe you have to append this option next to the executable in the terminal:

Code: Select all

  -controller num=1,mempak=<path>
Where <path> is, obviously, the path to the .mpk file.
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

simer
Posts: 3
Joined: Sat Jan 16, 2016 5:28 pm
Location: 大スウェーデン帝國
Contact:

Re: Compatibility on new 2016 builds

Post by simer » Wed Oct 12, 2016 1:59 pm

Snowstorm64 wrote: Well...the development is quite slow in these months and the only commit that is really interesting is this one from Simon Eriksson, that fixes some games (F-Zero X and others).
I'm skeptical about that commit making any difference at all to official game compatibility, could you provide some examples?

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Wed Oct 12, 2016 6:58 pm

simer wrote: I'm skeptical about that commit making any difference at all to official game compatibility, could you provide some examples?
Huh...It seems that you're right. When did F-Zero X start to boot and work well?
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: Compatibility on new 2016 builds

Post by MarathonMan » Wed Oct 12, 2016 7:38 pm

Snowstorm64 wrote:Huh...It seems that you're right. When did F-Zero X start to boot and work well?
That started working when I implemented open bus reads a few months ago.

The cart basically attempts to 'look' for the 64DD (using an address that isn't mapped, if the 64DD isn't installed). I wasn't emulating that device-not-present kind of bus access correctly.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Thu Oct 13, 2016 3:19 am

Snowstorm64 wrote:But the memory card (aka the Controller Pak) is already supported. I believe you have to append this option next to the executable in the terminal:

Code: Select all

  -controller num=1,mempak=<path>
Where <path> is, obviously, the path to the .mpk file.
By golly it works! Interestingly enough, appending a second option of "-controller num=2" actually lets me access multiplayer in Hydro Thunder...yet not in Rush 2049; also it seems that you can't actually control player 2's controller.

Now the question is, does Cen64 support native battery saves yet?
Attachments
memory card.png
memory card.png (75.18 KiB) Viewed 7316 times
multiplayer.png
multiplayer.png (67.4 KiB) Viewed 7316 times
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Thu Oct 13, 2016 3:00 pm

MarathonMan wrote: That started working when I implemented open bus reads a few months ago.

The cart basically attempts to 'look' for the 64DD (using an address that isn't mapped, if the 64DD isn't installed). I wasn't emulating that device-not-present kind of bus access correctly.
Oh, now I see, thanks.
Nintendo Maniac 64 wrote: Now the question is, does Cen64 support native battery saves yet?
What do you mean by "native"? The ones that are located inside some cartridges with battery, like OoT, F-Zero X or SSB? Then it is also supported, with -sram <path>.

EDIT: There's a strange bug that affects Mario Party 2...First screenshot is mupen64plus, last screenshot is CEN64. I know M64+ is HLE, but I can tell the M64+ version is correct because I own this game for the N64.
Attachments
mp2-m64p.png
mp2-m64p.png (167.01 KiB) Viewed 7271 times
mp2-cen64.png
mp2-cen64.png (64.44 KiB) Viewed 7271 times
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

AIO
Posts: 51
Joined: Wed Nov 05, 2014 4:56 pm

Re: Compatibility on new 2016 builds

Post by AIO » Thu Oct 13, 2016 5:22 pm

Nintendo Maniac 64 wrote:Though an odd thing is that some games, such as Rush 2049, have their audio playing too fast even when the emulator is at 60 VI/s...
Probably means CEN64 is either firing AI interrupts too frequently, or needs to set AI status reg to full more often.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Thu Oct 13, 2016 10:33 pm

Well since you seem to have all the answers, does Cen64 have a built-in 60 VI/s limiter yet?
Snowstorm64 wrote:What do you mean by "native"? The ones that are located inside some cartridges with battery, like OoT, F-Zero X or SSB? Then it is also supported, with -sram <path>.
This doesn't really seem to be functioning. I mean, it creates the sram save file, but it won't actually save any data to that file.

For reference memory card saving & loading seems to be working perfectly.
Snowstorm64 wrote:screenshot
protip: if you crop your screenshot by 1 pixel to 639px wide then the forum won't downsize the image by default.

(yes I know that if you click the image you can view the full size, but it seems a bit silly to me that the forum will do that with images "greater or equal to 640px wide" rather than "greater than 640px wide")
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

User avatar
Snowstorm64
Posts: 303
Joined: Sun Oct 20, 2013 8:22 pm

Re: Compatibility on new 2016 builds

Post by Snowstorm64 » Fri Oct 14, 2016 1:05 pm

Nintendo Maniac 64 wrote:Well since you seem to have all the answers, does Cen64 have a built-in 60 VI/s limiter yet?
Not yet. MarathonMan himself said that he is planning to implement it, but for now the only way is to set V-sync on.
Nintendo Maniac 64 wrote: This doesn't really seem to be functioning. I mean, it creates the sram save file, but it won't actually save any data to that file.

For reference memory card saving & loading seems to be working perfectly.
That's strange...Have you already tried with this savegame on SSB?
Nintendo Maniac 64 wrote:protip: if you crop your screenshot by 1 pixel to 639px wide then the forum won't downsize the image by default.

(yes I know that if you click the image you can view the full size, but it seems a bit silly to me that the forum will do that with images "greater or equal to 640px wide" rather than "greater than 640px wide")
Well...if I have to say it honestly: I won't bother with it for just one pixel, but thanks anyways. ;)
OS: Debian GNU/Linux Jessie (8.0)
CPU: Intel i7 4770K @ 3.5 GHz
Build: AVX (compiled from git)

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: Compatibility on new 2016 builds

Post by Nintendo Maniac 64 » Sat Oct 15, 2016 4:05 am

Snowstorm64 wrote:That's strange...Have you already tried with this savegame on SSB?
Oddly enough, even without using that savefile, saving in Super Smash Bros. works perfectly fine.

For reference, saving doesn't work in Super Mario 64 nor in Mario Kart 64 (even though saving time trials ghosts to the memory card works in MK64).



Also I totally forgot about that save thread that you started - I have several completed memory card saves that could be useful (particularly World Driver Championship).
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests