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

Main - Posts by JaSp

Pages: 1 2 3 4 5

JaSp
Posted on 02-27-08 11:32 PM, in Quick Question - SMB3 Workshop Link | Quote | ID: 79080


Shyguy
Level: 24

Posts: 21/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
AFAIK the Object Definition editor is only used for displays purposes (to get every custom graphic to show properly); it won't change how the tiles behave in the game. You will have to use ASM for this trick; it shouldn't be too hard though.

JaSp
Posted on 03-07-08 11:54 PM, in Quick Question - SMB3 Workshop Link | Quote | ID: 79936


Shyguy
Level: 24

Posts: 22/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Well I think there is a table somewhere describing how each tile will behave in the game (that's how I got certain question blocks to behave like coins someday) but I'm not sure it exists for every single tile in the game; you might want to ask DahrkDaiz, he is far more knowledgable about all this

JaSp
Posted on 07-04-08 11:15 PM, in Ultimate SMB3 Editor (Coming soon...) Link | Quote | ID: 86832


Shyguy
Level: 24

Posts: 23/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Nice progress
I'm paying close attention to this editor as you might already guess (no I'm not dead yet!)

Well, I'm a bit worried though, what if I already expanded my ROM keeping MMC3 mapper with a lot of bank switching subroutines ? Will I have to change these ? Will the mapper switch act transparently ?
One suggestion, which is rather a request actually : adding .m3l export ? so that I can use the handy interface of your editor to design my levels and use SMB3WS to order all my levels in my rom, etc

Keep up the good work, it's nice to have almost live progress update!

JaSp
Posted on 06-12-09 05:31 PM, in Going after the SMB3 Music Format... Link | Quote | ID: 108527


Shyguy
Level: 24

Posts: 24/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Hey guys!
I uploaded an ips patch from my old project, on which you'll be able to find a lot of new musics I converted; feel free to use them
As for the space available in the ROM, I believe that there is some free space at the end of the music bank, but as every pointer space is taken, I don't think you can actually add music without expanding the ROM.
By the way, to listen to the new music in the game, change $4F5 to select the music and $705 to change the bank used.
here's the link : http://klikechange.free.fr/romhack/smb3asm/exp%20SMB3.ips
I also uploaded some .asm files, it has nothing to do with music, but I thought I'd share it since the project has kinda been canceled now, if that can be used for anyone!

JaSp
Posted on 06-15-09 06:45 PM, in PPU Editing for SMB3 (can it be done?) Link | Quote | ID: 108730


Shyguy
Level: 24

