Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,795,584
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 06-17-24 09:33 PM
Guest: Register | Login

Main - Posts by JaSp

Pages: 1 2 3 4 5

JaSp
Posted on 11-13-09 12:31 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 119290


Shyguy
Level: 24

Posts: 41/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
I believe I can make an "Export to NSF" for quick preview purpose, that would replace the first track of smb3 Nsf file and so you would hear the actual track you're working on.

JaSp
Posted on 11-16-09 12:14 AM, in SMB3 Music Inserter - WIP Release (beta 1.3) (rev. 2 of 11-16-09 12:24 AM) Link | Quote | ID: 119473


Shyguy
Level: 24

Posts: 42/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
New version!
- Added XSD validation for smb3song XML files (it will check if the specified file is well-formatted, please let me know if you encounter an error and think that it was not an error!)
- Added NSF exporting : select a song in the list and click on NSF; it will replace the first song of the file with the one selected; you can open the nsf file with the default opener when exporting by checking "Open NSF"
Link is on the first post.
- Added support for all note durations used by the game (new durations are 0.3, 0.55, 0.75, 3.33)

As for the new DMC samples, I'm afraid it might just be too difficult and time-consuming to do. I need to keep some free time for my future smb3 hack

JaSp
Posted on 11-16-09 02:04 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 119495


Shyguy
Level: 24

Posts: 43/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Hopefully MIDI conversion isn't too far ahead; I've begun to take a look at the MusicXML format, and it will be my current task for the next days.
I also found a great utility to convert MIDI files into MusicXML (MuseScore).
Stay tuned

JaSp
Posted on 11-22-09 05:51 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) (rev. 2 of 11-22-09 05:52 PM) Link | Quote | ID: 120059


Shyguy
Level: 24

