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

PuLiRuLa (Arcade)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

PuLiRuLa

Developer: Taito
Publisher: Taito
Platform: Arcade (Taito F2)
Released internationally: 1991


AreasIcon.png This game has unused areas.
DevMessageIcon.png This game has a hidden developer message.
EnemyIcon.png This game has unused enemies.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.


PuLiRuLa is a beat-em-up that starts out innocently enough before drop-kicking the player into a pit of madness.

Debug Functions

Stage Select

PulLiRuLa (Arcade)-Round Select.png

After booting the game, hold the service switch and reset the game. Afterward, a service SW error screen should appear. Immediately release those buttons, very quickly press Start x 3, Service, then Start, and the game should show the above round select. The game will then proceed as normal, though don't select "No Use".

Due to the insanely tight timing required, savestates for both versions to allow instant access to the round select are provided below.

Download.png Download Round Select - PuLiRuLa
File: Pulirula-RS-State1.rar (info)


Exception Handler

PulirulaArcExceptionHandler.png
This game has a basic exception handler that displays the exception name and the values of the program counter and data/address registers at the time of the crash.

Debug Menu Routines

The game originally had a test menu with six different debug functions, but most of the code to set up the menu was gutted before release. All that's left of the menu is a table of subroutine addresses at 0x57EE0, a set of input checks at 0x57EF8, and the following text at 0x57FA6 (Lyric is an early game title):

LYRIC TEST MODE
HARDWARE
OBJECT
SCREEN
MASK
COLOR
PIVOT

Note that "HARDWARE" is the game's standard test mode (Color bars + input test, dip switch display, and sound test). Put the following code in pulirula.xml to change the hardware test to one of the unused tests:

  <cheat desc="Change Test Mode Function">
    <parameter>
      <item value="0x000097D0">Object Viewer</item>
      <item value="0x000588BC">Screen Test</item>
      <item value="0x0005887E">Mask Test</item>
      <item value="0x00041DEA">Pivot Test</item>
    </parameter>
    <script state="run">
      <action>maincpu.mw@57EDC=4EF9</action>
      <action>maincpu.md@57EDE=param</action>
    </script>
    <script state="off">
      <action>maincpu.mw@57EDC=4EFA</action>
      <action>maincpu.md@57EDE=010E0005</action>
    </script>
  </cheat>

Object

PulirulaArcObjectDebug.png
A simple object (frame) viewer with a few quirks:

  • The digits for Color, H Size, and V Size data are incorrectly flipped horizontally and vertically.
  • H Size and V Size data are always listed as C0 and 00 respectively.
  • For some reason, this object viewer can only load palettes 00-25, and 80-BF, even though palettes 26-3F and C0-FF are also reserved for sprites.

Controls

  • 1P Left / Right: Changes the current graphic (Once per 10 frames)
  • 1P Up / Down: Rapidly changes the current graphic (Once per frame)
  • 1P Button 1 / Button 2: Changes the current palette.

Screen

PulirulaArcScreenDebug.png
Tests how the game displays background graphics. There are no controls on this screen.

Mask

PulirulaArcMaskDebug.png

Displays the contents of the "Mask" graphics bank. This doesn't have controls either.

Color

No longer exists in the ROM. Presumably worked like the Color Test Modes in fellow Taito F2 games Final Blow and Megablast.

Pivot

PulirulaArcRotationDebug.png
Should be used to test the game's zooming and rotating capabilities, but the game doesn't load anything to zoom or rotate here.

Controls

  • 1P Up / Down: Moves cursor.
  • 2P Left / Right: Adjusts the current variable by 0001.
  • 2P Up / Down: Adjusts the current variable by 0100.
  • 2P Button 1: Inverts the current variable.
  • 2P Button 3: Clears the current variable.

Edit Mode / Object Test

PulirulaArcEditMode.png
A tool that allows the user to spawn in a number of different objects, including power-ups, magic, enemies, and projectiles...using a puppy as a cursor. Put the following code in pulirula.xml and enable it to replace the player's magic summons with the debug puppy:

  <cheat desc="Debug Summon">
    <script state="run">
      <action>maincpu.md@0EEFC=428041F9</action>
      <action>maincpu.md@0EF00=00071FE2</action>
    </script>
    <script state="off">
      <action>maincpu.md@0EEFC=41FA0240</action>
      <action>maincpu.md@0EF00=20700000</action>
    </script>
  </cheat>

