Git Product home page Git Product logo

zsound's Issues

Problems with zsm_startmusic in C

When trying to use 'load_bank_host' from libX16.lib the call to 'zsm_startmusic' returns 0.
Changing the cmusic example in the example directory to comment out the call to 'bload' causes the same error if I do a manual load of bgm.zsm in basic before running the program.

PCM player experiencing buffer underflows

Current PCM engine seems to feed the FIFO at too low a sample rate to maintain equilibrium with the playback.
Jitter in the load_fifo routine performance also leads to underflow, depending on sample rate.

VGM2ZSM - inaccurate YM2612 LFO translation

The LFO translation seems off - reference tune = Castle of Illusion Starring Mickey Mouse, stage 1 tune 2. (spooky area's music)
This tune uses LFO for the vibrato effect and it's too extreme in the ZSM output.

VGM2ZSM - YM2203 clock conversion

The clock divider register is not supported in YM2203.
This causes several VGMs to convert improperly, having the wrong pitch. The current workaround with -b flag is just a kludge and only affects the FM voices. PSG voices are also affected by this issue.

PCM vs DSD

The specification has some mentions about PCM support. It is unclear to me what kind of priority recorded sound samples are for the project. In case you decide to go with adding sample support, you may also wish to add support for DSD. I have been doing some work on Wikipedia regarding DSD file formats. Unlike PCM audio, DSD audio uses bitdepth of 1 bit and represents the signal as density of bits. DSD sample rates are usually a lot higher due to the small size of individual samples. I completely understand if you wish to stick to PCM to keep things simple. I just wanted to point out that it is not the only encoding of analog sound signals, and you may wish to leave some room for extendability in the specification in case you one day wish to add support for other representations.

Calling zsm_stopmusic() no music playing causes issues

If you call zsm_stopmusic() before any music is playing, it nearly crashes your program. It seems to run over some memory probably because some things are not initialized (like zsm_chanmask). Perhaps is can detect no music is playing and just return.

Consider increasing the size of static magic at the beginning of header

I have been lately working on magic signatures for the unix file utility. The utility and the related libmagic library are used to determine file types of arbitrary data files. According to contribution rules of the project, matches of less or equal to 16 bits are forbidden. Thus, adding support for ZSM files in their current form might not be possible. According to the rules a magic id with length of 32 bits should be ok as long as it does not clash with existing signatures.

Interrupt behavior in C wrapper

IRQ disable / restore behavior in C wrapper functions needs to be fixed. Current implementation always enables IRQ when finished, regardless of the IRQ status when called. Need to fix to use PHP / SEI / / PLP

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.