the cutting room mirror

Castlevania (Nintendo 64)

This article has a talk page!
view on tcrf.net

Unused Areas#

"Test Grid" Debug Room#

This is a testing map that only consists of a big, empty room with a checkered texture. When sorted by ID, this is the last map on the list of maps in the game (ID 0x1D). A string left in the ROM shows that this map is internally known as TEST GRID.

This map can be accessed using the GameShark codes below. While in gameplay, press the Gameshark button to warp to this map:

Version

GameShark code

Japan

89389EE0 001D
89389EE2 0000

USA 1.0

89389EE0 001D
89389EE2 0000

USA 1.1

89389EE0 001D
89389EE2 0000

USA 1.2

89389EE0 001D
89389EE2 0000

Europe

89389EA8 001D
89389EAA 0000

This room appeared in a prerelease screenshot from the Konami Magazine, vol.7 (May 1998), where Malus was playing his violin.

Unused Characters#

Cornell and Coller Leftovers#

Originally, the game was meant to have 4 characters: Reinhardt, Carrie, Cornell and Coller. Cornell didn't make it into this game, but eventually appeared in Legacy of Darkness, while Coller was completely scrapped.

Pause Menu Text#

Interestingly, the names for both characters are still present in the pause menu text data, and can be seen by enabling the Gameshark code below, and pressing the GS button during gameplay. These strings could be seen in an early screenshot showing the player selection screen.

The "XX" value is:

  • 02 = Cornell
  • 03 = Coller

Version

GameShark code

Japan

89389C3C 00XX

USA 1.0

89389C3C 00XX

USA 1.1

89389C3C 00XX

USA 1.2

89389C3C 00XX

Europe

89389C40 00XX

Unused Coller Strings in the Gardener's Code File#

It's very likely that Coller was reworked into the Gardener enemy, given the strong similarities in design between this enemy and Coller's concept art.

The file at 0xA253B6-0x0xA2945C (compressed, size = 0x40A6) in a USA v1.0 ROM contains the code and data associated with the Gardener. Said file contains unused strings at the end with animation filenames, and all of them are preceded with "(coller)":

(coller) mk_nutral
(coller) mk_teisi
(coller) mk_standup
(coller) mk_ikaku
(coller) mk_walk
(coller) mk_dash
(coller) mk_damf
(coller) mk_damb
(coller) mk_out
(coller) mk_attackl
(coller) mk_attacklm
(coller) mk_dashattack
(coller) mk_sewa

This list matches up with the list of animations for the Gardener in the final game:

Name

Translation

Description

ID

mk_nutral

MK - Neutral

Idle

0x00

mk_teisi

MK - Coming to a halt

Taking heavy damage

0x01

mk_standup

MK - Stand up

Waking up after taking heavy damage

0x02

mk_ikaku

MK - Intimidating

Charging chainsaw

0x03

mk_walk

MK - Walk

Walk

0x04

mk_dash

MK - Dash

Run

0x05

mk_damf

MK - Damage - Front

Low damage (front)

0x06

mk_damb

MK - Damage - Back

Low damage (back)

0x07

mk_out

MK - Out

Dead

0x08

mk_attackl

MK - Attack - L

Attack (vertical)

0x09

mk_attacklm

MK - Attack - LM

Attack (horizontal)

0x0A

mk_dashattack

MK - Dash attack

Attack (running)

0x0B

mk_sewa

MK - Sewa

Gardening

0x0C

(Translation: Torentsu)

The official Castlevania 64 website for Europe shows a description of every character. The description for the Gardener enemy shows a render of Coller.

Unused Text#

KEY CONFIG
SOUND
DEFAULT
EXIT
GAME START
DATA COPY
DATA DELETE
NEW GAME
USED MEMORY

The strings above would have been displayed in menus. The options and file select screens use similar strings, but those are stored as images instead. USED MEMORY is unique in that there's no option in the final game to see the used memory.

Forest of Silence#

The bike is burning...
Was it attacked by
a beast?

The Forest of Silence map does not have any bike laying burned in the ground. The only bikes present are the ones used by the Skeletons in the final King Skeleton battle, but this string does not show up there.

Castle Center#

A large wooden box
prevents you passing.
You must go round...

