Logo

The DDR Research Master Thread - UPDATED 5-21-2019: Some Arcade MAX-era Engine Notes Added

Register Log In Back To Forums

Post #161 · Posted at 2019-02-21 04:25:17am 6 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-02-21 05:19am
Quote: MarsPhoenix
Could be counting beats and/or measures.

Upon further research, I found that this value is the total number of beats to play, if you are playing the whole song, just shifted over to the right by 16 bits.

Interestingly, the last beat you can actually place a note on appears to be 16 beats (0x10 hex) behind the last beat in the song.

If you do a selection, the value placed in this memory address is, unsurprisingly, instead of the value being the total number of beats (shifted over 16 bits to the left), but the difference between the last beat in the selection, and the first beat in the selection (shifted over 16 bits to the left).

No idea why it is shifted over 16 bits though. Definitely looking into it.

Thee are two memory addresses below these ones that seem curious - appearing to hold in one 32-bit dword the beat combined with another value - possibly combining non-freeze, and freeze data beat information?

Post #162 · Posted at 2019-02-21 05:10:58am 6 months ago

Offline Raze009
Raze009 Avatar Member
3 Posts
Not Set
Reg. 2015-06-20
Log in to send this user a private message
If people can find a way to get hands and custom songs on DDRMAX 2 or other mixes on PS2 at once with out making the PS2 or emulator sh*t the bed, it can be a legitimate StepMania DDR hybrid.
Dumb player that doesn't know how to do quad jacks or play PIU

YouTube - https://www.youtube.com/channel/UCwsyj7QmX11IctgeN9npYRQ

StepMania Online Profile - http://old.stepmania-online.com/index.php?page=profile&uid=25900

StepMania Profile - https://www.stepmania.com/ForumMemberProfile/show/17638

Post #163 · Posted at 2019-02-23 01:10:04am 6 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-02-23 01:10am
Here's a silly idea I am gonna start working on - replacing Londell Hicks' announcer lines in MAX2 with Thomas Howard's lines. Laughing Out Loud Laughing Out Loud

Good thing I didn't forget to write down the information for converting WAV audio to ADPCM in a way where it sounds correct. Ugh, that was such a pain in the ass to figure out.

Quote: Wan
No clue. maybe it's their preferred order?

I extracted the graphics&SSQs from DDRMAX, DDRMAX2 and Extreme... and in all cases, the order is the same, starting with:
Midnite Blaze
ORION.78
Share My love
Groove
Groove 2001
Let the beat hit em (CLASSIC R&B STYLE)
Do It Right
Look To The Sky
ON THE JAZZ
Healing Vision (Angelic Mix)
DIVE (more deep & deeper style)
NORI NORI NORI
...etc

And that order doesn't make any sense either.


EDIT: It's the SAME order in AC.

https://i.imgur.com/UoO2RY0.png
Compare with your list.

Hey Wan, that image inadvertantly helped me big time in understanding how a game data table for AC 573 mixes would work - which, incidentally, seems to be similarly if not the same to how the PS2 mixes work.

Note how those offsets are evenly divisible by 0x800 (2048). It seems (from quick arithmetic with a few offsets) the distance between each file offset is also evenly divisible by 0x800/2048. Call me crazy, but I think the filedata table may be identical in terms of how it is structured.

Post #164 · Posted at 2019-02-23 01:17:48am 6 months ago

Offline LABcrab
LABcrab Avatar Member
50 Posts
Canada
Reg. 2015-05-26
Log in to send this user a private messageFacebookTwitter: https://twitter.com/DanceDanceNorthSoundcloudTumblrYouTubeTwitch
MAX, MAX2 and Extreme all use the same memory card data format. If they change the order, whether AC or CS, or whether an older game or a more modern one, it will be difficult to track which song has which score.
————————————————————————————————
https://dancedancerevolution.ca/wp-content/themes/cute-frames/images/birdLeft.png
Dance Dance North webmaster
Over 65 DDR A machines throughout North America!
There should be one near you!

Post #165 · Posted at 2019-03-11 08:53:53pm 5.4 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-03-11 08:53pm
We're not talking memory card format her per-se with the AC data storage format - but the literal stepdata, graphic format - which does seem to differ from PS2 mixes in that the stepdata is all together in one giant chunk of data, etc.

Incidentally, extracting Burning Heat! (3 Option Mix)'s AC SSQ file revealed some (even if minute) differences from the PS2 vers, even if more in the initial chunk than anywhere else.

So, not to knock on Saxxonpike's hard work, but I found an old stepdata editing guide that I think was on DDR Freak, or linked to from there (and I had saved in case it became "lost"), and geared towards the Ultramix series... but it explains the internals of the stepdata formatting incredibly well - in some ways, I found it much easier to understand (despite missing info that Saxxonpike absolutely nailed in getting down). I wish I could rewrite both guides to merge information, crediting both, without stepping on toes.