Posts: 44/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
New release, with first version of the MusicXML to smb3song converter!
It kinda works, except that it doesn't support noise and dmc channels.
You can now convert MIDI files to MusicXML (via MuseScore, it's the only free tool to do that that I found so far), and then convert that file with the MusicXMLConverter.
There aren't any instructions on how to use it, but if you can look at your MIDI/MusicXML file structure, you should be able to understand it quite easily.
Small notes :
- ending measure is inclusive
- multiply factor is used to multiply (or divide if by < 1) input notes by a certain amount; it is merely used to change the speed of the track regardless of the tempo, or if something doesn't sound right, for example when a note has a too small duration (< 0.33) for smb3)
- the output track should sound as it sounds in MusicXML, *not* as the MIDI file itself (MuseScore's imported MIDIs don't sound right sometimes)

Here's a screenshot with a ready-to-be-converted song :



EDIT: check the included sml-overworld.smb3song file included, it has been made with the converter from a MIDI file!

JaSp
Posted on 11-23-09 10:10 AM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 120137


Shyguy
Level: 24

Posts: 45/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
- winamp startup should be disabled if you uncheck the "Open NSF" checkbox

- as for MuseScore, I merely use it as a converter; I just open a MIDI file with it and save as a MusicXML file; since it's basically made to generate scores, it isn't very handy for editing purposes for non-musically trained people. You've got to choose the instrument in the converter then ("Track to use").
However I realized that some MIDI files aren't imported right into MuseScore; that's why I'm actually considering writing a MIDI to smb3song Converter...
So for now, I recommend optimizing the MIDI file itself first with your favorite tracker!

JaSp
Posted on 11-23-09 11:12 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 120183


Shyguy
Level: 24

Posts: 46/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
The program only opens the .nsf file, so it just uses the default assigned opener for this file type.

JaSp
Posted on 11-24-09 10:11 AM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 120289


Shyguy
Level: 24

Posts: 47/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Posted by KP9000
Example, there is a midi I used that had eighth notes that when finally converted sounded like 32nd notes. It bore a resemblance to the instrument used in MuseScore.
Try to use the "multiply factor", i.e. setting it to 4 in this case; and also try to adjust the song's tempo; if you still can't get it right, well...I can't do much!

I know things are really tricky right now, that's why I was considering making a MIDI to smb3song converter (I used MusicXML because XML seemed faster/easier to do, but after all, being a ROM hacker I'm really used to work with binary so it shouldn't be much of a problem - more a matter of time...)

I won't be able to work on this very often, I'm quite busy with my internship, so I only get to work on all this on weekends.

JaSp
Posted on 11-26-09 11:52 AM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 120556


Shyguy
Level: 24

Posts: 48/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Posted by KP9000
The 'triangle' element is invalid - 
The value '[a bunch of notes here]' is invalid according to its datatype 'trackrestriction' -
The Pattern constraint failed.

This is an error from the XSD validation; that means the string pattern isn't correct for the channel. Usually it might be because the converter has output a too low/high octave (< 2 or > 7), or that a note duration was invalid (usually because it is too low so it has output a 0-note, which is invalid).

It's cool that you managed to get a smb3song I'm at work right now but I'll definitely take a look at it once I get home!

JaSp
Posted on 11-28-09 07:47 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 120839


Shyguy
Level: 24

Posts: 49/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Just a little note to let you know that I am working on a MIDI converter, and that I've already managed to get an accurate smb3song-type string representation of a score (currently tested on just 1 midi file for now, but progress is going way faster than I could imagine)

Stay tuned!

JaSp
Posted on 11-29-09 11:23 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 120993


Shyguy
Level: 24

Posts: 50/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
I haven't checked yet, but my patch is likely to not be compatible with the latest version of Reuben; I believe DD used some space I used for my patch, so it would just overwrite it and break down Reuben's routines.
Also, I told DD about being able to manually set the song selection byte for levels' header but he must have forgotten about it, since you can't do so in the current release.
I'll look into it and release a proper patch as soon as I can!

JaSp
Posted on 12-01-09 02:07 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 121121


Shyguy
Level: 24

Posts: 51/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Well, the best option here would be to have Reuben's song list loaded from an external file, so that I could generate a new file with SMB3MI; this way people would actually select "New Super Mario Bros. Overworld" as the song for their level rather than looking at SMB3MI to see that 21 = NSMB Overworld.

The list could look like this as an XML file :

<song title="Plain" value="10" />
<song title="Underground" value="11" />
...
<song title="NSMB Overworld" value="21" />

I guess you should also disable your conversion algorithm since I'm taking care of this through my patch (I don't remember whether this was done in Reuben.exe or in the patched ROM ?)

Anyway, using the Unused1 byte isn't convenient, it would basically waste it - and I'm already planning to really use these bytes for my future hack!

JaSp
Posted on 12-01-09 11:19 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 121148


Shyguy
Level: 24

Posts: 52/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Just a quick note, about the palette editor button : make one available in the level header settings, that will edit the currently selected palette.

Oh, btw, I didn't have much time to test the editor, but I tried to do a castle vertical level, and I had a problem of starting position (mario was starting about 8 tiles upper than he was supposed to); I'll send you the project once I have time to do so!

other suggestion: scale-9 tool I'm REALLY looking forward to that tool!

JaSp
Posted on 12-02-09 02:08 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 121217


Shyguy
Level: 24

Posts: 53/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
yup, that's it; the tool I mentioned a few weeks ago!
I borrowed the name from Adobe Flash actually

