Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Not really rom hacking but still...
  
User name:
Password:
Reply:
 

UserPost
HyperLamer
Posts: 8172/8210
Yeah, a lot of old posts got wiped starting from characters like é and °.
BMF98567
Posts: 1255/1261
Bleh. I don't see anything wrong with bumping an old thread if you have some new information to add. What's the point in starting a new thread with a link to the original if the original is still open? It just clutters up the forum.

(re: the tables, I think the switch to Unicode or whatever several months ago trashed Blackhole's footer, since it cut off right where the first << symbol was supposed to be. I can only imagine how many old posts got screwed up as a result... )
HyperLamer
Posts: 8146/8210
Originally posted by Bit-Blade
Let me get this straight... you're scolding someone for adding authentic content to an old thread? That's retarded, dude. It would be understable had this bump been the kind of empty inane crap that most bumpers do "zomg POST COUNT". Leave him alone. Acmlm's would be better off with more of this (where it is applicable). I mean... shit, if you're going to try to discourage something at least know when it's necesary.

I've actually been kind of surprised there hasn't been a little more info discovered on the cave story engine.

Shit, I misread that. I thought he was asking for help. But he still could have made a new thread.
The Kins
Posts: 594/595
Mother of sin, what happened to the tables on this page?
Bit-Blade
Posts: 442/445
Let me get this straight... you're scolding someone for adding authentic content to an old thread? That's retarded, dude. It would be understable had this bump been the kind of empty inane crap that most bumpers do "zomg POST COUNT". Leave him alone. Acmlm's would be better off with more of this (where it is applicable). I mean... shit, if you're going to try to discourage something at least know when it's necesary.

I've actually been kind of surprised there hasn't been a little more info discovered on the cave story engine.
HyperLamer
Posts: 8137/8210
4-month bumps are bad, m'kay?
Kuroikaze
Posts: 6/6
I've been messing around with Mizu and Cave Story's TSC files, and gotten some new info.
I've figured out what some of the unnamed entities are (about 200 or so), and I've figured out what some TSC commands are.

Once I finish copying what's on my notepad to my computer, I'll post it here.

But as far as the TSC commands, MNPXXXX:YYYY:ZZZZ:WWWW = MoveNonPlayer, it moves an entity with TSC of X to coodinates Y/Z. I'm not sure what W does.

Also, ANP doesn't animate an entity. It does something else. I accidentally used it to get call a Health Capsule script that wasn't even on the same map by copying the ANP command that plays when you fight Ballos.
jman2050
Posts: 95/123
OMG teh bump

Anyway, I find all this crap interesting, and was actually thinking of making an editor myself before I found this topic. Speaking of which, any progress on any front? This is a great game, and it'd be sad to see all the work done here lost in the obscurity of AcmlmBoard.
kapow
Posts: 3/3
TSC notes
updated ANP, CPS, CRE, CSS, DNA, FMU, FOB, FOM, FON, FRE, HMC, KEY, MOV, MYD, PRI, SMC, SPS, XX1, maybe others I forgot
added notes on profile.dat bytes
minor touch-ups, etc.
kode54
Posts: 2/7
Originally posted by Darth Mole

@Dwedit ~ 5 half tones too low?
What I did for this converter was just adding 0x80 to the .org tone height values (thus transferring them 1:1 to the N-SPC tone range) and replacing any tones that ended up being higher than 0xC8 (which appears to be the upper limit of the N-SPC tone height range) with zero tones (0xC9). Now, because I mainly use Snes9x as an emulator, the songs sounded too high for me, so I added a transpose 0xFB command to every track. The parameter for transpose is signed, so the music was lowered by exactly 5 half tones. Heh.
http://a3o.attrib.org/cs_gravity_h.spc - here's a version of "Gravity" with nulled transpose commands.

For reference, you may wish to check against SNESAmp or Game_Music_Emu. (foo_gep would be one front-end, or you could toss together your own based on the included demo code.)

I'm not so sure about Snes9X. Maybe v1.43 is nearly up to spec, but it lacks Gaussian interpolation, as well as cycle-accurate sample generation. The pitch was off for many versions due to an improper rate conversion, and I have completely forgotten if that was fixed. Mainly because my build doesn't use the original sound code, heh.


@kode54 ~ what do you mean by "one-shot samples"? Do you mean especially short ones, or does that limitation with the 25 dropped samples apply to all of them?

If it isn't looping, it's a one shot sample. This behavior is quite noticeable in both Earthworm Jim and Plok, where several percussion and voice samples are apparently padded with whatever garbage was left in some buffer instead of silence, and therefore produce obvious popping noises on the ends if the emulator doesn't observe this behavior.


Anyway, welcome to Acmlm's board.

Thanks.
kapow
Posts: 2/3
TSC notes
updated DNP, ESC, GIT, MNA, MS2, MS3, RMU, TRA, TUR, UNI

added command value lists:
Fade directions (FAI/FAO)
Weapons (AM+/AM-/AMJ/GIT/TAM)
Items (GIT/IT+/IT-/ITJ)
Equip (EQ+/EQ-)
Faces (FAC)
Songs (CMU)
Maps (TRA) - also useful for matching Miza map listing to filenames

TODO: sound effects (SOU), flags (FL+/FL-/FLJ), maybe a list of event descriptions for each TSC
blackhole89
Posts: 695/971
I almost forgot about the existance of this thread due to some serious lack of time for reading all the new posts in here... well...

@Dwedit ~ 5 half tones too low?
What I did for this converter was just adding 0x80 to the .org tone height values (thus transferring them 1:1 to the N-SPC tone range) and replacing any tones that ended up being higher than 0xC8 (which appears to be the upper limit of the N-SPC tone height range) with zero tones (0xC9). Now, because I mainly use Snes9x as an emulator, the songs sounded too high for me, so I added a transpose 0xFB command to every track. The parameter for transpose is signed, so the music was lowered by exactly 5 half tones. Heh.
http://a3o.attrib.org/cs_gravity_h.spc - here's a version of "Gravity" with nulled transpose commands.

@kode54 ~ what do you mean by "one-shot samples"? Do you mean especially short ones, or does that limitation with the 25 dropped samples apply to all of them?
Anyway, welcome to Acmlm's board.

@kapow ~ Good work. This will certainly come in handy.
kode54
Posts: 1/7
Originally posted by Keitaro
Heh...this reminded me just how much of a BITCH BRR-compression is...good luck if you do go after those samples


Here is a foobar2000 component which contains SNES and PSX ADPCM decoders and encoders, among other things. It slaps a simple header on files, and supports uggly stereo interleave that the real hardware would never support. The player and converter (use foobar2000 converter component) are basically just to play around with the format. (Plus, when I find some odd format with an odd loop point, and I don't want to use whatever software is otherwise required to play the stuff, I convert it to this format and hack in the loop point myself. I've only done this a few times, though...)

Anyway, link to binary:

http://www.saunalahti.fi/cse/kode54/foo_adpcm.zip

The source code itself would probably be more relevant for general use. The encoder, which is loosely based on the MS ADPCM encoder from SoX (adpcm.c), is in brr.cpp. Good ol' brute force attack. Although, I'm not sure that it represents the SPC-700's odd clipping behavior properly. Or, maybe the real problem is the emulators... Test on real hardware with SPC2ROM? Or, play it safe and make sure none of the samples peak over ~95% amplitude.

http://www.saunalahti.fi/cse/kode54/foo_adpcm_source.zip

*Whew*

Oh yeah, and before I forget, some tips for preparing samples. Testing shows one-shot samples end 25 samples before the end (block marked with the end bit is discarded, as are the last 9 samples from the block preceding it) probably due to some look-ahead mechanism. So, account for this by padding one-shot samples with 25 samples worth of silence on the end, then round that padding up until the length is a multiple of 16 samples.

Looped samples should be even more fun, as the loop has to be an exact multiple of 16 samples. Note how the brute force function can also be forced to "hint" its search to fit the two samples preceding the loop start point, so the loop hopefully meshes / fits / whatever when run through the ADPCM decoder.

I'm done now, really. I think...
kapow
Posts: 1/3
I figured out some more TSC commands, feel free to add them
Devin
Posts: 110/136
After downloading and playing this game, I felt like making a frontend, as was brought up on the first page, to create/manage multiple saved games via a small EXE edit.

I spent a couple hours in VB4 and came up with this:


Doukutsu Profiler v0.1b
Readme and instructions (also in zip)

Let me know what you think of it. I'd also appreciate bug reports.
Dwedit
Posts: 46/92
The transpose is just plain off. What should be played as a B is being played as an F#. All notes need to be raised by 5 half steps, and the speed is slightly too slow. Is orgview playing stuff back at the wrong frequency for you?
BMF98567
Posts: 831/1261
I know older emulators/SPC emulation libraries played SPCs an octave or two too high, though I think that was fixed a few years ago...

Just try kicking it up a notch or two, and we'll let you know if it sounds right.
blackhole89
Posts: 688/971
Hm. What player do you use? I tried foobar2k (based on libopenspc) and winamp (based on snesapu.dll), and both of them sounded right to me.
Dwedit
Posts: 45/92
Any way to fix the transpose of the instruments? Every SPC has been off-key so far!
blackhole89
Posts: 687/971
I got my conversion tool far enough to produce fairly well-compressed output, and the only things you have to input is how many N-SPC ticks you want to assign to an ORG tick (8 turned out to be appropriate in most cases) and what instruments you want to assign to the single tracks.
http://a3o.attrib.org/cs_gravity.spc - Here is an example that turned out really nice. The original song was "Gravity" aka the first boss theme.

[edit] I almost forgot to say the most important thing - it, in most cases, is small enough to be used in SMW hacks without sacrificing crucial portions of the sound effects now.
This is a long thread. Click here to view it.
Acmlm's Board - I2 Archive - Rom Hacking - Not really rom hacking but still...


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.003 seconds.