~ Shockproof JAMO presents ~


                       A guide to
          -=* Resident Evil: Code Veronica X *=-
                    savegame hacking
                        X   X   X

                     Target platform:

     European (PAL) and North American (NTSC) releases of
           Resident Evil: Code Veronica X for the
                    Sony Playstation 2


              Version: Public release 1.1
                       Nov. 15th -2006

        Copyright 2005-06, "Shockproof" Jamo Koivisto.
       All imaginable and UNimaginable rights reserved.

          You may not modify this document or use it
                commercially. NO EXCEPTIONS!

      Verbatim copies of this work may be distributed and
    kept on display freely in electronic form, provided that
     the distribution/publishing method is not in violation
      against the "no modifying or commercial usage" rule
      above, and provided that I'm credited for this work.
      Public distribution in printed form (ie. on pages of
         a video games magazine) is not allowed, sorry.

      If you're a fellow FAQ author who wishes to borrow
    something from this document, notify me about it first,
      and credit me for all the stuff you take from here.

     Failure to comply with these rules can be considered
       grounds for me to start legal action against the
                       offending party.

      Sony and Playstation are copyrighted and registered
        trademarks of Sony Computer Entertainment Inc.
         Sony retains all rights to these trademarks.

    Resident Evil is a copyrighted and registered trademark
      of Capcom. Capcom retains all rights to the Resident
     Evil trademark, including the right to demand that this
      document to be removed from circulation if they find
    the contents of this document offending their copyrights.

          Max Drive is a copyrighted and registered
         trademark of Datel Design & Development Ltd.
         
       No copyright infringement is intented or implied.
            Forgive me if I have missed something.
            
       The aforementioned companies have not given me
    technical support for this document. Don't send them
                 questions regarding it.

Do you have something that fits into this guide perfectly and is 
actually useful (addresses, values?)? Or maybe some constructive 
criticism? Send it in then. Don't send me attachments without my
permission and remember that I don't respond to people's e-mails
unless your business is somehow relevant to this guide. If you 
send me something that actually makes it into future revisions of
this guide, and I won't promise there will be any, you will 
naturally be credited. I currently accept messages in English 
and Finnish languages.

Contact info:
-=-=-=-=-=-=-

shockproof_jamo yahoo com
               @     .

(If you don't know how to turn that into a valid e-mail address,
you shouldn't be anywhere near computers, let alone try hex
editing a PS2 memorycard file. Doesn't spam make life difficult
or what?)


Version history:
-=-=-=-=-=-=-=-=-
- Nov. 21-29th -2005, 1st draft, a developement prototype:

  Compiled all the data you see now into one place, took me about 8
  days worth of work to analyze the RE:CVX savegames to get enough
  material for a decent guide.

- Nov. 30th -2005, ver. 1.0, the 1st public release:

  Final formatting done, added the table of contents.

- Nov. 15th -2006, ver. 1.1, the second public release:

  It's been nearly a year since the 1st release and I admit 
  that I haven't done nearly any work with this silly thing,
  but I did manage to find something new recently that was 
  interesting enough to warrant an update. I have now 
  confirmed that the Easy and Very Easy difficulty settings
  of the Japanese Biohazard Code: Veronica Complete can be 
  activated in the North American and European releases
  as well. This info, as well as a list of other hex 
  editors besides Winhex that can be used to edit RE:CVX
  savedata, is included in this update. And of course some 
  clean-up work was done. Currently the latest version.


Contents:
-=-=-=-=-

1. Disclaimer
2. Introduction and requirements you must meet
3. Item ID-values in hex
4. The structure of SAVEDATA-## -files
5. The BESLES-50306 / BASLUS-20184 -file
6. Using the Max Drive safely
7. Step by step guide for transferring savegames to and from your
   Playstation 2 and how to validate them
8. Acknowledgements


1. Disclaimer
-=-=-=-=-=-=-=-

The contents of this document is for informative purposes only.
The Author of this document will not accept liability for lost data
or other damages caused by the use or misuse of this information
under any circumstances. By reading this document and using it's
contents, the End user (that's you) understands and aknowledges that
he/she has knowingly taken the risk of data loss or other damages.
It's generally recommended that you do not deviate from this guide's
instructions unless you really know what you're doing.


2. Introduction and requirements you must meet:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

And here we go with FAQ Release nr. 2 from Shockproof Jamo, the
Resident Evil: Code Veronica X savegame editing guide. In my previous
guide, the savegame hex editing guide for PC Resident Evil 3, I
speculated that I might not write again, but hell, here I am anyway.
And this time, we're getting really technical. That's right people.
PS2 memory card hacking. You see, I recently, in last November of 2005,
procured me a Max Drive savegame transferring kit by Datel, and I
immediately decided to put my 29.95 Euro investment to good use.
Because I'm a fan of Capcom's Resident Evil videogame series and
have already covered the hacking of Resident Evil 3 savegames on
the PC, I decided that conquering the Code Veronica X savegames next
would be a logical continuation.

What follows is a very demanding task unfortunately. In order to hack
PS2 savegames, you need:

a) to be computer literate. Prior experience with editing binary data
   and general understanding of using PC-computers is soooo useful here.
   I will not cover these things in this guide, because the time and 
   place to learn that stuff is elsewhere. This is an advanced guide 
   for advanced cheaters.

