Thursday, June 4, 2009

Alot of noise

I cant believe its almost 2 weeks since I started working on this, the long weekend sure helped with that.

My project went well so far, no big issues yet except beeing behind my own schedule. But luckily theres enough time to compensate for that and I worked a bit "sideways" by running a bit through the disassembled MI Executeable which will surely be handy.

I succeded in creating a simple replayer, it steps through the TFMX-Modules and even outputs ... noise, its not anything close to what it should sound like yet. I spent the last day (rather night) trying to fix playback but no joy so far. I modify the player to just run a single channel on a part of a module so I can locate the problem easier.

I chosen to implement the bigger part first by beeing able to run through whole Modules, in retrospect I could`ve focused on playing back simple segments of it first and then improve upon that - might have been faster alltogether. I`m always smarter afterwards and sometime it might require running my head against a wall first. 

On the other hand, now that I have the routines ready, the player should gradually get into shape as I fix the parts, which is very motivating to see. =)

I expect to be able to play back parts of modules the next few days, then clean up everything to have a solid base for further improvements.

9 comments:

  1. Nice to hear you're making progress. Hope to hear another report from you soon! :D

    Good luck! :)

    ReplyDelete
  2. What also helps sometimes to get perspective on a problem is taking a stroll, going out for a beer or a good night's sleep :-)

    ReplyDelete
  3. A question: when the replayer will be in a good shape, can you release a stand alone version so we can test it?

    ReplyDelete
  4. Thanks triton

    Jubanka: Fixed the timing troubles, was truncating an integer during some calculations =)

    ceztko: I could do that so you can help me find passages that sound wrong. But this is ~2 weeks off atleast and I dont know how much of a "replayer" you expect - its a insanely simple commandline tool that loads a module by a fixed name and then plays 1 song endlessly.
    No fancy guy or anything for regular use.

    ReplyDelete
  5. @nolange: that kind of commandline tool is ok. Would be nice to have a switch to play a song without looping (just playing it once). This for testing purpose.

    ReplyDelete
  6. If you are really eager to try it out and can compile it, the code inclusive a player is in SVN: http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/branches/gsoc2009-mods/

    "mdat.monkey" and "smpl.monkey", you can specify -m macronumber or -s songnumber.

    Since SDL seems to highjack everything the tool is painfull to use tough, stopping audio-output if you lose focus and cant quit with Ctrl-C amongst other issues. A more useable tool will take time.

    ReplyDelete
  7. Read: the modified scummvm tried to read "mdat.monkey" and "smpl.monkey", you can specify -m macronumber or -s songnumber.

    ReplyDelete
  8. @nolange: tested on ubuntu. It "works": it stops before the song is finished, tough, but I think it's too soon for real bug reporting. No prb with ctrl+c here. I had no probs with compiling it, just need to install sdl dev packages (probably others were needed but were already installed in my system). 2 questions:
    1) Is it really necessary to compile all scummvm stuff to have just a debug player?
    2) About paula.h/paula.cpp: who produced this code? Wouldn't be safer to take code from recent uade or winuae snapshots? For sure, they are very accurate and they have already received extensive testing.

    ReplyDelete
  9. I worked around the Ctrl-c issue after my last post.
    1) Since the player will end up in ScummVM this saves time fitting it in later.
    2) A full emulation of the Paula-Chipset is not needed, its really cutdown to whats necessary. Where it might be lacking is quality-mixing and upsampling, but this can be done seperatly at a later time.

    I appreciate your interest, but understand that I will implemement TFXM and 1-2 other Soundformats during this summer. Getting this done requires setting priorities - so far the TFMX-player-part is "good enough" as it plays MI-tunes nicely. I will hook up the code to enable playing Monkey Island with sound next.

    Neither doing a good command-line player or improving playback is a big concern now, but with a bit of luck there will be time left for this ;)

    ReplyDelete