Updated initial post with info on the "internal" SSQ format.

So as I mentioned in my last reply to this post, I dug up an old Ultramix-oriented stepdata editing guide I had downloaded a long time ago (perhaps linked to on DDRFreak or DDRUK back when DDRUK had a forum), and HOLY SHIT! IT helped so much in understanding the internal structure of stepdata. I had downloaded said guide a long time ago, in case the webpage it was hosted on died (and it seems like it did), but didn't get the author's name, which sucks, as I REALLY want to credit him for the finding of the data.

Finally found where in the game's RAM MAX2 JP puts game stepdata during a song -0x00D06000

This is great, as I can FINALLY have an easier time experimenting with stepdata manipulation. Big Grin

Already had some silly results.

It APPEARS like the way BPM is handled is something, like with timing, involving frames - only the frame value is used to tell the game when to update the game states (moving the arrows, displaying and handling more step data, et cetera) - not 110% sure yet, but work in progress this is. Big Grin

So after trying to wrap my head around making re-compression routines for Konami's LZ77 implementation, I've decided on a tedious, but very doable workaround to this that I want to at least try:

I'm just gonna modify the game to ignore decompression - which includes rebuilding the filedata.bin file (as well as the associated filedata entry table, and arrays that reverence specific entries), removing all references to the decompression routine, rebuilding the filedata.bin file to have only decompressed data, and rebuilding an ISO image so it can support the newly rebuilt filedata.bin image.

It's a painfully tedious process, but it would work, I'd imagine.

Post #166 · Posted at 2019-03-11 11:25:39pm 5.4 months ago

Offline pm41224
pm41224 Avatar Member
219 Posts
United States
Reg. 2012-05-19
Log in to send this user a private messageYouTube
PlayStation Network: pm41224Nintendo Network ID: pm412243DS Friend Code: 4210-4460-8178
"DanceDanceRevolution!"
What a fascinating discovery there. I'd imagine that there's a TON of stepdata waiting to be messed with in the one filedata.bin file, and somewhere we could find where the background videos are handled in the game's RAM. Who knows what custom BGScripts (that will be focused on at a later date) and stepdata awaits? Nice work as always.

Post #167 · Posted at 2019-03-14 06:22:44pm 5.3 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-03-14 06:28pm
I just wish I could figure out how to jerry-rig a compression tool (modifying existing LZ77 compression tools perhaps would be the best route) to properly recompress extracted data - as this would allow for huge strides in graphical customization, and song porting. None of the existing Konami-oriented LZ77 tools that DO exist produce files that the game can read.

It'd probably be a lot easier than what I feel a workable approach - rebuilding the filedata.bin file with uncompressed data (doable), rebuilding the game filedata.bin table (most likely doable, assuming I have enough bits in the packed file offset, and packed file size values for each entries, which must be evenly divisible by 2048 (0x800), and fit into 3 bytes), rebuild the ISO so the game can handle the bigger filedata.bin file, and remove calls to the LZ77 decompression routine in the game OR modifying the routine to actually do nothing.

Note I have my doubts that the above approach would be feasible for something like DDR EXTREME 2, seeing how the game's filedata.bin file is split into 4 files (3 1-GB files, 1 ~ 328MB file), unless the table for that game accounts for this/gives more bits for the packed offset/size values.
____________________________________________________________________________________________________________________________________________

OK, here's a very strange one: I scanned MAX2 AC's card.dat file with PSound, and the first few tracks ... were Thomas Howard announcer lines (albeit higher pitched, probably due to the conversion / ripping process). 0______o What the fuck? He had already been replaced as announcer by DDRMAX, so ... why are his announcer files left in? Probably left over from previous games (supporting the idea that each game could build off the last)?

EDIT: Looks like the audio is from DDR 3rd Mix - STILL very odd, IMO.

Post #168 · Posted at 2019-03-14 06:31:06pm 5.3 months ago

Offline SomethingRandom
SomethingRandom Avatar Member
2,273 Posts
United States
Reg. 2015-02-21
Log in to send this user a private messageDiscord: SomethingRandom#3719
Game Center Nickname: blearymoos
"bootylicious "
I don't wanna be that guy but I am
jsyk Thomas Howard wasn't the announcer for 1-5th mix he was the announcer for drummania tho
we don't know who the announcer really is and it's probably just some guy who was hired for some quick recording of specific lines

Post #169 · Posted at 2019-03-14 06:40:38pm 5.3 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-03-14 06:42pm
Really? That's interesting, I mean, I wonder where I could find info on that for sure... either way, it is still perplexing that the 3rd Mix announcer lines are in MAX2's card.dat file. 0___o