b) Proper hardware. The Datel Max Drive and a PC computer that has at
   least one USB 1.1/2.0 port in it are mandatory requirements for 
   this process. Also you need a USB aware Windows-operating system
   running on your computer, preferably Windows Millenium edition or
   later, because these Windowses have proper native support for USB
   technology. Linux and Macintosh users cannot benefit from this 
   guide unfortunately, because the Max Drive software, and all the
   other programs I'm using for that matter, are Win32 only. I
   suppose you could substitute the Max Drive with some other save
   transferring kit, like the EMS PS2 memory adapter or the newer
   versions of Codebreaker for example, but be aware that this guide
   will not cover these other devices/programs and will not assist
   you in their use.

Naturally, you also need the PS2 console and the RE: Code Veronica X
game, but these should be self-explanatory (duh). Recommended, but not
necessary, is to have 2 memory cards. One for the savegame transferring
process and one to keep your important gamesaves backed up. The Max 
Drive has a reputation of corrupting PS2 memory cards and while I 
haven't yet encountered this behaviour, it's better to be safe than 
sorry, right? It is mandatory to have at least one memory card, and
the memory card used for this operation MUST be Sony's official card.
No clone cards people, using them might create unpredictable problems.

As for the software, first you'll need the PS2 Save Builder. This 
application is freeware and available from WWW.PS2SAVETOOLS.COM.
Always use the latest version to ensure it's compatibility with the
AR MAX v3 file format the Max Drive is using. The latest version at 
the time of this writing is 0.8x. The PS2 Save builder is used to 
insert and extract savegamefiles to and from the .MAX-files, details 
about how, are explained later in this guide.

Another app you'll need is a hex editor. Because the Code Veronica X
savegames are checksum protected, we are limited to only a handfull of
choices, which are:

- X-Ways Software's Winhex.  Winhex is shareware, but it's limitations 
  do not hinder this operation luckily, because the only real limitation 
  Winhex has is the 200 Kb filesize limit when saving files, and Code 
  Veronica X savegames are only 3 Kb in size. Winhex also doesn't limit
  it's trial period to 30 or so days or 10 or so start-ups like many
  other shareware programs do, and it's also very user friendly and
  offers mucho hex editing power when registered, so that's why Winhex
  is the hex editor I'll recommend by default. The home page of Winhex
  is WWW.WINHEX.COM and the author, Stefan Fleischmann updates the 
  program frequently.

- Baker & Owens Computer Solutions' PowerHEX. Another shareware app,
  this one's slightly clumsier to use and has one downside, inability
  to open files that have the read-only attribute set, but in return 
  offers a few features the mighty Winhex lacks, like network packet 
  logging and a disassembler. Homepage is WWW.BO-SOLUTIONS.COM

- Breakpoint Software's Hex Workshop. A longtime favourite in the 
  shareware market, this one's getting slightly outdated in my opinion,
  mostly due to lack of any recent or major updates (current version 
  4.23 was released on Feb. 2004, which was over 2 years ago), but 
  nevertheless is still a very potent hex editor, with a very 
  comfortable UI I might add. Homepage is: WWW.BPSOFT.COM

- HxD hex editor, by Mal Hrz from Germany. What makes this one 
  exceptional is the fact that it's freeware, but still manages to 
  offer things like RAM editing, checksum calculation (even custom
  CRCs) and disc sector editing in a one tight, neat and free package.
  Highly recommended. Homepage is: WWW.MH-NEXUS.DE

All of these have the ability to generate a standard 32-bit checksum, 
which the game uses to verify the integrity of the savedata. How the 
checksum is actually updated is explained later in this guide.

Like I mentioned in the beginning, this guide covers the European and
North American versions of Resident Evil Code: Veronica X. The save
data files of these versions are practically identical, or at least
that's the observation I made when I compared them head to head. The
only difference between them is the name of the system data file,
which is BESLES-50306 for the European system data file, and
BASLUS-20184 for the North American system data file. Theoretically
this guide might also work with the Japanese Biohazard: Code Veronica
Complete -savegames, but I can't verify this because I've yet to 
analyze a Japanese savegame.

One thing I can say for certain is that this guide will NEVER cover
the Sega Dreamcast and Nintendo GameCube-versions of Code Veronica,
due to obvious differences in hardware and the savedata format.


