NSF Update

Gil-Galad

New member
Today I have seven NSFs for you to listen to. Five commercial released games and two from Shenzhen Nanjing Technology. You may notice Chrono Trigger on the list, for those that want to know more about this crazy Chinese Famicom game, go check out an article written by D (Derrick Sobodash). The other Shenzhen Nanjing Technology game is Chao Ji Ji Qi Ren Da Zhan A (NJ012), I believe this game is Super Robot Wars A.

Among the other NSF rips, I am not sure if Ball Story II is commercial or not. Umiliphus had stated that it was odd that Desert Commander was missing from the archives. Well, now that problem has been solved as the NSF is now ripped. I'm going to state the entire list now.

  • Ball Story - Jong Yuk Chuen Suet Fa Jong II
  • Crackout (Prototype)
  • Desert Commander
  • Family Feud
  • [NJ012] Chao Ji Ji Qi Ren Da Zhan A
  • [NJ038] Shi Kong Zhi Lun (ChronoTrigger)
  • Othello

You can get the NSFs HERE
 
Kwah ha, that's grand. If I base any additional dreadful midis on it I'll be sure to acknowledge your deed.

I'm actually more fascinated by "ball story" than "chrono trigger," though I suspect it would make sense and be rather a let down if I looked it up, so I won't.
 
Kwah ha, that's grand. If I base any additional dreadful midis on it I'll be sure to acknowledge your deed.

I'm actually more fascinated by "ball story" than "chrono trigger," though I suspect it would make sense and be rather a let down if I looked it up, so I won't.

Why thank ya, much appreciated. To let you know, if you're using NSF2MIDI, there are channels and instruments that are not handled well by the MIDI format or the converter. You may be aware of this fact.

Another thing, the better a NSF is ripped, the better the conversion will go. I was messing with NSF2MIDI awhile back and converted about 50 or so single tracks from various NSFs. I had to make a few tweaks to a few NSFs, mainly the older rips.

If you run into any problems with the Desert Commander rip, let me know. I ran the rip through many test to try and make sure that everything is ok and it checked out. Kemco sound drivers are not the easiest to rip, so ya have to be a little more careful.

Also, if you want another NSF ripped in the future, let me know.

Now, about Ball Story II. Let's show some images first.

ballstory1.png
ballstory2.png


ballstory4.png
ballstory3.png


This ROM showed up in the 3.14 GoodNES update awhile back, that's where I found it. The ROM is PAL, so be sure to set emulation accordingly if you or anyone else decides to play the game.

I went Googling and found nearly nothing about this game. I found a couple search results from Chinese sites, that basically told me nothing. According to the Google translation services, part of the title means Billiard Legends - Spent Collision II.

What you do is aim your ball with the target and then fire. The ball will bounce all over the place hitting bricks, getting a score at the same time. You gotta watch out for the monsters and the magnets on the walls. I recommend playing the game for a short time. I got about 15 minutes of fun out of it.
 
Ah! I was hoping it was about an anthropomorphisized ball that ran around doing stupid things, I feared it was about a testicular orb in one way or another (perhaps on a quest to find its kidnapped partner), and I assumed it was a text-with-picture adventure about an amazingly popular Asian sport-themed comic book I've never heard of. This appears, despite the title screen, to be none of those. I will investigate it anyway.

I use nsf2midi not for the sound, just to get the little Cakewalk rectangles in their right vertical positions so I don't have to copy them by listening to each track separately. That's right, I hereby out myself as a maker of embarrassing midi re-arrangements. As for why, who can say, really. It's much better to put this sort of effort toward original music. Maybe this is the audio equivalent of fan-art. Like, gag. To be totally honest I already made one, the hard way, with "bgm2" a while ago, but I still think it's neat that you did whatever one does to get nsfs after I mentioned it.
 
Despite all fears, theories, thoughts and assumptions, Ball Story II isn't too bad of a game. :) By all means do investigate.

As far as the MIDIs are concerned, those music files can be fun to play around with. I used to mess around with them years ago, still play them once in awhile. Remixes can be pretty cool to listen to, God knows I've heard tons of Mario Bros remixes. I did like your remix, btw.

Well, I can say, if you enjoy messing with MIDI files then by all means keep doing it. I've been ripping NSFs for years and I haven't stopped yet. But unfortunately, the number of decent sound drivers that haven't been ripped are running very low. :( . Not to mention the fact that the rips are getting down to the very difficult ones (still a number of easy ones out there).

