don't click here

xm3smps/oerg v3.6 - We get signal!

Discussion in 'Engineering & Reverse Engineering' started by Oerg866, Oct 11, 2009.

Thread Status:
Not open for further replies.
  1. Hello, guys.

    My name is Oerg866 and I'm going to introduce you to the new version of xm3smps.

    A few months ago I got the legitimation of nineko to officially continue xm3smps and add all sorts of things to it, to make it more userfriendly.

    To be honest, I probably had the goal of being better than xm4smps somewhere in my head :P Nah, Puto's app is cool, But I don't like it very much because it lacks the "Reload XM" feature. Anyway, Let me walk you through the program. Note that this is a demo version, which only offers the ability to output MD/Genesis SMPS binaries. 32x and SMS support will be released later. Otherwise, functionality is complete.


    Here you can see many new things. The tool bar is no longer on the left side, but the top side, which, in my opinion, makes it more pleasant to work with.

    As you may notice, there's not only a "Convert Song" button, but also a "Preview Song" button, which does the same as converting the song, but just writes a temporary file and plays it back, based on Rob Jinnais SMPS C Demo. Many thanks to him for helping me getting it to work.

    Also there's "Load State" and "Save State" buttons, which I will get to lateron.

    Another output possibility has been added, as requested by SOTI, which is the ability to output S1SMPS2ASM files.

    The rest is pretty much the same in that regard, with new icons, ripped out of Windows Vista by Irixion, many thanks for that.


    The XM Explorer has not changed since the last version by nineko.


    The General Parameters window basically does the same as in the previous versions, yet it looks a bit different. As you can see, at the left side of the tempo settings, you can push a "Calculate" button. The calculate button is an integration of nineko's smpsTempo utility. When you click this button, a small window appears which lists a few possibilities, how far they're off the XM's tempo and so on, based on the tolerance entered below the button.


    Now you can either cancel or double-click a tempo to apply to the general parameters.


    Here you set all the instruments for your song. New features are here aswell. You'll notice a "preview voice" button on each side. When a voice is selected from the list above it, and this button is clicked, it is previewed, playing through several different octaves of notes.

    Introducing x3i
    X3I is the successor to X3V. It is designed for large banks and it can hold an entire instrument collection, which means up to 65535 instruments! Click here for file definitions! :)

    You can find "Add to x3i" buttons. They do exactly what they mean. They take the x3i file specified on the bottom of the window and add the selected voice. If the specified filename is not a valid x3i or doesn't exist, you're asked if you want to overwrite/create a new file under this filename. This can be used in combination with the "All" button.

    X3i files can be read aswell, just like x3v files.

    A special utility called "DIR2X3I" is included: this small program takes all .bin files, which have to be raw $19-byte-big SMPS format, in a specified folder and puts them all in an X3I file, which is in that folder and is called "ALLINST.X3I".



    This window is almost exactly the same as in the original versions. I just made it a little smaller. And if all drums are in one instrument, you can choose between note-values and note-names.


    The new feature here is that xm3smps/oerg lets you specify a custom output path and filename, useful for when you, for example, want to have the output directly into a disassembly directory.


    The options window has a few small additions. You can select a voice path, which is not only saved to the ini files, but it also updates the voice manager with this path when clicking OK.

    Also, a very VERY useful feature is that you can directly compile your disassembly, for example to directly listen to the song in your hack, directly after conversion is completed.


    Nothing special here :S

    Save State saving & loading

    Xm3smps has a revolutionary new feature which enables you to save your progress! The file format definitions are available here. Please report any bugs, thanks!

    Voice editor!
    Xm3smps/oerg v3.5.3 introduces a built in SMPS instrument editor! This is recommended for people who know what they're messing with, but toying around wiht a few operators might result in something pretty cool!.

    Aand, I think that 's it!

    <a href="" target="_blank">DOWNLOAD</a>
    (3.6. If you still have 3.5.0/3.5.1/3.5.2/3.5.3, upgrade immediatly.)
  2. Aquaslash


    Emerald Dragoon Moderator
    Hampton, VA
    The S Factor: Sonia and Silver
    This SOUNDS like it'll be awesome, especially with the preview feature. That would save me a LOT of time.

    I'll have to try this sometime
  3. Mikel


    Well, from looking at the screenshots, this is pretty nice, the features can come in handy if someone makes a reversion of XM4SMPS.

    I need to try this out sometime soon.
  4. muteKi


    Fuck it Member
    Still no 0604 support, eh? Call me crazy but I kinda enjoy the noise channel's default frequencies.
  5. Selbi


    The Euphonic Mess Member
    Northern Germany
    Sonic ERaZor
    I know I'm not going to use it, since I can't work with music in general, but:
    Using the buttons "Yes" and "No" instead of radio buttons always bugged me, even on the original version. It doesn't matter at all, but I think you should change this and simalar buttons to radio buttons.
  6. nineko


    I am the Holy Cat Tech Member
    Maybe this isn't clear, it's the SMPS engine itself which doesn't support 0604 songs, not xm2/3/4smps, adding support for that is literally as simple as increasing an index in a FOR by one.
    I can release an xm3smps which supports 37 FM channels and 15 PSG channels if I want to, but your output song won't be valid smps by any mean.
  7. Haha, yes.

    Also @nineko: mind commenting on the app?
  8. LordOfSquad


    bobs over baghdad Member
    Winnipeg, MB
    making cool music no one gives a shit about
    Does this make the process any easier? Easier music hacking would be the kind of thing that would get me back into hacking.
  9. muteKi


    Fuck it Member
    Ah, fair enough I guess. I could never make heads or tails of most of the documentation of the engine itself, so there you go. :P
  10. Yes, I'd say so.
  11. Overlord


    Now playable in Smash Bros Ultimate Moderator
    Long-term happiness
    The preview feature lags like hell on my PC for playing the actual song, yet doesn't for the instruments. CPU usage seems to be very low, so machine doesn't appear to be being taxed. Any ideas?
  12. Aquaslash


    Emerald Dragoon Moderator
    Hampton, VA
    The S Factor: Sonia and Silver
    Ok, this program does not have the option to use notes instead of instruments for the DAC and Hi Hats WHY?

    I was digging this program until that too.

    EDIT" Blarg, it doesn't freakin work. "Some kind of error happened"
  13. Aquaslash: What, it does support that note value for DAC and Hihat thing, just like before :S - I need to know whatever the note values are, but I can't get to know that + - until a certain person here  

    Critical bugs found (Save state saver and previewer). I'm pulling the plug, expect a bugfixed version later today.

    EDIT: Overlord: About the Song preview thing: No clue. It usually lags for the first few seconds, no clue why though, but after that it works fine :S - What are your PC's specs?
  14. News: One bug is a rather stupid one. When you use the previewer, you'll find the file "s1.smps", required by s1smps2asm, deleted. This is not my fault at all. The previewer engine uses the extension ".smp" for sonic 1 smps files.

    Code (Text):
    1. <Oerg866> kill "*.smp" and for some reason vb6 kills .smps too
    2. <GerbilSoft> Oerg866: that's because wildcards aren't handled in the app
    3. <GerbilSoft> they're handled in the filesystem driver
    4. <GerbilSoft> MS, in their infinite wisdom, decided that for "compatibility" purposes, they'll match 3-char extensions to longer extensions
    5. <GerbilSoft> example
    6. <GerbilSoft> create a file called lol.rofl
    7. <GerbilSoft> in windows command line, type del *.rof
    8. <GerbilSoft> lol.rofl will be deleted
    11. and
    13. <Oerg866> so I guess the solution is create s1.smps on the fly
  15. Overlord


    Now playable in Smash Bros Ultimate Moderator
    Long-term happiness
    AMD64 3000+
    1.5GB RAM
    XP Pro SP2

    It DOES work a lot better if I set the Priority for the previewer to Above Normal in Task Manager - I can't set it any higher or the machine becomes unusable. Took me 10 minutes to recover from that test =P
  16. That's like the oddest thing ever, I tested it on a Pentium 1000 earlier today and it worked just fine...

    Also: Bugs fixed:

    Version 3.5.1 Bugfixed public beta: bugfix log

    >>When you use the previewer, you'll find the file "s1.smps", required by s1smps2asm, deleted.
    -> Bug is caused by Windows handling of file extensions. Deleting *.xyz will delete *.xyzasdfgh too, for example.

    >>xm3smps might occasionally hang until infinity when using s1smps2asm output
    -> This bug is the result of the deleting s1smps2asm bug. I had to tinker with it and now it doesn't get stuck anymore.

    >>xm3smps's state loader ignores 3rd PSG channel when loading a state
    -> Was a logic-mistake in the loader routine

    >>xm3smps might give "Invalid property value" errors with either FM or PSG having 0 channels, when saving or loading a state
    -> These were some very small logic-mistakes

    >>Even when having VB6.00 SP6 Runtimes installed, it still errors out on WINE.
    -> Fixed by including the file it whines about, plus the vb6 runtimes itself so that linux people can just install the runtimes and start using the program! :)

    Download here!

    You'll find that the file s1.smps is not included. That is because it's created on the fly.
  17. Same download location, but a few more bugs fixed.

    ## Savestate saver would always write a value that noise channel has instruments, not note values. Therefore, always 256 instead of 96 entries were read when loading the state, leading to crashes.

    ## Savestate loader does not clean HEX-buffer string when a new voice is read from the state. Therefore, every voice after the first one will end up having all previous voices' hex data before the data of itself.

    ## Button-bar is cut off at some screen resolutions

    Have fun.
  18. Here, every feature request will be heard and, I'll try to put them in.

    Aquaslash has requested to add an option to, when having all drums/hats in the same instrument, choose betwen note VALUES and note NAMES.

    I redesigned the window a bit and put this feature in. Let's take a look

    [​IMG] [​IMG]

    Download xm3smps/oerg v3.5.2
  19. Cinossu


    London, UK
    Sonic the Hedgehog Extended Edition
    This has nothing to do with the program, but in one of the pastebins with nineko..

    The energy bars aren't hacked, you used to get those special energy bars after getting a certain number of wins on wormNET, iirc. The whole rank system, etc..

    .. yeah, that's it. :3
  20. Oh okay. I never bother to get my ranks done so cocks =P
Thread Status:
Not open for further replies.