Controls

  • 1P/2P Joystick: Moves the puppy.
  • 1P/2P Button 1: Spawns object at the puppy's position.
  • 1P/2P Button 2: Increases Z position of the puppy.
  • 1P/2P Button 3 + Left / Right: Switches between objects.
  • 1P/2P Button 3 + Up / Down: Changes the text under the object name. This doesn't seem to have any effect on the player or the objects spawned.

PulirulaArcObjectTest.png
If an "OBJ TEST" is spawned in, the game switches to an object test mode that's similar in function to the aforementioned object viewer. The difference here is that digits are displayed correctly and that the H Size and V Size stats actually update properly.

Controls

  • 1P/2P Button 3: Exits the menu.
The other controls are identical to the object viewer menu.

Running Debug Tools

Put this code in pulirula.xml to enable one of two running debug functions:

  <cheat desc="Running Debug Tools">
    <parameter>
      <item value="0x000021B6">Palette Editor</item>
      <item value="0x0003C328">Unknown Tool</item>
    </parameter>
    <script state="run">
      <action>maincpu.mw@010C4=4EB9</action>
      <action>maincpu.md@010C6=param</action>
      <action>maincpu.mw@010CA=6010</action>
    </script>
    <script state="off">
      <action>maincpu.md@010C4=082D0002</action>
      <action>maincpu.md@010C8=AC146710</action>
    </script>
  </cheat>

Palette Debugger

PulirulaArcPaletteEditor.png
Allows the user to view and edit palettes on the fly. Put the following code in the XML and enable it to access the editor:

Controls

  • 1P Left / Right: Moves the cursor.
  • 1P Up / Down: Adjusts the selected RGB value.
  • 1P Button 1 / Button 2: Switches between palettes.

Unknown Tool

PulirulaArcUnknownDebug.png
The three strings should say "Pattern No.", "Reverse", and "Silk Hat", but since this game doesn't have a lower-case font it mostly displays garbage text instead. "Reverse" is set to 01 after defeating a boss, but the other two parameters never change.

In all likelihood, this is a tool that was leftover from some other game, but at this time it's not clear which game that would be.

Leftover Debug Text

  • Text for a possible map viewer starts at 0x0A06C. All four strings are referenced in a table at 0x0A05C, but the table itself is orphaned data.
SCROLL STOP  
SCROLL START 
 ROUND  CLR  
WANDER ENEMY1
  • The following text starts at 0x1331E and all strings are referenced in a table at 0x132FA:
Text Translation
KABE 1       
KABE 2       
HITO 1       
HITO 2       
HITO 3       
HITO 4       
KUSARI       
HAGURUMA     
KABOCHA      
WALL 1       
WALL 2       
PERSON 1     
PERSON 2     
PERSON 3     
PERSON 4     
CHAIN        
GEAR         
PUMPKIN      

These are objects labels for Round 1: The two "wall" objects are mask sprites for the two doors, "person" would be the NPCs, "chain" and "gear" are both sprites used in the underground section, and "pumpkin" is what the power-up fairies are stored in.


(Stage select code: RyogaMasaki)
(Everything else: Original TCRF research)

Easter Eggs

Title Screen Codes

PulirulaArcTitleCodes.png
Wait for the title screen to stop animating, then enter one of the following codes using 1P's buttons:

Button Code Message
AJAJAJRS ORIGINAL GAME
LJLSLALS POWER UP ....

(A is Attack, J is Jump, and S is Start.)

These codes and their associated messages are identical to two of the cheats in Bubble Bobble. They don't actually do anything in this game, though. They're just jokes.

High Score Names

PulirulaArcHighScoreNames.png
Like most Taito games, if the player tries to put the name SEX in the high score table, it will be overwritten by a different name. In this game, the game cycles between the replacement names SNO, YAS, YOS, and NIN.

Strangely, the game also filters the name MTJ, replacing it with --- if entered. MTJ would be Fukio Mitsuji, best known for designing Bubble Bobble and Rainbow Islands; by this point he had left Taito to do freelance work for other companies.

Lyrics

PulirulaArcLyrics.png
After beating the game, during the last bits of dialogue before the credits, press Up Up Down Down Left Left Right Right using 1P's joystick to display a set of lyrics on the bottom of the screen.

Text Translation
そばに そばに きてほしいのに I want you to come by my side,
そばに そばに きてほしいのに I want you to come by my side,
とりあえず おどろうよ but let's dance for now
チャ チャ チャ Cha cha cha
ときめいている ときは すぐに The instant you are having a crush,
いまなら まにあう わたしをみて you'll be looking for me sometime now.
はやく はやく ふたりでねがえば Hurry up. Hurry. If we are together,
あなたとなら どこへでも Wherever you are,
いける わたし I'll go with you.
すきよ すきよ わたしとふたりの I like you, I like you. You and me together...
あなたが だいすき I love you

