TASVideos

Tool-assisted game movies
When human skills are just not enough

Game Resources / Genesis / Pulseman

The goal of this page is to document all known features (including bugs) in GameFreak's Pulseman for Sega Genesis.

Some of these tricks are possible or even trivial to perform in realtime, while some of them are nearly impossible to find, requiring lengthy automated testing (i.e. a robot) to reproduce.

Table of contents [expand all] [collapse all]

General Techniques

Dashing

By pressing left or right twice, you can travel a short distance (about 128 pixels) quickly (about 30 frames). Although you can't walk until the 32nd frame, you can jump on the 30th. While dashing, you will not affect or be affected by enemies. Dashing into a wall at a short distance will result in a quicker charge (20-25 fr). For shorter distances (>206 px) without any starting momentum, dashing several times is the fastest form of movement.

Running

When running, you will reach the highest speed (5 px/fr) and become charged on the 50th frame. (The charged animation will start on the 52nd frame.)

Punching

You can punch a by pressing the A button when uncharged. This will deal 2 damage points in most circumstances. You will be able to walk on the 23rd frame after, but may jump at any time. You can preserve your momentum by punching from a running jump.

Flash Arrow

You can throw a projectile by pressing A while charged. This projectile will cause 1 damage point and will often cause a frame or two of lag. It will travel at a little less than 16 px/fr.

Volteccer

You can perform this move by pressing B while charged. You will turn into an electrically charged ball and move around at 8 px/fr. If you don't bounce into anything after 26 frames, you will return to your uncharged state. If you do, you will continue to volteccer until you bounce into another wall or lose your charge. This would be a very useful move, but there is a 34 frame delay when first volteccering and an 8 frame delay for each bounce. While volteccering, you can destroy enemies and are immune to damage from enemies and spikes.

Wires

Some levels contain wires. These are long tracks which allow you to move at volteccer speed without requiring you to be charged. You can catch onto a wire by flashing while close enough to it. You can leave a wire at any time by pressing any button.

RAM Values

Object System

Data for all objects are stored starting at 0xe000. Each object has 0x80 (128B) of data. Pulseman's object data are stored at 0xe000. Temporary objects (i.e. those that aren't always on the screen) start at 0xe300. The largest observed number of temporary objects is 25 although more may be possible. These objects include enemies, confetti, enemy explosions, projectiles, platforms, etc.

The x and y values stored are relative to the camera. To find the absolute position, add the camera coordinates. An object at the left edge of the camera has an x-value of 144 (0x90). Objects with an x-value of 0 or 557 (0x241) are destroyed.

offset type meaning
+0x00 1B object type
+0x0B 1B animation frame
+0x11 1B palette flags
+0x20 2B x-position (pixels)
+0x22 2B x-position (subpixels)
+0x24 2B y-position (pixels)
+0x26 2B y-position (subpixels)

Global Values

address type meaning
0xfa21 1B volteccer timer
0xfa45 1B flash countdown
0xcb6e 1B horizontal velocity
0xcb72 2B x-position of camera (pixels)
0xcb7a 2B y-position of camera (pixels)

The volteccer timer determines the number of frames remaining in a volteccer. It starts at 26 and decreases by one each frame, unless Pulseman hits a wall, in which case it is set to 26 again.

The flash countdown determines when Pulseman can flash. After a flash, it starts af 48 and decreases. It doesn't decrement each frame, but it will decrement by 2 if it failed to decrement on the previous frame. If Pulseman punches, this value remains constant until the punch animation finishes, at which point it continues decreasing as normal.

Thanks to nitsuja for finding the x- and y-position for Pulseman.

Glitches

Because it was one of the last games developed for the Sega Genesis, Pulseman is rich and complex. That complexity means that there are many interactions between different aspects of the game which the developers didn't anticipate. These glitches are listed in increasing order of impactfulness. The first two are merely graphical glitches that don't affect gameplay directly, while the rest have an increasingly dramatic effect on gameplay and strategy.

Palette Glitch

When going into a Volteccer, the screen will temporarily darken. After certain boss fights, the screen will briefly flash white. If both of these events happen at the same time, the screen will temporarily be glitched to a mostly white palette. This does not seem to have any effect on gameplay and is corrected when the bonus stage screen appears.

Wire Blackout

At the very beginning of each level, the screen will flash black for a few frames. If you catch a wire, causing the screen to darken for Volteccer mode, the screen will be glitched to an all-black palette for the remainder of the level. This makes gameplay difficult, but has no other effects.

Highjump Glitch

To activate this glitch, first flash or come out of a Volteccer. Punch on the first possible frame. 4 frames after the arc formed by your punch shrinks to its smallest size, press backwards for one frame. Wait one frame and press A+C. Wait one more frame and press backwards again. You will now jump about 16px higher than normally possible.

The gif to the right demonstrates this glitch followed by a normal jump.

Diagonal Platform Fallthrough Glitch

When falling onto a diagonal platform, it is possible to fall through it. The mechanics of this are not well understood, but a naive (but properly configured) robot can usually find a combination of button presses that will work after a few minutes. It is also possible for a human to perform this glitch by accident in realtime or with frame-advance, but the process tedious and best left to a robot.

Flat Platform Fallthrough Glitch

Under very specific circumstances, it is also possible to fall through a flat floor. This glitch involves a combination of falling one pixel below the floor, having the correct sub-pixel position, and flashing and moving left at the correct times. It only occurs under very uncommon circumstances. A naively-programmed robot will take 4-18 hours to find an instance of this glitch, although a more intelligent robot can find a near-optimal instance in about an hour.


See also



Combined RSS Feed
GameResources/Genesis/Pulseman last edited by Nach on 2012-08-14 04:32:48
Page info and history | Latest diff | List referrers | View Source