This string is intended to appear when checking out the boxes in the room where the player gets the Nitro. However, its trigger is actually misplaced out of bounds, and thus it's impossible to read it. The place Carrie is in the above picture is where the text trigger can be found.

Button Config#

Change view

This string would have appeared in the Button Config menu, most likely for switching between Action / Normal / Battle view. The string that is used instead is "Change camera".

Unused Graphics#

Unseen Faces#

To do:
This is just the player's regular face texture with the vampire palette applied, both of which are used. No evidence has been found that the developers ever attempted to to showcase the normal face with the vampire palette

This face is used after being transformed into a vampire and depicts Carrie with make-up, giving her a more mature appearance. However, it is overlayed by the eyeless vampire face, which requires this face to be set first. It is unknown where and in what context this face could have been used.

Version

GameShark code

All

81350B06 0001

Reinhardt has even more facial issues. While the two post-transformation vampire faces do match the actual status and skin color change, they suffer from a graphical issue which makes the teeth somewhat blue. When setting both the face and overlay to 0x01 before the transformation, the correct overlay face is shown. But as soon the transformation is complete, it reverts to the "After V" or "After V+P" face, oddly keeping both values unchanged at 0x01.

Normal

Vamp

After V

V+P

After V+P

Overlay

Overlay 2

Debug Font#

An unused font, present in some N64 Konami games, such as Mystical Ninja Starring Goemon. This font could be seen in prerelease footage.

This is the second file referenced by the ROM compressed files table (at 0x95C3C-0x9642C in a USA v1.0 ROM). The file itself is located (compressed) in addresses 0x6F3CB6 to 0x6F4070 in the ROM, and has a size of 0x3BA bytes. The game loads this file into memory on boot, but nothing has been found that references it in the code.

KCEK logos in Title Screen#

The file that contains the UI textures for the Title Screen (0x9D0AEA in the USA v1.0 ROM, compressed) contains three unused textures (mostly identical between each other) showing the KCEK logo without the "Konami Computer Entertainment Kobe". It's unknown where they would have been displayed on the Title Screen. In the image above, the "Castlevania" logo was replaced with the unused logo for showcase.

Segment addresses of the display lists within file 0x9D0AEA (decompressed) that contain the KCEK logo texture:

  • 0x0600C900 = Edges look slightly white
  • 0x0600CD58 = Shown in the screenshot above
  • 0x0600D1B0 = Logo is completely dark (probably intended for transparency?)

Unused Enemies#

King Skeleton Warrior#

Watch on YouTubeThis enemy uses the King Skeleton model, but behaves similarly to the regular Skeleton Warriors, plus it's biped (though its feet are slightly buried in the ground).

It's larger than the Skeleton Warriors (though smaller than King Skeleton). Its animations play slower, has a large health value, and does not have a voice.

Actor ID

Code entrypoint (RAM)

Assets file ID

Overlay file ID

0x20AA

0x0F000104

0x26

0x8C

Unused Models#

3-Head Wolf#

To do:
Attempt to take better pictures, with the lower yaws. Try to see if the whole model can be reassambled.

Head (Left side)

Head (Center)

Head (Right side)

Prerelease

File 9 of the Nisitenma-Ichigo table (the table that references most files in the ROM) contains an assets file for an unused enemy: a wolf-like enemy with 3 heads. A gray variant of this enemy appeared in a prerelease screenshot, in the Forest of Silence map.
In the final game, the Cerberus enemies, which appear in the Villa's front yard area, are similar to this enemy in that it's a dog with three heads. In fact, the assets file for the Cerberus is located right after the one for this unused wolf.

While the file contains many model parts, it is unknown how they were supposed to be "assembled" exactly, so knowing what each body part each model piece corresponds to can be a bit difficult. However, the way this enemy's display lists are structured is very similar to how the Cerberus's display lists are, so it's assumed that the early enemy's hierarchy would have been very similar to the Cerberus's.

Head texture (Blue)

Head texture (White)

Head texture (Gray)

The file also contains three palettes for three different color variations of the enemy: blue, white, and gray, but the textured display lists only reference the blue palette.

