Donkey Kong Land 2 by TheUltimateKoopa at 10:31 PM EDT on July 15, 2012
How easy is it to rip GBS files? There are, as you know, tracks missing from the rip that's here.

These tracks are:
Bonus
Donkey Kong Rescued
Swanky Swing
Boss Bossanova http://www.youtube.com/watch?v=ZWxWDZPT7cA

Also with the recent discovery of Boss Bossanova, maybe there's other tracks, like Primal Rave, Haunted Chase, and Forest Interlude?

edited 10:31 PM EDT July 15, 2012
by mikeryan at 3:16 AM EDT on July 16, 2012
If you're handy with a debugger it's not too bad.

I usually fire up no$gmb and set a break on writes to ff13 [syntax: (ff13)!]. The emu will break when the ROM changes the freq of sound channel 1. You can walk up the stack from there to find the audio playback routine, which is typically called once per vblank.

I'll leave it as an exercise to the reader to find the audio init routine (usually only one per game) and to package it all up in a gbs.
by TheUltimateKoopa at 9:36 PM EDT on July 16, 2012
You lost me at "If" :(

Seriously, I know nothing about anything about debugging, and finding routines, packaging it up in a gbs and stuff.

I have wondered, why were these tracks (at least the Credits, Character Parade and Bonus Intro) never ripped?
by Knurek at 3:28 AM EDT on July 17, 2012
Actually, this is interesting, and given just how many USA only Game Boy games don't have GBS rips yet, it'd be kind of neat to learn to do so.

mikeryan, would you be willing to guide me through the ripping process in more detail, maybe do an extensive example rip?

I do have some (very minor I imagine) 6502 and 8086 asm knowledge, plus some relocations I've been doing to GB2gbs rips to have them work with ugetab's gbs2GB.

Some of the stuff is kind of scaring me though - how do you determine which banks are needed, how do you handle bank switching, what tool do you use to size optimize the rips, and so on.

HVSC has a great tool for doing so with SID rips, which does all the work automatically, I haven't been able to find anything like that for Game Boy
by TheUltimateKoopa at 8:02 PM EDT on July 20, 2012
For the love of God, why is it that ripping 2SF files is easy, yet every other format known to man (not counting streams) is more complicated than quantum theory (to me)?

You'd think people would have simply created a tool.
Open ROM
Extract/rip GBS files
Done

But no.

I download some shitty GBgbs V10 thingy. It hardly supports any good games. Where the hell is the support for anything relating to a DKL?

I also downloaded a similar looking thing which is some kind of disassembler of some sort. I don't know what the **** I'm supposed to do. Some idiot on FFShrine linked to this file, on a topic about ripping GBS files. So I'm assuming somehow that piece of crap is involved in it? It would help if people bothered to make an English version.
by Mouser X at 2:37 AM EDT on July 21, 2012
Seriously? Ripping 2SFs *IS* hard. The only reason it's "easy" is because people are "cheating". Let me explain; A proper rip involves disassembling the NDS application (aka, taking a *.exe file, and removing all of the pieces you don't want) until all that's left is the stuff relating to audio. This is the case with *ALL* rips (NDS, PSX, PS2, N64, GB, GBA, etc., excluding SPCs (due to them essentially being a "savestate" of the memory on the DSP unit of the SNES), and VGM (due to it being a logged/recorded format). SNSF is still ripped this way, and the Genesis has no xSF type format that I know of).

The difference with 2SF is that, somewhat by chance and somewhat by laziness, it turns out that the vast majority of games used the default Nintendo-provided software development kit. Thus, using the "driver" (aka, the ripped apart NDS application) from one game works on another game because the various developers didn't build their own. As such, the driver only needed to be pulled apart once, from one game, and it luckily works with most games. A "proper" rip would actually disassemble the NDS ROM/application of every game, and get the original driver for the sequences. This is why there's some NDS games that remain unripped (often they use the Procyon driver), because the "default" driver doesn't work. Thus why I say they're "cheating". I'm not saying it's wrong to do it this way, just that it's not the "proper" way to do it.