EDIT: As well a copy of the announcer's "Dance Dance Revolution 4th Mix!" line too.

Post #170 · Posted at 2019-03-14 07:07:18pm 5.3 months ago

Offline SomethingRandom
SomethingRandom Avatar Member
2,273 Posts
United States
Reg. 2015-02-21
Log in to send this user a private messageDiscord: SomethingRandom#3719
Game Center Nickname: blearymoos
"bootylicious "
Remywiki has an archived interview and Thomas stated he got to job for konami in 1999 for drummania and DDR is not mentioned anywhere at all

Post #171 · Posted at 2019-03-31 05:05:30pm 4.7 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-03-31 05:07pm
Either way, it is perplexing that 3rd and 4th Mix announcer lines are in the CARD.DAT for MAX2 AC.

Adding this find to the Cutting Room Floor wiki as we speak - already added the finding of the 1st-5th announcer lines in READ_DT.BIN for EXTRA MIX (which had the female announcer in it) yesterday.

IMO, these recent finds help support the idea that games may have been built off of prior versions to some extent - even transitioning into the DDRMAX era, AS WELL AS the console games being built off of AC mixes (evident by the folder structure given away by the debugging data, as well as the existance of strings like "INVALID SECURITY CASETTE," which make no sense in a PS2 mix w/ no such security dongles.)

So, I think I figured out a way to possibly do a software-based equivalent to the music speedup "feature" seen in the DDR EXTREME bootleg, "DDR EXTREME PLUS," but for PS2 mixes, AND with a different way of activating it, and deactivating it. I want to start making videos on my attempts to put this together in the near future. Big Grin

https://1.bp.blogspot.com/-R8Zc-Jam4i4/XKDwfDuN_BI/AAAAAAAAA2s/xOjYfNuuPR05rpCP9FliqYdPSBsRLfk7wCLcBGAs/s400/3-31-2019%2BDDR%2BSSQ%2BEDITOR.png

This ugly-assed thing is the earliest stage of my attempt to create an editor that will allow users to create stepcharts in Konami's SSQ format.

Obviously, lots of interface crap to fix (no actual beat/measure info in the leftmost side bar), and there are a lot of features that need to be added (like freeze arrows, pauses, BPM changes, and maybe even shock arrows for the relevant mixes), but we all have to start somewhere!

Eventually, I want to also make it so one can create new files, AS WELL AS import existing stepcharts (both compressed and decompressed), as well as make it so you can export a file either uncompressed, or compressed with Konami's LZ77 compression (for the purpose of insertion/re-insertion into a DDR game), but one step at a time.