There's a hidden credit for these lyrics at 0x407D0:

 IT IS LOVE LYRIC 
  by TEDDY KOIKE 

Takahiko "Teddy" Koike was a programmer at Taito who also worked on Cameltry and Dynamite League.


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

Unused Round

PulirulaArcRound7Game.png
Put this code in pulirula.xml and enable it to replace Round 6 with an unused round layout:

  <cheat desc="Unused Round">
    <script state="run">
      <action>maincpu.md@0507C=000C0004</action>
      <action>maincpu.mw@2758C=75C2</action>
      <action>maincpu.mw@3802C=81B8</action>
    </script>
    <script state="off">
      <action>maincpu.md@0507C=000BA284</action>
      <action>maincpu.mw@2758C=8F7E</action>
      <action>maincpu.mw@3802C=814C</action>
    </script>
  </cheat>

(Disclaimer: The layout is the only thing left in the ROM. Object data, collision data, and camera data are all missing. The MAME cheat above changes the object and collision pointers to null data to make the round, such as it is, easier to traverse.)

PulirulaArcRound7.png
This round is a glacial area with giant snowflakes on the ground and massive ice spires in the back. The OST has a BGM for a "snowfield" stage as Round 8 -- which fits the theme of this unused area -- though that track's placement in the actual game comes directly after Round 6.

Three of the 128x128 chunks here use incorrect palette assignments, and one of the chunks near the end was repurposed for Round 6. Blocks with the kanji 謎, or "mystery", mark where unfinished scenery-based chunks would go.

(Source: Original TCRF research)

Unused Objects

Alternate Puppeteer Fight

Put the following code in MAME's pulirula.xml cheat file and enable it to swap the boss fight at the end of Round 1 with an earlier version:

  <cheat desc="Alt Puppeteer Fight">
    <script state="run">
      <action>maincpu.md@27866=000D000F</action>
    </script>
    <script state="off">
      <action>maincpu.md@27866=0013000A</action>
    </script>
  </cheat>
  • The hitbox for the early puppeteer is broken; its horizontal position is correct, but its Y position is always at the bottom of the screen. To be able to hit it at all, the player needs to scroll the screen up all the way before the fight begins.
  • The early puppeteer is able to jump in place, while in the final game he's always moving back and forth.
  • The early puppeteer can only move in the four cardinal directions, but in the final fight he's able to move diagonally.
  • The puppeteer always spins three times, while in the final game he spins one to two times.
  • Each spin lasts 22 frames in the earlier fight and 16 frames in the final fight.
  • The puppeteer doesn't have the jumping and spinning attack that he has in the final fight.
  • The puppeteer gets stunned every time he's hit in the earlier fight.
  • The puppeteer needs at least 15 HP for his palette to display properly. The final puppeteer only has 10 HP.

PulirulaArcPuppeteerAlt.png

  • The biggest difference: At the end of the fight, the puppeteer is transformed into a random animal...then the puppet boss fight from Round 6 starts! In this version of the boss fight, the puppet only has 5 HP. Otherwise, this is identical to the puppet boss fight from Round 6, including the puppet dropping the time key and two pumpkins after it's defeated.

Crystal Animals

PulirulaArcCrystalAnimalsGame.png
Put the following code in pulirula.xml and enable it to spawn a set of crystallized animals at the start of Round 2:

  <cheat desc="Crystal Animals">
    <script state="run">
      <action>maincpu.mw@2796C=00D0</action>
      <action>maincpu.mw@27970=0050</action>
      <action>maincpu.md@27972=0002001C</action>
      <action>maincpu.mw@2797E=0110</action>
      <action>maincpu.mw@27982=0040</action>
      <action>maincpu.md@27984=0002001D</action>
      <action>maincpu.mw@27990=0130</action>
      <action>maincpu.mw@27994=0050</action>
      <action>maincpu.md@27996=0002001E</action>
      <action>maincpu.mw@279A2=0160</action>
      <action>maincpu.mw@279A6=0050</action>
      <action>maincpu.md@279A8=0002001F</action>
    </script>
    <script state="off">
      <action>maincpu.mw@2796C=01D0</action>
      <action>maincpu.mw@27970=0020</action>
      <action>maincpu.md@27972=00010000</action>
      <action>maincpu.mw@2797E=01D0</action>
      <action>maincpu.mw@27982=0030</action>
      <action>maincpu.md@27972=00010000</action>
      <action>maincpu.mw@27990=0070</action>
      <action>maincpu.mw@27994=0020</action>
      <action>maincpu.md@27972=00010000</action>
      <action>maincpu.mw@279A2=0070</action>
      <action>maincpu.mw@279A6=0030</action>
      <action>maincpu.md@27972=00010000</action>
    </script>
  </cheat>