The file can be found in the ROM between offsets 0x705DCE-0x709292 in USA v1.0 (it is the first enemy-related asset referenced in the Nisitenma-Ichigo table). It doesn't seem to have any associated code in the final game.

Malus#

Malus's assets file in the ROM (0x7604A0-0x764A48 in the USA v1.0 version, compressed) has two unused models. These are loaded, but appear invisible.

  • Bow: Near the end of the game, there's a cutscene where Malus shoots an arrow to the player. However, he is off-camera when he shoots, and even if the camera is turned around with hacks to view Malus when this happens, a bow cannot be seen. This display list starts at 0x00007188 within Malus's assets file (segment address = 0x06007188).
  • Sword: An unused sword model. It's unknown where Malus would have used a sword. This display list starts at 0x00007600 within Malus's assets file (segment address = 0x06007600).

Unused Animations#

Malus shooting an arrow#

Watch on YouTubeIn the beginning of the cutscene where Malus shoots an arrow to the player near the end of the game, he shoots from off-screen, so he can't be seen until the camera turns around.

However, he does perform an animation for shooting the arrow, which cannot be seen normally without the use of hacks to turn the camera to Malus at the beginning of the cutscene. Curiously, Malus assets file in the ROM has an unused bow model (see above).

Gardener getting hit (back)#

Watch on YouTube

Name

Translation

ID

mk_damb

MK - Damage - Back

0x07

The Gardener enemy has an unused animation for getting hit from its back. In the final game, only the animation for getting hit from the front is used.

The following virtual addresses are for the Gardener's overlay (file ID 0x74):

  • - Translation data virtual address: 0x0F004258
  • - Rotation data virtual address: 0x0F004288

Carrie death animations#

To do:
Reindhart also has both impaled animations

Carrie has three additional death animations that are unused. These show Carrie dying in grotesque ways, so it's understandable that the developers ended up scrapping them.

Use the Gameshark codes below to view each animation (for USA v1.0, press D-Pad Up). The RAM start address for each animation (both its translation and rotation data) are shown as well.

Impaled - Facing down#

Watch on YouTube

Translation data

Rotation data

RAM Start Address (USA v1.0)

803D0C60

803CD300

Gameshark code

D0387D7E 0008
8035079C 0080
81029A4C 2418
81029A4E 0000
810970A0 803D
810970A2 0C60
810970A4 803C
810970A6 D300

Impaled - Facing up#

Watch on YouTube

Translation data

Rotation data

RAM Start Address (USA v1.0)

803D0CF8

803CD7C0

Gameshark code

D0387D7E 0008
8035079C 0080
81029A4C 2418
81029A4E 0000
810970A0 803D
810970A2 0CF8
810970A4 803C
810970A6 D7C0

Falls on knees, then drops to floor#

Watch on YouTube

Translation data

Rotation data

RAM Start Address (USA v1.0)

803D09E8

803CBF40

Gameshark code

D0387D7E 0008
8035079C 0080
81029A4C 2418
81029A4E 0000
810970A0 803D
810970A2 09E8
810970A4 803C
810970A6 BF40

Unused Music#

To do:
Upload these as audio files to the site instead of using Youtube videos.

Sequence 0x62

Sequence 0x67

Watch on YouTube

Watch on YouTube

There are 2 songs in the game that are unused. It is unknown where these would have been played. Sequence 0x67 is Renon's theme with a different intro.

The addresses below are for the USA v1.0 version of the game.

Sound ID

ROM start address

ROM end address

0x62

0x6658D0

0x665FB0

0x67

0x666A80

0x666C80

Unused Cutscene#

Video

Prerelease

Watch on YouTube

CV64_prerelease_cutscene_1.png CV64_prerelease_cutscene_2.png

There's one unused cutscene in the game, whose ID is 0x32. The cutscene shows a close-up of Death first, and then the camera zooms out as he does an attack that releases 8 scythes.

This cutscene cannot be skipped, and it's programmed to start over once Death does his attack. The scythes that are already present on-screen are not removed before the cutscene is started again, so after a couple of minutes, the game will start lagging because of many scythes being present on-screen.

This cutscene appeared in some prerelease screenshots.

(Source: Castlevania 64 - Nintendo 64 Preview - from N64 Magazine UK - Issue 18 August 1998)