As far as do what I had to do to get NSFs, I had to laugh at that one. While ripping is not too difficult under normal circumstances, there are many details to take into consideration while attempting a rip. I have a doc that I translated from Japanese and then expanded it to what the document is today. The original Japanese author is Izumi. Levels 1-17 are operational right now, don't click on 18-20. If you can stand my rather sub-par grammar and spelling in various areas, then by all means skim through it. That way you'll have an idea about how it's done.

20 Levels of NSF Ripping
 
for more shenzhen nanjing technology roms, check my blog <link removed>
 
Last edited by a moderator:
even though they are pirated roms, I believe they are still copyrighted and therefore against the rules to post them here, sorry.
 
Wow...I've heard of many weird pirate ROMs, but I wasn't aware there was a Chrono Trigger one. Music seems suprisingly decent, man the battle theme is noisy though. Definitely a step up from many pirates since I can actually recognize the music. :p
 
(re: nsf detail document) I think I tried to read that or something like it once, and that is why I've left the work to other people, eh. It seems hard, eventually. This time I got a bit further but no better. Since you mentioned it: what are levels 19 20 and 18 about?

Sometimes the sort of noises output by nsfs grate on me and I appreciate having [non-horrible] midi versions. I only started with them because there were so many passably decent tunes nobody else had done or was going to do. I will have to make a re-dedicated effort to finishing or at least stabilizing muh midis and putting them on a web-page. They tend to ramble.
 
Last edited:
(re: nsf detail document) I think I tried to read that or something like it once, and that is why I've left the work to other people, eh. It seems hard, eventually. This time I got a bit further but no better. Since you mentioned it: what are levels 19 20 and 18 about?

Sometimes the sort of noises output by nsfs grate on me and I appreciate having [non-horrible] midi versions. I only started with them because there were so many passably decent tunes nobody else had done or was going to do. I will have to make a re-dedicated effort to finishing or at least stabilizing muh midis and putting them on a web-page. They tend to ramble.

That document or tutorial if you will is the result of a few years worth of work, the translation part of it as well as adapting to new methods. Because of the new methods I had to practically change the entire document, so that it doesn't quite resemble the original but still has the same style.

As far levels 18-20 are concerned, I've been thinking about what I'm going to do with them. So far the plan is that Level 18 is going to be for ripping a NSF from a NES ROM that has music code and data on 2 or more banks, thus making a bankswitching NSF. Example Metroid, Dai 2 Ji Super Robot Taisen.

Level 19 is probably going to be a game that uses RAW PCM and plays at the same time as the music. Example, Battletoads, Pyramid 2, Wheel of Fortune. Pyramid 2 had to have the PCM data converted to DPCM and then integrated with the sound driver by writing some code. Also, the PCM data is on another bank, so you have to move it.

Level 20 is going to be the same as what it was before. Ripping the NSF from the game Famicom Mukashi Banashi - Shin Onigashima. This game is a FDS game that has two disks, each disk has two sides, A and B. As with the other FDS games I've already described, you have to examine all disks and sides of the disk, rip the music code and data out and convert them to NSF banks. This game also uses a FDS sound channel.

Yeah, some NSFs I can't stand either. Especially Mortal Kombat and several other pirates like Waixing for example. Epoch made a few really horrible sounding drivers along with a few really good ones. I've tried to be selective with the games I've ripped, in addition to any requests that anyone wanted. Zoids really was painfull listening to it over and over again while I listened to it to try and make sure everything was there and during the optimization process.

Yeah, it was quite surprising when I converted a few NSFs to MIDI, a few of them sounded really good.

Have fun with your MIDI experience. Let me know when you get your page set up, I look forward to listening to a few of your what you call rambling MIDIs. I never heard of one that rambles before. :)
 
Wow...I've heard of many weird pirate ROMs, but I wasn't aware there was a Chrono Trigger one. Music seems suprisingly decent, man the battle theme is noisy though. Definitely a step up from many pirates since I can actually recognize the music. :p

If you want more of Shenzhen Nanjing Technology sound drivers, you can get them at my site. I have most of the released games ripped so far. I have more on the way soon.
 