PulirulaArcCrystalAnimals.png
There's a squirrel, a monkey, a deer, and a tiger. They were meant to be placed in a cut area of Round 2 - see the unused text section for details. They're just decorative objects and as such have no hitboxes.

Fountain

PulirulaArcFountainGame.png
Place the following code in the xml and enable it to spawn a large fountain at the start of Round 5:

  <cheat desc="Round 5 Fountain">
    <script state="run">
      <action>maincpu.md@28986=01C0FFE0</action>
      <action>maincpu.mw@2898E=0020</action>
    </script>
    <script state="off">
      <action>maincpu.md@28986=00100000</action>
      <action>maincpu.mw@2898E=0013</action>
    </script>
  </cheat>

PulirulaArcFountain.png
This dried-up fountain would reinforce the parched nature of the frozen town. Like the crystallized animals, it has no hitbox, which means that the player can just phase right through it.

(Source: Original TCRF research)

Unused Graphics

PulirulaArcPlayerStatues.png
Frame Names: BL_P1M01, BL_P2M01.

Petrified versions of Zac and Mel. There aren't any enemies in the game that can freeze players like this.

PulirulaArcOldManAnim.gifPulirulaArcOldManLook.png
Frame Names: BL_GGA2, BL_GGA3, BL_GGB1.

The old man has unused animations for handing something over (meant for the story sequence in attract mode) and for turning around (meant for the opening of Round 1 as Zac and Mel exit his house).

PulirulaArcSmokeSkull.png
PulirulaArcSmokeSkullDissipate.png
Frame Names: BL_MDK1 to BL_MDK11.

A skull-shaped smoke cloud that would bite down on the player. There's no palette that fits this in the ROM, so this is just a mock-up.

PulirulaArcExclamation.gif
Frame Names: BL_SHOCKF1, BL_SHOCKF2.

A standard exclamation graphic. Plenty of opportunities to use it in this game, but surprisingly(!), it never shows up.

PulirulaArcUnusedText.png
Frame Names: BL_TYPSTAT, BL_TYPCONT, BL_TYPOVER, BL_TYPBOSC

Multiple graphics using the same font as the one seen in the bonus stage of Round 5. The game uses the standard font for the continue and game over screens, and doesn't display any text for starting or clearing rounds.

Used Alt
PulirulaArcSoldierNWUsed.gifPulirulaArcSoldierSWUsed.gif PulirulaArcSoldierNWAlt.gifPulirulaArcSoldierSWAlt.gif

Frame Names: BL_E01WDB1 to BL_E01WDB6, BL_E01WUB1 to BL_E01WUB6.

An alternate, more menacing design for the mechanical soldiers seen throughout the game. Features a pointier, executioner-style hood and sunken eyes.

PulirulaArcJellyfishAttack.gif
Frame Names: BL_UNAT1 to BL_UNAT4.

The jellyfish don't have any attacks in game, opting to just float into the player instead, but it does have an animation for some kind of lashing or latching attack.

PulirulaArcRound6IntroSprites.png
Frame Name: N/A

Background patch sprites that match the style of Round 6.

In-Game Intended
PulirulaArcRound6Intro.png PulirulaArcRound6IntroFix.png

These are supposed to be used at the very start of the stage, and there's clearly space made for these sprites in the background itself, but the game just leaves that space blank instead.

In-Game Full Original
PulirulaArcLionCovered.png PulirulaArcLionEatingSun.png PulirulaArcLionPainting.jpeg

Frame Name: N/A

There's a strange, garishly-colored image that appears just above the drop to the boss arena in Round 6. While normally covered up by a foreground layer, there's a full 320x256 image underneath that layer. Some details that are normally covered up are all of the trees and most of the landscape on the left, most of the lion's lower body, and some of the clouds and sky in the upper-left. The bottom 32 pixels worth of content is just a reflection of the top image.

This is directly based off of a woodcut from the Philosophia reformata, which is itself based on Illustration 18 of the Rosary of the Philopshers. For some reason, the version used in Pulirula gives the lion a unicorn horn.

