Commodore 64 (C64) Preservation ProjectCommodore 64 (C64) Preservation Project
Other Links
Daryl Krans' V-MAX Article

V-MAX Remastering by Daryl Krans 09/29/08

I've been working with the V-MAX! protection for a while. It all started with one of my favorite games of all time, The Three Stooges. I've had the game since I was a child but over the years, the game got lost. I found the images on the FTP and thought I was saved! They played in the emulator with no problem but that wasn't enough for me. I had play it on the computer. When I re-mastered them to disk, they didn't work at all. This is when I set out to figure out what the problem was and didn't quit until I had a working copy of the game. By changing certain options in the write process, I was able to get to the title screen but no further when re-mastering using the "-as" command to align tracks using longest sync. Still, not all tracks would load.

I sent Pete some of the tracks that wouldn't load, and some that would load and we was able to find a particular byte pattern that signaled the beginning of a track. All tracks on this release start with a series of about 5 to 10 $64 bytes. He added a new command to nibwrite to re-master this particular version of the V-MAX! protection "-pc" for the Cinemaware variant of V-Max! v2.

One problem with V-Max! protection is the very short sync marks on the tracks that are exactly 10x1 bits in a row. Using Nibread to read the images doesn't always catch all 10x1 bits and therefore, when re-mastering, the tracks could be bit-shifted and not load at all. The V-Max! protections doesn't even use these sync bits to find the track beginning, but rather the series of $64 bytes. (When this happens, you will have to hand edit your images to add in the extra bits that are lost. Normally you can look for the short syncs of only $FF and add 2 set the two MSB bits before it - PJR)

V-Max! v3 is very similar yet completely different at the same time. All V-Max! versions use a track 20 loader. Version 3 also only uses tracks up to 38. Tracks 39-41 are never used. V-Max! v3 have an additional sync track on track 19. Sometimes it counts the sync and sometimes it just checks to make sure the track consists of all sync. "Bubble Bobble" is one title that counts sync on track 19. Track 19 on titles that count sync need to be written at a much slower speed than the rest of the disk so that all the sync marks will fit on the track 19 (along with the small amount of data that is there also - PJR). Thus another option was added to Nibwrite. "-S" to tell nibwrite which track to begin writing, and "-E" to tell nibwrite which track to stop writing at. So for an example, to make a working copy of "Bubble Bobble" You would start off like this.

set your drive speed to about 297-296 rpm
nibwrite -px bubble_bobble.nib
now set drive speed to 288rpm (very slow)
nibwrite -S19 -E19 bubble_bobble.nib

If you follow those steps and check to make sure none of your tracks were truncated (with exception of tracks 39-41) or sync reduced while writing, you will now have a working backup of Bubble Bobble.

V-Max! v2 (cinemaware) often use tracks 1-40. However 36-40 are rarely used if at all. They are just blank tracks in the V-Max! custom format. Track 35 of this variant is most likely the file table telling the protection where all the files are located.

V-Max! v2 (mindscape and others) use standard CBM DOS sectors that are slightly modified.. The tracks are readable by standard CBM copiers or disk editors, yet the data layout isn’t the same. The protections still uses a custom file handler. In standard CBM DOS sectors, the next track and sector byte are the first 2 bytes of a sector. I don't know exactly where this version of V-Max! holds it's file table, but the first several bytes of each track never change. They are most likely a signature representing that the data is of the V-Max! format.

After working with this protection for a while, it has become apparent, V-Max! wasn't designed primarily to be a copy protection, but rather a fast loader. The custom DOS part of the protection makes it impossible to replicate without 8k RAM installed in the drive. Track 20 is the KEY / ONLY real protection of any V-Max ! title. The only other part of V-Max! that makes it a copy protection on v3 is the track 19 sync track, and on v2 (Defender of the Crown) some sort of check between tracks 11-17 which to this day I can't replicate good enough to pass.. So far, the only way to get a working copy of this is with Maverick. After applying the parameter to a copy of the original, The track 20 loader is patched out, and the additional protection check on side 2 is also patched out.

I haven't worked much on V-Max! v0 or v1. Most of these titles will re-master without any special commands. Some won’t work in emulators or re-mastered. These may not ever re-master correctly unless we figure out "Defender of the Crown" protection on side 2.

I have found V-Max! to be one of the most educational and entertaining protections. On some images that track 20 didn’t pass when re-mastered, I've been able to steal a working track 20 from a different game and that fixed the problem. “QIX” was entertaining in the way that side 1 was the C64 version, and side 2 was the C128 version. The 128 version wouldn't load because track 20 was corrupt. I tried using side 1's track 20 which didn't work at all. Track 20 contains some data or code that will only work on either the 128 or the 64 when loading. With this being the only C128 V-Max! game in the collection, stealing track 20 from another game is out of the question. I took both tracks and viewed them side by side in a hex editor and found all the patterns, and all the differences. Using bits and pieces from each track, I was able to piece together a working track 20 loader for the C128 version. (now keep in mind, I can't read hex and make sense of it. I can only see patterns and anomalies) Only a small part of what I did made any sense at all, the rest was sheer luck.

I’ve gone through most of the V-Max! titles, cleaning up, adding sync, or patching track 20 loaders when necessary. Now most of the images can be re-mastered with little effort. Just remember, if you truncate your tracks, you are losing important information. Slow your drive down to ridiculous speeds only if you need to. But most will re-master at 297rpm. A few need to be done at 290rpm, and tracks 1 and 18 at 297 just so the standard DOS tracks can be read.

I took "Into the Eagles Nest" which I saw you had a patched and an original. The patched version skips the track 20 loader. The track 20 loader on this game couldn't be used no matter how much I manipulated it. My experiment involved using a manipulated Track 20 from DOTC which remasters EVERY time and works even better than the original's Track 20. I used this track on "Into the eagles nest". Now the track 20 loader protection is fully intact and the game works.

It doesn't seem to matter who the game designer is Mindscape v2 or Cinemaware v2 loaders are interchangeable. Taito v3 or Thunder Mountain v3 are also interchangeable.

The loader tracks don't seem to contain any file tables except for maybe v3. V-Max! v2 (cbm sectors) may still contain the file table on track 18, v2 (cinemaware) is on track 35, and v3 references track 20 before loading files.

Daryl Krans - 9/29/08
Donations Welcome
This project is all done in my spare time, if you like it, please consider donating any small amount you see fit using the link below.
Search
C64 Registry Stats
Total Registered: 537

Top 5 Earliest Serials
Unknown: 0019
Charles Lynch: 0021
c64web.com: S00001390
Justin Rodriguez: S00002163
Ethan Dicks: S00002345

Latest Serial
caveman:
HB4101397E

Register Yours Today!
Disk Database Stats
Titles archived: 2969
Titles verified: 907
Titles archived in last year: 189
Titles verified in last year: 147

View/Query Database
User Account
Greetings, Guest.

Login
Reset Password
Create New Account

Browser cookies are required for these functions.
All content copyright (c) 1971- by Peter Rittwage. All programs mentioned are copyrighted by their respective owners.