Hacking NDSSFC/CATSFC revival

What sort of additional hotkeys do you want?


  • Total voters
    98

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Thread summary and reboot

This thread's getting longer and longer and I keep getting lost while trying to find "subthreads", like the naming subthread, the audio emulation subthread, the game playability subthread, the speedhack subthread, the request subthreads and the various subthreads started in the original CATSFC thread, "CATSFC released". So this is a compilation of what's up right now, and the questions that still stand.

Naming subthread
See above (post #380) :)

Audio emulation subthread
the_randomizer, in post #4, started this subthread.
I'm surprised they ported Snes9x 1.43 to this thing; too bad 1.52 is out of the question (has perfect audio emulation).
Since CATSFC 1.08, I have done many things to improve the audio, which improved the speed of the rest of emulation as well. Most notably, I redid the way the sound is synced in CATSFC 1.25, meaning the note lengths jump less, which may have been what the_randomizer was referring to. In addition to fixing the note lengths, this allowed me to raise the sampling frequency to 32 kHz and enable interpolation in version 1.29, which makes CATSFC sound very close to a real SNES in a lot of games. I have a working SNES here, and I played Yoshi's Cookie on my DS and that SNES and they sounded almost identical, barring slight timing issues like the music running 0.3% too fast or too slow.

the_randomizer, in post #35, continues this subthread.
I doubt the DS will ever get an Snes emulator with accurate sound, it just isn't powerful enough...just sayin'.
I would like someone with a non-crappy camera and/or mic to record a video for the_randomizer's perusal, if possible. Then I want to know whether that's good enough. As he or she says in post #85:
Well, best of luck getting the better sound core implemented; I might get a DSTWO or whatever it's called just for that right there:P
Normmatt, in post #138, continues this subthread.
Have you tried using the mips asm from that psp port I posted earlier for the sound mixing it might help speed it up.
I managed to make it lag much less in 1.25 with just gcc -O3. I now have more understanding about the MIPS instructions I can submit to the DSTwo, and it doesn't seem to be anything more than just MIPS 1 (32-bit), so I can't vectorise anything in handcrafted ASM to speed it up. The JZ4740 doesn't even support the MIPS DSP extension.

The problem, as I've written in post #203, was that the DSTwo tried to push 92 milliseconds of audio to the DS within a 20-millisecond frame.

Controls subthread
Rydian, in post #28, started this subthread.
Hm, was there always a bit of input lag (meaning sometimes a quick button press isn't registered), and was the intro right with Ridley in Super Metroid always so painfully laggy?

I never used the DSTwo's SNES emulator enough to see that stuff to begin with since I've got a PSP, so I'm curious if it's some sort of regression or if it was like this at these places to begin with.
Rydian, in post #123, continues this subthread.
And much improvement since the last version I tried has been noted!

Samus no longer skips shots if I press too briefly in Super Metroid, I can walljump repeatedly now, etc. The opening level's fight with Ridley is still laggy as all hell, but as I stated palette writes seem to be killers on emulation anyways (and it's doing it both to the level, and Ridley's sprite collection). Not like you need to win against him anyways though.

Glad for frameskip smoothing as well, makes laggy games only visually laggy and more playable.
Rydian, in post #214, continues this subthread with a video.

Since CATSFC 1.08, I have made many efforts to improve the controls, which only recently culminated in CATSFC 1.29 which has perfect controls at the cost of making automatic frameskip equivalent to at least frameskip 2 (20 FPS in NTSC, 16.66 FPS in PAL). CATSFC 1.08 had bad controls even after my first attempt at a fix, and the lag persisted through all versions except 1.24 for some people. 1.17 was a Timer-Interrupt Audio Edition, so it had awesome controls but it crashed. 1.24 was an attempt at making the sound rendering tie up less processor time, and for many people it succeeded in making the controls better, but controls still jumped for me. In 1.28, I managed to get it perfect, or so I thought: the controls would lock up for 2 seconds every 20, but otherwise would be perfect. 1.28 had about 40 FPS in many sprite+BG games. 1.29 finally did it right.

Game playability subthread
Rydian in post #28 started this subthread with the report about Super Metroid.

Since then, the frame rate has decreased and increased in various versions, but in 1.29 is on the rise again.

mechagouki in posts #36 and #40 continues this subthread. The Secret of Mana subthread extends from the original CATSFC thread.
Tried it with Secret of Mana last night, the menu screen font issue is still not fixed, rendering the game virtually unplayable. It's working in Snes9xTYL on the PSP, is it simply impossible to fix on DS?
Posted issue on GitHub, here is the image I attached:

SoMfontproblem_zps51ee2ed9.jpg

Since then, I have implemented a fix for Secret of Mana and Seiken Densetsu 3. The fix for Secret of Mana broke the Rareware icon in Donkey Kong Country, but the fix for SD3 restored it. nitendo in post #104 has reported that this also fixed text in Treasure of the Rudras. The Secret of Mana/SD3 subthread ends at my post #174. I remember it playing at ~8 FPS during the message box parts in those two games; how are those two games in CATSFC 1.30?

ferret7463 in post #41 continues this subthread.
Just tried out this emu, I like cleaned up GUI, But unfortunately Mega Man X2 and X3 are still really laggy. ( I don't expect Miracles) The Rundra translation by AG plays great like it before. This EMu however has made it step closer in it being able to be read on the DS. (1/2 of the letters are cut off down the middle) I thank you for your hard work in this project. Well that is my 2 cents.:yaysp:
I don't know how well Mega Man X2 and X3 work in CATSFC 1.30 compared to ShadauxCat's 1.1. wolfmanz51 has a big compatibility list, which would be best hosted on WikiTemp, for this.

Killermech in post #105 continues this subthread.
[...] Also, for something entirely different. I gave 1.13 a try yesterday and I have no idea if it's just me. But the games ran about 30% slower than BAGSFC (I kept that around from the time I used to compare it to CATSFC). I have both emulators on CPU Freq 5 and one game you can tell a big difference on, is the first level of Aladdin. While on BAGSFC, it runs very fluently, but on CATSFC it stutters. Like if I were to run it on BAGSFC on CPU Freq 2-3. [...]
Since then, Aladdin has also had a sound bug fixed when reloading states. I'm curious to see how playable it is on 1.30 versus 1.13.
granville in post #146 continues this subthread.
[...] I don't expect there will be much that can be done about getting some of the more intensive special chip games working at a decent speed (Yoshi's Island or Mario RPG, Kirby Super Star at least already has a great DS version so not that big of a loss with that one), but i'm finding most of the other chip-less games are very playable. Tried out the DKC games and they seem to work pretty darn well considering.

Do Yoshi's Island, Mario RPG or Kirby Super Star work any better in 1.30 compared to 1.18?

nitendo, in post #191, continues this subthread.
The Zelda BS games does not seem to work at all. The thing is - they worked in CATSFC 1.1 - IF you turned off the sound.
But then you played a updated Zelda game WITHOUT any sound and that is not enjoyable at all.

In short: Could you have a look at the Zelda BS games and the sound emulation (because that is most likely what causes them to not load at all)?
This is an outstanding bug; I'd like it to go on GitHub, please. CATSFC needs to be updated to Snes9x 1.52+ by one or more porter(s).
remjay24, in post #192, continues this subthread.
I downloaded it (1.23), love the new layout and full screen mode! Unfortunately, my games don't seem to be running any better than before. I tried Mega Man X, Mortal Kombat 3 and Tetris Attack. All had slow down/skipping frame issues... especially mmx and mk3 when there were more enemies/objects on the screen.
Are any of these games better than 1.23 with 1.30?

Also, can someone take wolfmanz51's compatibility list from post #250 and put it on WikiTemp somewhere? I'd put a link to the page on the first post.

Donations subthread
2ndApex, in post #233, continues this subthread. It started in the original CATSFC thread, for different reasons in Shadaux's case.
1.28 is amazing, I can finally retire SnemulDS from my card now!

Huge thanks for your continued development on CATSFC, you make updates bigger than most homebrew projects that make the front page and you do them almost daily (1.28 ought to be on front page today). It's pretty cool how DSTWO owners finally have the proper SNES emulation we were all offered and I gotta say, if continued CATSFC updates were a paid subscription I'd totally buy it.
I dare not demand donations (and can't, due to the Snes9x non-commercial license), and am not in a situation where lack of money is life-threatening like Shadaux, but I am quite broke, lacking a college diploma for 3 more months due to a missing "internship class" and having no financial aid - so any donations you guys want to make would be appreciated if you appreciated my updates. I have no Paypal, so something would have to be arranged in private. BassAceGold contributed to some optimisations I used in later versions which proved fruitful, such as Direct Memory Access (DMA) to draw emulated frames and de-interleave the ROM, as well as overclocking in the experimental branch and faster file reads with his libBAG, so I would split with him. Or you could split it yourself and give money where you think money is due.

In the original CATSFC thread there was also mention of a "homebrew bounty". Is this still around, and if so, would I qualify with this revival?

Speed hacks subthread
windwakr in post #44 started this subthread. It extends from the original CATSFC thread.
Would it be possible for you to try to implement speedhacks?

There's some talk about it here(about half-way down the page, extending into the next few pages):
http://gbatemp.net/threads/catsfc-released.281917/page-3

Looks like ShadauxCat was going to implement them, but I guess he wasn't able to make it work.
I'm asking Shadaux what s/he tried in 2011. I'm also struggling to implement this because of incompatible ROM offsets.

Battery usage subthread
2ndApex in post #102 started this subthread.
Does this mean that (at least for CATSFC) the DSTWO won't drain battery on stand-by mode now?
That was when I implemented sleep on lid-close during emulation. I still don't know how this affects battery life. Since then, I have also implemented sleeping on lid-close during the menu, and the CPU frequencies below [5] 396 MHz are finally somewhat playable for sprite+BG games, so perhaps you could see some battery life timings for lower frequencies.
 
  • Like
Reactions: the_randomizer

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Thread summary and reboot

This thread's getting longer and longer and I keep getting lost while trying to find "subthreads", like the naming subthread, the audio emulation subthread, the game playability subthread, the speedhack subthread, the request subthreads and the various subthreads started in the original CATSFC thread, "CATSFC released". So this is a compilation of what's up right now, and the questions that still stand.

Naming subthread
See above (post #380) :)

Audio emulation subthread
the_randomizer, in post #4, started this subthread.

Since CATSFC 1.08, I have done many things to improve the audio, which improved the speed of the rest of emulation as well. Most notably, I redid the way the sound is synced in CATSFC 1.25, meaning the note lengths jump less, which may have been what the_randomizer was referring to. In addition to fixing the note lengths, this allowed me to raise the sampling frequency to 32 kHz and enable interpolation in version 1.29, which makes CATSFC sound very close to a real SNES in a lot of games. I have a working SNES here, and I played Yoshi's Cookie on my DS and that SNES and they sounded almost identical, barring slight timing issues like the music running 0.3% too fast or too slow.

the_randomizer, in post #35, continues this subthread.

I would like someone with a non-crappy camera and/or mic to record a video for the_randomizer's perusal, if possible. Then I want to know whether that's good enough. As he or she says in post #85:

Normmatt, in post #138, continues this subthread.

I managed to make it lag much less in 1.25 with just gcc -O3. I now have more understanding about the MIPS instructions I can submit to the DSTwo, and it doesn't seem to be anything more than just MIPS 1 (32-bit), so I can't vectorise anything in handcrafted ASM to speed it up. The JZ4740 doesn't even support the MIPS DSP extension.

The problem, as I've written in post #203, was that the DSTwo tried to push 92 milliseconds of audio to the DS within a 20-millisecond frame.

Controls subthread
Rydian, in post #28, started this subthread.

Rydian, in post #123, continues this subthread.

Rydian, in post #214, continues this subthread with a video.

Since CATSFC 1.08, I have made many efforts to improve the controls, which only recently culminated in CATSFC 1.29 which has perfect controls at the cost of making automatic frameskip equivalent to at least frameskip 2 (20 FPS in NTSC, 16.66 FPS in PAL). CATSFC 1.08 had bad controls even after my first attempt at a fix, and the lag persisted through all versions except 1.24 for some people. 1.17 was a Timer-Interrupt Audio Edition, so it had awesome controls but it crashed. 1.24 was an attempt at making the sound rendering tie up less processor time, and for many people it succeeded in making the controls better, but controls still jumped for me. In 1.28, I managed to get it perfect, or so I thought: the controls would lock up for 2 seconds every 20, but otherwise would be perfect. 1.28 had about 40 FPS in many sprite+BG games. 1.29 finally did it right.

Game playability subthread
Rydian in post #28 started this subthread with the report about Super Metroid.

Since then, the frame rate has decreased and increased in various versions, but in 1.29 is on the rise again.

mechagouki in posts #36 and #40 continues this subthread. The Secret of Mana subthread extends from the original CATSFC thread.



Since then, I have implemented a fix for Secret of Mana and Seiken Densetsu 3. The fix for Secret of Mana broke the Rareware icon in Donkey Kong Country, but the fix for SD3 restored it. nitendo in post #104 has reported that this also fixed text in Treasure of the Rudras. The Secret of Mana/SD3 subthread ends at my post #174. I remember it playing at ~8 FPS during the message box parts in those two games; how are those two games in CATSFC 1.30?

ferret7463 in post #41 continues this subthread.

I don't know how well Mega Man X2 and X3 work in CATSFC 1.30 compared to ShadauxCat's 1.1. wolfmanz51 has a big compatibility list, which would be best hosted on WikiTemp, for this.

Killermech in post #105 continues this subthread.

Since then, Aladdin has also had a sound bug fixed when reloading states. I'm curious to see how playable it is on 1.30 versus 1.13.
granville in post #146 continues this subthread.


Do Yoshi's Island, Mario RPG or Kirby Super Star work any better in 1.30 compared to 1.18?

nitendo, in post #191, continues this subthread.

This is an outstanding bug; I'd like it to go on GitHub, please. CATSFC needs to be updated to Snes9x 1.52+ by one or more porter(s).
remjay24, in post #192, continues this subthread.

Are any of these games better than 1.23 with 1.30?

Also, can someone take wolfmanz51's compatibility list from post #250 and put it on WikiTemp somewhere? I'd put a link to the page on the first post.

Donations subthread
2ndApex, in post #233, continues this subthread. It started in the original CATSFC thread, for different reasons in Shadaux's case.

I dare not demand donations (and can't, due to the Snes9x non-commercial license), and am not in a situation where lack of money is life-threatening like Shadaux, but I am quite broke, lacking a college diploma for 3 more months due to a missing "internship class" and having no financial aid - so any donations you guys want to make would be appreciated if you appreciated my updates. I have no Paypal, so something would have to be arranged in private. BassAceGold contributed to some optimisations I used in later versions which proved fruitful, such as Direct Memory Access (DMA) to draw emulated frames and de-interleave the ROM, as well as overclocking in the experimental branch and faster file reads with his libBAG, so I would split with him. Or you could split it yourself and give money where you think money is due.

Speed hacks subthread
windwakr in post #44 started this subthread. It extends from the original CATSFC thread.

I'm asking Shadaux what s/he tried in 2011. I'm also struggling to implement this because of incompatible ROM offsets.

Battery usage subthread
2ndApex in post #102 started this subthread.

That was when I implemented sleep on lid-close during emulation. I still don't know how this affects battery life. Since then, I have also implemented sleeping on lid-close during the menu, and the CPU frequencies below [5] 396 MHz are finally somewhat playable for sprite+BG games, so perhaps you could see some battery life timings for lower frequencies.

Whoa, back the truck up. Are you saying that Snes emulation had the SPC700/S-SMP improve that much!? The reason I haven't said anything about it is because I pissed you off time and time again and I feel bad. I mean, one way to test is running Final Fantasy VI sound effects, as synchronized audio will make sound effects (like the cursor sound) correct. Are you saying it sounds like that now? Color me impressed. :P

Now, to get a Super Card TWO. As for comparing Snes9x 1.52 audio to this emulator, ABX tests would be useful, but would be hard to do unless one could connect a DS to a PC speaker input via Y-cable. From there one could record with Audacity. I can provide Snes9x 1.52/1.53 recording if need be, as I believe it to be pretty exact to real hardware.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Whoa, back the truck up. Are you saying that Snes emulation had the SPC700/S-SMP improve that much!? The reason I haven't said anything about it is because I pissed you off time and time again and I feel bad. I mean, one way to test is running Final Fantasy VI sound effects, as synchronized audio will make sound effects (like the cursor sound) correct. Are you saying it sounds like that now? Color me impressed. :P

Now, to get a Super Card TWO (or whatever it's called).
Yeah, you pissed me off back then, but now it's good because I'm happy the audio is less note-length jumpy, is interpolated and is 32000 Hz.

Maybe the cursor sound needed interpolation to work, or perhaps didn't sound great because of the jumpiness or 22050 Hz resampled audio of olde. I actually haven't tested FF6, so I shall now. Where is this cursor sound most used?

I also added an option to make the emulator emit sound 13,440 times per second (once per scanline, 224 scanlines per frame, 60 frames per second), closer to a real SNES. It's in the Video & audio submenu and it's called Fluidity. You can set it to prefer fluid video, or more synchronised audio. It hooks into the Snes9x option Settings.SoundSync, which I used in CATSFC 1.08 to 1.26 but it only lagged the emulator more.

Edit: I would like to hear this video, yeah. It would help me out a lot. I will also state that most sound effects in the games I own sound good now, including the rain effect in LoZ, jumps in SMW and the cookie-moved sounds in Yoshi's Cookie.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Yeah, you pissed me off back then, but now it's good because I'm happy the audio is less note-length jumpy, is interpolated and is 32000 Hz.IT

Maybe the cursor sound needed interpolation to work, or perhaps didn't sound great because of the jumpiness or 22050 Hz resampled audio of olde. I actually haven't tested FF6, so I shall now. Where is this cursor sound most used?

I also added an option to make the emulator emit sound 13,440 times per second (once per scanline, 224 scanlines per frame, 60 frames per second), closer to a real SNES. It's in the Video & audio submenu and it's called Fluidity. You can set it to prefer fluid video, or more synchronised audio. It hooks into the Snes9x option Settings.SoundSync, which I used in CATSFC 1.08 to 1.26 but it only lagged the emulator more.

The sound is used when selecting anything in a menu, scrolling up/down/left/right. It should have a smooth repeating squeaky noise, nice and clean. Zsnes however gets it totally wrong and is not smooth in its sound. I can post a recording. But yes, the audio did have a jumpiness to it.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
The sound is used when selecting anything in a menu, scrolling up/down/left/right. It should have a smooth repeating squeaky noise, nice and clean. Zsnes however gets it totally wrong and is not smooth in its sound. I can post a recording. But yes, the audio did have a jumpiness to it.
Here's a sound bite for your consideration, recorded in CATSFC 1.30: http://filetrip.net/view?A2T8QMtkzy

The sound bite shows off the two option values for the new Fluidity option, which corresponds to Snes9x's Settings.SoundSync. I am using the external microphone of a portable music player to record near the DS's right speaker, so it is rather crappy but you can hear the sounds.

Before timestamp 0:43, I am using the Prefer fluid video setting. Then I mash buttons, and after timestamp 0:48, I am using the Prefer fluid audio setting. Beware the loud clicks at 1:27 if you raise the volume to listen!

I am in the first area in FF6, with the wind and all that. I mash the Up and Down buttons during battles to get the cursor sound.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Here's a sound bite for your consideration, recorded in CATSFC 1.30: http://filetrip.net/view?A2T8QMtkzy

The sound bite shows off the two option values for the new Fluidity option, which corresponds to Snes9x's Settings.SoundSync. I am using the external microphone of a portable music player to record near the DS's right speaker, so it is rather crappy but you can hear the sounds.

Before timestamp 0:43, I am using the Prefer fluid video setting. Then I mash buttons, and after timestamp 0:48, I am using the Prefer fluid audio setting. Beware the loud clicks at 1:27 if you raise the volume to listen!

I am in the first area in FF6, with the wind and all that. I mash the Up and Down buttons during battles to get the cursor sound.

It's certainly a huge improvement that's for sure, but still doesn't sound quite right, but that is certainly no fault of your own. I can hear and I can assure you that it sounds a lot better than the other Snes emulators that were written for the DS. For comparison, I recorded a sample from the same game/area on Snes9x 1.52, which is spot on with a real console, or at least as far as I can tell. Whether this emulator can be coded to further improve the audio code, only time will tell. I'm not going to complain about it, and I'm going to be careful what I say and how I say feedback regarding peoples' hard work . Again, it sounds helluva lot better, but I can't quite pinpoint the exact issue.

Snes9x 1.52, 32 KHz, MP3

http://filetrip.net/view?fl7Voh8ERJ

If anyone can make this emulator have near-perfect sound emulation like Snes9x 1.52, it's you. B-)
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
ZSNES was the clue I was missing - and thanks for the recording :)

After playing your recording with earphones, then playing FF6 in ZSNES 1.51 for Linux (2011-09-12) and finally again in CATSFC 1.30 with earphones, I conclude that with the audio fluidity setting, CATSFC 1.30 sounds between ZSNES 1.51 and Snes9x 1.52. That is, it doesn't sample the sound fully like Snes9x 1.52, but it squeaks cleaner than ZSNES.
 
  • Like
Reactions: the_randomizer

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
ZSNES was the clue I was missing - and thanks for the recording :)

After playing your recording with earphones, then playing FF6 in ZSNES 1.51 for Linux (2011-09-12) and finally again in CATSFC 1.30 with earphones, I conclude that with the audio fluidity setting, CATSFC 1.30 sounds between ZSNES 1.51 and Snes9x 1.52. That is, it doesn't sample the sound fully like Snes9x 1.52, but it squeaks cleaner than ZSNES.


Well, glad I could help in some way. It does sound like a mix between the two, but I don't want to incessantly plague you with this issue. If it's possible to fix, great, if not, no biggie. I'd imagine trying to perfectly reproduce Blaarg's S-SMP emulator (which is responsible for cycle-accurate SCP700 emulation) on the DS would probably make you want to rip your hair out. :P
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
It's more about the ++ in the C++. If someone manages to port the 1.52 APU code into CATSFC as C instead, and it's more efficient at rendering sound than Snes9x 1.42, that'll be a great bonus :)
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
It's more about the ++ in the C++. If someone manages to port the 1.52 APU code into CATSFC as C instead, and it's more efficient at rendering sound than Snes9x 1.42, that'll be a great bonus :)

Man, wish I knew more about C++ than I do about C# (and even then, I barely started my computer science major core classes), so it's just a matter of porting the APU code to pure C? At least it's been concluded that it possible to pull off, but sounds like it would require tremendous work, if there was only some way to contact Blaarg. If there's anyone who knows about some tricks about coding, it would be him. Or maybe the RetroArch developers like Themaister or Squarepusher? They're bound to know something about porting code from one architecture to another. That would be pretty freakin' awesome.
 

wolfmanz51

MrNintendosense
Member
Joined
Nov 24, 2008
Messages
428
Trophies
0
Location
Somewhere in cali
Website
www.youtube.com
XP
370
Country
United States
The sound is very good for ds emulation in fact as of 1.30 the 32000hz interpolated sound sounds fantastic, the squeaks in FF are very good considering the environment. Mega Man X 1-3 run much better than 1.1, almost prefect, aside from the need for frame skip.
The emulator from my experience is a great emulator as of 1.30.
If you need direction on where to go next i suppose solving/woking around the bottle neck issue would be the best way to improve usability, most games run near perfect but require frame skip to be on, which is the lagest issue by far. A few games actually do run showing all the frames, and i tend to play with the show all frames option on, even if it slows down emulation a bit cause the frame skip makes games look jumpy and feel like the game is playing too fast, cause the game is skiping even though 1 frame isn't that bad it kills the smoothness of it all by not showing frames of animation.

perhaps you could focus on something like Norm said:
"Nebuleon you could always do the interface stuff on the nds side and just use the mips side for emulation. This way would require you to make a custom arm7/arm9 code but it could bring some speedups."
maybe you two could collaborate, on custom NDS side code with BAG and this emulator would become perfectly usable.

On a side note im also in school, as great as this project is, as great as it looks for a coder in your portfolio (Im assuming thats what your going to school for) you may want to spend less time working on this emulator and more time, getting a internship/financial aid for your education your life/succes is far more important than this project, and if its holding you back in any way please move on, if not please continue your pursuit of this awesome emulator.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
[...] perhaps you could focus on something like Norm said:
"Nebuleon you could always do the interface stuff on the nds side and just use the mips side for emulation. This way would require you to make a custom arm7/arm9 code but it could bring some speedups."
maybe you two could collaborate, on custom NDS side code with BAG and this emulator would become perfectly usable.

Perhaps. But this requires BAG, me, or both to want to code interface stuff, and (I presume) to want to recode the GUI in ARM. I'm not exactly willing to do that, and I'm not sure about BAG.

On a side note im also in school, as great as this project is, as great as it looks for a coder in your portfolio (Im assuming thats what your going to school for) you may want to spend less time working on this emulator and more time, getting a internship/financial aid for your education your life/succes is far more important than this project, and if its holding you back in any way please move on, if not please continue your pursuit of this awesome emulator.
Right now I can't get or start an internship, as they start in April only. I also don't qualify for financial aid due to the household earning above a certain amount, but part-time work isn't enough. I love working on this emulator, though, because it brings back a lot of memories and allows me to hone my low-level optimisation skills.
 
  • Like
Reactions: signz

wolfmanz51

MrNintendosense
Member
Joined
Nov 24, 2008
Messages
428
Trophies
0
Location
Somewhere in cali
Website
www.youtube.com
XP
370
Country
United States
ok well as long as its not interfering with anything and helping you hone your skills Have fun, i was just worried ya know.
Of course no pressure on my suggestion this emus great, and im sure which ever direction you take it in will be wonderful. I have been a little busy with school/work myself so I have not been able to contribute as much as id like, all in due time i suppose.
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
I would like someone with a non-crappy camera and/or mic to record a video for the_randomizer's perusal, if possible. Then I want to know whether that's good enough.
I've got a double-ended audio cable for a few other uses (streaming PSP, hooking MP3 player into cars), so I connected the DS to my PC's mic jack to record the actual output.

http://www.mediafire.com/?n31afoa4n7cv2lj (FLAC for lossless.)

It's the opening to Zelda 3, from the Nintendo logo to the end of the title screen fanfare. It's recorded on a DSi, at a volume level two clicks below max to avoid clipping.

wave.png


Unfortunately, most actual cameras record far below 60FPS (24/30FPS at max is common), and even youtube will resample videos down to 30FPS, so I don't think an accurate video recording can be made... unless somebody here happens to have a full-speed camera (I can check the video files to confirm), and uses a raw storage service (mediafire, FTP, web hosting, etc.) to avoid damaging the video.

In the original CATSFC thread there was also mention of a "homebrew bounty". Is this still around, and if so, would I qualify with this revival?
Unfortunately no, the homebrew bounties GBAtemp runs are large site-wide contests done every so often. There could be another one soon, but it's meant to encourage new work, so work done before the contest doesn't matter (only work done during).

I'm asking Shadaux what s/he tried in 2011. I'm also struggling to implement this because of incompatible ROM offsets.
IIRC they didn't know what to do, and got hit with stupid life restrictions soon after looking at it (a reason for stopping).
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I've got a double-ended audio cable for a few other uses (streaming PSP, hooking MP3 player into cars), so I connected the DS to my PC's mic jack to record the actual output.

http://www.mediafire.com/?n31afoa4n7cv2lj (FLAC for lossless.)

It's the opening to Zelda 3, from the Nintendo logo to the end of the title screen fanfare. It's recorded on a DSi, at a volume level two clicks below max to avoid clipping.

wave.png


Unfortunately, most actual cameras record far below 60FPS (24/30FPS at max is common), and even youtube will resample videos down to 30FPS, so I don't think an accurate video recording can be made... unless somebody here happens to have a full-speed camera (I can check the video files to confirm), and uses a raw storage service (mediafire, FTP, web hosting, etc.) to avoid damaging the video.

Unfortunately no, the homebrew bounties GBAtemp runs are large site-wide contests done every so often. There could be another one soon, but it's meant to encourage new work, so work done before the contest doesn't matter (only work done during).

IIRC they didn't know what to do, and got hit with stupid life restrictions soon after looking at it (a reason for stopping).

Wow, you managed to rip the audio directly from the system itself...most impressive. Unfortunately, I think the DS hardware itself cannot output as clearly or rather, as smoothly as Snes9x on a PC can, due to the raspy audio native to the DS hardware. As for the skipping/tempo, it has to do with the SPC700 timing itself, Granted, it does indeed sound better than other Snes emulators I've heard on the DS, but whether or not it can get to the same level, I don't know, I wish I was a programmer, as I cannot fully understand why it outputs the way it does. The raspy audio is no fault of the author, but simply how the DS resamples the audio prior to output. You don't have Final Fantasy VI do you? That would be another good game to test on the DS.

For comparison, here's a recording from Snes9x 1.52/1.53, which uses Blaarg's S-SMP emulator core (the same one Bsnes uses, meaning it should be identical to the real system). I also recorded the Zelda 3 Intro fanfare (used FLAC for lossless audio) like you did, to help run ABX tests in Foobar2000. I don't know, maybe I'm simply looking too far into this whole situation and being overly OCD about it. If I am, then I apologize. Hell, I should probably stop while I'm ahead. :(

http://www.mediafire.com/?hn8m8v343k20q6z
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
I could toss FFVI(U) on there if you wanted a sample.

I did a recording from SNES9x 1.53 to confirm that my recording time was the same as yours, so yeah the DS recording is a little fast.

comparison.png


DS on top, PC 1.53 on bottom. I zoomed in on the waveform a bit and did some dirty measurements, and it looks like the period of silence between the logo "ding" and the start of the title screen stuff is a little too short on the DS side, which is why the recordings end up mis-timed.

Also, for shits and giggles (and a live example of the timing issue), I mixed the tracks down to mono each and set them as the stereo channels. The left speaker is the DS version, the right speaker is the PC version.
http://www.mediafire.com/?p057qvhbyuvl7k8



EDIT: Also I need to point out that the DS's recording suffers a little in the quality department (you can see the noise during the "silence") because it's a copy of the analogue output, while the PC recording is straight-digital. Can't run DSTwo-specific stuff in an emulator, so this is the best comparison I can make.
 
  • Like
Reactions: the_randomizer

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I could toss FFVI(U) on there if you wanted a sample.

I did a recording from SNES9x 1.53 to confirm that my recording time was the same as yours, so yeah the DS recording is a little fast.

comparison.png


DS on top, PC 1.53 on bottom. I zoomed in on the waveform a bit and did some dirty measurements, and it looks like the period of silence between the logo "ding" and the start of the title screen stuff is a little too short on the DS side, which is why the recordings end up mis-timed.

Also, for shits and giggles (and a live example of the timing issue), I mixed the tracks down to mono each and set them as the stereo channels. The left speaker is the DS version, the right speaker is the PC version.
http://www.mediafire.com/?p057qvhbyuvl7k8



EDIT: Also I need to point out that the DS's recording suffers a little in the quality department (you can see the noise during the "silence") because it's a copy of the analogue output, while the PC recording is straight-digital. Can't run DSTwo-specific stuff in an emulator, so this is the best comparison I can make.

You can make Final Fantasy VI samples for us? Sure, go right ahead and make one B-). It's weird, I seem to have a strange knack for being able to discern what's accurate/inaccurate in audio emulation.:P Maybe I have perfect pitch...? The SPC700 emulation is still off in the Snes DS emulator, which I am confident can be fixed, but will require the APU code to be ported over in C and optimized to use the SuperDSTwo CPU. As for the DS recording, it's as close as we're going to get if we really want to compare them.
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Oh, something else I just noticed when zooming in on the waveform. The opening jingle created by the DS in my recording is two noises, while the one created on the PC is the proper three.

comparison2.png


And the two noises the DS records are the last two out of three noises the PC makes... so the first noise is cut off, which is why the recordings are misaligned! I didn't realize the DS only started making sound on the second note.

So hold on, my previous timing example was wrong, I'll fix it in a minute.


EDIT: Alright, even re-aligning them for the missed note, the DS is still too fast. Also the missed note wasn't due to me recording too slow, as I have a second or two of recording going before the note starts.

So the DS missed a note in the intro, and it's fast.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Oh, something else I just noticed when zooming in on the waveform. The opening jingle created by the DS in my recording is two noises, while the one created on the PC is the proper three.

comparison2.png


And the two noises the DS records are the last two out of three noises the PC makes... so the first noise is cut off, which is why the recordings are misaligned! I didn't realize the DS only started making sound on the second note.

So hold on, my previous timing example was wrong, I'll fix it in a minute.

EDIT: Alright, even re-aligning them for the missed note, the DS is still too fast. Also the missed note wasn't due to me recording too slow, as I have a second or two of recording going before the note starts.

So the DS missed a note in the intro, and it's fast.


That's fine, take all the time you need. Oh, and yeah, not sure if you missed it, but some FFVI samples would help me test this. B-)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: This movie rip so werid has 1080p quality but the audios ripped with movie theater audio quality