JaSp
Posted on 12-05-09 02:28 PM, in Reuben: Not so final (but it's being worked on again) stage. (rev. 2 of 12-05-09 03:36 PM) Link | Quote | ID: 121556


Shyguy
Level: 24

Posts: 54/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Bug report:
there seems to be a problem with pipe levels; I created a pipe level, everything looked fine in Reuben, but graphics were messed up in the game.

screenshot

Something might be wrong with TSA (or whatever you'd like to call it)

EDIT
Bug report:
Ship propeller sprite is not placed accurately in the editor:

JaSp
Posted on 12-06-09 04:26 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 121631


Shyguy
Level: 24

Posts: 55/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Another bug, when you right-click an item in the project tree-list, the focus stays on the previously selected item.

Also, I can't figure out how to use the graphic import/reload menu items, if I want my new graphics, I need to manually copy and rename a file to project.chr and reload the project; using the menu items I only got the graphic file to get erased! (not the file itself, but all the graphics that were in it become black)
Is that a bug or am I just missing how to use this ?

JaSp
Posted on 12-06-09 07:15 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 121645


Shyguy
Level: 24

Posts: 56/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
I see; well it's not a major problem anyway.

GUI suggestions :
- double-clicking or right-clicking on a pointer in map editing brings the pointer properties window

- vertically resizable sprite windows, so that we can display more than ~8 sprites in a current sprite set; that would be very useful to have a clear visibility on what's available for the level

JaSp
Posted on 12-12-09 02:39 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 122240


Shyguy
Level: 24

Posts: 57/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
So far I believe you'll have to manually edit your music slot from your levels' headers via hex.
The correct order should be this :
- compile your ROM from Reuben
- patch it with the music ips from smb3mi
- insert songs with smb3mi
- replace the music bytes via hex to get the proper songs to load


Sorry for not having updated anything for a long time, I've been very busy recently and it's not likely to change for the coming weeks/months...

JaSp
Posted on 12-18-09 04:10 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 123314


Shyguy
Level: 24

Posts: 58/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
No problem for the source, however as I've learned to program by myself, it's probably the worst optimized and designed program ever let alone poorly commented

source for the MusicXML converter

I used the .NET XPath library for XML, it might not be the best way to efficiently do this, but it was the most humanly understandable for me (as you can write the actual path in plain text for your nodes and elements)

by the way, about the MIDI converter, I thought it would be kinda easy to do, but I've encountered some compatibility problems for different MIDI file types, and mainly a problem with approximation, since most of the MIDI files aren't accurate about the notes durations and all, so I tried to create some kind of approximation/rounding algorithms and it's quite messy :/
I'll try to work on it again when I have time to do so.
here's a wip version ; it might work depending on your midi file, but I'm not sure you can eventually get something out of it

JaSp
Posted on 12-18-09 08:12 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 123356


Shyguy
Level: 24

Posts: 59/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
that's strange, I was sure to have sorted out the timer issue; but I kinda rushed the beta patch so I'll have to look at it again.

I'll wait for the 1.0 version of Reuben before making another patch though, not to mention that I need time to do so!

JaSp
Posted on 02-12-10 08:10 PM, in How do I use SMB3 Music Inserter? Link | Quote | ID: 127005


Shyguy
Level: 24

Posts: 60/95
EXP: 73594
Next: 4531

Since: 03-02-07
From: Paris, France

Last post: 4402 days
Last view: 4198 days
Short answer:
You'll have to wait for Reuben 1.0 to easily insert/play custom songs in SMB3.

Detailed answer:
As of the beta 1.3 version, the program can add musics to your hack, but there isn't any way to play them automatically; unless you add your own ASM hack to do it.
I hadn't had time to find a flexible enough way to do so at the time, so I made a version that would essentially be used along with the Reuben editor (which would let you select which song to play in a level's header).
Sprite #0F is useless now, it was a first try at implementing a way to play the new songs but it was unstable.

Anyway, the proper usage would be :

- expand ROM via SMB3MI
- apply .ips patch
- open/insert new songs into the ROM

But you won't notice any difference.
You can still check that it worked by manually changing the address $4F5 to your song index (with a debugging emulator such as FCEUXD).
Pages: 1 2 3 4 5


Main - Posts by JaSp

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

Page rendered in 0.234 seconds. (330KB of memory used)
MySQL - queries: 128, rows: 160/160, time: 0.223 seconds.