The translation is fine, I just plain don't understand. Me not know heap big tech stuff. It's a lot more complicated than getting spcs, ehhh? I've never even used a hex editor. I still like reading about the various processes involved in getting at the particularly difficult nsfs, however. It never occurred to me they could be so different from each other, organization wise, but it makes sense when I think about it. And then I wonder what various forms this music had taken before it was put into nes games. My curiosity quickly outpaces my comprehension.

How is it you knew there were twenty levels without knowing precisely what all of them were? Is it possible you'll get to 20 and realize you need another level?

I consider this something of a rambling midi. Also, the drums are sort of obnoxious but that can happen to anyone. This is one without another person's original tune keeping it in line. My own "compositions" are full of stairs.
 
In my opinion the NSF format is well designed and flexible enough to deal with 95% of all sound drivers properly from NTSC, PAL, pirate systems, sound expansion chips, etc. While the NES music format may appear confusing and not very well organized, a sound driver is usually flexible enough to be used in any type of game, sound expansion chip, mapper controller, etc.

Each main address call of a sound driver would be located in different address locations. The play address call usually being located in the NMI (Non Maskable Interrupt) interrupt routine. The reason why this is done is because the play or the core of the sound driver is in sync with the video display of the NES.

The init or intialization routine is probably the hardest to define properly. Most of the time, part of the init routine will be located in the RST (Reset) interrupt. The NES is turned on or reset from a press of a button, the code is executed and sets up the banks, addresses, video display, part of the sound driver, etc. At times, all of the work is done in the main core of the sound driver which is found as a call in the NMI interrupt, the tune is changed by 1 or a few addresses in WRAM (Work RAM) somewhere.

So... to sum it up as best as possible. Flexibility is the key to simplicity.

As far as how NES music was made, that's a very good question indeed. Often the development of a game was done on another development machine, usually a PC of some type. Often a company had to develop their own hardware, build some type of device to transfer music, code, data, etc to a cart. Some companies designed music drivers from scratch, which is assembly or 6502 code. I've also heard that Qbasic or even C was used to program games. Even though I think it would be much better and efficient to program the games in assembly. Often a company would hire a composer along with a team to design a game. Would it suprise you to know that MIDI devices were used to create music in some games?

Just to let you and others know concerning what I have just written. I've left out a lot of technical and other terminology for the attempted ease of understanding.


As far as the document is concerned, 20 Levels of NSF Ripping. Learning a given subject is objective in the way in which the material is presented. Some may say that the method I'm using states too many common sense methods that should be evident to all. Some may say that I learn more towards company formats. Some have also said that way too much is written just for ripping NSFs.

However, I say this. I wrote the document in mind with how the NSF format actually works. In order to be flexible enough to deal with and extract nearly all sound drivers, and to stay on top of modern hacking technology. Also, to add somewhat of a fun factor to NSF ripping, if that's even possible. The level aspect is that once you're able to rip said sound drivers from that level then you can possibly feel some type of accomplishment. I know that I felt damn good when I could rip level 20 NSFs. I hope that I've accomplished this goal. In fact, a few have told me that they learned quite a bit and started ripping NSFs.

So then, to answer your question. I believe that 20 levels is sufficient enough to cover NSF ripping, I hope. If not, then perhaps I can make an encore or addendum level at the end. Depends on if I find a NSF that requires some explanation that's not already been covered.

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

Never Enough Time ; I attempted to look this tune up on Google, too many hits on the words to know what the original tune would be. I think you done a good job with composing the MIDI. I do understand that getting the proper timing with drums is rather hard to do.

Silent Service - The Only Music in Silent Service ; I also think that you have done a good job with this MIDI. I see that this title is a submarine simulation game. I wonder what system you based this MIDI cover on, I see the year in your MIDI as 1986/87 Microprose Software.

Did you know there is a NSF of the NES Silent Service port that has ten tunes? This music driver was composed by the Konami/Rare team.

So that I'm not wrong, care to tell me about some of your influences in your remix compositions? At least, I think that I hear some.
 
Last edited:
Re: organization, I like that different companies did it differently. I always used to think, just from looking at graphics in tile layer, always in 8x8 pixel increments, listening to tidy compact nsfs, one tune right after the other, only having to load one thing into an emulator to get a full game working, that there was some great amount of order and uniformity to early console games. I never, prior to this experience, thought much about what "rom images" actually are. That they are just computer programs like any other, with loads of data files all over the place, which could have been put together all sorts of ways. Or so it seems to me right just now.