Unused Status Effects#

To do:
Do the "unused" Status Effects affect the gameplay at all?

There are several unused Status Effects in the game, a few of which are unnamed. Most of them do not visually change anything, nor can they be healed using the "Healing Kit", as it only checks for Poison and Vampire.

One status effect, STO (Stone), seems to be the most developed status effect, as it's the only one that displays itself in the player's HUD when enabled with the GameShark code below. It was likely cut because there is only one area where you can be petrified, and having a separate status effect just for that didn't make sense.

Version

GameShark code

Japan

80389C88 0004

USA 1.0

80389C88 0004

USA 1.1

80389C88 0004

USA 1.2

80389C88 0004

Europe

80389C8D 0004

As the variable for Status Effects is a 8-bit bitmask, each bit has its own status effect, which can be combined. Along with STO and combinations that feature it, this reveals 3 more unused status effects. They seem to be empty however, and have no real effect when applied and can't even be removed with the Healing Kit. Whether they were other cut statuses or simply placeholders/dummies is unknown.

Digit (hex)

Bits

Effect

Can be healed using items?

Displayed as

0x01

0000 0001

Unknown

No, ignored

Unused

0x02

0000 0010

Unknown

No, ignored

Unused

0x04

0000 0100

None

No, ignored

STO (Unused)

0x08

0000 1000

Turns Vampire between 0:00 and 1:00 AM

Yes

VAMP

0x10

0001 0000

Drains Health

Yes

POISON

0x18

0001 1000

Combined

Yes

V + P

0x1C

0001 1100

Combined

Heals only V + P, ignores STO

V + P

0x20

0010 0000

Slump over

Yes, when HP > 21%

(Animation)

0x40

0100 0000

Unknown

No, ignored

Unused

0x80

1000 0000

DEATH

No

(Death Animation)

Unused Save Jewel Candle Drop#

Nintendo Power scan

Video

Watch on YouTube

Page 20 of volume 116 of Nintendo Power (January 1999) contains an interesting statement regarding how saving worked in a prerelease build of the game:

The torch in the ground floor inside the tower conceals a White Jewel.

In the final game, none of the save jewels are found inside candles. However, there are remains of this behaviour still present in the final game.

At 0x80189dd0 (USA v1.0), there's an array of 30 entries, one per map. Each entry is a pointer to a second array where each entry contains an item that will be dropped from the candle, and the bitflag it sets in the save file.

The first parameter of the candle actor controls which entry in that second array is going to be selected for the candle. Essentially, it determines what item should be dropped from the candle.

Almost all maps have at least one entry that makes the candle drop a save jewel and even have the "bitflag" field set as the appropriate save jewel number.

In the video above, the first parameter of one of the candle actors at the beginning of the Forest of Silence map was changed to 0x12 (it was originally 0x00, which drops a Red Jewel (L)). 0x12 drops a save jewel whose save number is 2, which makes it save in the third save jewel of the map (as seen at the end of the video).

Unused Film Reel Effect#

Watch on YouTube

This game's cutscenes have an unused setting for a "film reel" effect like what Castlevania III: Dracula's Curse did for its opening.

There exists both a fullscreen and a widescreen variant of it, which are "effect setting" 1 and 3 respectively. In all of the cutscenes' settings, the only effects that are used are 0 and 2 (fullscreen and widescreen both with no film holes).

The following code previews this film reel effect (widescreen variant) in the opening cutscene at Forest of Silence (USA v1.0). Change the last value in the code from "3" to "1" to view the fullscreen variant:

Version

GameShark code

Japan

8116DC4E 0003

USA v1.0

8116B7AE 0003

USA v1.1

8116B7AE 0003

USA v1.2

8116B8EE 0003

Europe

8116C74E 0003

(Source: LiquidCat, CV64 Discord)

Ending Message#

Normally, the game ends prematurely on the Castle Center level if playing on Easy mode. But if the stage select code is used to jump to the last stage in Easy mode, and finish the game that way, then after the credits are over the following message will be displayed: "One adventure is over. But the truth remains in the darkness... Clear NORMAL to discover the truth!".
Presumably, the game was originally going to let you play through the entire game in Easy mode.

(Source: Torentsu)

Unused Pillar of Bones Damage#

