Skip to content

S98 tools

What kind of tools? For converting S98s to VGM :v

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

S98 tools

Post by tails_ »

Since ValleyBell updated VGM format and added support for separate chip volume\clock it's now possible to log PC-88/PC-98 games with correct PSG volume.

Here we go, updated version of my crappy converter written in pascal and some other tools:
http://www.mediafire.com/download.php?kgke70m0zpd6r8g

Description:

s982.exe - the S98 to VGM converter

Current switches are:

-v (0-65536) - Sets SSG volume. For PC98 systems it's around $40 for YM2608 and $72 for YM2203. Didn't measured this for PC-88 yet. This value is written directly to header, so according to format specifics 0-32767 is absolute volume and 32768-65535 is relative volume. Default volume level is 128 if I'm not mistaken/

-hootx1 - A workaround for Sharp X1 logs made in hoot, it use 2xYM2151 card but all games I saw so far use only second chip, with this it should be written as first chip.

-opn - Neko Project seems to use YM2608 even if you selected YM2203 board, this will use YM2203 instead of YM2608 by default.

-noadpcm - Skips checking for ADPCM writes (this was made only to add zero sized data block), should speed up things a little.

stripssg.exe - Just strips out all SSG writes from VGM file. Written for Providence.

sa2vdb.exe - Tool which parses raw ADPCM data log and converts it to one or more VGM data block. There's -f switch that writes full 256K memory dump, try this if you experience clicks.

Forgot to note:
1. Use hoot only if there's no other visible option to record game music in Neko Project.
2. Use MESS if your PC88(and PC98?) game works on it
3. It's not possible to record various Digital drums which are played on SSG part and some effects unless you are using MESS. This is because of format resolution: 100Hz in hoot/M88 and 1000Hz in NekoProject/PMD2S98

//Somewhat off topic
Oh and about PMD format.
There's fast way to convert PMD data to VGM without logging actual music, just use PMD2S98 (http://is.gd/1JTJY2).
Never ever convert older OPN PMDs with it.
There are 2 caveats: ADPCM is not supported at all (even attaching data block doesn't helps) and it doesn't add loop point so you'll have to trim resulting files by hand.
It appears there are a number of PC-88 games and programs which use it too, I imagine 2 ways of getting data: extracting data from disk image and ripping PMD data from RAM in M88 :J (which is quite easy actually)
Now there's even way to play these under PC-98 with ADPCM, you just get ADPCM data... somehow and get PMD file for PC98 which uses PPC then just rename ADPCM data from PC-88 to PPC file that PMD use then play it and try playing PMD file from PC-88 after that. If I got it right ADPCM should be still present in RAM and music can be recorded with correct ADPCM start/end addresses.

//You can use $ before volume value, it will be parsed as hexadecimal value in this case.
Last edited by tails_ on 2013-02-07, 11:55:00, edited 7 times in total.
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Re: S98 tools

Post by Knurek »

tails_ wrote:1. Use hoot only if there's no other visible option to record game music in Neko Project.
Any particular reason for that?
Especially given how easy is to log stuff with hoot, and the amount of games available for it.
  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

Post by tails_ »

It's recording resolution, hoot logs at 100Hz while Neko Project does that at 1000Hz
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Post by Knurek »

tails_ wrote:It's recording resolution, hoot logs at 100Hz while Neko Project does that at 1000Hz
Okay, thanks.

Does the -opn switch work properly? I've tried using it for some s98 logs, and in_vgm shows YM2608 for the files in the File Information window.
  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

Post by tails_ »

Hmm, can you give me that S98 file? The reason for not working opn switch can be already defined in header chip, hoot and NP produce S98s with no device list and following specs it should be set to OPNA by default (or OPN with that switch)

Re: S98 tools

Post by banshiryuu »

What would you say is the best way to log s98 for the PC98 Touhou games? They work in Neko Project, apparently, but I can't for the life of me get them to work in it, and I remember reading somewhere that anything on that system that isn't the YM2608 remixes from Mystic Square isn't played back properly in Hoot. (Or something similiar, don't quote me) Unless I get the darn things working in Neko Project, then, should I not bother wasting my time with Hoot?
Last edited by banshiryuu on 2012-12-06, 7:36:02, edited 1 time in total.
  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

Post by tails_ »

I would suggest you using PMD2S98 (link in first post) to get s98 files and then converting s98s to VGM and trimming them with ValleyBell's vgm tools.
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Re: S98 tools

Post by Knurek »