(Source: Original TCRF research)

Unused Audio

Music

ID Track OST Name Translation
0C
地下用BGM -Radio Tone- Underground BGM: -Radio Tone-
Unused text for Round 1 hints that the underground section of town would last much longer, explaining the existence of two different underground songs.
13
BGM6 エッシャーワールド BGM6: Escher World
While "Escher World" is a good description for the Escher-inspired Round 6, the track it uses is called Cave of Confusion (混乱の洞窟).

It's not clear if the Cave of Confusion was cut and the track reassigned, or if Escher World and Cave of Confusion were combined into a single round.
15
BGM8 雪原・記憶の森 BGM8: Snowfield - Forest of Memories
In all likelihood, this is the track meant for the unused frozen area left in the ROM, which would be either Round 7 or Round 8.
16
BGM7 空・雲上 BGM7: Sky - Above the Clouds
A sky-themed world that would come either before or after the ice level. There's no content related to such a round in the ROM, though.
1A
特殊魔法 子守唄BGM Special Magic - Lullaby BGM
This would presumably be used for a magic spell that would make enemies fall asleep.
1D
ラウンド間つなぎBGM Inter-Round Link BGM
While the title of this track suggests it would be used for the world map, the map plays a track called "Round Clear" instead.

It's possible that the tracks were swapped at some point, and then this one was left unused.

Sound Effects

ID Sound
24
26
30
34
40
49
4C
51
56
59
72

These sound effects are unused. Don't that beat all? Sound 51 is used in the Round 5 boss fight BGM, but it only plays about half a second of the three second long sample.

Unused Text

Cacti may speak Japanese, but do they speak it well?
...But does it make sense?
The translations on this page need to be proofread. If you are fluent enough in this language, please make any corrections necessary!

To see all of this text in-game requires a fair bit of setup. First, put the following code in pulirula.xml to switch between English (World) and Japanese text:

  <cheat desc="Region Switch">
    <parameter>
      <item value="0x0003">World</item>
      <item value="0x0001">Japan</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mw@7FFFE</action>
    </script>
    <script state="run">
      <action>maincpu.mw@7FFFE=param</action>
    </script>
    <script state="off">
     <action>maincpu.mw@7FFFE=temp0</action>
    </script>
  </cheat>

Some lines of text are referenced in unused dialogue boxes. Put the following code in the xml file and enable it to replace the dialogue at the start of Round 4 with unused dialogue:

  <cheat desc="Unused Dialogue">
    <parameter>
      <item value="0x0001">Dialogue 01</item>
      <item value="0x0002">Dialogue 02</item>
      <item value="0x0003">Dialogue 03</item>
      <item value="0x000F">Dialogue 0F</item>
      <item value="0x0010">Dialogue 10</item>
      <item value="0x0011">Dialogue 11</item>
    </parameter>
    <script state="run">
      <action>maincpu.mw@282BE=param</action>
    </script>
    <script state="off">
     <action>maincpu.mw@282BE=0x0005</action>
    </script>
  </cheat>

However, the majority of unused text is unreferenced. Place and enable this code in the xml to replace the old man's first line in Round 1 with an unused line:

  <cheat desc="Text Replacement - JP">
    <script state="run">
     <action>maincpu.md@0CDD6=0x0002E0FA</action>
    </script>
    <script state="off">
     <action>maincpu.md@0CDD6=0x0002DC5A</action>
    </script>
  </cheat>
  <cheat desc="Text Replacement - EN">
    <script state="run">
     <action>maincpu.md@0CDE6=0x00031F76</action>
    </script>
    <script state="off">
     <action>maincpu.md@0CDE6=0x000315C4</action>
    </script>
  </cheat>

Including pointers for all unused lines would make these codes far too unwieldy; to see more, replace either "2E0FA" (JP) or "31F76" (EN) with the appropriate Japanese or English text offset.

A few notes:

  • The dialogue box code defines the color of the message window on a line-by-line basis. This means that unreferenced lines have no color data.
  • In the Japanese script, there are certain lines that change depending on who's currently in the game. The first line is used for Zac and co-op games, while the second line is only used in a solo Mel game.
In the final game, this feature is only used twice: Once at the end of Round 1, and again at the end of Round 2. The English script doesn't use this feature at all.
  • Some lines from the final script have been included here for context.

Traveler

PulirulaArcTraveler.png

This traveler character only appears at the start of Round 1 and has a single line of dialogue. However, unused text hints that he would have show up in Rounds 2, 3, and 4:

Round 2
0x2E0FA Translation 0x31F76
 このあいだ行った街は、
とても変な所だったなあ…
 先の山をこえ所さ。
The town I was in the other
day was very strange…
It's just over the mountain.
 The town I was in there
the other day was a very
strange place…
0x32008
The place is where you
go over a mountain
located ahead.
Round 3
0x2E144 Translation 0x3209A
 はとんどの街がおそわれ
て、残すはここをいれても
2、3の街だけだね。
Every town in the world has
been attacked. Counting this
one, there are only 2 or 3 left.
 As almost all towns
have been attacked,
 
0x3212C
only 2 or 3 towns
including here remain.
 
Round 4
0x2E18E Translation 0x321BE
 時間が止まってしまって
水が来なくて干上がっちゃ
った所があるそうだよ。
It seems that there's a place
that's dried up because time
froze and stopped the flow
of water.
 As the time stopped and
no water was spplied,
they say,
0x32250
some places ran dry.
 
 

There are no lines for Round 5 (Time is frozen there, so it wouldn't make sense for him to be walking around) or Round 6 (The final round, so he wouldn't have anything to say).

Round 1

0x2DE60 Translation 0x319C2
この街は大丈夫かしら? I wonder, is this town
going to be safe?
 Is this town out
of danger?

All NPCs at the start of Round 1 have extra dialogue. This is an extra line for the mother...

0x2DEF4 Translation 0x31A54
 時のネジの所へ行くの?
あっ知ってる!この先の
マンホールのなかでしょ⁉
Are you going to the time
key? Oh, I know! Isn't it in
the manhole up ahead⁉
 Do you go to the place
of time key?
0x31AE6
Ah, I know! It is in a
manhole located ahead,
isn't it?!

...and one for her daughter. Both of these lines would have been used after the puppeteer invaded, meaning that the NPCs either weren't planned to run away at the start, or they'd be encountered again later in the round.

0x2DF3E Translation 0x31C0A
 この子はこうやってあや
してないとすぐ泣くのよ。
The baby cries easily if I
don't soothe him like this.
 This baby will cry soon
if I don't play with him
in this way.
0x2DF88 Translation 0x31C9C
バブ、バブ……。 Goo goo gaa gaa…… Bab, bab…

The grandmother and her grandchild are the only NPCs in Round 1 that can't be interacted with, even though they have lines in the script.

0x2DD38 Translation 0x3177A
 悪い奴らはあっちへ行っ
たよ!
The bad guys went that way! Bad men went away!
0x2DD82 Translation 0x3180C
急いで!! Hurry up!! Hurry up!
0x2DDC8 Translation 0x3189E
あやしいやつが、し
たへはいっていったよ!
Some suspicious-looking
guy just went down there!
 A man of suspicious
character entered down!

Dialogue for a seemingly removed NPC.

0x2DFD2 Translation 0x31D2E
 いらっしゃい!
これなんかどうかね?
Welcome!
How about this one?
 Can I help you!
How about this?
0x2E01C Translation 0x31DC0
 その手に持っているもん
はなんだい?
 売るんなら引きとるよ。
What's that thing you're
holding in your hand?
If you wanna sell it, I'll take it.
 What's that held in
your hand? If you sell
it, I'll take it.
0x2E066 Translation 0x31E52
 買わないのかい?
 ひやかしならあっちへ行
きな!
You're not gonna buy it?
If you're just here to browse,
then get out of here!
 Don't you buy it?
If so, go away!

Either there was supposed to be a shop system in this game (Highly unlikely, since there's no currency or items in this game, and there aren't any messages for purchasing an item) or this would have been used after the puppeteer enters that building in the middle of Round 1.

0x2C4A6 Translation Dialogue #11 (EN)
 ついにこの街の順番がや
ってきたのだ!
 ケケケケ…
At last, it's this town's turn!

Kekekeke…
 At last the turn of
this town came round!
 Cackle,Cackle…
0x2C4F0 Translation 0x2E54A
何をするっ!? What are you gonna do!? What did you do!!
0x2C53A Translation 0x2E5DC
 ケケケケ…どけえぇっ!
じゃまだぁ!!
Kekekeke…Move iit!
You're a nuisaance!!
 Cackle, Cackle, get out
of my way!
Don't bother me!

A cut conversation between the puppeteer and the player(s) that would have played out at some point before entering the underground area. The first English line is referenced in dialogue 11, but the Japanese line is not.