Watch on YouTube

The Pillar of Bones enemy has an invisible collider that is attached to its head.

Curiously, this collider was originally supposed to be damagable upon contact, since the game assigns a damage value of 5 in the initialization function for this enemy (at 0x0F000ACC). However, this goes unused because the collider is not set to deal damage, since the initialization function does not call function 0x800408E8 (which assigns properties to colliders / hitboxes) with the 4th argument (A3) AND'd with 1. Instead, A3 is assigned to 10, which results in the collider not dealing damage. To deal damage, it should be, for example, 11.

In the case of other enemies, if the colliders they create aren't set to be damagable, they don't bother to assign a damage value to it.

Developer Text#

The ROM and most overlays contain a lot of unused development strings. The reason why they appear in the final ROM is probably because the devs ifdef'd them out.

USA v1.0

The lines "ND3EA4" and "KCEK CastleVania the Apocalypse" are written to the Memory Pak. "ND3EA4" is the game's ID (USA version), while "CastleVania the Apocalypse" is the Japanese name of the game.

'...But what does it mean?'
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!

80096AD4 ND3EA4
80096AF0 KCEK CastleVania the Apocalypse.

8018B700 menu_work
8018B70C keycon_menu_work
8018B720 sound_menu_work
8018B730 pc_select_work
8018B740 data_select_work
8018B760 work : %d
8018B76C rens : %f,%f
8018B77C trans : %f(%f)
8018B7D0 data : trans 1 end
8018B7E4 data : alloc trunc size = 0x%08x!!
8018B820 option..data : trans 1 end
8018B83C option : alloc trunc size = 0x%08x!!
8018B870 data_select_init!
8018B884 --------- stage no %d ----------

8018B910 Scroll: Destruct!!
8018B924 KeyConfig: Not Destruct MFDS!!
8018B944 KeyConfig: Not Destruct MARK!!
8018B964 mfds: ( %p, %p) : ( %d, %d)
8018B984 アイテム総数 : %02d
8018B99C ウエポン数 : %02d
8018B9B0 使用可柏数 : %02d
8018B9C4 ITEM_CURSOL
8018B9D4 item : flg(%d)
8018B9E4 item : chk(%d),flg(%d)
8018B9FC scl_rate: %10.8f(%10.8f)
8018BA18 item : Non Scroll
8018BA2C item : Value Zero
8018BA40 item : key up
8018BA50 item : key down
8018BA64 item : cursol position %d(%d)
8018BA84 item : cursol position %d(up)(%d)
8018BAA8 -itp : %d,%d
8018BAB8 itp : %d,%d
8018BAC8 item : cursol position %d(down)(%d)
8018BAF0 -itp : %d,%d
8018BB00 itp : %d,%d
8018BB10 (%d)(%d)
8018BB1C 購入可買Aイテム数 : %d
8018BB34 ITEM_CURSOL
8018BB40 scl_rate: %10.8f(%10.8f)
8018BB5C item_res : %d(%d)
8018BB70 item : Value Zero
8018BB84 item : key up
8018BB94 item : key down
8018BBA8 item : cursol position %d(%d)
8018BBC8 item : cursol position %d(up)(%d)
8018BBEC -itp(u) : %d,%d
8018BC00 item : cursol position %d(down)(%d)
8018BC28 -itp(d) : %d,%d + 4

8018BDE0 necro_work
8018BDF0 page_work
8018BE00 mark : adr = %p
8018BE20 mark_work

8018C660 DISPLAY ROOM %d
8018C674 ROOM %08X ENTRY = %d / GENERATE COUNT = %d