(I wish I could get some help in figuring out Konami's LZ77 compression not for the purpose of decompressing (as Saxxonpike already made a tool for that), but for compressing - since existing tools online, geared for Konami-oriented compression, don't produce a file that the game can actually decompress and use.

Post #172 · Posted at 2019-04-04 02:38:45am 4.6 months ago

Offline Towlesy27
Towlesy27 Avatar Member
199 Posts
Canada
Reg. 2014-07-31
Log in to send this user a private message
Xbox Gamer Tag: AR Strength
^would you be willing to share that software?
DDR is awesome! (:

Post #173 · Posted at 2019-04-05 06:13:21pm 4.6 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-04-05 06:16pm
I have full intention on eventually releasing this for anyone who wants to use it. Big Grin

Gatekeeping and walling off info (and programs) is the last thing the DDR community, and those who want to reverse engineer/mod DDR games, need. Evil


I also really want to make a tool that can handle extracting info about music, and step data in existing games, so that swapping data (say putting in custom data, or porting songs from one game to another) without necessarily overwriting other song data can be a thing too, but one step at a time (with the first being the installation of Visual Studio on my new/freshly-built rig. Big Grin )

Post #174 · Posted at 2019-04-06 02:57:22pm 4.5 months ago

Offline MarsPhoenix
MarsPhoenix Avatar Member
632 Posts
Not Set
Reg. 2007-12-08
Log in to send this user a private message
I THINK Shock Arrows should just be all four arrows at the same time - no special coding. That's why songs with Shock Arrows had unusually high Air ratings in DDR X.

Post #175 · Posted at 2019-05-21 05:53:02am 3 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-05-21 06:06am
Quote: MarsPhoenix
I THINK Shock Arrows should just be all four arrows at the same time - no special coding. That's why songs with Shock Arrows had unusually high Air ratings in DDR X.

I haven't yet looked into how shock arrows actually are handled in stepdata, but this is worth looking at. Personally, I am hedging my bets that a step value of 0xF would still count as a quad, with the data maybe being handled in the same part of the data that determines if a step is quantized, but this is all theoretical / I definitely need to do more research to definitively find out what is what.

I mean, in the section of stepdata that handles which beats/measures have notes, there tend to be a trailing set of 0'd out nibbles for each row, one of which is used to signal that a step is quantized - perhaps one of the other free nibbles is used to flag that a step is a shock arrow for all we know. Again, still need to do tons of research, but this is just one thought I could have on the implementation.

I've been pondering this for a while: What if there was a way to modify the way the game reads step data to effectively create more divisions in a measure besides 1/2, 1/4, 1/8th notes, etc? I wonder, what would it take, and what would need to be modified to allow for this.

I mean, once the step data format, AND how the game reads/interprets the data is fully understood, this might be more worthy of discussing, but I figured getting thoughts out on the matter now couldn't hurt.
-----------------------------------------------------------------------------------------------------------------------------------------------
So, I was taken by surprise to learn that there are "nightly" builds of MAME that now have improved 573 emulation - as in, DDR 573 Digital mixes work better (many playing very well) - some games do not play nice, like Dancing Stage EuroMIX 2, and the SOLO mixes, but EXTREME, MAX, and MAX2 work really well OTTOH. Apparently, in < than a week a half, the official MAME branch will see a new release, which will contain these improvements to 573 emulation.

This is HUGE because it will allow me to continue research into the workings of arcade mixes.

For example, when it comes to song data loads:

It appears that like in home mixes, the game will load the entire ssq file for a song into memory, but unlike in home mixes, the game doesn't clear that area of memory after the song is complete - which makes sense given how some people will play songs multiple times in a row, and in that case, it'd not make sense to decompress and transfer data for the exact song again. It also appears like the area is only modified once a new song is selected, or the machine is completely rebooted or turned off. Not even going into Service Mode will clear this area of memory.

Post #176 · Posted at 2019-05-21 06:54:17am 3 months ago

Offline pm41224
pm41224 Avatar Member
219 Posts
United States
Reg. 2012-05-19
Log in to send this user a private messageYouTube
PlayStation Network: pm41224Nintendo Network ID: pm412243DS Friend Code: 4210-4460-8178
"DanceDanceRevolution!"
That is a welcome surprise from the MAME developers. The fact that 573 Digital emulation is now getting better by the "nightly" build... well, bit by bit considering there are still errors with some games and others do not even play at all (like you mentioned). We've got a long way to go but it's still nice to see how far we've come in terms of getting 573 Digital Emulation to work.

Post #177 · Posted at 2019-05-21 07:01:30am 3 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-05-21 07:01am
From one of the Reddit posts on the matter, where the poster got the Extreme Pro modded version of Extreme running in MAME,
Quote
Someone did the sound decoder, then basically over night the home arcade community fixed the sync and added in the ability to get the lights on real cabs working, there is almost no reason to use real 573 hardware any more. Running Classic DDR, modern DDR (you're on your own on that one sorry) and ITG can all be done from the same computer now Smile

Needless to say, the MAS 3507-D MPEG 1/2 decoder becoming somewhat, if not mostly, functional out of nowhere, and then having the home arcade community do all that so quickly, is a really nice surprise.

I hope to do some videos of messing around with arcade mixes in MAME soon

Post #178 · Posted at 2019-05-21 07:03:58am 3 months ago

Offline pm41224
pm41224 Avatar Member
219 Posts
United States
Reg. 2012-05-19
Log in to send this user a private messageYouTube
PlayStation Network: pm41224Nintendo Network ID: pm412243DS Friend Code: 4210-4460-8178
"DanceDanceRevolution!"
Dunno where that post came from within Reddit, I suspect it's probably from r/DanceDanceRevolution or something similar. Regardless like I said, that is an interesting development in DDR MAME emulation.

Post #179 · Posted at 2019-05-21 07:09:00am 3 months ago

Offline travelsonic
travelsonic Avatar Member
135 Posts
Not Set
Reg. 2006-10-18
Log in to send this user a private message
Steam: terminalcancer

Last updated: 2019-05-21 07:10am
Quote: pm41224
Dunno where that post came from within Reddit, I suspect it's probably from r/DanceDanceRevolution or something similar. Regardless like I said, that is an interesting development in DDR MAME emulation.

Yeah, it was from this thread ( https://old.reddit.com/r/DanceDanceRevolution/comments/bqyb57/extreme_promametiming_is_fixed_im_still_bad_xd/ ) from the r/DanceDanceRevolution subreddit
(mybad for not including a link XD)
Register Log In Back To Forums

0 User(s) Viewing This Thread (Past 15 Minutes)

©2006-2019 Zenius -I- vanisher.com -5th style- IIPrivacy Policy
Web Server: 3% · Database: 4% · Server Time: 2019-08-22 05:35:48
This page took 0.015 seconds to execute.
Theme: starlight · Language: englishuk
Reset Theme & Language