#46607 - gladius - Tue Jun 28, 2005 12:43 am
The sequel to my GBA SPC player is here :). PocketSPC plays back SNES music files, also known as SPC's.
Visit the webpage for the download: http://pocketspc.pocketheaven.com/.
Changes in the 0.7 release:
- Added Gaussian interpolation - samples sound much nicer
- Increased accuracy of DSP/APU integration
- Better emulation of key-on and key-off registers
- Changed around dsp register writes, should be more accurate
- Envx and Outx are cleared on key-on now
- Changed DSP ram to have 256 bytes, so reads are no longer mirrored
- Fixed stupid bug with DSP register reads - any songs that read from envx were broken
(fixes dq1, doom, rnh, bt&dd, a lot more)
- Fixed bugs and added echo emulation to SnesDS version
Last edited by gladius on Wed Aug 17, 2005 4:45 am; edited 5 times in total
#46610 - Filb - Tue Jun 28, 2005 1:03 am
I'm testing it right now.
Wow, it's awesome, man! Keep up the good work.
Can't wait for future versions.
Edit: There are still bugs in it, right? A lot of SPCs I've been trying still sound a bit weird or seem to crash it. :(
#46611 - gladius - Tue Jun 28, 2005 1:46 am
Yes, there are still quite a few cpu bugs that cause SPC's to play back incorrectly. Hence the v0.1 :). I have a few bugs I'm tracking down right now that cause problems in mariokart and star ocean that should fix quite a few others. If you tell me what games are not working correctly I'll take a look at them and hopefully be able to fix them up.
#46612 - Filb - Tue Jun 28, 2005 1:49 am
Try F-Zero. I tried a few songs from that game but it just hung up.
On the screen it showed a "NOP" after the file name, too.
Here's one of the F-Zero files.
#46621 - DekuTree64 - Tue Jun 28, 2005 7:01 am
Nice work! Cool as it was attempting such an emulator on the GBA, the DS's sound HW does sound much nicer :)
That, and the fact that there will hopefully be enough CPU power left to run a SNES emulator with it. Have you thought about running it entirely on the ARM7? Combined with a port of PocketSNES, it might not be far from done
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#46654 - gladius - Tue Jun 28, 2005 5:47 pm
Fixed the problem with Fzero, not sure how many others were fixed by it. But mariokart and star ocean are still messing up, so I'm going to wait a bit too see if I can't fix that before another release.
DekuTree64: Yes, I have a version running entirely on the arm7 and it works fine. There is some slowdown when all channels are playing, but this is somewhat rare, and the mixer routine is still in c++, so there is much room for improvement there.
#47250 - gladius - Wed Jul 06, 2005 7:43 pm
Version 0.2 is now out. There have been a ton of bugfixes, all the SPC's I've tested at least play back, but there are still some errant samples. It's now running fully on the arm7 with no main ram access, so it could be plugged into a game pretty easily, or a snes emulator ;).
New homepage as well: http://pocketspc.pocketheaven.com/, thanks to the pocketheaven crew for the space!
#47253 - Sappharad - Wed Jul 06, 2005 8:37 pm
gladius wrote: |
There have been a ton of bugfixes, all the SPC's I've tested at least play back, but there are still some errant samples. It's now running fully on the arm7 with no main ram access, so it could be plugged into a game pretty easily, or a snes emulator ;). |
Try DungeonMan from Earthbound. (Actually, both songs from Earthbound I put on here choke it, but DungeonMan even sounds complicated, so it's a good one to test out) It plays one drum beat, then there's silence for the rest of the song. I'm guessing you wont need any help finding this song. :-)
Since you've got it running on ARM7, is there any chance it would still run full speed if you were to make it into a Pogoshell plugin?
#47259 - gladius - Wed Jul 06, 2005 9:42 pm
Thanks for the tip. Looks like there are still cpu fixes to be done :).
As for backporting to the GBA, I've thought about it, it should be possible with mono/8-bit mixing, which is fine as stereo on the GBA sucks anyhow. I'm working on getting the core working correctly before I start thinking about that though.
#47260 - dXtr - Wed Jul 06, 2005 9:46 pm
I tried the Soul Blazer soundtrack and none of the songs worked..
so you maybe should try those to :)
edit: oh, and also: GREAT WORK! :D
#47281 - tepples - Thu Jul 07, 2005 12:56 am
Sappharad wrote: |
Since you've got it running on ARM7, is there any chance it would still run full speed if you were to make it into a Pogoshell plugin? |
Currently PogoShell runs only in GBA mode, and in GBA mode, the ARM7 is clocked at half speed (16.7 MHz).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#47295 - The 9th Sage - Thu Jul 07, 2005 3:36 am
gladius wrote: |
Version 0.2 is now out. There have been a ton of bugfixes, all the SPC's I've tested at least play back, but there are still some errant samples. It's now running fully on the arm7 with no main ram access, so it could be plugged into a game pretty easily, or a snes emulator ;).
New homepage as well: http://pocketspc.pocketheaven.com/, thanks to the PIRACY-DOT-COM crew for the space! |
Oh man, you added support for ID666 tags. This program just gets better and better. :D
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#47299 - Dwedit - Thu Jul 07, 2005 3:52 am
I'd love to see compatiblity with Darkain's loader.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#48019 - gladius - Sat Jul 16, 2005 6:50 am
Version 0.3 has been released, quite a few fixes (sorry, no soul blazer yet, that one is turning out to be a tough one to fix!). Check the main post for more information.
#48023 - Sappharad - Sat Jul 16, 2005 7:35 am
Nice. Lots of stuff sounds wonderful now.
If you're still looking for songs that cause problems:
Chrono Trigger 1-03 Morning Sunlight - The instrument that starts 7 seconds into the song is played incorrectly. I'm assuming this is related to that echo hack you mention, because it sounds like something scraping along a fan blade. (Actually, several songs in Chrono Trigger suffer from this, but this is the first one in the playlist I found)
Chrono Trigger 1-10 Goodnight - This one should be fairly obvious... Sounds like one of the instruments is physically broken. :-)
Chrono Trigger 3-01 Singing Mountian - This whole song is filled with tuning problems.
(I could list a whole bunch more from this one game, but I'm going to assume many of these minor issues are related to the same thing, and go on to another game)
None of the music in Kirby's Dream course plays, and nor does Earthbound still. Is your echo hack mentioned in the notes enabled in this release? (Both of these games have sound that works fine in SNESDS)
Once again, nice job.
#48065 - Cleon I - Sat Jul 16, 2005 10:17 pm
Very nice work. :) I tried it with some StarFox tracks and most of them work perfectly, although some have tracks that are far louder than they should be, or have annoyingly loud beeps. An example of the former is Fortuna, which has a ringing-type effect that keeps playing too loud, and an example for the latter is Title Screen which rapes your ears for the first couple seconds. I'm not providing links since it should be easy enough to find them on your own.
Also, any chance someone can start up a compatibility list like for snesDS?
#48070 - gladius - Sat Jul 16, 2005 11:00 pm
Thanks for the feedback, it's helpful to track down bugs in the songs. Those messed up sounds are supposed to be run through a filter, but unfortunately the arm7 doesn't have the horsepower to do that. The next version should have that problem mostly fixed.
#48982 - gladius - Mon Jul 25, 2005 1:21 am
New version out. It has echo/filter support so most songs sound better. Check the first post for details.
#48988 - The 9th Sage - Mon Jul 25, 2005 3:38 am
gladius wrote: |
New version out. It has echo/filter support so most songs sound better. Check the first post for details. |
Excellent work. :) This version sounds great on most of the songs I've tried from Chrono Trigger...a few sound off, but man, great work.
*edit*
Decisive in Tales of Phantasia sounds like it has heavy metal guitars in it. O_o lol Oh, and thank you for the random function, I love that.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#49279 - gladius - Thu Jul 28, 2005 3:33 am
Couldn't resist releasing this new version after I fixed a massive sample decoding bug :). Quite a few other bug fixes, but a few more games work properly now.
#49313 - Isle - Thu Jul 28, 2005 2:41 pm
weeee, fzero plays now!
could you make an option to ignore the timer and have it play forever?
#49364 - The 9th Sage - Fri Jul 29, 2005 4:36 am
Oh wow, this does sound a lot better. I tried it with all songs that gave me problems in testing the last release, and all of them are sounding fantastic. No more random distorted guitar solo. :D (other very noticeably better songs besides ToP songs are for example Records 1, 2, and 3 in StarFox 2) Only bug I can find is that songs from Super Turrican don't seem to be playing right.
I have a small request though...is there any way you could add a way to lock the L and R buttons? I like that you can change tracks with them, but when I shove the NDS in my pocket the song has a tendency to get changed on me, heh.
*edit*
Ooh, and the wind on Singing Mountain (Chrono Trigger) sounds like it should now, and Lavos' scream sounds better in that one song.
*edit 2*
And I'm curious...what do the Channel States on the bottom mean? Some of them I've guessed, like level of echo, wether channel is in use, and I *think* one is the instrument used, I think one is the loudness of that channel...not sure about most of them.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#49643 - gladius - Mon Aug 01, 2005 4:28 am
Great, glad to hear things are sounding better.
As for the channel states, here is a list from left to right: channel active, envelope state, echo enabled, envelope volume, pitch, sample, echo co-efficients.
Sorry, I didn't have time to do the L&R locking or play song forever, but they will be in the next version.
#49669 - Chetic - Mon Aug 01, 2005 2:29 pm
Yes! Super Bomberman 2 songs works now, thank you ^_^
Actually everything sounds alot more like real SNES now, if not exactly like it ;)
_________________
Packin':
Grey DS with FlashMe v7
1Gbit XG2T 2005 (Neoflash compatible)
GBAMP, Supercard CF, 512Mb Magic Key 3 and EZFA 256Mbit
#49724 - The 9th Sage - Tue Aug 02, 2005 1:26 am
gladius wrote: |
Great, glad to hear things are sounding better.
As for the channel states, here is a list from left to right: channel active, envelope state, echo enabled, envelope volume, pitch, sample, echo co-efficients.
Sorry, I didn't have time to do the L&R locking or play song forever, but they will be in the next version. |
Take as much time as you need, I'm estatic about this project no matter wether I can lock the L and R buttons or not. :D
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#49783 - dXtr - Tue Aug 02, 2005 1:47 pm
hey, it sounds like you've fixed th problem with the soul blazer songs :D
now I can't wait for the next snesDS version ;)
#50031 - Elrinth - Thu Aug 04, 2005 6:32 pm
Me 2.. I really like this pocketSPC.
What will happen when u move this to snesDS and to arm 7? Cause currently pocketSPC is done in ARM 9 right?
#50046 - BLKGHOST - Thu Aug 04, 2005 8:01 pm
According to his page, he keeps updating the arm7 code for snesds
#51205 - gladius - Wed Aug 17, 2005 4:50 am
The SnesDs and PocketSpc versions are pretty similar, so when I fix a bug in one, I can generally fix it at the same time in the other.
Check out the new version, it has a pretty big sound quality increase (guassian interpolation for samples). Unfortunately, gaussian interpolation probably won't make it into the snesds version, but who knows. I didn't think echo emulation would be possible either, but the arm7 can do a cut down version so it'll be in the next snesds.
#51208 - The 9th Sage - Wed Aug 17, 2005 5:43 am
gladius wrote: |
The SnesDs and PocketSpc versions are pretty similar, so when I fix a bug in one, I can generally fix it at the same time in the other.
Check out the new version, it has a pretty big sound quality increase (guassian interpolation for samples). Unfortunately, gaussian interpolation probably won't make it into the snesds version, but who knows. I didn't think echo emulation would be possible either, but the arm7 can do a cut down version so it'll be in the next snesds. |
It sounds great! I've noticed increased accuracy too, not just because of the interpolation...but stuff like some notes that didn't sound like they were going for as long as they should have are now sounding proper...like "The Final Battle" in FF IV off of the top of my head. Turrican still doesn't work though. lol Does this game do something really odd with the sound?
Anyway, I've loving this so far. :)
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#51270 - gladius - Wed Aug 17, 2005 8:55 pm
Yeah, Turrican was a bit strange, but it was a stupid bug on my part. I've fixed it for the next version. Shadowrun on the other hand, does some really funky stuff which is taking a while to track down.
#51289 - The 9th Sage - Thu Aug 18, 2005 12:30 am
gladius wrote: |
Yeah, Turrican was a bit strange, but it was a stupid bug on my part. I've fixed it for the next version. Shadowrun on the other hand, does some really funky stuff which is taking a while to track down. |
Cool. I always loved the songs in Turrican.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!