Sonic and Sega Retro Message Board: Valley Bell's SMPS Research - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 5 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last ►
    Locked
    Locked Forum

Valley Bell's SMPS Research includes lots of rips, disassemblies and hacking information

#16 User is offline Quickman 

Posted 02 January 2014 - 03:43 PM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10

View PostValleyBell, on 02 January 2014 - 02:20 PM, said:

Sonic 2/Chaos/TT use usual SMPS, but that is already known.

Master System or Game Gear, or both? What about Sonic 1?


View PostValleyBell, on 02 January 2014 - 02:20 PM, said:

Same for the Pocket Monsters game.

There's three, you'll have to be more specific.

#17 User is offline ValleyBell 

Posted 02 January 2014 - 04:24 PM

  • Posts: 227
  • Joined: 08-September 10
  • Gender:Male
  • Project:researching SMPS sound drivers
  • Wiki edits:10

View PostQuickman, on 02 January 2014 - 03:43 PM, said:

View PostValleyBell, on 02 January 2014 - 02:20 PM, said:

Sonic 2/Chaos/TT use usual SMPS, but that is already known.
Master System or Game Gear, or both? What about Sonic 1?
MS and GG versions are almost the same and use the same sound driver. Also I forgot to list Sonic Blast/G Sonic, whose sound driver code matches the one of STT exactly IIRC, and Sonic Labyrinth.
Sonic 1 MS/GG and Sonic Spinball MS use different sound drivers each.


View PostQuickman, on 02 January 2014 - 03:43 PM, said:

View PostValleyBell, on 02 January 2014 - 02:20 PM, said:

Same for the Pocket Monsters game.
There's three, you'll have to be more specific.
Its full name is Pocket Monsters Suuji o Tsukamaeyou!.

#18 User is offline Quickman 

Posted 17 January 2014 - 01:30 AM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10
I wanted to find out how possible a SMPS 68k variant with SMPS Z80 coordination flags would be, since I know 68k assembly a lot better than Z80 assembly, but I'm aware that Sonic 1's SMPS 68k is lacking in coordination flags, and there's quite a few more games using SMPS Z80 than SMPS 68k. To that end I took a bunch of games using SMPS 68k (starting from the most recent, Ristar, and leaping backwards) and disassembled them to find out what coordination flags they used. Here's what I got.

Spoiler


A digest for people who don't want to read the whole thing:
  • SMPS 68k and SMPS Z80 development seems to have happened in parallel. The coordination flags used in Ristar are similar to those used in Sonic and Knuckles, but there's a fair few differences.
  • As a rough approximation, the number of coordination flags correlates with the release date, and after a certain point the SMPS developers seem to have fixed the list of coordination flags between $E0 and $FE and opted instead to add new flags to the switch table for metaflag FF instead. Pulseman and MMPR:TM have the same flags, Samurai Shodown adds a couple, and Ristar adds a few more on top of that. There's no disagreement on order or what particular flags are other than one game having more/fewer than another.
  • I expected Streets of Rage to have roughly the same array of coordination flags as Sonic 1, but it seems to have a completely different setup - coordination flags start at $F0, and there's two sets of them which are switched between by flipping (what looks to be) bit 7 of the playback control byte. Sonic 1 is more like Golden Axe 2 in that respect. That said...
  • Sonic and Knuckles customised the coordination flags quite heavily. I suspect the "standard" set looks more like Ristar, but (as the saying goes) research is ongoing.

My plan now is to look at World of Illusion to find out what other games at around the same time as Sonic 2 had for coordination flags, and keep working my way backwards through SMPS 68k games - Golden Axe 2 is right where things start getting interesting because the "core" flags ($E0-$FE) aren't yet quite set in stone.
This post has been edited by Quickman: 17 January 2014 - 01:35 AM

#19 User is offline Quickman 

Posted 17 January 2014 - 07:09 PM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10
onos double post

ValleyBell suggested in #techies that I look at a SMPS/Treasure game, so I picked Light Crusader because it's roughly contemporaneous with Ristar so it gives an idea what the two drivers looked like at the same point in time.

Spoiler


