Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,500,437
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-29-24 10:04 AM
Guest: Register | Login

0 users currently in SMW Hacking | 2 guests

Main - SMW Hacking - My sample utility New thread | New reply


smkdan
Posted on 11-24-07 02:33 PM Link | Quote | ID: 70636


Ninji
Level: 36

Posts: 78/238
EXP: 288718
Next: 19392

Since: 05-26-07

Last post: 4065 days
Last view: 4014 days
If you read SMWC, you'd see I'm making a utility where you can import wave files into SMW.



http://smkdan.eludevisibility.org/other/swmws12.rar

How it works: You start with 0xFE0 bytes of free space and you delete existing samples from the game / insert .wav files into it. You can have different size files since it modifies the pointer tables as you go. It's in a crude stage but I had no problem getting samples in game running. There's no support for looped samples at the moment, but it's only 3 days old.

The first time you use this, you'll be prompted to point to some free space. You'll only be asked once. This is so it can use the vacant space in the SPC RAM while also making room for the extra bytes it uses.

This uses snesbrr for all the conversions. Credit to DMV27.

Any thoughts?

Raccoon Sam
Posted on 11-24-07 03:53 PM Link | Quote | ID: 70637


Cobrat
Level: 56

Posts: 351/672
EXP: 1380352
Next: 17824

Since: 02-19-07
From: Hi

Last post: 3470 days
Last view: 2702 days
Judging from that screenshot, it's super awesome.
Music editing was a big leap in SMW hacking, but wave modification is an incredible addition! Can't wait to see hacks with even superior music than before.
Great job!!

____________________


Legomen
Posted on 11-24-07 06:07 PM (rev. 2 of 11-24-07 06:13 PM) Link | Quote | ID: 70642


Red Koopa
Level: 28

Posts: 44/139
EXP: 128930
Next: 2408

Since: 05-19-07

Last post: 5603 days
Last view: 5552 days
-- never mind ---

____________________
Sorry for my bad english

The Ubuntu Counter Project - user number # 21914

blackhole89
Posted on 11-24-07 06:12 PM (rev. 3 of 11-24-07 06:18 PM) Link | Quote | ID: 70643


The Guardian
Moloch whose eyes are a thousand blind windows!
Level: 124

Posts: 910/4196
EXP: 21538028
Next: 298573

Since: 02-19-07
From: Ithaca, NY, US

Last post: 474 days
Last view: 87 days



I have written a very similar in functionality set of tools for SMW with DJ Bouche's SMAS music patch long ago.
The functionality both of our programs lack (or yours appears to, at least, I yet have to have a more extensive look at it ) is editing the ADSR data in the respective engines' actual sample entries (I can imagine beta N-SPC in SMW uses a very similar to the final version system). Either way, good job.

Legomen: It receives the PC (i.e. physical to the ROM image, counting header and what-not) address of a free ROM bank in the SMW ROM you want to operate on, presumably for the program to store the data of a larger sample block for the stock SPC copier code.

edit2: The difference appears mainly to be that my program pulls samples from other SPCs, thus not performing any BRR encoding on its own.

____________________



Remnic The Hedgehog
Posted on 11-25-07 01:24 AM Link | Quote | ID: 70662


Chasupa
Level: 56

Posts: 396/675
EXP: 1379339
Next: 18837

Since: 05-23-07
From: Kickapoo, Missouri

Last post: 5176 days
Last view: 5184 days

This is exactly what I wanted for a long time! Thank you so much!

____________________


smkdan
Posted on 11-25-07 03:54 AM (rev. 3 of 11-25-07 06:17 AM) Link | Quote | ID: 70664


Ninji
Level: 36

Posts: 79/238
EXP: 288718
Next: 19392

Since: 05-26-07

Last post: 4065 days
Last view: 4014 days
Thanks for the feedback.

blackhole89: Modifying the ADSR settings and such would be very useful here...It's definitely a priority for a possible new feature. I never examined N-SPC that much, but I assume for every instrument / SFX command there is a table of ADSR data to use for it, a sample # along with any special effects like pitch sliding (springboard). I'll try out bSNES sometime and see how it pulls the data that end up in the DSP settings.

And I realised I was already crossing bank bounaries with over 32,768 bytes of data. This time, EVERYTHING (RATS tag, my extra bytes and all SPC data) fits in one bank. You need to at the prompt insert the data into a bank boundary.

http://smkdan.eludevisibility.org/other/smws13.rar

Edit: on that note, I started collecting data on the SPC code.

For the coin sound you hear on reset, it fills $60-$67 on the DSP end which sets all the writebale per channel settings. It comes from a table at $5570 in SPC RAM and is indexed by multiplying an input varable by 9 (the remaining byte is used for something else). I see from the ROM that it's A6B bytes long.

blackhole89
Posted on 11-25-07 03:35 PM Link | Quote | ID: 70675


The Guardian
Moloch whose eyes are a thousand blind windows!
Level: 124

Posts: 915/4196
EXP: 21538028
Next: 298573

Since: 02-19-07
From: Ithaca, NY, US

Last post: 474 days
Last view: 87 days



In N-SPC, there are two tables - one physical sample table (what both our utilities are editing) and one "sample map" table which has physical sample ID, ADSR data and base pitch (this is the instrument ID that winds up being used by the tracks). The pitch slide is part of the actual track data for the songs or effects (while I haven't looked much into the latter, if I recall correctly, they are implemented as single tracks with support for the bulk of the song commands).
As for the music data format itself, there's really no need since the research on that for SMW has already been done and is publically available on the wiki of the 2ch SMW hackers (or rather linked from it).

____________________



smkdan
Posted on 12-14-07 05:50 AM Link | Quote | ID: 71674


Ninji
Level: 36

Posts: 80/238
EXP: 288718
Next: 19392

Since: 05-26-07

Last post: 4065 days
Last view: 4014 days


I made an update which has it updated the envelope, base pitch and stuff for SFX. It expands the "sample map" to 256 bytes by moving some stuff around. The next step for me is making an editor for the SFX commands of $1DFC / $1DF9. Does what you see there line up with your presonal knowledge? I messed around with it a bit and it sounds like I got it right to me.

http://smkdan.eludevisibility.org/other/smws18.rar


Main - SMW Hacking - My sample utility New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.023 seconds. (339KB of memory used)
MySQL - queries: 62, rows: 89/90, time: 0.016 seconds.