3. Item ID-values in hex.
-=-=-=-=-=-=-=-=-=-=-=-=-

One item slot occupies 4 bytes. The first 2 bytes, represented by the
## ## -symbols, are the amount of ammo/uses left for the item, in hex.
For puzzle items, the value is usually 01 00, but some may use a higher
value as well, I haven't yet gone into details about this. For weapons,
if you set the amount of ammo to hex FF FF, that weapon then has
infinite ammunition, altough the game won't display the infinite ammo
-symbol for that weapon for some reason, but this is just a cosmetic
problem. The latter two bytes are the 16-bit hex value the game uses
to identify the item.


00 00 00 00 = Empty slot
## ## 01 00 = Rocket launcher (remember that this weapon occupies two
              item slots)
## ## 02 00 = Assault rifle (remember that this weapon occupies two
              item slots)
## ## 03 00 = Sniper rifle (Alfred's "elephant gun". Remember that
              this weapon occupies two item slots)
## ## 04 00 = Shotgun
## ## 05 00 = Handgun (Chris' Glock 17)
## ## 06 00 = Grenade launcher (Loaded with ordinary grenade rounds by
              default. Just add acid ,flame and BOW gas rounds to your
              inventory as well and load them into the grenade launcher
              to use other ammo types.)
## ## 07 00 = Bow gun
00 00 08 00 = Combat knife
## ## 09 00 = Handgun (Claire's Beretta M93R)
## ## 0A 00 = Custom handgun (Claire's updated Beretta)
FF FF 0B 00 = Linear launcher ( Yep, my guide is your chance to bring
              this monster of a weapon to the main game. This weapon
              appears to be hardcoded to always have infinite ammo.)
## ## 0C 00 = Handgun bullets (9x19 parabellum)
## ## 0D 00 = Magnum bullets
## ## 0E 00 = Shotgun shells
## ## 0F 00 = Grenade rounds
## ## 10 00 = Acid rounds
## ## 11 00 = Flame rounds
## ## 12 00 = Bow gun arrows
01 00 13 00 = M93R parts
01 00 14 00 = First aid spray
01 00 15 00 = Green herb
01 00 16 00 = Red herb
01 00 17 00 = Blue herb
01 00 18 00 = Herb mix, 2 green
01 00 19 00 = Herb mix, Red + Green
01 00 1A 00 = Herb mix, blue + green
01 00 1B 00 = Herb mix, blue + green
01 00 1C 00 = Herb mix, 3 green
01 00 1D 00 = Herb mix, red + blue + green
## ## 1E 00 = Magnum bullets
## ## 1F 00 = Ink ribbon
## ## 20 00 = Magnum
## ## 21 00 = Gold Lugers (these could be used as weapons if only
              there were ammo available. Nothing a hex editor won't 
              fix... :). Remember that this weapon occupies
              two item slots.)
## ## 22 00 = Sub machine gun (Remember that this weapon occupies
              two item slots.)
01 00 23 00 = Bow gun powder
## ## 24 00 = Gun powder arrow
## ## 25 00 = BOW gas rounds (Now you can have more than 3...)
## ## 26 00 = Machine gun bullets
01 00 27 00 = Gas mask
## ## 28 00 = Rifle bullets (For Alfred's elephant gun. I don't
              remember ever finding these in the game.)
01 00 29 00 = Duralumin case (locked, contents unknown, won't give
              you the option to pick it open.)
## ## 2A 00 = Assault rifle bullets
01 00 2B 00 = Alexander's Pierce
01 00 2C 00 = Alexander's Jewel
01 00 2D 00 = Alfred's ring
01 00 2E 00 = Alfred's jewel
01 00 2F 00 = Prisoner's diary (Dummy item. Definately something
              you're not supposed to have. Has no description and
	       no uses in the game.)
01 00 30 00 = Director's memo (Dummy item. Definately something you're
              not supposed to have. Has no description and no uses in
	       the game.)
01 00 31 00 = Instructions (Dummy item. Definately something you're
              not supposed to have. Has no description and no uses
	       in the game.)
01 00 32 00 = Lockpick (This item puts itself automatically into the
              upper right-hand corner itemslot and replaces the Lighter
              WITHOUT PROMPTING if you take it from the security box or
	       from the item chest.)
01 00 33 00 = Glass eye
01 00 34 00 = Piano roll
01 00 35 00 = Steering wheel
01 00 36 00 = Crane key
01 00 37 00 = Lighter (Let's see. This must already be the 4th game in
              the series with a Zippo-lighter in it. This item puts
	       itself automatically into the upper right-hand corner
              itemslot and replaces the Lockpick WITHOUT PROMPTING if
              you take it from the security box or from the item chest.)