banshiryuu wrote:I remember reading somewhere that anything on that system that isn't the YM2608 remixes from Mystic Square isn't played back properly in Hoot. (Or something similiar, don't quote me) Unless I get the darn things working in Neko Project, then, should I not bother wasting my time with Hoot?
tails_'s method is the best, no doubts about it, but there are no problems with PMD games playing in Hoot AFAIK.

IIRC there was a hoot-like player for PC-9801, which had support for a lot of game drivers. This might help with logging, more info here: http://kurohane.net/gmpv4/
  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

Post by tails_ »

Ah right, forgot about GMP. btw Knurek, do you happen to know about something simmilair for PC-88 systems?
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

Awesome stuff tails_! Actually I think the YM2608 SSG offset should actually be lower. (around 30-35, I can't tell at this stage). EDIT: Seems to be song-dependent, hmm interesting! eg: Setting -v 40, "Different World 1/2/3" from Yu-No has very obvious incorrect volumes between FM/PSG notes, but then other songs the SSG sounds too quiet. Maybe discretion is needed for certain games? :)

On another note, I think Delta-T log conversion is broken. It no longer logs from a previous s98 SpeakBoard dump. (Example from Grounseed here: http://djtbmx.stdrand.com/junkpile/grou ... t-hoot.rar ) I'll try using the experimental tool on your first post to see if it helps.
Last edited by MaliceX on 2012-12-06, 13:05:19, edited 7 times in total.
-dj.tuBIG/MaliceX
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Post by Knurek »

tails_ wrote:Hmm, can you give me that S98 file? The reason for not working opn switch can be already defined in header chip, hoot and NP produce S98s with no device list and following specs it should be set to OPNA by default (or OPN with that switch)
Here you go: http://www.sendspace.com/file/rme82g
This game only uses OPN for music, this can be easily verified in Hoot.
tails_ wrote:Knurek, do you happen to know about something simmilair for PC-88 systems?
Not as such, but maybe Snakemeat's PC-88 Music Disk archive might help. I uploaded it here: http://www.sendspace.com/file/2xndb0

Re: S98 tools

Post by banshiryuu »

Knurek wrote:
banshiryuu wrote:I remember reading somewhere that anything on that system that isn't the YM2608 remixes from Mystic Square isn't played back properly in Hoot. (Or something similiar, don't quote me) Unless I get the darn things working in Neko Project, then, should I not bother wasting my time with Hoot?
tails_'s method is the best, no doubts about it, but there are no problems with PMD games playing in Hoot AFAIK.
Hm, guess I'm mistaken. Thanks anyway, tails_ and Knurek! Much easier than using the wav output in Hoot ^^;;

EDIT Okay, so PMD2S98 seems to work fine, except I don't get any sound out of the result .s98 files for Touhou 1, and none of the .vgms I make from these .s98 files have any sound when I try them out in Chipamp. I ran one of them through vgm2txt real quick and it said the total length was "0 samples", so what's the matter here?
Last edited by banshiryuu on 2012-12-07, 1:11:56, edited 3 times in total.
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Re: S98 tools

Post by Knurek »

banshiryuu wrote:Okay, so PMD2S98 seems to work fine, except I don't get any sound out of the result .s98 files for Touhou 1, and none of the .vgms I make from these .s98 files have any sound when I try them out in Chipamp. I ran one of them through vgm2txt real quick and it said the total length was "0 samples", so what's the matter here?
Just tried Th01_01.M and it's definitely something on your side of things - everything works nicely here: http://www.sendspace.com/file/829b7h
Last edited by Knurek on 2012-12-07, 1:03:13, edited 1 time in total.

Re: S98 tools

Post by banshiryuu »

Knurek wrote:Just tried Th01_01.M and it's definitely something on your side of things - everything works nicely here: http://www.sendspace.com/file/829b7h
Ah, that's because I was trying it with the original TH01 files, not the remixed TH05 ones. Are .mdx files not compatible then, or are they the same as the .m files?

Also, the other sets only logging ~40 seconds could have something to do with this Runtime error 100 at $00402B58 I keep getting on every song...
  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

Post by tails_ »

MDX is another sequence format used on Sharp X68k systems, they are totally incompatible.
>Runtime error 100
This happens with S98 to VGM conversion or what?

Knurek
Image
Image

Just checked your S98 file, works just fine for me. The only theory I have now is that in_vgm displayed cached version of file, this happens a lot to me when looking for loop point

Oh, and in case you want to switch to OPN from OPNA and device type is defined in file just go to 0x20 where starts 16 byte list of used devices and then change first 32bit number from 4 to 2.
Last edited by tails_ on 2012-12-07, 4:25:34, edited 2 times in total.
Post Reply