'V-Max secondary checks'
Author:Lord Crass (guest: search)
Date: Wed, Mar 30th, 2011 @ 23:30 ( . )

Star Rank Boxing pulls all the same tricks that Defender of the Crown uses, although the code is arranged a little differently and it checks the tracks in the opposite direction (18 down to 12 instead of 12 up to 18)

When looking through this, I realized that I made a mistake in analyzing the DotC protection routine that I thought was checking sync lengths on tracks 12-18 and then comparing to each other. It seems to be checking cycles spent between sync marks, but discarding the value and moving to the next sync if it rolls over $FF, which will happen in a data block. So the only place I see it pick up a valid value is when it's checking the time between sync marks in the header block.

So unless there's some tiny sync embedded in the data block, this would have to be checking only the header lengths. I'm unsure as to why they would differ, considering each header length is checked to match a length of 17 bytes prior to this. Maybe the mastering is such so that the density is slightly altered for each header, thus affecting read time? This routine results in a $0B value for every track 12-18, and this is the protection check that ultimately fails.

This game also does the strict sync check using the VIA timer for track 12. Oddly enough, this check passes in the emulator. Likely because it's not as strict as DotC. DotC allows for a range between $70-$90 for the result, and Star Rank Boxing allows for $60-$90.

Other than those checks, it ensures that the header gap bytes match a specific pattern, and that the header gap ends in $AF before the sync. Plus it constantly checks that you haven't modified the drive kernel routines or the reset vector pointer.

Attached is the mostly commented code.

Attachments:
1301542011_starrankboxing-vmax.txt


REPLY: [With No Quote] --- [With Quoted Text]

Replies:
--* V-Max secondary checks
3/31/2011 @ 01:04--Lord Crass
3/31/2011 @ 01:31----Lord Crass
3/31/2011 @ 22:25------Lord Crass
4/01/2011 @ 00:32--------hyper active
4/01/2011 @ 12:01----------Lord Crass
4/01/2011 @ 17:08------------Nate
4/01/2011 @ 18:02--------------hyper active
4/02/2011 @ 00:35----------------Lord Crass
4/02/2011 @ 01:55------------------hyper active
4/02/2011 @ 02:40--------------------Lord Crass
4/02/2011 @ 05:42----------------------hyper active
4/02/2011 @ 07:06------------------------hyper active
4/02/2011 @ 12:06--------------------------Lord Crass
4/03/2011 @ 02:00----------------------------Lord Crass
4/03/2011 @ 03:05------------------------------hyper active

--- 0 Users Online --- 0 Recent Unique Posters

Q52=1716060537 - Threads: / 1716060537