0x2C5CE Translation 0x2E700
何をしている!! What the hell are you doing?! What are you doing!!
0x2C618 Translation
何をしているの!! What are you doing?!
USED (JP) Translation USED (EN)
 このネジはオレがもらっ
ていくぜ!
I'm taking this key! I'll take this key!
0x2C6AC Translation 0x2E824
そうはさせないぞ!! I won't let you do that!! I'll stop you doing so!
0x2C6F6 Translation
そうはさせないわ!! I won't let you!!

Some extra lines from the players before the first boss fight. Not that important, so they were a good choice to cut.

0x2C740 Translation 0x2E8B6
あっ、まてえ!! Ah, waait!! Aak, wait!!
USED (JP) Translation USED (EN)
 しまった!
時が止まってしまった!!
Damn it!
Time has stopped!!
 Damn it!
The time stopped!
0x2C7D4 Translation 0x2E9DA
じゃあ、街は今ごろ…!! So, the town is now…!!  In that case, the town
is now…
0x2C81E Translation 0x2EA6C
 急いであいつからネジを
取りかえさなくちゃ!
We have to hurry and take
the key back from that guy!
 It's necessary to get
the key back from him in
a hurry!

A longer conversation that would play out after beating the puppeteer. Pretty much unnecessary, since all of the information presented here would be restated once the players go back above ground.

Round 2

Dialogue #01 (JP) Translation Dialogue #01 (EN)
 この山をこえたらとなり
の街へでるはずだ。
If we head over this
mountain, we should be
able to reach the next town.
 Going over this
mountain will lead to
the next town.
Dialogue #01 (JP) Translation Dialogue #01 (EN)
 それにしてもこんな山、
みたことないなあ。全体が
水晶でできてるなんて。
But I've never seen a
mountain like this before. The
entire thing is made of crystal.
 But I've never seen such
mountain that all of it
is made of crystal.

Just the player characters pontificating at the start of the stage.

Dialogue #02 (JP) Translation Dialogue #02 (EN)
 ここは、動物が人知れず
死をむかえる場所です。
This is a place where
animals go to die in
solitude.
 Here is the place where
animals will die in
secret.
Dialogue #02 (JP) Translation Dialogue #02 (EN)
 この神聖な場所まであら
されています。
Even this sacred place
has been devastated.
 Even this sacred place
has been disturbed.

Text from a cut area, the same one in which the unused crystal animals would appear. The window color is used by talking animals, so this would have appeared after beating a group of enemies.

0x2CAB8 Translation 0x2EEFC
 この先、おくふかい所に
親玉のクリスタル・メデュ
ーサがいるはずです。
Further ahead, in the depths
of this place, you should find
the boss, Crystal Medusa.
 In a deep place ahead,
a boss called crystal
meduesa is to be there.
PulirulaArcCrystalMedusa.jpg


While "Crystal Medusa" was cut from the final game, she does appear on the cover of the game's OST! She was replaced by a balding hydrocephalic smoocher in red boots that shoots eye lasers.

0x2CB02 Translation 0x2EF8E
親玉はお前だな!? You're the boss, right!?  You are a boss, aren't
you!?
0x2CB4C Translation
あなたが親分!? You're the boss!?
0x2CB96 Translation 0x2F020
 わたしたちを、たおせる
かしら?
Do you think you can
defeat us?
Can you defeat us?

A conversation between Crystal Medusa and the player(s). In the final game, the Round 2 boss is the only one without pre-fight dialogue.

0x2CBE0 Translation 0x2F0B2
 ここの親玉もすがたを変
えられた動物だったのか。
So the boss of this place
was a transformed animal too.
 The boss in this place
is also an animal who
has been transformed.
0x2CC2A Translation
 ここの親玉もすがたを変
えられた動物だったのね。
So the boss of this place
was a transformed animal too.

While Crystal Medusa would have been a transformed animal, the final big-headed boss is a transformed fur trapper.

Round 3

Dialogue #03 (JP) Translation Dialogue #03 (EN)
なんだい、これわ!? What the hell is this!? What is this!?
Dialogue #03 (JP) Translation
どうしたのこれは!? What's going on here!?

An appropriate reaction to the start of Round 3, but it's not really necessary.

0x2F6F8
Leave it to me!

An unused line that only appears in the English script. In the final game, both the Japanese and English scripts recycle a line from the game's intro: "Leave me to do it."

0x2CF0E Translation 0x2F78A
 誇大妄想家というのはど
こだろう…
I wonder where that
megalomaniac is…
 Where the megalomania
