It is currently Fri Sep 20, 2019 4:45 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 2776 posts ]  Go to page Previous  1 ... 176, 177, 178, 179, 180, 181, 182 ... 186  Next
Author Message
 Post subject: Re: More NSF Requests
PostPosted: Tue Mar 12, 2019 1:19 pm 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
Dian Shi Ma Li: removed indirect JMPs from init and play.
Jikai Shounen Mettomag - Jikai Shounen Met Mag: massively shrinked it.
Kick & Run: massively shrinked + added SFX.


Attachments:
Dian Shi Ma Li (SFX).nsf [3.47 KiB]
Downloaded 178 times
Jikai Shounen Mettomag - Jikai Shounen Met Mag (SFX).nsf [4.17 KiB]
Downloaded 179 times
Kick And Run - Kick & Run (SFX).nsf [44.13 KiB]
Downloaded 179 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Fri Mar 15, 2019 2:23 pm 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
Ripped the PCM samples for this. (added a missing bank)
Doesn't seem to work in NSFPlay 2.4 Beta 16.


Attachments:
Super Jeopardy! (SFX).nsf [72.89 KiB]
Downloaded 184 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Sat Mar 16, 2019 6:59 am 
Offline
User avatar

Joined: Thu Jan 03, 2008 1:48 pm
Posts: 583
Hey MrNorbert, I tried fixing the Skate or Die 2 NSF unsuccessfully. At the moment the distortion guitar sample is a little flat (lower in frequency than it should be.) I tried cycle counting your modified PCM routine, both adding and removing NOPs (with assuring the branch operations offset correctly.) When I added NOPs (strangely) the samples played faster and reversely when I removed them the samples played more slowly; but in extreme variance. I was not able to equate the exact, correct amount of cycles to assure that the tuned, distorted guitar samples played at their correct tuning.

Were you able to take a look at this?

Edit: In theory, seemingly, if an operation with only a few more cycles (maybe 2-3) was added to the playback routine of the turned, guitar sample routine, it might be played at the correct frequency.


Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Tue Mar 19, 2019 11:08 pm 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
B00daW wrote:
Hey MrNorbert, I tried fixing the Skate or Die 2 NSF unsuccessfully. At the moment the distortion guitar sample is a little flat (lower in frequency than it should be.) I tried cycle counting your modified PCM routine, both adding and removing NOPs (with assuring the branch operations offset correctly.) When I added NOPs (strangely) the samples played faster and reversely when I removed them the samples played more slowly; but in extreme variance. I was not able to equate the exact, correct amount of cycles to assure that the tuned, distorted guitar samples played at their correct tuning.

Were you able to take a look at this?

Edit: In theory, seemingly, if an operation with only a few more cycles (maybe 2-3) was added to the playback routine of the turned, guitar sample routine, it might be played at the correct frequency.


I tried fussling with the playroutine, but I couldn't fix it yet. Anyways... I marked it as "buggy".
As for the next batch:

Erunaaku No Zaihou - Elnark No Zaihou - added SFX.
Mendel Palace / Quinty: added sfxs, and missing fanfares.
WWF Steel Cage: added SFXs to it, didn't bothered with samples yet.


Attachments:
Erunaaku No Zaihou - Elnark No Zaihou (SFX).nsf [8.17 KiB]
Downloaded 179 times
Mendel Palace (SFX).nsf [31.36 KiB]
Downloaded 172 times
Quinty (SFX).nsf [31.35 KiB]
Downloaded 178 times
WWF Wrestlemania - Steel Cage Challenge (NTSC) (SFX).nsf [32.13 KiB]
Downloaded 171 times
WWF Wrestlemania - Steel Cage Challenge (PAL) (SFX).nsf [32.13 KiB]
Downloaded 177 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Wed Mar 20, 2019 12:08 am 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
SFX rerips.


Attachments:
Lipstick #.3 - OL Hen (SFX).nsf [24.13 KiB]
Downloaded 174 times
Lipstick #.2 - Joshi Gakusei Hen (SFX).nsf [24.13 KiB]
Downloaded 176 times
Lipstick #.1 - Lolita Hen (SFX).nsf [24.13 KiB]
Downloaded 174 times
Feng Shen Bang - Zhu Lu Zhi Zhan - Fong Shen Bang - Zhu Lu Zhi Zhan (SFX).nsf [20.13 KiB]
Downloaded 172 times
Bishoujo Mahjong Club (SFX).nsf [28.13 KiB]
Downloaded 172 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Wed Mar 20, 2019 12:09 am 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
SFX rerips.


