If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Valkyrie no Densetsu (Arcade)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Valkyrie no Densetsu

Also known as: The Legend of Valkyrie (Namco Museum Vol. 5, US/EU)
Developer: Namco
Publisher: Namco
Platform: Arcade (Namco System 2)
Released in JP: April 1989[1]


AreasIcon.png This game has unused areas.
DevTextIcon.png This game has hidden development-related text.
EnemyIcon.png This game has unused enemies.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ItemsIcon.png This game has unused items.
Sgf2-unusedicon1.png This game has unused abilities.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.


Valkyrie no Densetsu is the sequel to Valkyrie no Bouken: Toki no Kagi Densetsu. This entry in the series abandons the Zelda/Dragon Quest-esque gameplay of the first title, transforming instead into an overhead co-op platforming / action game. An English-language version was eventually released as part of the PlayStation title Namco Museum Vol. 5 in 1997.

Debug Functions

Certain dip switches will enable debug functions (usually in conjunction with the normally unused 1P Button 3).

Dip Switch 2 ($2000-1)

ValkyrieArcTestWrite.png
When this dip switch is set, the game will write zeroes across the third and fourth lines, then erase them before the frame updates. Flicking the switch on and off will let the player see them on-screen.

Dip Switch 3 ($2000-2)

When set, press and hold 1P Button 3 at any time to pause the game.

Dip Switch 3 ($2000-2) + Dip Switch 1 (Video Display)

It's not entirely clear what this does, but when both dip switches are set and the player gets a Game Over, the game writes some data from 181000 to 1820BF in the EEPROM. This data seems to be related to both players' performance and was likely used during location testing.

Dip Switch 4 ($2000-3)

ValkyrieArcRoundSelect.png
Hold 1P Button 3 and press 1P Left / Right on the Press Start screen to trigger a round select function - the round number will be in the bottom-left corner. The number goes from 00 to 0F, but after 08 it just loops back to Round 2, Round 3, etc. 00 and 01 both lead to the start of Round 1.

Note that Dip Switch 3's pause function overrides this round select, so be sure to unset it before using this.


