i read the release notes, does it mean it can play sound now? are the games in midi?
Yes, JMEBoy can play sound on many modern mobile phones now. The games are not in MIDI, but a good part of the Gameboy sound can be converted to MIDI. Still it will sound different in most cases than the original game.
how is it possible to convert sound to midi?!?
are all the various instruments of midi included or a few?
The Gameboy has four sound channels of which only one may play arbitrary wave data. The other channels generate square wave or noise data, for which a good MIDI representation exists. So three MIDI instruments are needed and these exist in the Java MIDI implementation of JSR-135.
does the emulator know which midi instrument to emulate at which time? usually when i try to convert sound to midi it's one instrument and a load of garbage. :-)
also, i get the idea that phones are more advanced than gameboy, yet much slower :-P
seems like this is a breakthrough on mobile emulation, hope n64 is emulated soon :-)
> does the emulator know which midi instrument to emulate at which time?
Channel 1 & 2 are square wave channels for which an equivalent MIDI instrument exists. Channel 4 is a noise wave channel where I use the "bullet" MIDI sound, which is the closest sound I could find. Channel 3 may create arbitrary wave data and here the emulator cannot find the correct MIDI instrument, so that always piano sound is used. So for channels 1, 2 and 4 the conversion to MIDI should be quite OK, for channel 3 you may hear the music but the instrument will be completely wrong.
> seems like this is a breakthrough on mobile emulation
It has some restrictions, sound is far from perfect + requires good implementation of JSR-135 incl. MIDI + costs quite some resources on most phones, but it is AFAIK the only way to reliably generate sounds on-the-fly on Java-enabled mobile phones.
the sound sounds rubbish, the instruments aren't really working the way the real emulator does. why is this?
Streaming sound on J2ME isn't really supported so this is a good alternative. Perfect emulation requires more control over the waveforms but this is not currently possible.
would it be possible to emulate it? I know java won't be able to, but say if you used it in a symbian, would it work? (I know emulator is java based)
Java is able to emulate it (just not on mobile devices) and for Symbian it would also be possible.
what sort of mobile speeds would we need for a perfect mobile emulation?
You can take a look at the thread "Supported Mobile Devices (JMEBoy)" to get an impression on which devices the emulator runs smooth. It is difficult to specify a CPU speed since the Java performance does not only depend on the CPU speed but also on the implementation and e.g. the quality of the Just-in-time compiler.
i understand but was hoping for a more accurate set of requirements, i have a new w595 which i have tested and will add to the compatible devices list (if not already added)
I understand, but I am unfortunately not able to give more accurate requirements.
Is sound implemented in the latest released jars? It doesn't appear to do anything on my Nokia 6300. I've been trying a similar sound approach on my MobileZX project but, even though it works in Netbeans, throws device errors on my Nokia.
Yes, it is implemented in the latest version jars of version 1.3 and later. It may nevertheless be the case that no sound is produced on your mobile phone since the implementation requires JSR-135 being present on the phone plus the MIDI extensions of JSR-135 being implemented. The MIDI solution will definitely not work on all phones.
the w995 supports audio. piano sounds rubbish and as far as i can tell, only one instrument is being played at any one time with notes being missing. probably because the other instruments are supposed to play that. 1.5.2. potential fix?
There won't be a fix from my side. But I am happy to integrate any working fix that someone else would offer.
i'm not sure anyone would create a fix. I was looking forward to sound on the w995. Never mind.
Log in to post a comment.