So, back to your original problem - "Why hasn't someone done this for the other formats?!" The reason is, largely, that prior to the NDS, most developers made their own drivers, and either ignored the one that came with the Nintendo-provided SDK, or the SDK didn't come with one, or the SDK's driver was crappy, and didn't allow the developers to do what they wanted to do. The PSX and PS2 have a "rip kit" for them that works on quite a few games (thanks to work done by CaitSith2, Mark Grass, Davironica, and Neill Corlett). But again, that's because the developers generally used the Sony-provided SDK, instead of creating their own (worth noting, Megaman Legends 2 uses a custom driver, and thus can't be ripped with the rip kits).

So, GBS files are difficult to create, because each one is different. It's old enough, that developers and programmers didn't stick to conventions, didn't have conventions to stick to, didn't have adequate SDKs, or needed a very specialized driver, to accomplish what they wanted their game to do. Honestly, the fact that a tool that can automate GBS creation exists at all surprises me. I suppose that there's probably certain patterns it could look for, but it certainly won't work for a lot of games. The more specialized the game is, the harder it would be for the tool to find/recognize the patterns. What I recall reading is that the Donkey Kong games on the GB utilized some truly unique methods to increase the framerate, and overall output of the CPU on the GBS that no other game had done (at least, at that time. What I recall reading is that they were able to almost double their refresh rate, or something. They were getting results that weren't found in other games until very near the end of the GB's life (I don't know if that included the GBC or not)). Thus, *everything* about that game had to be overengineered to get it to work the way they wanted.

Really, you shouldn't complain about ripping games. Obviously, it's much more difficult than you give it credit for. The reason there's no tools to do the job is because it's that difficult. 2SFs are the exception, and based on history, it's surprising it worked out. You shouldn't compare ripping other games/consoles to 2SF ripping, as the methods to rip 2SFs are, essentially, bypassing all the difficult parts, which is only possible because developers finally have tools that sufficiently accomplish what they wanted to do, whereas earlier, the tools they had at hand were insufficient to accomplish those tasks. So, really, the current method of 2SF "ripping" is essentially completely different from regular ripping.

I know I've typed too much. Hopefully though, it will explain why your complaints are ill-founded, and help you understand/realize that what you're asking is far more difficult than you realize. Mouser X over and out.
by Knurek at 4:51 AM EDT on July 21, 2012
And just FYI, GBgbs works with Donkey Kong Land 2, you just need to load the Japanese ROM.
by fridgey at 7:56 AM EDT on July 21, 2012
Not to mention the simple fact that complaining about the efforts others have put in during their free time to accomplish something you're not capable of is just in very poor taste...
by Mouser X at 8:42 AM EDT on July 21, 2012
Knurek said:
And just FYI, GBgbs works with Donkey Kong Land 2, you just need to load the Japanese ROM.


I haven't used GBgbs, but based on the number of rips of Japan-only games I've seen on the PMH site, I figured it was very Japanese-centric. I'm not surprised, though, that it essentially only works on Japanese games. I'm pretty sure it was written by a Japanese person. I am, however, a little surprised it works on Donkey Kong Land. That's pretty cool! I wonder how difficult it would be to "modify"/rewrite the GBgbs program to work with non-Japan specific games? I'm guessing it'd have to be reverse engineered, since no known non-Japanese person has the source code.

Anyway, good to know. Too bad there's still a lot of games that GBgbs doesn't work on/didn't have a Japanese release.... Mouser X over and out.

edited 8:51 AM EDT July 21, 2012
by TheUltimateKoopa at 10:03 AM EDT on July 21, 2012
Well when I said it's easy, I meant, there's a program (VGMToolbox) with a simple DS to 2SF thing, that works with (AFAIK) every DS game... or almost.

Also, how do you actually use GBgbs?

I opened the ROM, and then what do you do? I click the button at the bottom and 'saved' some GBS file, but it's corrupt.

EDIT: It worked on another game. Did I just download a shitty ROM?

edited 10:15 AM EDT July 21, 2012
by TheUltimateKoopa at 10:36 AM EDT on July 21, 2012
OK, that's just weird. Why the hell is it that the credits, ending themes, bonus stage and unused boss themes, aren't able to be ripped?
by Knurek at 11:56 AM EDT on July 22, 2012
@Mouser X
GBgbs has an external text datafile which has ROM CRC and the operations necessary to rip GBS files out of it (which pages to cut, which bytes to patch, load/init routine addresses, song select table, etc). It should be fairly easy to add some US only roms there (all games using GHX driver would be a cinch), but since we here have been distributing GBS files without any problems so far, there's not really much need to do so.
by TheUltimateKoopa at 1:11 PM EDT on July 22, 2012
Does that mean that editing this file will allow things like the Bonus (Token Tango), Credits (Swanky's Swing), and Character Parade (Donkey Kong Rescued) as well as the unused Boss Bossanova (and any other ones that may eventually be discovered) to be ripped?
by Knurek at 1:23 PM EDT on July 22, 2012
Sure. Good luck.
by TheUltimateKoopa at 2:01 PM EDT on July 22, 2012
But I don't know what to edit, since I can't read "Japanese", or in the case of the text file, a load of random symbols. All I know is that DKL2 was released in 1996, so I'm assuming it's near one of the parts where it says '1996', of which there are many.
by agu fungus at 12:25 PM EST on February 26, 2013
Here's what I discovered about the missing songs from DKL2, from The Cutting Room Floor:

http://tcrf.net/Donkey_Kong_Land_III#Leftover_Tracks_from_DKL2

The other five songs: Token Tango, Boss Bossanova, Klubba's Reveille, Donkey Kong Rescued, and Titular Tableau, needed to be placed in another part of DKL2's ROM -- 7F54E-7FFCD in the English version; 7F54F-7FFCE in the Japanese version (in all versions of DKL3, the data is located at 70000-70A7F). In order to load this into RAM, a function is called at 3747 (in English DKL2), 3778 (in Japanese DKL2), 378A (in English DKL3), or 3619 (in Japanese DKL3) to load the songs when necessary. In both DKL2 and DKL3, the five songs exist at D000-DA7F in RAM.

Maybe this should give an idea about ripping the remaining songs for the .gbs file.
by TheUltimateKoopa at 12:00 AM EST on February 27, 2013
A bit outdated, but I don't think there are any more missing songs in DKL2.
by agu fungus at 1:36 PM EST on February 27, 2013
I was talking about the same songs.


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source