(Round select source: MAME's history.data file)
(Other debug functions: Original TCRF research)

Unused Objects & Object Subtypes

Put the following cheats in MAME's valkyrie.xml cheat file to change the first Zuhl object in Round 3 into a different object with a different subtype. The Round Select is your friend here.

  <cheat desc="Object Type Modifier">
    <parameter>
      <item value="0x01F0">Dragon</item>
      <item value="0x0240">Treant (Yellow)</item>
      <item value="0x0270">Honorian</item>
      <item value="0x0290">Kaoxes (Red)</item>
      <item value="0x02A0">Kaoxes (Blue)</item>
      <item value="0x02E0">Magic Rock</item>
      <item value="0x0300">Magic Crystal</item>
      <item value="0x03A0">Baba-sama</item>
      <item value="0x03E0">Earthworms</item>
      <item value="0x04B0">Chain Plant</item>
      <item value="0x04D0">Treasure Chest</item>
      <item value="0x0550">Springboard</item>
      <item value="0x0570">Ice Block</item>
      <item value="0x0590">Flaming Log</item>
      <item value="0x05D0">Signboard</item>
    </parameter>
    <script state="run">
      <action>maincpu.mw@34EDA=param</action>
    </script>
    <script state="off">
      <action>maincpu.mw@34EDA=0x0370</action>
    </script>
  </cheat>
  <cheat desc="Object Subtype Modifier">
    <parameter min="0" max="31" step="1"/>
    <script state="run">
      <action>maincpu.mb@34ED8=param</action>
    </script>
  </cheat>

Objects

Treant (Yellow)

ValkyrieArcTreantGold.gif
Object ID: 24
An unused intermediate version of the Treant; The used brown and green Treants have 16 and 32 HP respectively, while this has 24 HP. Besides the HP and palette differences, this is identical to the other Treants, including subtype data.

Magic Rock / Magic Crystal

ValkyrieArcMagicRock.png ValkyrieArcMagicCrystal.png
Object IDs: 2E, 30
These are just reskins of the Magic Trees found in Round 1 and would have been placed in areas without abundant foliage. It does seem odd that they introduced such objects in the first round and then didn't use them again for the rest of the game. Like the Magic Tree, the Magic Rock and Crystal have no subtype data.

The Magic Rock and Magic Crystal have different graphics pointers (11BC8 and 11BD6), but the data in the second address is a duplicate of the first, meaning that both objects normally use the rock graphic. Place the following code in valkyrie.xml to give the Magic Crystal its proper graphic:

  <cheat desc="Fix Magic Crystal Graphics">
    <script state="run">
      <action>slave.mw@11BDA=0x06F4</action>
    </script>
    <script state="off">
      <action>slave.mw@11BDA=0x06EC</action>
    </script>
  </cheat>

Chain Plant

ValkyrieArcCarnivorusPlantL.gif
Object ID: 4B
A different take on the Carnivorous Plants seen in Round 8. This version's flower slowly circles around on a chain-like stem before ramming at the player. Subtype 01 will place the chain and flower above the petals, while all other subtypes place the chain and flower below the petals.

Springboard

ValkyrieArcSpringboard.gif
Object ID: 5D
A simple springboard. Jumping on it will bounce the player up in the air while preserving their horizontal momentum. It doesn't have any solidity coded, so the player can walk right through it. It has no subtypes.

Object Subtypes

Dragon

ValkyrieArcDragonGreen.png
Setting the subtype to any value between 02 and 07 will set the dragon's palette to object palette 01, turning it green.

ValkyrieArcDragonGreenDirt.png
This palette messes up the dirt graphic, which is probably why it goes unused.

Honorian

ValkyrieArcMiniHonorian.gif
The table at 0x19826 in the main CPU handles whether the Honorian subtypes make the enemy normal or miniature-sized, but it's just filled with 16 copies of the normal-sized version's pointer. Place the following code in valkyrie.xml cheat file to make subtype 06 all small:

  <cheat desc="Mini Honorian">
    <script state="run">
      <action>maincpu.mw@19840=0x9684</action>
    </script>
    <script state="off">
      <action>maincpu.mw@19840=0x967C</action>
    </script>
  </cheat>

Zuhl

ValkyrieArcZuhlShop0B.png
Setting Zuhl's subtype to 0B will send the player to an unused shop with a 4-Way Shot, a Through Shot, and a Homing Shot for sale. This subtype value is in-between the last Round 6 shop and the first Round 8 shop, and Round 7 is the only round without shops in the final game, so...figure it out.

Kaoxes

ValkyrieArcMiniKaoxes.gif
The Kaoxes enemy also has a miniature version, but this one is a lot easier to access: Just change the subtype to 02.

Baba-sama

ValkyrieArcBabaSamaIdle.png
If Baba-sama's subtype is set to 05, she'll teach the player every spell in the game at once! This was probably only intended to be used for testing purposes. The dialogue is recycled from her appearance in Round 7.

Earthworms

ValkyrieArcEarthwormBig.png
The Earthworms usually only have a subtype of 00, but setting it to any value between 01 and 07 reveals an unused scaling feature:

00 01 02 03 04 05 06 07
Size 32x32 40x40 44x44 48x48 56x56 63x63 63x63 63x63

Treasure Chest

In addition to the subtype values that give unused items (see next section), subtypes 15 to 17 make the chests completely empty.

Ice Block

ValkyrieArcSmallIceBlock.png
Certain subtype values will make the normally large ice blocks from Round 6 fun-sized:

00 01 02 03 04
Starting Orientation East West North South Northwest

Flaming Log

ValkyrieArcFlamingLogV.gif
The flaming logs from Round 2 normally only roll to the east. Subtypes 00 and 01 make them roll southward, while subtypes 04 and 05 make them roll to the west.

Signboard

ValkyrieArcRound5SignBugged.png
Subtype 01 should make the signboard from Round 2 display a different set of locations, but the graphics offsets are off by one 32x32 block. Place this code in MAME's valkyrie.xml cheat file to fix it:

  <cheat desc="Fix Signboard Graphics">
    <script state="run">
      <action>slave.mw@11F7A=0x2E0C</action>
      <action>slave.mw@11F7E=0x2E10</action>
      <action>slave.mw@11F82=0x2E14</action>
    </script>
    <script state="off">
      <action>slave.mw@11F7A=0x2E10</action>
      <action>slave.mw@11F7E=0x2E14</action>
      <action>slave.mw@11F82=0x2E18</action>
    </script>
  </cheat>
ValkyrieArcRound5Sign.png


There

Pond of
Growth
Here

Fountain of
Healing

Given the location names, this would have been placed at the split in Round 5: The Fountain of Healing would be the yellow, glowing pool of water to the east, while the Pond of Growth would be the bubbling red spring to the west. Neither body of water does anything special in the final game.


(Translation: Divingkataetheweirdo)
(Source: Original TCRF research)

Unused Items, Weapons, & Spells

Items

Some of the items listed below are entirely unused, while others are either only found through NPCs or only found in chests, not shops. For treasure chests, use the object and subtype modifier codes from the previous section. For shops, place the following code in valkyrie.xml to change the first item in Zuhl's first shop in Round 3 with one of the unused items:

  <cheat desc="Shop Modifier">
    <parameter>
      <item value="0x0405">Lamp</item>
      <item value="0x0408">Gold Key</item>
      <item value="0x010D">Boomerang</item>
      <item value="0x010F">Super Shoes</item>
      <item value="0x0411">Letter</item>
      <item value="0x0113">Item 13</item>
    </parameter>
    <script state="run">
      <action>maincpu.mw@27A60=param</action>
      <action>maincpu.mw@27A62=0x0000</action>
      <action>maincpu.mw@27BE8=param</action>
      <action>maincpu.mw@27BEA=0x0000</action>
    </script>
    <script state="off">
      <action>maincpu.mw@27A60=0x0104</action>
      <action>maincpu.mw@27A62=0x01F4</action>
      <action>maincpu.mw@27BE8=0x0104</action>
      <action>maincpu.mw@27BEA=0x01F4</action>
    </script>
  </cheat>
Item Shop
ID
Chest
ID
Shop
Description
Translation Notes
ValkyrieArcItemLampBig.png ValkyrieArcItemLampSmall.png 05 08 やみよをてらす
ランプ
つかえるかもよ?
A lamp to
light up dark nights.
Maybe you can use it?
In Valkyrie no Bouken, the Lamp was used to light up dark dungeons.
Seems it was meant to come back, but there are no dark areas in this game and the pick-up code is blank.
ValkyrieArcItemGoldKeyBig.png Blank.png 08 N/A なんでも
あく かぎ だよ
This key can
open anything.
The Gold Key is found in a treasure chest in the prison area of Round 4.
The existence of a description and a shop graphic means that Zuhl was supposed to have sold it instead.
ValkyrieArcItemBoomerangBig.png ValkyrieArcItemBoomerangSmall.png 0D 10 N/A The Boomerang weapon uses the 3-Way Shot's code as a placeholder, and even reuses its description in the shop.
There's no palette or graphics for a blue boomerang in either of the object graphics ROMs.
ValkyrieArcItemSuperShoesBig.png ValkyrieArcItemSuperShoesSmall.png 0F 12 0ードアップする
スーパーシューズ
やすく しとくぜ
Super shoes
to boost speed.
I'll make 'em cheap!
(The description is glitched, first line should be "スードアップする")
The Super Shoes would have presumably made the player faster, but they don't do anything in the final game.
Interestingly, they point to a different null subroutine than the other unimplemented items.
ValkyrieArcItemLetterBig.png Blank.png 11 14 N/A The Letter is obtained from an NPC after opening one of the jail cells in Round 4, but both chests and Zuhl's shops have support for it.
While the item does have its own shop graphic, it reuses the Healing Herb's description.
Blank.png ValkyrieArcItem13HUD.png 13 N/A The least implemented of any of the items, all that's left of this one is a HUD icon.
It reuses the Heart Container's image and its description is a completely unrelated piece of text - the intro from Round 1.

Weapons

There are six different entries in the weapon acquisition table that are unused. Place this code in valkyrie.xml to change what the Eternal Sword does on pickup:

  <cheat desc="Change Eternal Sword Function">
    <parameter>
      <item value="0x00">Valkyrie Shot (2 Shots)</item>
      <item value="0x01">Valkyrie Shot (3 Shots)</item>
      <item value="0x02">Kurino Shot (2 Shots)</item>
      <item value="0x03">Kurino Shot (3 Shots)</item>
      <item value="0x04">Fireball Shot (2 Shots)</item>
      <item value="0x05">Fireball Shot (3 Shots)</item>
    </parameter>
    <script state="run">
      <action>maincpu.mb@0922B=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0922B=07</action>
    </script>
  </cheat>

00 and 02 are identical to Valkyrie and Kurino's starting weapons, while 01 and 03 just increase the max number of shots on-screen.

The presence of these entries suggests that the projectile weapons were something that the player had to earn rather than start with, and that they could possibly be upgraded later on.

ValkyrieArcFireballShot.gif
The Fireball Shot (another reference to Valkyrie no Bouken) acts identically to Valkyrie's normal shot; the only difference is the appearance. 04 has a two-shot maximum, while 05 maxes out at three.

Spells

There's a single unused spell in the game. Put the following code in valkyrie.xml and speak to the debug Baba-sama to learn the spell:

  <cheat desc="Baba-sama Spell 7">
    <script state="run">
      <action>maincpu.mb@26F35=0xFE</action>
    </script>
    <script state="off">
      <action>maincpu.mb@26F35=0x7E</action>
    </script>
  </cheat>

ValkyrieArcSpell7Icons.png
This spell's subroutine is the same as the Option magic, so it works identically to that spell. The only thing unique to this spell is the selection icon.

This would probably have been taught to the player in Round 6, the only round where Baba-sama doesn't appear other than the final round.

(Source: Original TCRF research)

Unused Graphics

ValkyrieArcSubtitle.png
An unused subtitle: 黄金の種 translates to "The Golden Seed", the mythical object that the game's plot revolves around. Valkyrie no Bouken's subtitle was named after its main mcguffin, the Time Key, so it would've made sense for this game to follow suit, but alas.


(Source: Coin-op Legacy)

ValkyrieArcCursorHShadows.png ValkyrieArcCursorV.png
The cursor used on the Continue screen has drop-shadows drawn, but they don't appear in-game. The vertical cursor is entirely unused.

ValkyrieArcValkyrieRunJump.gif ValkyrieArcKurinoRunJump.gif
Valkyrie and Kurino have unused animations of what looks like running and leaping into the air. Might be related to the dummied-out Super Shoes.

ValkyrieArcItemEternalTridentSmall.png
Valkyrie and Kurino use the same blue & yellow sword icon for their Eternal weapons, even though Kurino uses a trident. There's a HUD graphic for the Eternal Trident in the second object graphics ROM, but the game only permits one icon per item, and the Eternal Sword and Eternal Trident use the same item ID.

ValkyrieArcUnusedSpellIcons.png
Two unused spell icons for Kurino that have no associated code. Kind of hard to tell what they'd be, too. Maybe the second one is a double jump? There are no equivalent icons for Valkyrie.

ValkyrieArcGirlWalkNS.gif
The girl from the start of Round 1 has animations for walking up and down, but she only walks westwardly.

ValkyrieArcWomanBlink.gif ValkyrieArcWomanNW.gif
The woman NPCs from Rounds 1, 3, and 4 have talking animations and two walking animations that go unused. This is going to happen a lot, buckle up.

ValkyrieArcBabaSamaIdle.png
Baba-Sama always uses her talking animation; this idle sprite is never seen in-game.

ValkyrieArcZuhlNoBag.gif ValkyrieArcZuhlBagNW.gif
Sprites for Zuhl walking in five different orientations... and without his pedder's pack!

ValkyrieArcMagicObjectsShattered.png
The magic tree, rock, and crystals have unused shattered versions that would have appeared after they took enough damage, but they never got around to coding that.

ValkyrieArcDoublePlatforms.png
Wide and tall floating platforms that match the designs of the larger ones seen at the end of Round 1.

ValkyrieArcClockTowerFull.png
The clock tower at the end of Round 1 is cut-off at the top in-game, leaving the blue roof unseen.

ValkyrieArcThirstyGuyHappy.gif
There's this thirsty towheaded fellow in Round 2; his only purpose is to hint at a hidden spring to the north where the player can get the Cyclone spell. Seems that at one point you'd be able to actually give him the water, but his sprite disappears by the time you get to the spring and there's nothing in the game's code to display this animation anyway.

ValkyrieArcRound3RedStones.png
Unused red rock walls (floors?) for use in Round 3.

ValkyrieArcSabineJump.gif ValkyrieArcSabineAttack.gif
Sabine has animations for jumping and for some sort of attack that are never called for. Sabine (or some Quarkman, anyway) was a playable character candidate back when Valkyire no Densetsu was meant to have 4-player support, which might explain the existence of these sprites.

(Source: Monthly Arcadia #120, May 2010, pp. 89)

ValkyrieArcMiniScorpion.png
A smaller version of the Magma Dokusasu boss from Round 3. They didn't put a lot of effort into its sprites before scrapping it.

ValkyrieArcBombYellow.png
Both player characters get black bombs, and enemies get red bombs. Nobody wants the yellow bombs.

ValkyrieArcEarthwormSplit.gif ValkyrieArcMiniEarthworm.gif
The Earthworm enemies have an unused animation for splitting in two, which would probably explain the also unused smaller earthworm sprites.

ValkyrieArcOldManIdle.png ValkyrieArcOldManWalkNW.gif ValkyrieArcOldManCane.png

The old man in Round 6 has a bunch of unused animations: One for idling, two for walking, and three for posing with his cane like a crazy old man. What's that about?

(All other graphics: Original TCRF research)

Unused Areas

Round 1

ValkyrieArcRound1UnusedHouse.png
There's a house to the left of the muddy water at the start of Round 1, but the camera is locked to the left so the player doesn't get to see it. Put the following code in valkyrie.xml and activate it to expand the left camera bound:

  <cheat desc="Round 1 House">
    <script state="run">
      <action>maincpu.mb@1F8D8=0x04</action>
    </script>
    <script state="off">
      <action>maincpu.mb@1F8D8=0x05</action>
    </script>
  </cheat>

Unlike the other two houses in Round 1, this doesn't have any warp data. It's just a piece of stage dressing without an owner.

Round 4

Used Full
ValkyrieArcRound4StartUsed.png ValkyrieArcRound4StartFull.png

There's a bridge south of the starting point of Round 4 that's normally unseen.

ValkyrieArcRound4StartAlt.png
This isn't technically unused -- it appears in the background on the rooftop area of Round 4 -- but it's zoomed out far enough that the player can't make out the details of these stone bridges. Here they are.

Round 6

There's about eight more screens at the start of Round 6 that the game skips past. Put this code in valkyrie.xml to expand the lower camera bound:

  <cheat desc="Full Round 6">
    <script state="run">
      <action>maincpu.mw@219C6=0x1100</action>
    </script>
    <script state="off">
      <action>maincpu.mw@219C6=0x0F00</action>
    </script>
  </cheat>
Used Full
ValkyrieArcRound6StartUsed.png ValkyrieArcRound6StartFull.png

... not that there's much here to see besides a few more ice pillars. No objects back here either.

(Source: Original TCRF research)

Unused Text

Put the following code in MAME's valkyrie.xml cheat file (man, there are a lot of these) to replace the Round 1 intro text with an unused message:

  <cheat desc="Intro Text Modifier">
    <parameter>
      <item value="0x0E">Unused Message 1</item>
      <item value="0x17">Unused Message 2</item>
      <item value="0x26">Unused Message 3</item>
    </parameter>
    <script state="run">
      <action>maincpu.mb@323F7=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@323F7=0x01</action>
    </script>
  </cheat>
ID Text Translation Notes
0E
ValkyrieArcText0E.png
Thank you
so much
for coming.
Zuhl should say this after purchasing something, but instead he says nothing. Rude.
17
ValkyrieArcText17.png
You've done well until now,
but it ends here today!
We'll see you next time!
Later!
This reads like text for a location test version of the game.
26
ValkyrieArcText26.png
Fight against
three monsters
here and show
your strength!
This would be used in the Strength Test room, which has three types of monsters and six monsters total.
Used Alt
ValkyrieArcText01Used.png
Please, you two,
use your powers
to save the world.
ValkyrieArcText01Alt.png
Please,
use your powers
to save the people.

An alternate version of the second intro message is in the ROM, but unlike the previous three unused messages, it's completely unreferenced and has no text ID. Use this MAME code to replace the used message with the alternate version:

  <cheat desc="Alternate Intro Text">
    <script state="run">
      <action>maincpu.mw@325C6=0x2AEE</action>
    </script>
    <script state="off">
      <action>maincpu.mw@325C6=0x2AA6</action>
    </script>
  </cheat>
Used Full
なんと いうことだ。 しかたがないなー。
きせきでもおこればかてるじゃろ。
なんと いうことだ。 しかたがないなー。
きせきでもおこればかてるじゃろ。
さっさっといくがよい。
Used Full
You've got to be kidding. Oh, well...
You could still win, but it'll take a miracle.
You've got to be kidding. Oh, well...
You could still win, but it'll take a miracle.
Now go, quickly.

The complete failure message for the Round 7 slider puzzle only uses two lines in the final game, but there's a third line in the game's code. Put the following code in valkyrie.xml to see the third line:

  <cheat desc="Full Slider Puzzle Failure Text">
    <script state="run">
      <action>maincpu.mb@1EFAB=0x03</action>
    </script>
    <script state="off">
      <action>maincpu.mb@1EFAB=0x02</action>
    </script>
  </cheat>

The third line was likely removed because it partially erases both players' HUD item graphics.


(Source: Coin-op Legacy)
(Translation: Divingkataetheweirdo)
(MAME codes: Original TCRF research)

Source Labels and Filenames

Source filenames found in various places in the sound CPU ROMs.

Labels

Anything enclosed in brackets is reconstructed.

[v]al2
val3
val4
[run]7
run8
run9
run10
run11
[pi]n2
pin3

Filenames

These are from the FM data sources:

ydtop.R
gtop.R
peg.R
vd.R
lfo.R
init.R
run1.R
run2.R
run3.R
alrt1.R
coin1.R

These are from the PCM data sources:

psgtop.R
gtop.R
aeg.R
peg.R
wave.R
lfo.R
pan.R
voice1.R
voice2.R
lrtest.R
init.R
run1a.R
run1b.R
run2a.R
run2b.R
run3a.R
run3b.R
strt1a.R
strt1b.R
bol1a.R
twn1a.R
twn2a.R
twn2b.R
twn3a.R
twn3b.R
rvl1a.R
rvl1b.R
rvl2a.R
rvl2b.R
rvl3a.R
rvl3b.R
rvl4a.R
rvl4b.R
zeni1.R
und6a.R
und6b.R
und7a.R
und7b.R
und3a.R
und3b.R
und4a
(Source: Original TCRF research)