Silent Service is another NES game (I didn't have a computer until 1994ish) I owned but couldn't find a nsf from when I wanted it. Obviously I was looking in the wrong place (zophar's domain, alas). Yasp, I had no idea all that was there. I only ever heard music at the title screen. I can understand why it wasn't used, though. It doesn't match the serious tone of the game at all. And even if it did it still wouldn't complement the feeling of solitude too well. In actuality noises are used to simulate the sound of an engine, at the surface, underwater, submerging, and off entirely. The destroyers provide their own eerie sound when they get close (you turn the engine off to hide from them).

The second midi is totally made up and not derived from a video game. It's just sort of hacky. With that in mind I especially appreciate that you seem to have listened to it. I was using it to illustrate the unloopable meandering I often end up with. It can't decide on an ending and contains many stairs.
midistairs.png

"Never enough time" because I would often get an idea of how to proceed in its construction right before having to do something else.
I don't know who, if anyone, influenced these results. If I knew I'd probably wish it was someone else! I can't use the pitch wheel and expression stuff at all.
 
Actually, you're quite right in thinking that there is order in the older systems. A lot of them are tile based as far as the graphics are concerned. As far as NES ROMs are concerned, those that have VROM (Video ROM), are stored in a separate ROM chip from the PRG (Program ROM), or right at the end of the iNES or UNIF file. Some games have their tile graphics integrated into the PRG, in that case the game will have VRAM which isn't so uniform as the data can be compressed or stored in an odd way sometimes.

The sound driver you could say is a container of sorts, has all the tunes for the entire game.

The sprites are also part of VROM in most cases. One 4KB bank is for sprites, the other 4KB bank is for bankground tiles in the average 8KB CHR (Character ROM) bank switching game. However, this isn't always so, some banks can be mixed.

Then you have the PRG banks which is what makes everything go, it's the actuall program that interacts with the hardware of the system. It's the programmer telling the hardware what to do. There are different sized banks depending on the mapper controller. The banks get loaded in based on the mapper and what the programmer wants and the code is executed. The program is actually where everything is different. No two games are ever the same, all code, data, etc are all in different address locations.

If you have a game that has a file system, like FDS for example. Those are very tricky at times to figure out what is what and how the files are loaded at various times.

Oh yeah, video games are certainly computers, in my opinion.

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

I hate to tell ya this. However, NSFs didn't exist back in 1994, so you wouldn't have found any then, lol. The first public NSF documentation was released in 05-11-1999. Many NSFs were released sporatically over the many years since 1999. Zophar's Domain kept good track of NSFs for awhile until they fell behind. ZD still has a decent archive but out of date because a lot of NSFs have been fixed and/or reripped, as well as tons of new ones coming out. If you want more NSFs I can point you in the direction of other archives, including my site which has tons of them. And oh yeah, you may know that ZD started in 1996. We all got the word on that recently, where the site was located at over the years before ZD got the domain.

Yeah, I've ran into a few games where it didn't seem like the music matched the game or the level the tune was playing on, lol. I think that Silent Service does have a few decent tunes. However, I have yet to play the game which I'm planning on soon to find out how it plays.

Oh yeah, I have listened to both of the MIDIs and I liked them. Just to tell ya, it seems like to me that repeating and looping tunes are good for MIDI and other music media. While live performed music has a limit on how long the tune is. Especially for radio channels, a limit on song length had to be set so that the channel could get commercials in on time according to their schedule. I say that if a song feels like it shouldn't end, then don't let it end. ;)

As far as influences are concerned. I think I know what you're talking about. You tinker around with it and if it sounds good, you go with it. I've done that a few times myself and have a couple crappy NSF hacks laying around. I also play guitar upon occassion, so I try to compose music, but I'm not very good at it, I admit.

After completing any of my composing projects, I listen to it and immediately recognize what my influences are, even though I was concentrating on the details of construction which to me is just a means to an end for the final product.

Apparently there are compatibility problems with pitch wheel from what I was reading here a moment ago. Some sound cards even play them as single notes instead of how it's supposed to function, or other unpredictable behaviour. I try to avoid using anything that has a problem between players in most cases.
 
I think I should just stop talking about the inside of ROMs altogether until I actually do understand them, rather than throwing all these dumb speculations at somebody who knows better.

1994: Again I wrote confusingly. I mentioned the year to show I could not have played non-console video games prior to then. I should have just said that, but sensible behavior is rarely the first to occur to me. I didn't have internet for roundabout another four years. The last few nsfs I obtained did come from sites I found through you, so eh.

looping: I'm infatuated with the effect many video game composers can achieve, where there's some single tune maybe a bit over a minute, or more, or less, that one hears constantly throughout the game, like for battles or a certain type of level, but that I never get sick of. If I listen to one of mine twice in the same day I feel ill. I imagine being able to play an actual music instrument keeps one's aspirations in a reasonable place. I cannot, and so often end out trying to be epic far beyond my means.
Very rarely I have been able to capture a bit of useful music from the end of a dream, but usually I forget it quickly. Everything else starts as absentminded humming.

midi compatibility: I used to employ a few distinct drum track noises in custom midis prior to the point when I would let other people hear them. Since I use a syxg50 software-synthesis thing I am conscious of the fact other people will hear certain things differently than I do. Generally there are some solvable volume issues but I was rather peeved to discover my favorite beat-sound ("open rim shot") transforms into a stupid little "ding" sound under normal circumstances. So I stopped using that. In the older midis I transferred all of the relevant instances to another noise ("drumroll"), which I only just recently discovered comes out completely silent in general midi. I must say I have had quite enough of that.
Although if I ever intend to record proper mp3/flac versions it would be nice to know some fancy distortion tricks to accompany my magic inviso drums with.
 
I apologize for the delay in response. I ended up getting pretty busy, life does that to ya, you know, lol. Also, I ended up getting a host of malware problems, rather persistant ones I might add. Took a few days to clean the crap out of my machine, along with the problems that were caused in the cleanup.

As far as the speculations and questions about ROMs, I don't mind answering them or adding a comment to what you had wondered about. I do like the fact that you're curious about them.

Yes, I was a bit confused but now that's all cleared up for me. From what you've written, it sounds like you gained internet access in 1998. 1999 wasn't too far ahead from then, lol. I think that I started ripping NSFs around 2000. Where it took me a few months to figure out how to rip some of the harder ones, no kidding. I waited until about 2002 when I had a decent handful and then released them.

Looping: I think you're describing what a lot of people feel, the ones that made the finished product. Others will generally end up liking what you made, sometimes more than you do. Unless you're generally proud of at least one thing that you've created.

Often I've thought of when trying to do things. Do I want to try to be profound or epic in what I'm doing? Often when I think like that, I never quite end up with what I had envisioned. So I think about just being myself and then everything seems to work out fine, for the most part.

I think that you have a decent sense of music and of style. While I've heard ones that would give you a headache in no time flat. Not so with yours, in fact I enjoyed listening to the couple MIDIs that you've composed, cover and original.

MIDI compatibility: All that you've mentioned is why a number of people do not like the MIDI format in general. I also found the problems annoying when I was messing with MIDIs years ago. I don't really remember too many of the technical details, or particulars of composing MIDI. However, you have somewhat refreshed my memory by describing some of these things.

I usually avoid MP3 and other type formats for these type of sequencing files. MIDI, NSFs, etc have their own unique sound and charm that I have always enjoyed since first discovering them years ago. Not to mention the fact that MP3, WAV, etc are way larger than the originals and you can't play them on original hardware which is important to me as you can possibly hear them as intended. Unless for some strange reason you would like to take some game music and burn them to an audio CD for play in your car, lol.
 
Why yes, Chrono Trigger. The game is a Chinese Famicom pirate made by Shenzhen Nanjing Technology. If you want to know more about this game, read the article that D had written.
 
Surely you've noticed that I haven't been especially punctual in responding, either, though I can't provide any decent reason for that. I'm just slow with messages. And this one doesn't have much in it!

I burned several cds of video game music a while ago, though I personally fear to impose my tastes on other people in my immediate vicinity, so that doesn't happen these days. I no longer have a working writable cd drive, anyhow.

I did, fairly recently, inherit someone's abandoned, old-model, tiny, screenless ipod and quickly (quickly once I uninstalled i-tunes and used something else, anyhow) saturated it with asinine former spcs and such, plus a few nsf tracks. Now I just need someplace to go where I can use it. It's no use to me beside my normal hard drive.
When purchasing the cheapest non-painful ear phones I could find, the Radio Shack attendant warned me that they would produce a tinny sound. It didn't seem worth explaining that my noise of choice was tinny to begin with.
 
Back
Top Bottom