Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > GBS Import v0.2 Owner: Slimeball New post
Page 3 of 4 Sort: Goto Page: << Previous [1] [2] [3] [4] Next >>
Posted: 2014-06-10 19:25 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#58147
Was that post really necessary? I haven't seen any sign of disrespect in this thread. At best you only stated the obvious.

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-06-13 01:19 Reply | Quote
betasword

Avatar

Member for: 5875 days
Status: Offline

#58229
This tool is pretty much super awesome. Especially when it comes to figuring out some of these slightly weirder, chunkier sounding drums that some games use.

That being said, it doesn't seem to like Metal Gear Solid a whole lot. Looks like it imports things for the most part right, but the volumes get messed up on a bunch of tracks. For example, track 16, the noise channel's volume basically fades in and out weirdly.

Other than that, it seems really effective so far!


Attachments:
metal_gear_solid_2000konami.gbs (118 Kb)
Posted: 2014-06-18 17:25  (Last Edited: 2014-06-18 17:27) Reply | Quote
Slimeball

Avatar

Member for: 5129 days
Status: Offline

#58395
jrlepage wrote:
Was that post really necessary? I haven't seen any sign of disrespect in this thread. At best you only stated the obvious.

Well, I appreciated his post myself. Positive feedback is always welcome and the future of this project depends entirely on my motivation. :P (although those courageous enough could always fork it)

jrlepage wrote:
The program chokes on this GBS! "Unsupported ROM layout", apparently. What does this mean exactly?


It meant my program couldn't figure out whether it was bankswitched or not. The song data itself ended at exactly $7FFF, but luckily changing a >= to > in the code fixed it. :P

Quote:
More issues! This time this GBS is the culprit. I tried importing track 15 specifically; the import process itself works fine, but the file it spits out runs really really slow. Here it is (and here is a sped up version).

Any idea why this happens?

TMNT2's sound driver actually runs at 240 Hz. So it'll now import it "properly" at 3600 BPM.

This is far from an ideal solution though. If only because it's hard to follow things at that speed. What's worse is that my lazy emulation clocks the volume envelopes at the engine speed (which is around 60 Hz most of the time) rather than 64Hz (which is what they're actually supposed to be). So in the case of TMNT2 they're 4x too fast! I guess I'll have to implement... *gasp* cycle accurate emulation one day.

Anyway, I think I fixed all of the bugs reported! Here's the latest version. :P

https://dl.dropboxusercontent.com/u/70256161/GBSImport_v020.zip
https://dl.dropboxusercontent.com/u/70256161/GBSImport_v020_src.zip

Posted: 2014-06-18 22:03  (Last Edited: 2014-06-18 22:04) Reply | Quote
Im_a_Track_Man

Avatar

Member for: 5547 days
Location: Plantation, Florida
Status: Offline

#58403
Here's another issue. Rhino Rumble's soundtrack only gets its noise channel imported. This is for the entire GBS.


Posted: 2014-06-18 22:10 Reply | Quote
Slimeball

Avatar

Member for: 5129 days
Status: Offline

#58406
Are you using the newest version? i.e. the one that's on this page right now? (and not the one in the first post which I can't edit)

This .gbs works fine for me on the newest version. Although it's a bit out of tune because I didn't implement Pxx for the WAVE channel yet. :P



Posted: 2014-06-18 22:45 Reply | Quote
Im_a_Track_Man

Avatar

Member for: 5547 days
Location: Plantation, Florida
Status: Offline

#58407
Ah. Alright thanks.

Posted: 2014-06-18 23:10  (Last Edited: 2014-06-18 23:14) Reply | Quote
VinylScratch

Avatar

Member for: 4964 days
Location: Nebraska
Status: Offline

#58408
I've had enough of Chrome. It thinks your program is malicious. (I already know it's not.) Anyway, the update has fixed the issues I addressed. Keep up the good work, Slimeball!

_______________________
Soundcloud | Youtube
Posted: 2014-06-19 06:35 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#58426
Should I edit the first post to add the new URL?

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-06-19 16:03 Reply | Quote
Slimeball

Avatar

Member for: 5129 days
Status: Offline

#58441
Yeah, that would be great! :P

Posted: 2014-06-19 16:25 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#58442
Done!

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-06-19 17:40  (Last Edited: 2014-06-19 17:50) Reply | Quote
B00daW

Avatar

Member for: 6396 days
Status: Offline

#58444
Great work on Prehistorik Man and the "zombie volume". :D I think I understand it now too.

Man this looks like a lot of fun to develop. :D

~~~~~

Edit:

I've noticed a lot the imports stop at pattern $1C and end with a Cxx command when they should obviously be looping. Project S-11 and Prehistorik Man tracks for example.

Posted: 2014-06-19 18:12 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#58447
The importer doesn't loop modules automatically. You tell it when to stop logging to FTM, and then you have to make your modules loop properly (which can be an arduous task sometimes).

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-06-19 19:40 Reply | Quote
Slimeball

Avatar

Member for: 5129 days
Status: Offline

#58450
Unlike SPC files, there's no field for playtime and loop length in the header. Loop points are encoded into all the music driver's respective formats themselves.

Writing something that recognizes loop points would be really hard. Especially since I imagine a lot of songs use non-integral tempos (such as 127.3 BPM) aliased to 60Hz, resulting in the placement of notes being subtly different on looping.

I think it'd be a lot easier (relatively) to write something that recognizes instruments. :P

GBSImport imports 120 seconds of music by default. That's also where frame $1C is. If it detects more than 5 seconds of silence, it'll trim off the end. (if you don't disable it)

Yeah, I decided to let the imports halt and be quiet at the last row. In early development it left the notes hanging, and eventually I got very tired of hearing that all the time. :P

Posted: 2014-07-16 02:27 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#59475
I just realised I forgot to update the thread title when I added the link to v0.2. I've fixed that now.

Speaking of, any progress on this since that version was released, Slimeball? :p

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-07-16 20:56  (Last Edited: 2014-07-16 21:44) Reply | Quote
DevEd

Avatar

Member for: 4700 days
Location: Right here.
Status: Offline

#59517


Page 3 of 4 Sort: Goto Page: << Previous [1] [2] [3] [4] Next >>