01 00 38 00 = Eagle plate
01 00 39 00 = Side pack (You can keep it in your inventory, but it
              won't do you any good, since you can actually equip it
              only when you find it from the submarine during Claire's
	       portion of the game.
01 00 3A 00 = Map (Dummy item.)
01 00 3B 00 = Hawk emblem
01 00 3C 00 = Queen ant object (red)
01 00 3D 00 = Queen ant object (blue)
01 00 3E 00 = Biohazard card
01 00 3F 00 = Duralumin case
01 00 40 00 = Detonator
01 00 41 00 = Control lever
01 00 42 00 = Gold dragonfly
01 00 43 00 = Silver key
01 00 44 00 = Gold key
01 00 45 00 = Army proof
01 00 46 00 = Navy proof
01 00 47 00 = Air force proof
01 00 48 00 = Key with tag (storage key)
01 00 49 00 = ID card (with the NTC0394-code on it.)
01 00 4A 00 = Map (dummy item, but you can zoom in on the 3D-model
              and see the base layout)
01 00 4B 00 = Airport key
01 00 4C 00 = Emblem card
01 00 4D 00 = Skeleton picture
01 00 4E 00 = Music box plate
01 00 4F 00 = Dragonfly object
01 00 50 00 = Album (dummy item)
01 00 51 00 = Halberd (The golden ornament used to open doors.)
01 00 52 00 = Extinguisher (I bet many would give anything to have it
              back, after realizing they forgot it in the prison
              island's security box.)
01 00 53 00 = Briefcase
01 00 54 00 = Padlock key
01 00 55 00 = TG-01
01 00 56 00 = Special alloy emblem
01 00 57 00 = Valve handle
01 00 58 00 = Octa valve handle
01 00 59 00 = Machine room key
01 00 5A 00 = Mining room key
01 00 5B 00 = Bar code sticker
01 00 5C 00 = Sterile room key
01 00 5D 00 = Door knob
01 00 5E 00 = Battery pack
01 00 5F 00 = Hemostatic (has a weird icon...)
01 00 60 00 = Turn table key
01 00 61 00 = Chem. storage key
01 00 62 00 = Clement alpha
01 00 63 00 = Clement sigma
01 00 64 00 = Tank object
01 00 65 00 = Special alloy emblem
01 00 66 00 = Alfred's memo (dummy item)
01 00 67 00 = Rusted sword
01 00 68 00 = Hemostatic (This is the one you're actually supposed to
              give to Rodrigo.)
01 00 69 00 = Security card
01 00 6A 00 = Security file
01 00 6B 00 = Alexia's choker
01 00 6C 00 = Alexia's jewel
01 00 6D 00 = Queen ant relief (dummy item)
01 00 6E 00 = King ant relief (dummy item)
01 00 6F 00 = Red jewel
01 00 70 00 = Blue jewel
01 00 71 00 = Socket
01 00 72 00 = Square valve handle
01 00 73 00 = Serum
01 00 74 00 = Earthenware vase
01 00 75 00 = Paper weight
01 00 76 00 = Silver dragonfly (no wings)
01 00 77 00 = Silver dragonfly (has wings)
## ## 78 00 = Wing object
01 00 79 00 = Crystal
01 00 7A 00 = Gold dragonfly
01 00 7B 00 = Gold dragonfly
01 00 7C 00 = Gold dragonfly
01 00 7D 00 = File (dummy item)
01 00 7E 00 = Plant pot
01 00 7F 00 = Picture B (dummy item)
01 00 80 00 = Duralumin case
01 00 81 00 = Duralumin case
01 00 82 00 = Bow gun powder
## ## 83 00 = Enhanced handgun (Chris' Glock 17)
01 00 84 00 = Memo (dummy item)
01 00 85 00 = Board clip (dummy item)
01 00 86 00 = Card (dummy item)
01 00 87 00 = Newspaper clip (dummy item)
01 00 88 00 = Luger replica
01 00 89 00 = Queen ant relief
01 00 8A 00 = Family picture
01 00 8B 00 = File (dummy item)
01 00 8C 00 = Remote controller (dummy item)
01 00 8D 00 = ? (really, it is an item with a question mark as it's
              name)
## ## 8E 00 = Calico M-100P (remember that this weapon occupies two
              item slots)
## ## 8F 00 = Calico bullets (yes, spare clips for the M-100P gun do
              exist, they just weren't made available to you.)
01 00 90 00 = Clement mixture
01 00 91 00 = Playing manual (Well, actually you have this from the
              start, but what the hell...)
      
Examining any of the items below with the CHECK -command will cause
the game to hang. Therefore, it is advised that you don't put these
items into the inventory. They don't even have visible icons.

01 00 92 00 = ?
01 00 93 00 = ?
01 00 94 00 = ?
01 00 95 00 = Empty extinguisher
01 00 96 00 = Square socket
01 00 97 00 = ?
01 00 98 00 = Crest key S
01 00 99 00 = Crest key G
01 00 9E 00 = Storage key
01 00 9F 00 = Playing manual

The item list ends here. It's highly unadvised to try any values
outside of this list. It just results in the game locking up and 
forcing you to hard reset your PS2 when you access your inventory,
the item chest or the security box.


4. The structure of SAVEDATA-## -files:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

04h = Number of times saved.

08h = Player character, 1 byte.

    00 = Claire
    01 = Chris
    02 = Steve
    03 = Wesker

Oh yeah, boys and girls. The Ray-Ban wearing badass can now be made
a playable character with the aid of Max Drive. His name won't appear
in the savegame, instead there's an empty spot where the character's
name is supposed to be.

10h = Select difficulty level, one byte.

    00 = Normal difficulty, the default in PAL and NTSC versions.
    01 = Easy difficulty, enemies die with less punishment and you're
         given more ammo. Identified by the green letters in the 
         savegame's name.
    02 = Very Easy difficulty, practically a joke. Identified by the 
         red letters in the savegame's name.

1F8h = The item displayed in the upper right-hand corner of Claire's
       inventory screen (usually the lighter or the lockpicks).

1FCh = 1st slot in Claire's inventory.
200h = 2nd slot in Claire's inventory.
204h = 3rd slot in Claire's inventory.
208h = 4th slot in Claire's inventory.
20Ch = 5th slot in Claire's inventory.
210h = 6th slot in Claire's inventory.
214h = 7th slot in Claire's inventory.
218h = 8th slot in Claire's inventory.

238h = The item displayed in the upper right-hand corner of Chris'
       inventory screen (usually the lighter or the lockpicks).

23Ch = 1st slot in Chris' inventory.
240h = 2nd slot in Chris' inventory.
244h = 3rd slot in Chris' inventory.
248h = 4th slot in Chris' inventory.
24Ch = 5th slot in Chris' inventory.
250h = 6th slot in Chris' inventory.
254h = 7th slot in Chris' inventory.
258h = 8th slot in Chris' inventory.

278h = The item displayed in the upper right-hand corner of Steve's
      inventory screen (usually the family photo).

27Ch = 1st slot in Steve's inventory.
280h
284h
288h
28Ch
290h
294h
298h = 8th slot in Steve's inventory.


2B8h = The item displayed in the upper right-hand corner of Wesker's
       inventory screen (usually empty, since you aren't really
       supposed to play as him outside of Battle Mode).

2BCh = 1st slot in Wesker's inventory.
2C0h
2C4h
2C8h
2CCh
2D0h
2D4h
2D8h = 8th slot in Wesker's inventory.

2F4h = 1st slot in the item chest.
4F0h = last slot in the item chest.

Always add +4 to the offset of the current item slot to find the next
slot. For example, 1st slot in the item chest is at 2F4h, add
2F4h + 4h, is 2F8h, the second slot. Then 2F8h + 4h, is 2FCh, the 3rd
slot. And so on, all the way to 4F0h.

4F4h = 1st slot in the first metal detector's security box.
570h = last slot in the first metal detector's security box.

Always add +4 to the offset of the current item slot to find the next
slot. For example, 1st slot in the security box is at 4F4h, add
4F4h + 4h, is 4F8h, the second slot. Then 4F8h + 4h, is 4FCh, the 3rd
slot. And so on, all the way to 570h.

818h = Claire's health. Normal full health you receive by using a
       First Aid spray or red + green herb mix for example is 160
       (hex A0 00) points, but it can be hypermaximized safely up
       to 32000 (hex 00 7D) points.

81Ah = Chris' Health. Normal full health you receive by using a
       First Aid spray or red + green herb mix for example is 160
       (hex A0 00) points, but it can be hypermaximized safely up
       to 32000 (hex 00 7D) points.

81Ch = Steve's health. Normal full health you receive by using a
       First Aid spray or red + green herb mix for example is 160
       (hex A0 00) points, but it can be hypermaximized safely up
       to 32000 (hex 00 7D) points.

81Eh = Wesker's health. Normal full health you receive by using a
       First Aid spray or red + green herb mix for example is 160
       (hex A0 00) points, but it can be hypermaximized safely up
       to 32000 (hex 00 7D) points.

824h = Total gameplay time. 32-bit value, set all 4 bytes to 00 to
       reset the timer. I suppose it's pointless to remind the reader
       that resetting the game clock won't do you any good until near
       the end of the game.

82Ch = The amount of First aid sprays used.

82Eh = Number of times you have re-tried.

834h = Checksum. 32-bit standard checksum in Little endian format.


5. The BESLES-50306 / BASLUS-20184 -file:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This system file stores the data for the things you have unlocked.
Patch the BESLES-50306 / BASLUS-20184 -file from the following
hex offsets to unlock all secrets/bonuses:

04h: From 00 to FF
05h: From 00 to FF
07h: From 00 to 80

Also, this file makes no exception with the checksum protection. For
the BESLES-50306 / BASLUS-20184 -file, it's located at 30h.

   Recreating the checksum with:

   Winhex:
   Goto adress 30h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Tools -> Analyze file" from the Winhex menu. The data
   analyzer window opens up and you'll see the new checksum in the 
   upper left hand corner, in the "Standard checksum"-field. This 
   value is in Big Endian format, so you'll need to reverse it to 
   Little Endian first. For example, Big Endian value 00 00 1F 32 
   would be 32 1F 00 00 in Little Endian format. Then place the new
   checksum to adress 30h and save the newly validated file.
   It is now ready to be transferred to your PS2-memorycard.

   PowerHEX:
   Goto adress 30h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Tools -> Checksum" and select "Entire range" in the
   window that opens up, then hit "Generate". A list of checksums
   is generated for you, "32-bit Checksum" is the one you want. This 
   value is in Big Endian format, so you'll need to reverse it to 
   Little Endian first. For example, Big Endian value 00 00 1F 32 
   would be 32 1F 00 00 in Little Endian format. Then place the new
   checksum to adress 30h and save the newly validated file.
   It is now ready to be transferred to your PS2-memorycard.

   Hex Workshop:
   Goto adress 30h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Tools -> Generate checksum" from the Hex Workshop 
   menu. You're given a list of different algorithms, choose 
   "Checksum (32 bit)" and choose to apply it on "Entire Document".
   Click "Generate" and the corrected checksum is now displayed in
   the lower right hand corner. This value is in Big Endian format,
   so you'll need to reverse it to Little Endian first. For example,
   Big Endian value 00 00 1F 32 would be 32 1F 00 00 in Little 
   Endian format. Then place the new checksum to adress 30h and 
   save the newly validated file. It is now ready to be transferred
   to your PS2-memorycard.

   HxD:
   Goto adress 30h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Analysis -> Checksums/Digests" from the HxD menu.
   From the list of the available checksum algorithms, choose 
   "Checksum-32". Make sure that "Region" is set to "Entire file",
   then click OK. The program will now display the new checksum. 
   This value is in Big Endian format, so you'll need to reverse it
   to Little Endian first. For example, Big Endian value 00 00 1F 32 
   would be 32 1F 00 00 in Little Endian format. Then place the new
   checksum to adress 30h and save the newly validated file.
   It is now ready to be transferred to your PS2-memorycard.


6. Using the Max Drive safely:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Like mentioned earlier in this FAQ, the Max Drive has a reputation of
corrupting Playstation 2 memory cards. This has never happened to me,
mind you, but then again, I've always been carefull when using it.
Here are some pointers to using the Max Drive safely. I personally
always follow these steps.

1. Don't ever use the Max Drive PS2 software to delete or overwite
   existing files on your memory card or on the Max Drive USB-stick.
   Many times people have reported encountering problems after delete/
   overwrite operations that have been performed with the Max Drive
   PS2 software. If you must replace a file on your memory card, first
   delete it using the PS2's own memory card browser, and then use the
   Max Drive software to Uncrush the new file from the USB-stick to
   your memorycard. If you must delete files from the USB-stick,
   preferably do it on your PC with the Windows Explorer.
   
2. Max Drive always compresses the memorycard files to smaller size
   when you copy them to the USB-stick. Therefore, you must always
   use the "Uncrush to memorycard 1/2"-command when you copy the save
   file back to your memorycard from the USB-stick. If you simply copy
   the compressed .MAX-file to your PS2 memorycard, the PS2 sees it as
   corrupted data and wont use it. MAX-FORMAT FILES MUST ALWAYS BE
   UNCRUSHED FIRST!
   
3. It seems that many people get the COPY and MOVE commands mixed up.
   People who use the MOVE-command to move their savedata to the USB-
   stick are often wondering what happened to the file on their
   memorycard when the MOVE-command deleted it after the copy process.
   Many people then accuse the Max Drive of losing their memorycard
   data, when in fact, the MOVE command is supposed to do just that.
   It copies the savedata to the USB-stick and then deletes the
   original file from the memory card. It's works just like the ol'
   MOVE.EXE-command on the MS-DOS operating system.
   
4. Don't copy multiple files at the same time. People have reported
   about problems after doing so. Always copy one file at a time only.

5. DON'T EVER DETACH THE MEMORY CARD OR THE USB-STICK FROM YOUR PS2
   IN THE MIDDLE OF A COPYING PROCESS. This is a big no-no, and by
   far the best way to kill your memory card and ruin your savedatas.
   
6. If the unthinkable happends and your memorycard "dies", the Max
   Drive has a feature that allows you to re-format the memory card
   and hopefully restore it to working order, but your savegames will
   be lost in the process. This is why you should keep back-ups on
   another memory card, and to be safe, also keep the back-up card
   physically separated from the console during a Max Drive-operation.



7. Step by step guide for transferring savegames to and from your
   Playstation 2 and how to validate them:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

   (Assuming everything on your PC is already set-up)

1. First you need to have RE:CVX-savedata available on your PS2
   memory card. Create it now if you haven't done so yet. At least
   one of the game's 15 slots needs to have a savegame in it,
   otherwise your savegamefiles will be full of useless 00-bytes.
   
2. Insert the Max Drive USB-stick into your PS2's USB port, then put
   the Max Drive PS2 datadisc into your PS2's DVD-drive. Power up
   the PS2.

3. If you receive a complaint about the disc not being an official
   PSX/PS2 datadisc, don't worry, this is nothing resetting the
   console a couple of times won't fix. Just bear with this. Since
   the PS2 is supposedly a very complicated machine and the Max Drive
   isn't an official Sony product, things like this are bound to
   happend occasionally. When you see the Datel-loading screen, you'll
   know everything is OK. Wait untill you are taken to the Home menu.

4. In the home menu, you'll see a choice of 4 menu options.

   My devices
   Get saves
   My account
   Settings

   Choose My devices. The other 3 are of no interest to us during this
   operation. After choosing My devices, you are prompted to choose a
   primary device. Choose Memory card 1 or 2, which ever it is that
   you're using.

5. You are now presented with a list of available save datas on your
   memory card. Highlight the Resident Evil: Code Veronica X savedata
   and press the X-button on your PS2-controller pad. Your RE:CVX-data
   is now selected. Then choose COPY from the menu on your right and
   select COPY TO MAX DRIVE. Answer YES when asked to confirm.
   
6. Do not interfere with the copying process. When the copying is done,
   you can return to the Home menu and reset or power down the PS2.
   You won't be needing it for now. Take the USB-stick and plug it
   into your PC's USB port. If Windows doesn't automagically recognize
   it, you may have to install drivers from the Max Drive PC data disc.
   This step is explained in the Max Drive's documentations and I won't
   explain it again here (see the README.TXT on the PC data disc).
   Besides, if you don't even know how to install device drivers for
   Windooze, then maybe you shouldn't be doing this in the first place.
   Anyway, when you have the USB-stick connected to your PC you should
   see a new drive in the Windows Explorer. Access this new drive and
   you should see a .MAX-file with the Code Veronica X data in it.

7. Have you already unpacked the PS2 Save Builder program from it's
   ZIP-archive? If you haven't, now is the time to do it. Unpack the
   Save Builder's files into an empty folder on your hard drive and
   copy the Code Veronica MAX-file there also. Create a back-up copy
   of the original MAX-file for just in case, and then use the Save
   Builder program to open the MAX-file. You should get a list of
   files that looks like this:
   
   BESLES-50306 (or BASLUS-20184 for North America)
   SAVEDATA-00
   SAVEDATA-01
   SAVEDATA-02
   SAVEDATA-03
   SAVEDATA-04
   SAVEDATA-05
   SAVEDATA-06
   SAVEDATA-07
   SAVEDATA-08
   SAVEDATA-09
   SAVEDATA-10
   SAVEDATA-11
   SAVEDATA-12
   SAVEDATA-13
   SAVEDATA-14
   bio_cv.ico     (Ignore these two. These are
   icon.sys        just icon data.)
   
   Now it's just a matter of right-clicking the mouse on the desired
   file and selecting Extract from the drop-down menu. Save the file
   to your hard drive, but please don't change the filename. The game
   doesn't like that.
   
8. Now open the extracted file with a hex editor and hack away. After
   hacking the file you still have to re-validate it. RE:CVX -
   savegames, you see, are checksum protected, and this checksum needs
   to be recreated everytime you change something in a file. Here
   lies the biggest reason to use the hex editors I've recommended in 
   this guide over all the others, their ability to calculate checksums.
   Now, about how it's done:

   Recreating the checksum with:

   Winhex:
   Goto adress 834h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Tools -> Analyze file" from the Winhex menu. The data
   analyzer window opens up and you'll see the new checksum in the 
   upper left hand corner, in the "Standard checksum"-field. This 
   value is in Big Endian format, so you'll need to reverse it to 
   Little Endian first. For example, Big Endian value 00 00 1F 32 
   would be 32 1F 00 00 in Little Endian format. Then place the new
   checksum to adress 834h and save the newly validated file.
   It is now ready to be transferred to your PS2-memorycard.

   PowerHEX:
   Goto adress 834h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Tools -> Checksum" and select "Entire range" in the
   window that opens up, then hit "Generate". A list of checksums
   is generated for you, "32-bit Checksum" is the one you want. This 
   value is in Big Endian format, so you'll need to reverse it to 
   Little Endian first. For example, Big Endian value 00 00 1F 32 
   would be 32 1F 00 00 in Little Endian format. Then place the new
   checksum to adress 834h and save the newly validated file.
   It is now ready to be transferred to your PS2-memorycard.

   Hex Workshop:
   Goto adress 834h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Tools -> Generate checksum" from the Hex Workshop 
   menu. You're given a list of different algorithms, choose 
   "Checksum (32 bit)" and choose to apply it on "Entire Document".
   Click "Generate" and the corrected checksum is now displayed in
   the lower right hand corner. This value is in Big Endian format,
   so you'll need to reverse it to Little Endian first. For example,
   Big Endian value 00 00 1F 32 would be 32 1F 00 00 in Little 
   Endian format. Then place the new checksum to adress 834h and 
   save the newly validated file. It is now ready to be transferred
   to your PS2-memorycard.

   HxD:
   Goto adress 834h, where the 32-bit standard checksum is located. 
   First overwrite the original checksum completely with 00-bytes. 
   Then choose "Analysis -> Checksums/Digests" from the HxD menu.
   From the list of the available checksum algorithms, choose 
   "Checksum-32". Make sure that "Region" is set to "Entire file",
   then click OK. The program will now display the new checksum. 
   This value is in Big Endian format, so you'll need to reverse it
   to Little Endian first. For example, Big Endian value 00 00 1F 32 
   would be 32 1F 00 00 in Little Endian format. Then place the new
   checksum to adress 834h and save the newly validated file.
   It is now ready to be transferred to your PS2-memorycard.

   
9. After tampering with the save file, it's time to put it back inside
   the MAX-file. So fire up the Save Builder program again and open the
   Code Veronica X MAX-file with it. Let's say you edited the
   SAVEDATA-03 -file. Now you must righ-click it and choose Delete
   from the drop-down menu. The original SAVEDATA-03 disappears from
   the list and now you must replace it with the one you edited with
   Winhex. Right-click the mouse on the SAVEDATA-04 -file and choose
   Add file. Select SAVEDATA-03 from the Open File-menu. The
   SAVEDATA-03 -file re-appears to the file list and it's now the one
   you edited just recently. Now save the MAX-file with the same name
   the original file had. You now have succesfully created a hacked
   Resident Evil: Code Veronica X -savedata file. Copy it back to the
   USB-stick, replacing the old file there. Don't worry, you still
   have a back-up of the original on your hard drive, if things turn
   sour.
   
A. Power-up your PS2 again, don't insert the Max Drive PS2 data disc
   just yet. Access your memory card with the PS2's browser and delete
   the RE: Code Veronica X -data you have there. It must not be there
   interfering when we Uncrush the new, hacked data onto your memory
   card. When deleting is done, exit the memory card viewer. Now
   plug the USB-stick back to your PS2 again and insert the Max Drive
   PS2 data disc. When the program has loaded, choose My devices again
   and select the Max Drive USB-stick as the primary device this time.
   Allow the program some time to load all the datas from the USB-stick
   if you don't immediately see a list of all available MAX-files.
   When the list is fully loaded, highlight and select the RE:CVX-data
   and use the Uncrush to Memorycard 1/2 -command on your right to
   copy the datas back to your memory card. Again, don't interfere
   with the copying process.

And that's it. You have now more or less succesfully h4xx0red your
Resident Evil: Code Veronica X savegames. Restart the PS2 with the
RE:CVX -disc inserted to see the results. If you can load your saves
without nags/crashes, rejoice, dance around and scream in pleasure,
sing a happy song, break out the champagne and get wasted. You have
a good reason to pat yourself in the back, because what you just
managed isn't all too simple to pull off, at least to a beginner.

If you receive a "File corrupt" error when trying to access the
savedata, then that means you didn't validate the checksum properly.
Try again from part 8 and try to understand the instructions this
time.

If the entire game hangs when you load the savegame, you obviously
have done something very very wrong. When/if you try again, use the
back-up datas you have on your HD, rather than trying to figure out
what went wrong with the previous file. Or, you can give up and get
seriously depressed and emo, slump into a corner and sing Linkin Park
songs  XD.


8. Acknowledgements:
-=-=-=-=-=--=-=-=-=-

This is the end once again and the only thing left now is to give
credit where credit is due, in a true Gamefaqs.com -style. So
appreciate the following people/companies:

WWW.GAMEFAQS.COM and it's founder, CJayC, for being there for the
videogaming community. And happy 11th anniversary to you by the way.

Capcom, for giving us the Resident Evil series.

Datel, for the Max Drive savegame transferring kit. It's a very handy
piece of work.

The authors of Winhex, PowerHEX, Hex Workshop and HxD, for coding such
superior tools.

Vector / WWW.PS2SAVETOOLS.COM, for the PS2 Save Builder. Yet another
app that made this guide possible.

and

Sony, for the Playstation 2 videogaming system. Let us hope that the
PS3 becomes a success as well.