is…
USED (JP) Translation USED (EN)
 あ、ちょっとまったああ
ぁぁ!!
Ah, wait a minuuuute!! Aah, wait a… a moment!

Without the player's line setting him up, the boss's dialogue makes a little less sense.

0x2D0CA Translation 0x2FB88
 そうか…
私の夢が街をこんなにし
てしまったなんて…
I see…
I can't believe my dreams
made the town like this…
 I see.It is a pity that
my dreaming changed the
town to such condition…
0x2D114 Translation 0x2FC1A
 私がちゃんともとどおり
にしなくてな…
I have to get everything
back to normal…
 I shall change the town
back as it was.

The final two extraneous lines of the end-of-round dialogue were cut to trim some of the fat from the game.

Round 4

0x2FE62 Ah, it's water!

Dialogues 07 and 08 are null in both the English and Japanese scripts; the IDs are between the Round 4 intro text and the Round 4 ending text. While there's no text in this range in the Japanese script, the English script does have a few extra lines.

The first line would presumably have been used for some kind of oasis in the desert.

0x2FEF4 Are you"YU-YU-"?!
0x2FF82 If so, what?
0x30018  You'ar a fine one to do
it to me!

What should be dialogue 08 is this pre-fight conversation between Yuuyuu the snail and the player characters.

Round 5

0x2D364 Translated 0x302F2
 わあ!地面が干上がって
ひびわれてる!
Wow! The ground's all
dried up and cracked!
 Wow! The ground has
totally run dry and
cracked.
0x2D3AE Translated 0x30384
 これが、あの旅人がいっ
ていた街なんだな…。
So, this is the town that
traveler was talking about…
 This is the town that
the traveler reffed to.
0x2D3F8 Translated
 これが、あの旅人がいっ
ていた街なのね…。
So, this is the town that
traveler was talking about…

Cut dialogue referencing one of the cut traveler lines. The ground's still dried up and cracked, but it's not commented upon.

Dialogue #10 (JP) Translation Dialogue #10 (EN)
水をくれぇ…水…。 Give me water…water… Give me water…water…

A simple line, and appropriate for this round, but it's not clear who would say it or where it would be said. The window color is used by human NPCs, but there are no NPCs in this round.

USED (JP) Translated USED (EN)
 だれだ!かってにはいり
こんだのは!!
Who are you?! You just
barged in here without
permission!!
 Who did enter here
without permission!!
0x2D4D6 Translated 0x3053A
 私を信じる者だけが、こ
の街でくらしていけるのだ
Only those who believe
in me are permitted to
live in this town.
 The persons who believe
in me can live in this
town.
0x2E1D8 Translated 0x305CC
 時が止まっているのは、
おまえのしわざだな!
You're the jerk who
made time stand still!
 It must be your doing
that the time stopped!
0x2E21E Translated
時が止まっているの
は、あなたのせいね!
Time is standing still
because of you!
0x2D520 Translated 0x3065E
 どうだ、お前も信者にな
らんか?
So, will you become a
believer too?
 Will you be a believer,
won't you?
0x2D56A Translated 0x306F0
おことわりだ!! No way!! I refuse it!
0x2D5B4 Translated
おことわりよ!! No thanks!!
USED (JP) Translated USED (EN)
では、かくごしろ!! Then prepare yourself!!  Then, you must expect
troubles!

The pre-boss fight conversation was trimmed down to the point of being incomprehensible; only the first and last lines were kept in the final game.

x2D726 Translation Dialogue #0F (EN)
何!? What!? What!!
0x2D770 Translation Dialogue #0F (EN)
うわああぁぁ!! Wooooow! Wooow!

Would have been said by Zac and/or Mel before the water starts flowing again. The villagers and keeper's shocked expressions are sufficient enough to convey how weird this is, so the lines were cut.

Miscellaneous

At 0x0B03A is the following placeholder attract mode text with another instance of the early game title, Lyric:

LYRIC
INSERT
COIN
BEST 5

There's a temp ending message at 0x0ECD4:

ENDING MESSAGE
(Source: Original TCRF research)

Regional Differences

Japan World
PuLiRuLa-Round3-Legs.png PuLiRuLa-Round3-NoLegs.png

In the Japanese version, there is a pair of legs in Round 3 with a door in the middle. The door can be opened by the player to reveal outer space, with a pink elephant shooting out of the door. If the player does, they are rewarded 1,000 points. This was removed from the World version... which turned out to be quite a pointless change, as they still show up in the game’s ending.