Attachments:
Lipstick #.5 - Stewardess Hen (SFX).nsf [24.13 KiB]
Downloaded 170 times
Lipstick #.4 - Hakui No Tenshi Hen (SFX).nsf [24.13 KiB]
Downloaded 174 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Wed Mar 20, 2019 11:51 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7582
Location: Canada
From: Super Jeopardy! (SFX).nsf
MrNorbert1994 wrote:
Ripped the PCM samples for this. (added a missing bank)
Doesn't seem to work in NSFPlay 2.4 Beta 16.


Adapted this to work with NSF2:
- Changed version to 2 (header $05)
- Added non-returning INIT flag ($20 in header $7C)
- Added small INIT stub at $C130 for NSF2:
Code:
CPY #$80
BNE :+
RTS ; skips the first INIT if this is an NSF2 player
:
JMP $C022 ; previous INIT


There was a bug in beta 16 that ended up cutting off the first second of sound of a non-returning INIT, now fixed in beta 18: download


Attachments:
Super Jeopardy! (SFX) NSF2.nsf [72.89 KiB]
Downloaded 176 times
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Wed Mar 20, 2019 4:59 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7582
Location: Canada
So I took a closer look at the Skate or Die 2 rip.

It looks like the technique used in that rip was to look at the current pitch/samplerate control ($C7) and look up in a table ($DF00) how many samples to run per PLAY event. Then at the end of every PLAY it would run that many samples then return. (A variable was created at $0100 for a sample counter?)

I don't think the problem was pitch exactly, maybe it was more about not running enough samples to fill the frame (i.e. having a much bigger PCM interruption each frame than in the original, reducing the quality of the output)...


Anyway, I have attempted to undo the modifications of that technique and turn it into a true NSF2 "non-returning INIT" thing. I basically restored the original sample loop from the game, replacing that counting loop with the original infinite loop that waits on a signal ($C6) to play a new PCM sound. Now at the end of second INIT it enters this loop, and PLAY does not do any PCM sample work. Instead PLAY is now interrupting the infinite sample loop in INIT.