Posts: 25/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Just a quick note, iirc, mario & luigi's palettes are checked/set in some routines during the map screen/levels transitions, so even if you find the palette entries, you may have to dig a little further in the debugger to find some offsets to change so that it won't glitch in the game (that's a reason why my waaay old smb3 color editor was buggy!)

JaSp
Posted on 06-15-09 07:19 PM, in Going after the SMB3 Music Format... Link | Quote | ID: 108732


Shyguy
Level: 24

Posts: 26/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
First, thanks guys, it's always good to feel welcomed

About the MIDI stuff, I used FLStudio to import midi files, select which of its channels I wanted for each NES channel (sq1, sq2, triangle, etc.), and then used this custom javacript tool (top technology!) to convert it to smb3's format.
The tool works as follow (iirc!) :
- ROM Address is the beginning of the part's data
- For each track, the format is " [length] [note/_] ", length is well, the length of the following note (don't change it for every note if for example 2 successive notes have the same length), and then type the note (i.e. c#4 or d3 ; look in the html source to see which values are available), or _ for a blank (its length is also relative to the length entered before)
- Noise and DMC tracks have to be made by hand, that is you directly type the hex values
- Once you've got your track, you have to manually copy/paste it to the right area with a hex editor; I suggest that you use FCEUXD to directly hear the changes and fix/arrange the track easily
Btw, here's a little picture to help you visually understand how it works in the RAM.

About FamiTracker, I believe it outputs the music in its own format, but if there's a way to make it output your own format, it shouldn't be too hard to convert it to smb3's music format (because the problem with NES music is that each game has its own format, and very few share the same).
I actually started to work on a SMB3 Music Editor a couple years ago, which unfortunately is buggy and unfinished, and the fact that some songs share the same data, as Quick Curly said, made it difficult to continue (I was kinda unexperienced in programming back in the time). You can find the last version I made here, it might actually be working if you only want to change instruments!

As for me, I'd really like to get back to ROM Hacking, but as you may all be very aware of, it is a huge time consuming activity, and I just don't have time for this at the moment
Currently, I finished my game design studies a week ago and I'm looking for an end-term internship (if anyone has a lead, I would love to do it in a foreign country! ).
The canceled hack is indeed the one with SMW/SM64 features of which I posted some youtube videos. Maybe one day I'll work on it again, who knows ?

@silas: I believe I haven't replied to your last email a long time ago, sorry for that but I've been very busy lately!

Well, I think I've answered to everything! I hope that it'll help

JaSp
Posted on 10-16-09 11:03 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 117339


Shyguy
Level: 24

Posts: 27/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
This looks amazing; it seems you actually got rid of the nightmarish side of ROM hacking by creating a truly flexible editor.
Maybe the sequel to Some Usual Day I've been dreaming about won't stay being a dream after all
I guess I'll just be bitchy and ask if you intend to implement some sort of ASM plugin (like custom blocks that redirect to customizable routines when colliding with mario for example), but that would make it WAY too easy!

Btw I have plans to do something about smb3 music editing; I actually already have an asm hack that allows to add musics (yeah, add, not replace) to the game. And you might see this feature somewhere sooner than expected
But as it has already been pointed out, as cool as new music sounds, it is a pain to convert musics to the format, and it would be even more painful to create musics if you don't have a minimum knowledge about music composing.

Anyway, congrats Daiz; you still amaze me years after years

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


Shyguy
Level: 24

Posts: 28/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Posted by KP9000
I already started editing sequence data in my own hack but I'm not sure what it all does. Wasn't there someone who used some javascript program to take a specialized midi file and put it into SMB3's format? Was that you, Jasp?


Yeah, actually the process was mainly done by hand. The javascript utility I wrote could convert a sequence of notes into the game's format, for example you write "4 c#5 _ 2 c4" and it outputs the corresponding hex, 4 & 2 being the note length (whole and half note in this case), c#5 & c4 the frequency, and _ being a blank note.
So I used a tracker such as FLStudio that can import midi files, converted the song by hand into a 4 instruments format, copy/paste by hand the note sequences into the javascript, and then injected the output hex by hand into the ROM. Rather long process :/

I think the best way would be to create an utility to manage the songs data, for example, making a specific file format for smb3 songs that you can import into the ROM, automatically finding space in an empty prg bank, and assigning a byte ID to the song to load it in the game. This seems really feasible in my head, but it would require quite some time to create.

Then we would need another utility to either create these song files by hand (quite easy), or either convert a tracker format such as midi into this format, which would be hard for me to do seeing my very poor knowledge of programming...
But I certainly don't have the knowledge/time to create a fully featured tracker for this!

Anyways the way I see things, it would be compatible with DD's editor because it would only touch the music engine, and I doubt his editor will take all the extended prg banks

JaSp
Posted on 10-20-09 01:51 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 117574


Shyguy
Level: 24

Posts: 29/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Posted by zbyte
Will there be the default music tracks to select, and then some room for custom music just like customizing palettes? This seems like a good idea.


I'm working on the custom music stuff. Just be patient and hope that I don't give it up!
With the expanded MMC5 ROM, there *should* be enough space to include DD's new level format along with new musics in other prg banks.

@DD: btw, if you didn't already think about this, add "erase tile" support with right-click (aka replace with background tile); and also custom arrangement of tsa tiles, so that you can form a pipe in a logical way instead of searching around for the proper tiles, and copy paste a selection of tiles while I'm on it (but I assume these kind of features will come once the core functions are done)

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


Shyguy
Level: 24

Posts: 30/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
DD: Actually I plan on having an editor that will automatically choose banks if they are free so that the user can add as many songs as he wants as long as he has free space. So, I don't know, maybe use a system where your editor will check if the banks are free or not, but that wouldn't be very convenient with your cross-bank system, or having an option to define unwritable banks reserved for other uses such as custom music (that would also be convenient for extensive ASM hacks btw)
In that case I will add support to manually choose in which banks you want your custom musics.

JaSp
Posted on 10-21-09 01:40 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 117677


Shyguy
Level: 24

Posts: 31/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
neat, but you should also add a dotted translucent line between the arrows for a better visibility, don't you think ?

JaSp
Posted on 10-21-09 07:33 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 117696


Shyguy
Level: 24

Posts: 32/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Well it would be really messy if you have a lot of these platforms (flying arrows everywhere); I think the more flexible way would be to include the dotted paths, but add an option to hide/show all the guides (including arrows and other stuff like that)

JaSp
Posted on 10-26-09 10:43 AM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 117990


Shyguy
Level: 24

Posts: 33/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Iirc, is it a sprite placed in the levels that would make mario's position to change when he returns on map screen, that's all.

Nice and fast progress here, Daiz!
I'm getting things to work quite nicely on my side; and for my "song injector" to be compatible with your format, I think I'll only need an option to freeze selected prg banks in Reuben; is it feasible ?
Btw, do you know of any isolated free RAM space in the game ? I'm using $7C00 to store the current bank as I believe this is not used but I'm not sure...

JaSp
Posted on 11-07-09 03:06 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) (rev. 6 of 11-22-09 05:56 PM) Link | Quote | ID: 118974


Shyguy
Level: 24

Posts: 34/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Hello people!

Here is a WIP release of SMB3 Music Inserter.
As its name suggests, it is an utility to insert new songs into a SMB3 ROM.

How it works :
Using an expanded ROM, it basically overload the game's song loading format to a custom one which can determine an associated prg-rom bank number along with the song index.
This means that you can add up to roughly 189 new songs of the same length as the original ones to your hack ( 7 new banks * 27 original songs = 189 new songs ).

Update:
For now, you can only load the new songs for your levels into a Reuben ROM; I couldn't find an easy and flexible enough way to load song into the original game without screwing everything up. Since a first release of Reuben should be coming soon, you'll just have to wait a little!
An ips patch is still included to add the new system to an original smb3 ROM (after having expanded it with smb3mi) so that you can preview the program's capabilities (by manually loading your song at RAM address $4F5)
Moreover, ASM hackers may create a custom hack to load new songs into the game.


Usage:
The utility can save/load projects. A project is just a list of .smb3song files to be inserted in the game.
Simply add the songs to the list, select another bank if necessary (if you ran out of space for the current bank).
Once you're done, select "Insert to ROM" to insert the new songs into your hack.
Yeah, that simple!

This utility is NOT made to create new songs; this process has to be done separately to create .smb3song files.
Please read the provided .txt files to learn how to write your own songs, or use the included MusicXML to smb3song converter.

There are no instructions provided as to the usage of the utility itself; this way I'll see if it is really self-understandable or if you're having a lot of trouble with the current GUI (although I just explained it a little).

Current release here (beta 1.3 - 2009/11/22)
Requires .NET 3.5 (I think...)
2009/11/22 : Now including a MusicXML to smb3song converter!

Screenshot:


I haven't posted this in the releases board because it is still work in progress.

Please use this thread for suggestions/bug reports.

Planned features :
- XSD validation for .smb3song files (this will allow to exactly locate the errors made in a song file) *DONE*
- Decrypt entirely smb3 music format (some note durations aren't supported for now) *DONE*
- edit instruments for each bank
- auto-adjust parts duration according to each track (fill with silences if tracks aren't set at the same durations and are likely to glitch)
- add human understandable XML entities for values (such as &allegro; to determine a tempo value for example)
- progress bar and log text box for songs insertion into ROM
- wav references of all the rhythm sounds, and possibly make a rhythm pattern editor
- write a MusicXML converter to be able to use trackers/music editors that support this format (kinda midi conversion for instance) *BETA*

Note for ASM hackers : the IPS patch uses free space at $9F10, $E240 (fixed PRG ROM banks)

JaSp
Posted on 11-08-09 01:34 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 119007


Shyguy
Level: 24

Posts: 35/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
@zbyte: you need to place a sprite #0F in your level to play the new musics
as for the disappearing items, it seems like a bug; what are you referring to exactly by "items" ?
The smb3song format is explained in a text file, it has to be done manually for now.

@cky: yes, it is in hex; can you detail exactly the steps you did please ? which song you added, when did you apply the ips patch, etc.

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


Shyguy
Level: 24

Posts: 36/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
yeah, basically, when there's a sprite 0F in the level, it will load its x-position value as the new music for the level; you should place it at y = 0 though if you don't want to risk screwing things up.
The new song loading byte format is : bbba aaaa , bbb = bank index, aaaaa = song index (so if b = 0, you can load all original songs into your level, including map songs for example)
Make sure to look at the hexadecimal value of the x-position (lower right corner in smb3ws) and to make it the same as what is written in smb3mi.

So has anyone succeeded in adding a song yet ? I'm starting to get worried here... :/

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


Shyguy
Level: 24

Posts: 37/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
Ok, I looked into it, and it seems that using so-called "unused sprites" would easily mess things up. So I couldn't find a flexible enough way to load custom songs into the game yet.
You'll just have to wait for Reuben at the moment, because things will be MUCH simpler with it!
Sorry for that

I also updated the program so that it will allow you to expand the ROM while conserving your new graphics and such (ips patching is really bad when it comes to using it to expand ROMs).
You can still preview the program's capabilities by manually setting the song index at $4F5 (RAM) with FCEUXD's hex editor.

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


Shyguy
Level: 24

Posts: 38/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
I've only written the conversion from string to hex so far and I didn't plan this, but it could be doable in a few hours I guess... however, the XML format isn't very read/edit-friendly, so would that be really useful ?
Wouldn't it be simpler to get a MIDI version of the song, remix it in your favorite tracker, and then write down the score to an xml smb3song ?
I'll see what I can do if you really want it anyway

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


Shyguy
Level: 24

Posts: 39/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
I've got a couple suggestions for the GUI (sorry if these have been mentioned already) :

- be able to change which tile is associated with right click, and use the 3rd mouse button for the "blank" tile - it would add flexibility for people with 3-buttons mouses, without restraining people with 2-buttons mouses (by selecting the blank tile as the right click)

- create a sort of 9-scale drawing tool : it would be a tool with 9 tiles associated with it : 1 for each corner, 1 for each side, and 1 to fill the center. Since the game is very block-based, this would be very useful to quickly create grounds, platforms and such with all correct edge tiles already set in place

JaSp
Posted on 11-12-09 01:42 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) (rev. 2 of 11-12-09 01:54 PM) Link | Quote | ID: 119238


Shyguy
Level: 24

Posts: 40/95
EXP: 73594
Next: 4531

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

Last post: 4402 days
Last view: 4198 days
I can see two problems with using these new channels :
- it would require to rewrite the music engine, and adjust all existing songs so that they don't crash with the new engine; not impossible, but it would probably require a lot of time to figure things out and code them in, and I'm not sure it's worth the effort if it is only used by a few persons
- it would 'denature' SMB3's music style, which may or may not be a problem depending on opinions, but personally I think that you need to keep a minimal amount of aspects from the original game when hacking it; else you might just as well create a brand new game
That's more of a personal opinion of course, but the first reason is enough for me to not implement it, at least not for a long time seeing I've got a lot of stuff to finish first.

So, no new channels, but I do plan to include an instrument editor, so that you could change instruments data for each new bank (for square1, square2 and triangle only, probably).

As for editing/creating music files, it is kinda planned.
Several options here :
- create a specific new tracker which would play exactly as it would sound in-game : very long option, since I don't have enough sound and GUI programming knowledge to actually make such as program, so it would require a lot of time for me to figure things out
- create a small tool to convert other formats to this one : much likely, and planned; I still don't know for which format I'll go. I've seen this MusicXML format which seems to be used by many programs (including free ones), and writing a conversion tool doesn't seem that hard to do
This way you could actually convert a MIDI file into the smb3song format, the process would be like that :
MIDI -> MusicXML (using an existing tracker/program) -> smb3song (using a future tool)
You would still need to adjust the MIDI file to make it sound right, because smb3 music format has a LOT of restrictions compared to MIDI; and it would output just one part at a time, you'd probably have to rearrange parts by hand in your smb3song XML.
EDIT: I've just looked a little into the MusicXML specifications, and it seems that a tool to output complete smb3song files from a MusicXML file can be doable!

I have also planned to make a basic rhythm editor (to edit noise & dmc), since I can't see that part being handled very easily with MIDI/MusicXML (this tool shouldn't be too hard to do, it would just output a repeatable pattern as string to include in the smb3song XML).
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.238 seconds. (329KB of memory used)
MySQL - queries: 131, rows: 163/163, time: 0.226 seconds.