Valley Bell's SMPS Research includes lots of rips, disassemblies and hacking information
#17
Posted 02 January 2014 - 04:24 PM

Quickman, on 02 January 2014 - 03:43 PM, said:
Sonic 1 MS/GG and Sonic Spinball MS use different sound drivers each.
Quickman, on 02 January 2014 - 03:43 PM, said:
#18
Posted 17 January 2014 - 01:30 AM

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.
#19
Posted 17 January 2014 - 07:09 PM

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.
This is less drastic than I expected for something that gets its own designation in the SMSPower listing.
#20
Posted 17 January 2014 - 10:55 PM

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.
#21
Posted 18 January 2014 - 10:34 AM

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
Posted 02 February 2014 - 09:27 AM

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
Posted 02 February 2014 - 02:41 PM

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!
#24
Posted 02 February 2014 - 06:30 PM

ICEknight, on 02 February 2014 - 02:41 PM, said:
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.
ICEknight, on 02 February 2014 - 02:41 PM, said:
I won't fix this soon though, I'd rather rewrite SMPSPlay first.
ICEknight, on 02 February 2014 - 02:41 PM, said:
ICEknight, on 02 February 2014 - 02:41 PM, said:
#25
Posted 03 February 2014 - 08:05 PM

ValleyBell, on 02 February 2014 - 06:30 PM, said:
ICEknight, on 02 February 2014 - 02:41 PM, said:
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.
Quote
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.
#26
Posted 23 February 2014 - 01:52 PM

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
Posted 23 February 2014 - 07:57 PM

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
Posted 02 March 2014 - 02:10 AM

ValleyBell, on 23 February 2014 - 01:52 PM, said:
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.
#29
Posted 24 March 2014 - 11:24 PM

At least we got the 'Dance Attacks'

#30
Posted 25 March 2014 - 01:02 PM

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.