8018BFA0 BG3D SYSTEM INITIALIZE START
8018BFC0 BG3D SYSTEM : PLAYER WAIT
8018BFE0 BG3D SYSTEM : PLAYER IS READY
8018C000 Initialize DL Analyzing work
8018C020 Analyze Instance DL
8018C038 Initialize GRID WORK
8018C050 Initialize other BG3D Work
8018C06C BG3D SYSTEM INITIALIZE END : Frame %d
8018C0A0   00 MORI
8018C0AC   01 TOU
8018C0BC   02 TOUOKUJI
8018C0CC   03 NAKANIWA
8018C0DC   04 BEKKAN 1F
8018C0EC   05 BEKKAN 2F
8018C0FC   06 MEIRO TEIEN
8018C10C   07 CHIKA KODO
8018C11C   08 CHIKA SUIRO
8018C130   09 HONMARU B1F
8018C144   10 HONMARU 1F
8018C154   11 HONMARU 2F
8018C164   12 HONMARU 3F MINAMI
8018C17C   13 HONMARU 4F MINAMI 
8018C194   14 HONMARU 3F KITA
8018C1AC   15 HONMARU 5F 
8018C1BC   16 SHOKEI TOU
8018C1CC   17 MAHOU TOU
8018C1DC   18 KAGAKU TOU
8018C1EC   19 KETTOU TOU
8018C1FC   20 TURO TOKEITOU
8018C210   21 TENSHU
8018C21C   22 ENDING DUMMY
8018C230   23 TOKEITOU NAI
8018C244   24 DRACULA
8018C254   25 ROSE
8018C260   26 BEKKAN BOSS
8018C274   27 TOU TURO
8018C284   28 ENDING
8018C290   29 TEST GRID
8018C2A0 X 30 NO PART
8018C2B0 X 31 NO PART
8018C2C0 X 32 NO PART
8018C2D0 X 33 NO PART
8018C2E0 X 34 NO PART
8018C2F0 X 35 NO PART
8018C300 X 36 NO PART
8018C310 X 37 NO PART
8018C320 X 38 NO PART 
8018C330 X 39 NO PART
8018C340 X 40 NO PART
8018C350 X 41 NO PART 
8018C360 X 42 NO PART
8018C370 X 43 NO PART
8018C380 X 44 NO PART
8018C390 X 45 NO PART
8018C3A0 X 46 NO PART
8018C3B0 X 47 NO PART
8018C3C0 X 48 NO PART
8018C3D0 X 49 NO PART
8018C3E0 SUNLIGHT SYSTEM START
8018C400 ポリゴンバッファ確保失敗! (ID=%d Index=%d,%d,%d)
8018C434 %08X : このインスタンスは実体が存在しません。

800A7FE0 PRIM_COLOR R %02X G %02X B %02X A %02X
800A8008 ENV_COLOR  R %02X G %02X B %02X A %02X
800A8030 BLE_COLOR  R %02X G %02X B %02X A %02X
800A8058 FOG_COLOR  R %02X G %02X B %02X A %02X
800A8280 glbcam: can't find open door
800A82F0 eventman: get on elevator
800A830C eventman: get off elevator
800A8A50 set camera mode boss01
800A8AA0 set camera mode boss04
800A8AD0 set camera mode boss05
800A8B50 set camera mode boss11

Oddities#

Room of Clock's contract event flag#

The contract in Room of Clock is meant to set event flag 0x01000000, but goes unused because there's code that prevents the contract from settings event flags.

Localization#

In the European version, the translators did quite an interesting number on some of the items, mostly the unused ones.

English

French

German

engagement ring

ring

-

Incandescent gaze

gaze

-

The contract

Le contrat

Der Vertrag

PowerUp

Article de renfort

Posten laden

While the "Engagement Ring" and "Incandescent Gaze" was blanked out in the German localization, "The Contract" was properly localized. On the other hand, the German localization for the "PowerUp" is completely out of the window, translating back literally into "Load Items". Why they even partially localized some unused items and went out of their way to blank out others is unknown.

References#


  1. GDR ニンテンドウロクヨン ソフト一覧 1999年 - NINTENDO64 Software List 1999↩︎
  2. Konami of America. "Press Release: THE CLASSIC LEGACY OF CASTLEVANIA RETURNS IN 3D FOR N64 GAMERS (99/01/26)"↩︎
  3. Computer and Video Games - Issue 210 (1999-05)(EMAP Images)(GB), p. 36↩︎
  4. Swedish Super Play May 1999, p. 36. "Castlevania 20 maj"↩︎
  5. Hyper 066, p. 24↩︎
  6. SuperGamePower - Ano 05 No. 060 (1999-03)(Nova Cultural)(BR)(pt), p. 20-21↩︎
  7. [Nintendo - Isto é Entretenimento]↩︎