Offline
Milwaukee, WI

The Wonderswan sounds great.  It seems that the three models have the same audio capabilities.  However I can't find worth a darn what they are... datasheets and emulator source are pretty helpless.  It seems it has some kind of PCM and a noise generator and what sounds like wave channels.  Does anyone know more on this?  Also on FMPSG's album Blue Horizon they have a song called Sea Breeze written for the SPGY-1003 which was found in the SwanCrystal.  How did they write this?  Is there an MML compiler I'm missing?  Any help is appreciated!

http://www.youtube.com/watch?v=QYTUaUFnIjQ

Last edited by Theta_Frost (Jul 19, 2010 12:56 am)

Offline
Chicago IL

maybe they put the spgy-1003 in a casio?

really interested in this too.

Offline
Nomad's Land

ppmck supports the wonderswan if i recall correctly, and so does xpmck.

the sound is 4 more or less digital channels, stereo sound + a piezo beeper.
official japanese hp says sound was improved for the wonderswan color.

  from cygne emulator help file:
Specifications:
4 Audio channels.
   Each channel can play short samples ( 4 bit , 16 bytes ( 32 sampels = 2 samples in  byte (bits 0-3 and 4-7))
   with selectable frequency = 3,072 *10e6  / ((2048 - N) x 32 ) Hz , where N = 11 bit value.
   Location of that samples is unknown.

   Volume of each audio channle is controlled by writing two 4 bit values ( for left/right output
   channel) into ports $88 - $8B. Master volume is controlled by  port $91
   (2 bit value = first  'used' bit in master volume output (11 bit wide)  , D/A converter can
   read only 8 bits , starting from  bit set in port $91 , for example if first 'used' bit
   is set to 2 , D/A using bits 2,3,4,5,6,7,8,9  for audio output)
   
   Additional (selectable) functions :
    - channel 2 - voice - can play 8 bit samples writing frequently data to ch2 volume I/O port
    - channel 3 - sweep - two parameters:
                        - step = 2.667 x (N + 1) ms , where N = 5 bit value
                        - value - signed byte (-128  - 127)
    - channel 4 - noise - 7 selectable noise generators (probably I/O port $8E)

- $80 - $00 - Audio 1 Freq
- $81 - $00 - ^^^
- $82 - $00 - Audio 2 Freq
- $83 - $00 - ^^^
- $84 - $00 - Audio 3 Freq
- $85 - $00 - ^^^
- $86 - $00 - Audio 4 Freq
- $87 - $00 - ^^^
- $88 - $00 - Audio 1 volume
- $89 - $00 - Audio 2 volume
- $8A - $00 - Audio 3 volume
- $8B - $00 - Audio 4 volume
- $8C - $00 - ?? Sweep value
- $8D - $1F - ?? Sweep step
- $8E - $00 - Noise control
        Bits :
                      0 - Noise generator type
                      1 - ^^^
                      2 - ^^^
                      3 - Reset
                      4 - Enable
                      5 - ???
                      6 - ???
                      7 - ???
- $8F - $00 - Sample  location
        To get the address of samples, shift this value left 6 times.
                0 00xxxxxx xx000000
- $90 - $00 - Audio control
        Bits:
                  0 - Audio 1 on/off
                      1 - Audio 2 on/off
                      2 - Audio 3 on/off
                      3 - Audio 4 on/off
                      4 - ???
                      5 - Audio 2 Voice
                      6 - Audio 3 Sweep
                      7 - Audio 4 Noise
- $91 - $00 - Audio Output
         Bits :       
                      0 - Mono
                      1 - Output Volume
                      2 - ^^^
                      3 - External Stereo
                      4 - ???
                      5 - ???
                      6 - ???
                     7 - External Speaker (set by hardware)
- $92 - $00 - Noise Counter Shift Register (15 bits)
- $93 - $00 - ^^^
- $94 - $00 - Volume (4 bit)




EDIT: also check out this utility: http://php.nm.land.to/   and this one: http://homepage1.nifty.com/~sha_w/
and also this source: http://homepage1.nifty.com/~sha_w/wtd/ 

btw google translation tools and japanese websites will be your best friends in this quest, mighty chiptune warrior.

Last edited by irrlichtproject (Jul 18, 2010 10:56 pm)

Offline
Milwaukee, WI

Thanks for the info!  I checked Cygne and missed that!  I checked XPMCK and that does not support that, and neither does PPMCK.  I'm on the hunt for a skeleton black swancrystal or a crystal orange wonderswan color for decent prices.  I'll take a peek at the hardware then I suppose.  If it's possible to get an executable getting it on an actual wonderswan would be a problem as well as the only flash cartridge was the official wonder witch dev kit which is pretty hard to find.  Maybe an EPROM cartridge is possible.  I'll keep snooping around and I'll let you guys know if I find anything more.

Also thanks for those links.  I did find this!  It shows MML which should prove cool.  I don't know how usable and I don't really like MML but it's still possible at least!

http://homepage1.nifty.com/~sha_w/wtd/document/english/

Last edited by Theta_Frost (Jul 19, 2010 1:02 am)

Offline
New York City

There are flash cartridges for Wonderswan which are NOT the Wonder Witch. I almost buy one but it's pretty useless for me. Maybe they are rare as fuck nowadays though, like NeoGeo Pocket ones.
If anybody wants a WSC I am selling one tongue

Last edited by akira^8GB (Jul 19, 2010 1:07 am)

Offline
Milwaukee, WI

Oh I didn't know that.  Are you talking about the wondermagic?  Hey, PM me with info about your WSC, I might be interested.

Offline
New York City

I can't remember the name, maybe it's those. But there's this GBA flashcart that has many adapters and works on many things, maybe there's an adapter for it to be used with a WS.

Offline
Japan

I'm programmer of WTD.
I can understand a little english, sorry.

---
FMPSG's WonderSwan sound is made WonderWitch (Qute Co.,Ltd.).
Music data is made mml of "vsound.il"(sound driver).
It have compatibility "sound.il" (default sound driver of WonderWitch.)
They can not use WonderSwan emulator. They need WonderWitch.
(Bacause these sound driver use BIOS of WonderWitch.)

---
About other FMPSG's WonderSwan sound, they are made WTD.
WTD do not need WonderWitch and WonderSwan.
WonderSwan emulator can use WTD.
(WonderWitch can use WTD, too.)

How to use (WonderSwan emulator):
http://homepage1.nifty.com/~sha_w/wtd/emulate/
(Japanese, and sample mml.)

(1) make MML file
please write mml by text editor.

(2) compile to WTD's music file
"WTC.COM" is mml compiler.
please D&D mml file.
(This process is making music data of the WonderWitch.)

(3) convert to ROM-image file of WonderSwan Emulator.
"WSMAKE.COM" is ROM-image maker.
please D&D music file.

ROM-image can use some WonderSwan emulator (oswan, etc..).
Moreover, Audio Overload can play the WTD's music data converted to ROM image when extension of filename were changed from "WSC" to "WSR".


About the WonderSwan's I/O (sound), please see
http://www16.atwiki.jp/soundfile/pages/21.html
(Japanese)

Offline

oh man i'm excited about all of this

Offline
San Francisco

aaawwwwww snap.

Offline
Milwaukee, WI

Well so far this just means its possible to use an MML compiler and get it on the Wonderswan with very difficult to obtain flashcarts. haha  Hopefully tototek will start making some WSC flashcarts - I know plenty of people have asked them.  Maybe it's time I start experimenting with things like MIDI2MML.  Renoise to MIDI to MML to WSC might be the closest thing to a WSC tracker.  smile

Offline

You can play wonderswan music files (i can't remember the extension, .wsr maybe?) in audio overload. it's not a solution for playing them live on the real hardware, but you could definitely release it.

Offline
Milwaukee, WI

Yeah for sure.  I'm just a hardware fanatic.  I'll do some experimenting this week.  smile

Offline
San Francisco

DO IT!!!

Offline
lolusa
wedanced wrote:

DO IT!!!

Offline
philly

Funny how google searching brought me here. smile Theta, definitely keep us updated if you make progress. I'd love to know if / when / how you get a viable hardware solution for playing WSR files. I'd like to sample game soundtracks that way.