However, this technique will only work in NSFPlay 2.4, since nothing else has implemented NSF2 yet (essentially still an idea in beta testing... but that's why I wanted to modify this rip to test it).

This does seem to match emulation of the NES ROM's title screen pretty closely now. This may not be an ideal rip, since I've basically worked backwards from that heavily modified technique to try and restore something closer to the original for NSF2, but not sure if I left a mess behind since I am not very familiar with the rest of how the rip was done (I might be missing something important). It would probably be cleaner if done with NSF2 in mind from the start.


I think as an alternative to NSF2 you might get a similar result from the original rip by reviewing the tables at $DF00. Maybe the sample counts are just a little low? Not sure. The DEC $0100 does throw off the loop by 3 cycles (vs. LDA $06 in the original), but that's probably not a significant difference with how low the samplerates are.


Edit: Added a second version with what I think is a better INIT stub, but it assumes that only track 0 needs the infinite sample loop. The SFX samples seem to just play straight from INIT, and all the other music tracks I think just use DPCM, never PCM? If that assumption is correct then this (v2) is better. The new stub looks like this:
Code:
; double-INIT stub at $D170
cpy #$80 ; first init
bne @second
   cmp #0 ; track 0?
   beq :+
      rts ; delay INIT*
   :
   jmp $D017 ; original rip's INIT
@second:
cpy #$81 ; second init
bne @original
   cmp #0 ; track 0?
   bne @original ; delayed INIT*
      jmp $DDF2 ; second INIT is infinite sample loop for track 0
   ;
@original:
jmp $D017 ; original INIT & fallback for non-NSF2 players (no sample loop)

; * The reason for the delayed INIT is that NSFPlay does not output sound during the first INIT.
;   So for the SFX sample tracks that just play a sample straight out of INIT,
;   this delays the sample output until sound output is being generated.

This seems to be more compatible with non-NSF2 players (everything plays, but the samples are missing from track 0 without NSF2 features), and also reduces CPU usage by not using the infinite INIT sample loop on any of the tracks that don't need it. (This is the v2 NSF below.)


Recorded the original from my NES + PowerPak just to compare to this rip. Have attached an MP3 demonstration. It seems pretty close, though the samples do seem very slightly higher pitched in the rip (not sure what this could be due to... I think the sample loop itself should match exactly now... not sure if this is might just be due to not spending extra time in PLAY to account for graphics update etc...)


Attachments:
Skate or Die 2 NSF2 v2 - NES L - NSFPlay R.mp3 [3.91 MiB]
Downloaded 177 times
Skate Or Die 2 - The Search For Double Trouble (SFX) NSF2 v2.nsf [127.56 KiB]
Downloaded 170 times
Skate Or Die 2 - The Search For Double Trouble (SFX) NSF2.nsf [127.56 KiB]
Downloaded 168 times
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Wed Mar 20, 2019 8:35 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7582
Location: Canada
As an experiment I added an ~800 cycle wait to the end of the PLAY routine to see how much effect it would have on the pitch of the samples. It more or less did exactly what I theorized. Here's another version of the rip with that delay added. This one seems to be closer, but now very slightly lower in pitch than the version recorded from my NES.

So basically that means that for pitched samples interrupted by NMI like this, the amount of time you spend in NMI is relevant to the pitch. All of that interrupted time counts, even though it's not evenly spread across the samples, and in aggregate it more or less affects the pitch that way (and makes up the difference in extra harmonics from distortion, I suppose).

Which I guess means that a 100% accurate NSF rip isn't entirely practical here, unless we want to include a surrogate for every cycle of the PPU update and anything else non-music related Skate or Die 2 does in its introduction. I don't think that's really a fair task for an NSF rip. Maybe approximating it with some fixed delay like this is close enough... Unfortunately this means that if a hardware NSF2 player needs to pad the PLAY interruption with some extra time (e.g. user input) it will slightly lower the pitch of the samples even more. :S I suppose this is just a natural consequence of how un-robust this interrupted sample playback technique is.

Anyway, the length of the wait loop in this rip is controlled by a LDX immediate parameter at offset $05E61 in this NSF file. Currently at $A0 = 160 loops * 5 cycles = 800 cycles. If someone feels like trying to get the best approximation they can try tweaking that value and comparing pitches. (The cycles added will detune the samples roughly by their percentage of a frame.) At this point it's close enough for me, though, so I don't think I'll try any further adjustment.


Attachments:
Skate Or Die 2 - The Search For Double Trouble (SFX) NSF2 v3.nsf [127.56 KiB]
Downloaded 179 times
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Thu Mar 21, 2019 12:05 am 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
Actually... if we want to go even deeper, my first rerip attempt doesn't work on players like GNSF or SlicksNSF. :P

_________________
http://mrnorbert1994.uw.hu/


Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Thu Mar 21, 2019 1:49 am 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
Reripped properly. :P
Eliminated the ingame bankswitch code, and relocated bank 2's SFXs and eliminated sfxs that were initalized a lot.


Attachments:
Sansara Naga (SFX).nsf [24.48 KiB]
Downloaded 176 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Thu Mar 28, 2019 12:54 am 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
The first two Final Fantasy games are a catastrophic pain in the ass.
In this attempt I tried with II for the second time.
A lot of fanfare jingles and stuff is in the hardwared bank and the other sound effects are in separate banks.

This rip tries to locate the hardwared bank jingles + 1 bank that I was able to find it's init and play addresses.


Attachments:
Final Fantasy II (SFX).nsf [36.13 KiB]
Downloaded 170 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Sun Mar 31, 2019 11:16 am 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
Updated my Conan NSF rip.
Apparently this shit driver seems to store sound effects on separate init and separate play addresses PER sfx.
Seriously... why...
I probably miss a bunch of others.


Attachments:
Conan - The Mysteries Of Time (SFX) (Incomplete).nsf [32.13 KiB]
Downloaded 153 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Sun Mar 31, 2019 12:50 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 975
The menu tune and some of the non-pirated mini-games on the Education Computer 26-in-1 from GameStar. All of the mini-games are also found on other Educational Computer cartridges from that company, which is why I believe it's better to keep them as separate NSF files.


Attachments:
GameStar - 26-in-1 (partial).7z [20.63 KiB]
Downloaded 158 times
Top
 Profile  
 
 Post subject: Re: More NSF Requests
PostPosted: Sun Mar 31, 2019 12:56 pm 
Offline
User avatar

Joined: Tue May 06, 2014 1:50 pm
Posts: 710
Location: Szeged, Hungary
Added noise SFXs.


Attachments:
Challenge Of The Dragon (Sachen) (SFX).nsf [8.78 KiB]
Downloaded 155 times

_________________
http://mrnorbert1994.uw.hu/
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2776 posts ]  Go to page Previous  1 ... 176, 177, 178, 179, 180, 181, 182 ... 186  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group