vgmrips

The forum about vgm files
It is currently 2017-06-29, 0:40:04

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: 2012-06-02, 22:27:43 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
so tails_ asked me abt possible handling of s98-supported chips on irc; the only one that doesn't seem explicitly listed in vgmspec161 is ym2149, but otherwise everything else seems to be supported. it seems like s98-to-vgm conversion would be good to add to vgmtool, but i need confirmation of what to do w/ym2149 first, and if ym2149 is either already planned for the next vgm expansion or if it can be handled by one of the existing chips.


Top
 Profile  
 
PostPosted: 2012-06-03, 0:07:17 
Offline
User avatar

Joined: 2011-12-30, 1:01:56
Posts: 84
neologix wrote:
so tails_ asked me abt possible handling of s98-supported chips on irc; the only one that doesn't seem explicitly listed in vgmspec161 is ym2149, but otherwise everything else seems to be supported.


YM2149 is exactly like the SSG part of YM2203, if that helps.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 0:12:16 

Contributors Contributors
Offline
User avatar

Joined: 2011-12-13, 17:31:14
Posts: 397
Location: Earth Planet
SSG is also in YM2608 and YM2610.

_________________
オモいカルチャーをオモチャーと言う - 細野晴臣


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 0:20:32 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
after some research, it seems one can use the ay-3-8910 capabilities in vgm to cover ym2149; i still don't know how, tho.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 0:29:32 

Contributors Contributors
Bug catchers Bug catchers
Offline
User avatar

Joined: 2011-12-28, 19:52:40
Posts: 186
Location: Paris, France
Isn't the YM2149 just a different form factor of the AY-3?

_________________

Sega PCM [1985/1989] | Namco C140 [1987/1990] | Hudson HuC6280 [1987/1995] | Yamaha YM2608 [1988/1996] | Oki MSM6295 [1988/1998]


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 1:52:40 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 2721
Location: Germany
Yes, it's an AY8910. The VGM header has a AY Type value which allows you and me to change the exact type.

To quote the MAME VGM source code:
Code:
   if (device->type() == AY8910)
      chp_tp_vgm = 0x00;
   else if (device->type() == AY8912)
      chp_tp_vgm = 0x01;
   else if (device->type() == AY8913)
      chp_tp_vgm = 0x02;
   else if (device->type() == AY8930)
      chp_tp_vgm = 0x03;
   else if (device->type() == AY8914)
      chp_tp_vgm = 0x04;
   else if (device->type() == YM2149)
      chp_tp_vgm = 0x10;
   else if (device->type() == YM3439)
      chp_tp_vgm = 0x11;
   else if (device->type() == YMZ284)
      chp_tp_vgm = 0x12;
   else if (device->type() == YMZ294)
      chp_tp_vgm = 0x13;
   else if (device->type() == YM2203)
      chp_tp_vgm = 0x20;
   else if (device->type() == YM2608)
      chp_tp_vgm = 0x21;
   else if (device->type() == YM2610 ||
      device->type() == YM2610B)
      chp_tp_vgm = 0x22;


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 5:05:54 

Programmers Programmers
Artists Artists
Offline
User avatar

Joined: 2011-12-12, 12:43:15
Posts: 75
WTF couldn't they just use a switch structure? o_O

_________________
Sik is pronounced like "seek", not like "sick".
http://www.mdscene.net/


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 10:02:29 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
Sik, the Mame team spends most of the time by making ROMs incompatible every other release, you can't expect them to write good code at the same time.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 11:58:00 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 2721
Location: Germany
Actually, that code was written by me.
Yes, I could've used switch maybe, but I wrote that within a few minutes and didn't want to care about the exact data type of device->type().


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 12:17:04 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
:oops:

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-06-03, 14:24:02 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 2721
Location: Germany
Just found it:
MAME\src\emu\device.h wrote:
// a device_type is simply a pointer to its alloc function
typedef device_t *(*device_type)(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);

So a switch structure is out of question, because it works only with numeric constants.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-10, 23:52:16 

Programmers Programmers
Contributors Contributors
Offline
User avatar

Joined: 2012-03-18, 16:59:23
Posts: 151
Location: Tomsk, Russia
:bump:
And so, I finished first version of S98 -> VGM converter. It's slow and written in pascal :U
http://www.mediafire.com/?a9gahdyfash1paa

So far there are 3 issues because of VGM format and 2 (or more?) because of my dumbness.

VGM issues:
1. Chip panning won't work so, all exotic devices like AMD98 and Sound Orchestra will sound in mono (might be added in 1.70 version)
2. Chip volume won't work -- this is post critical for PC88/PC98 music because PSG becomes damn loud (this also might be added in 1.70 version)
3. Devices that use 3 chips of same type won't be converted correctly. This is primary problem for AMD98 device 'coz it use 3 YM2149 chips (will be fixed in some version of VGM?)

And my problems:
1. Any S98 that use 2 or more chips of the same type will be converted to something weird :U. This is because of the way I wrote code and this is the second thing I plan to fix.
2. Only YM2608 ADPCM sound is supported and there's no detection if song actually write stuff to ADPCM control register to load data to RAM, I just add data block setting ram size to 256K at the beginning of dump data.

Usage: S982 <infile>, or you can open program and throw file to command prompt and it will create VGM file with infile name (infile.s98.vgm).

Huge thanks to ValleyBell for suggestions and stuff :roll:

Oh, and it doesn't write tags for now but write loop points^^


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-11, 0:05:09 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
tails_ wrote:
:bump:
And so, I finished first version of S98 -> VGM converter. It's slow and written in pascal :U


sorry i dropped the ball lately re vgmtool development; got a new job a couple of wks ago and it's really eaten into my free time. my web vgm player is waiting for me to get back to it as well. :/

good to hear that you have s98->vgm conversion happening on your own in the meantime!


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-11, 23:15:51 

Staff Staff
Private Eyes Private Eyes
Promoters Promoters
Offline
User avatar

Joined: 2012-02-17, 5:54:01
Posts: 204
Location: USA
I heard that S98 format lacks in quality as compared to whatever format HOOT uses. I'll have to check it out though. hmm.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-12, 0:34:17 

Contributors Contributors
Bug catchers Bug catchers
Offline
User avatar

Joined: 2011-12-28, 19:52:40
Posts: 186
Location: Paris, France
S98 is useful as an intermediate format, since it's supported by quite a few Japanese emulators (a bit like DRO in DOSBox). Being able to convert S98 to VGM could be very convenient. Hoot is a great standalone "ROM" player, but it's not portable.

_________________

Sega PCM [1985/1989] | Namco C140 [1987/1990] | Hudson HuC6280 [1987/1995] | Yamaha YM2608 [1988/1996] | Oki MSM6295 [1988/1998]


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: Google Feedfetcher and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group