This is less drastic than I expected for something that gets its own designation in the SMSPower listing.
This post has been edited by Quickman: 17 January 2014 - 07:10 PM

#20 User is offline Quickman 

Posted 17 January 2014 - 10:55 PM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10
I'm getting into some serious antiquity now - Battle Golfer Yui predates Sonic 1.

Spoiler

I'm surprised by the number of coordination flags that outright do nothing. I didn't think of it at the time, but flag FE might be like Golden Axe II's flag FE (which, as ValleyBell informed me, enables FM3 special mode) - I need to go take a second look at that. e: yeah, it's cfFM3SpecialMode.
This post has been edited by Quickman: 17 January 2014 - 11:08 PM

#21 User is offline Quickman 

Posted 18 January 2014 - 10:34 AM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10
Here's Michael Jackson's Moonwalker. This is the earliest entry on the GDRI list which is actually SMPS 68k - Mystic Defender is earlier, but it looks like it's mislabelled as SMPS 68k when it's actually SMPS Z80 (I'm waiting on Andlabs to confirm that like he did with Bahamut Senki).

Spoiler


This is the most castiron proof I have that someone meddled with Sonic 1's sound driver quite heavily - even at this earliest stage SMPS 68k still looks more like Ristar (and hence more like Sonic & Knuckles) than it does like Sonic 1.

#22 User is offline ValleyBell 

Posted 02 February 2014 - 09:27 AM

  • Posts: 227
  • Joined: 08-September 10
  • Gender:Male
  • Project:researching SMPS sound drivers
  • Wiki edits:10
While Quickman was doing an awesome job with his research on SMPS 68k, I worked on a something, too.

So here is version 2 of my research pack. Updates/improvements are:
  • 2 new game rips, some older rips got updated with more information
  • The Modulation Envelope pointer list and other pointers were added to all older rips.
  • There are a few new disassemblies, all old disassemblied (but Chaotix) got checked and updated.
  • Thanks to the Z80 cycle counter tool (see below), most of the DAC frequencies should be correct now. (verified ones have "*Cycles = " lines in DAC.ini)
    Thanks to that tool I could calculate the proper values for SMPSPlay instead of having to measure them using Exodus and wave logs.
  • a new "Tools" folder

These tools are:
  • DPCM<->PCM (original tool by vladikcomper, with support for custom DPCM arrays)
  • SMPSExtract to rip songs and DAC sounds
    I put a lot of work into the DAC list autodetection and it works pretty well.
    Compared to that, the music extraction code is underdeveloped though.
  • a Z80 disassembler that also counts how many cycles a certain section of code takes

Download

And btw, SMPSPlay received a few tiny fixes, too.
Win32 binary, source code

#23 User is offline ICEknight 

Posted 02 February 2014 - 02:41 PM

  • Posts: 10351
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
Just wondering, is there no unused music at all in the final version of Shinobi 3?

I remember getting some otherwise inaccessible tracks in the early prototype, by changing some pointers from the sound test. Perhaps there could be something similar hiding in the final? Or have these ROMs been scanned throughly for possibly unreferenced sound data?


EDIT: There's something wrong with the Treasureland Adventure rip. Track #6 (from the very first level) seems to loop an instrument incorrectly.

EDIT 2: Also, Track #7 in Tempo 32X has a similar problem.

EDIT 3: "Majikaru Hashito no Butsutobi Turbo! Daibouken" should be "Magical Hat no Buttobi Turbo! Daibouken". I hadn't seen that romanization since the Genecyst days!
This post has been edited by ICEknight: 02 February 2014 - 03:03 PM

#24 User is offline ValleyBell 

Posted 02 February 2014 - 06:30 PM

  • Posts: 227
  • Joined: 08-September 10
  • Gender:Male
  • Project:researching SMPS sound drivers
  • Wiki edits:10

View PostICEknight, on 02 February 2014 - 02:41 PM, said:

Or have these ROMs been scanned throughly for possibly unreferenced sound data?
None of the ROMs were scanned for unreferenced sound data.
But you can look, if one of the files contains multiple songs. With the exception of the last song, the length of all songs is calculated by (next song offset) - (current song offset).

Anyway, I ran SMPSExtract over the Shinobi 3 beta and found differences between in the songs 05, 06, 14, 16, 19 and 1A. Except for songs 06 and 19, they seem to be minor though. And I didn't notice hidden songs.
I'll check the other betas, too. Especially in the earlier times I often didn't check the beta songs.


View PostICEknight, on 02 February 2014 - 02:41 PM, said:

EDIT: There's something wrong with the Treasureland Adventure rip. Track #6 (from the very first level) seems to loop an instrument incorrectly.
Oh, indeed. I either handle one of the coordination flags incorrectly in SMPS 68k mode, or it uses a custom one.
I won't fix this soon though, I'd rather rewrite SMPSPlay first.

View PostICEknight, on 02 February 2014 - 02:41 PM, said:

EDIT 2: Also, Track #7 in Tempo 32X has a similar problem.
Blame the custom "play PWM sound" coordination flags. This definitely has to wait until I rewrite SMPSPlay to work with .ini files for custom command sets.

View PostICEknight, on 02 February 2014 - 02:41 PM, said:

EDIT 3: "Majikaru Hashito no Butsutobi Turbo! Daibouken" should be "Magical Hat no Buttobi Turbo! Daibouken". I hadn't seen that romanization since the Genecyst days!
That's the GoodGen name.

#25 User is offline ICEknight 

Posted 03 February 2014 - 08:05 PM

  • Posts: 10351
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18

View PostValleyBell, on 02 February 2014 - 06:30 PM, said:

View PostICEknight, on 02 February 2014 - 02:41 PM, said:

Or have these ROMs been scanned throughly for possibly unreferenced sound data?
None of the ROMs were scanned for unreferenced sound data.
But you can look, if one of the files contains multiple songs. With the exception of the last song, the length of all songs is calculated by (next song offset) - (current song offset).

Anyway, I ran SMPSExtract over the Shinobi 3 beta and found differences between in the songs 05, 06, 14, 16, 19 and 1A. Except for songs 06 and 19, they seem to be minor though. And I didn't notice hidden songs.
Oh ok, they might have just been excluded from that specific sound test, for some reason.

Quote

I'll check the other betas, too. Especially in the earlier times I often didn't check the beta songs.

Speaking of Treasure Land Adventure, the shops in the early prototype (which were actually McDonald's restaurants by then) play the second half of the train level music, rather than their own tune, so there might be some other differences as well.
This post has been edited by ICEknight: 04 February 2014 - 12:03 PM

#26 User is offline ValleyBell 

Posted 23 February 2014 - 01:52 PM

  • Posts: 227
  • Joined: 08-September 10
  • Gender:Male
  • Project:researching SMPS sound drivers
  • Wiki edits:10
I ripped the music from the beta of Dynamite Headdy and McDonald's Treasure Land Adventure and they indeed contain a few different songs.
Download

Dynamite Headdy has some unreferenced songs (11 and 14 KB for single songs were suspicious), Treasure Land Adventure has a few songs that don't seem to exist in the final.
If someone could help me to identify the unnamed songs, that would be awesome.
Especially Dynamite Headdy song 03 is probably from another game. (song 02 is MJ's "Beat It")


I'll gladly rip music from other betas if someone tells me that they have different music, but I won't go through all of drx's ROMs to look for them.

#27 User is offline Shoemanbundy 

Posted 23 February 2014 - 07:57 PM

  • Posts: 927
  • Joined: 01-April 07
  • Gender:Male
  • Location:Chicago, Illinois
  • Project:selling shoes
  • Wiki edits:1
The unreferenced tune (song 03) for Dynamite Headdy sounds like it was meant for the game, going by the instrumentation.

Other interesting protos out that might be worth checking...

The earliest Taz in Escape from Mars proto?
Bonkers has pretty different music, besides the whole game being different. Maybe something's in there.
There's also the early Ragnacenty/Crusader of Centy proto that doesn't play any music. Think andlabs found it loads a different sound driver compared to the retail game.

#28 User is offline ICEknight 

Posted 02 March 2014 - 02:10 AM

  • Posts: 10351
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18

View PostValleyBell, on 23 February 2014 - 01:52 PM, said:

Especially Dynamite Headdy song 03 is probably from another game. (song 02 is MJ's "Beat It")
What the? I guess it might have been included as a sample track in their dev kit?

Track #02 doesn't ring a bell, but sounds kinda similar to the repetitive tune that plays after getting each boss key (#1B)... so I'd say it might have belonged to this game once, but no idea, really.

#06 Reminds me of the last segment in Maruyama's pre-Baby Face miniboss fight (with his vehicle running in the background until he crashes into a "STOP" sign). Could have been made for a similar situation in the initial "Escape" sequence, as a placeholder for the later miniboss or perhaps they once intended to use the same song through both auto-scrolling levels, including the fight.


Regarding the unlabeled Treasure Land beta tracks....
#03 It's the boss music for the Shinobi III prototype. :O
#05 It's the miniboss tune from said game.
#08 Used in the restaurants in the prototype. It's also the second part of the train stage music.
#0C This one starts in a similar way to the sea stage's music.
#0F I know for sure this is from another level of Treasure Land, but might be prototype-only.
#13 I've never heard this before, but the last part sounds a bit similar to the beginning of #0F.
#14 No idea. A planned "To the next stage" loop, like in Headdy?


I'd look into the Gunstar Heroes sample, because who knows which unrelated game's music might lie inside it.
This post has been edited by ICEknight: 02 March 2014 - 02:22 AM

#29 User is offline Master Emerald 

Posted 24 March 2014 - 11:24 PM

  • Posts: 3179
  • Joined: 14-December 07
  • Gender:Male
  • Location:Rio de Janeiro - Brazil
  • Project:College
  • Wiki edits:22
Is there any chance of an unreferenced complete Thriller song in MJ's Moonwalker?

At least we got the 'Dance Attacks' :)

#30 User is offline ICEknight 

Posted 25 March 2014 - 01:02 PM

  • Posts: 10351
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
Since Another part of me is stored in the correct level order inside the ROM, it seems that Thriller was overwritten by it... which is a shame since its third "dance attack" track sounds awesome. =\

Why is the data in the two APOM rips of that song so different, anyway? They sound the same to me...


By the way, the "dance attack" order inside the ROM might hint at an earlier level order/level quantity/overall intentions:
Version 1
  • 8C Smooth Criminal (Level 1a, 5a)
  • 8D Smooth Criminal (Level 1b)
  • 8E Smooth Criminal (Level 1c)
  • 8F Beat It (Level 2a)
  • 90 Beat It (Level 2b)
  • 91 Beat It (Level 2c, 5b)
  • 92 Bad (Level 4a)
  • 93 Bad (Level 4b)
  • 94 Bad (Level 4c)
  • 95 Thriller (Level 3a)
  • 96 Thriller (Level 3b, 5c)
  • 97 Thriller (Level 3c)


Version 2
  • 8C Smooth Criminal (Level 1a, 5a)
  • 8D Smooth Criminal (Level 1b)
  • 8E Smooth Criminal (Level 1c)
  • 8F Beat It (Level 2a)
  • 90 Beat It (Level 2b)
  • 91 Beat It (Level 2c, 5b)
  • 92 Bad (Level 4a)
  • 93 Bad (Level 4b)
  • 94 Bad (Level 4c)
  • 95 Another Part Of Me (Level 3a)
  • 96 Another Part Of Me (Level 3b, 5c)
  • 97 Billy Jean (Level 3c)


Note how they didn't even have proper remixes for both Another Part Of Me or Billy Jean, in the first released version... and from stage 3-3 onwards (or 4-1 in the first release), the chosen remixes just make no sense. Now I want to know more about the development of this game. =|


EDIT:
Is there a way of looking for any unused "instruments" within the songs' data? Or any note sequences that aren't accessed by them?

EDIT 2: Corrected some levels in the list, with ValleyBell's info.
This post has been edited by ICEknight: 26 March 2014 - 09:54 AM

  • 5 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last ►
    Locked
    Locked Forum

3 User(s) are reading this topic
0 members, 3 guests, 0 anonymous users