|
|
To do: |
Robin Hood: Prince of Thieves is a Zelda-like action/adventure game based on the 1991 movie Robin Hood: Prince of Thieves.
Secret Passwords#
It's fairly well-known, but this game contains a hidden password mode, which allows you to skip ahead to any segment of the game, including straight to the ending. At the title screen, press A (×8), B (×8). Note that each password only gives you all the items you strictly need to succeed in that area.
Password |
Location |
|---|---|
CATACOMB |
Outside Arab jail |
WALL |
Hadrian's Wall |
LOCKSLEY |
Locksley Castle |
DUBOIS |
Dubois Manor |
CHASE |
Horse race to Sherwood |
CATHEDRA |
Rescue the maiden |
BOAR |
Battle the boar |
MASTER |
Search for Master Trainer |
CHAPEL |
Meet Marian at chapel |
WELL |
Search for haunted well |
TAX |
Attack gold wagons |
POND |
Search for healing water |
VILLAGE |
Defense of Sherwood Village |
CELTS |
Battle Celts |
TOWN |
Journey to town |
TOWNHANG |
In town, by gallows |
CASTLEIN |
Inside Sheriff's castle |
WEDDING |
End |
Secret Credits#
While playing, open the menu, highlight "EXIT" and press A + Start. The credit list will pop up.
Programmed by
Peter Ward
Music by
Paul Webb
Sculptured Software Manager
Hal Rushton
Artists
Les Pardew
Kelly Kofoed
Mike Lott
Lance Thornblad
Clark Sorenson
Producer
Dr. Stephen
Clarke Willson
Virgin Project Manager
Seth Mendelsohn
Additional Programming
Ken Moore
Ken Grant
Design and Text
Mike Breault
(Source: Original TCRF research)
Debug Menu#
A powerful debug mode can be accessed via a button code. At the title screen, press А (×8), В, А (×7), В, А (×6), В, А (×5), В, В, В. A sound effect will indicate that debug mode is active. During gameplay, you can toggle debug mode on and off by pausing the game (press Select).
While in debug mode, pressing Start will show the cheat menu instead of the regular menu. This menu allows you to fight any duel in the game or warp to any location. Additionally, your HP will be always 100, rendering you invincible, and you can walk through walls and other obstacles.
(Source: Original TCRF research)
Unused Items#
|
|
Please elaborate. |
Completely Unused#
Unused items in video games are nothing new... but it's a rare case when they're actually mentioned in an official source! Many of these items were included in the manual, but were left out for whatever reason, leading many a player to fruitlessly search for them.
- Short Sword - Not really a sword, but rather a stronger, heavier version of the Knife with the same icon. Attack: 6, Weight: 4.
- Steel Sword - A standard sword which, like the Short Sword, is just an upgrade to the "Sword", and also uses the same icon. Attack: 10, Weight: 8.
- Claymore - Presumably another sword-type weapon. "Presumably", because this weapon is basically one big glitch. It has no icon, and hacking it into the game causes the entire menu to flip out, as seen in the screenshot. You can equip the weapon and attack with it normally, but if you drop it, it cannot be picked back up, and may freeze the game. Attack: 12, Weight: 10.
Shield - There were two shield-type items in the game, both mentioned in the manual, and both left unused. Noteworthy for having a unique icon.
Locksley Shield - There's a Locksley Sword, Locksley Armor, and a Locksley Bow, so it stands to reason that there'd also be a Locksley Shield. Same icon as the other shield, and probably stronger somehow.
Ladder - This item has no use, and its icon is just an odd palette swap of the Rope. Presumably, it would have had a similar effect. Unlike the other items listed here, this wasn't mentioned in the manual, so it may have been cut much earlier in development.
Partially Unused#
A few miscellaneous items/objects can also be made to appear in the inventory, something which never occurs normally.
- Quiver - Found here and there throughout the game, and dropped by some defeated enemies, these add a few arrows to the "Arrow" counter on the menu, and are never normally seen in the inventory.
- Gold Coin - Gives you 1 gold piece. Found laying around or dropped by enemies, another item that's just added to a counter, and not the inventory.
- Bag of Gold - Same deal as the Gold Coin, except worth more, obviously. If hacked in, these items can be dropped and picked back up, and they'll function normally. Both the quiver and gold items weigh 1 "unit".
- Locked Chest - Not an item, just a treasure chest, which you need a Chest Key to open. These can't be picked up, and aren't even technically items, but can be hacked into the inventory nonetheless. It's a bad idea to do so, however, as it weighs a whopping 229 "units", rendering you unable to pick up anything else until it's discarded. If you do discard it, it simply vanishes.
- Empty Chest - Same as above, basically. Just what's left of the chest after opening it. It's not as ridiculously heavy as the locked version (185 "units"), but still not worth hacking in. Like the Locked Chest, it disappears if dropped.
(Source: Original TCRF research)
Unused Music#
The NSF file contains three songs not used at any point in the game:
Unused Song#
Track 4 on the NSF. A rather heroic song that sounds like it might have worked for the opening/title or ending.
Unused Fanfare 1#
Track 18 on the NSF is a short, victorious-sounding fanfare.
Unused Fanfare 2#
Track 25 on the NSF is another short, victorious-sounding fanfare, although different from the previous one.
(Source: Original TCRF research)
Unused Text#
Development Text#
Assigned variable names are stored in the ROM at 0x17E49
sprite.face.tuck.chr
translation
charset.melee.church.chr
pal.sherwood
color.palettes
sprite.face.guard.chr
pal.hut
sprite.shield.chr
door0
sprite.sword.chr
sprite.wulfsit.chr
pal.loxley.dark
pal.sprites.robin
pal.duel.castle
sprite.saddle.chr
sprite.weapon.shield.chr
sprite.will.chr
sprite.bigboar.chr
pal.duboisout
pal.melee.church
pal.melee.sherwood
sprite.misc.chr
sprit
Uncompiled Code#
The first section of uncompiled, commented code can be found at 0xFBCF in the US ROM, 0xFDB6 in the German ROM, and 0xFDB6 in the European ROM. They have been combined here:
beq .done
sty actor.type ;Save actor type
stx thisscan
;-------------------------------
lda status,x
and #(s.hidden|s.inchest|s.noshape)
bne .done
lda actor.flags-1,y ;Get ACTOR info flags
sta actor.flag
;-------------------------------
jsr newpix ;Clear DRAW variables.
jsr draw.meter
;-------------------------------
lda actor.flag
and #actor.flag.mask
beq .1
dec spmask ;Do MASK behind backdrop.
;-------------------------------
.1 jsr set.pos ;Set xpos(3) ypos(3) for actor.
jsr get.actor.info ;Get all info about this actor.
lda status,x
and #s.mirror
sta mobs
;-------------------------------
jsr locate ;GET SCREEN LOCATION.
lda offscreen
beq .0 ;If ONSCREEN, draw him!
lda status,x ;Note actor is OFFSCREEN
ora #s.offscreen
sta status,x
lda offscreen
bmi .kill ;If > 1 screen away, DELETE HIM
lda actor.flag ;Actor OFFSCREEN, but less than 1 screen away.
and #actor.flag.deloff ;Delete him ONLY if this type of ac
The second fragment is in the US version at 0x13E44 and in the European version at 0x13764. The European version has a much more complete version of this fragment. The below is a combination of the fragments from both versions:
flag
and #%00100000
beq .1
lda #0
sta xoffset+1
sta xoffset+0
sta readx
.1 lda action.flag
and #%00010000
beq .2
lda #0
sta yoffset+1
sta yoffset+0
sta ready
.2 rts
;**********
;process.actor
;
;-x is an actor
;
;-process ACTION requests
;
;-Called after AI routine, or JOYSTICK reading.
;
;-READX/READY = Are movement values
;
;-SELECT = SELECT BUTTON
;
;-FIREA/FIREB = JOYSTICK FIRE BUTTONS
;
;**********
process.actor
jsr ck.fire
jmp get.direction ;set DIR based on READX/READY
;**********
;ck.fire
;
;-x is an actor.
;
;-Handle FIREB button requests.
;
;**********
ck.fire
lda #1
cmp firea
beq .fire
cmp fireb
bne .exit
.fire lda action,x ;Only do FIRE action if STAND or RUNing
cmp #fire
bcs .exit
lda #fire
jsr change.action
.exit rts
;**********
;rand.velocity
;**********
rand.velocity
jsr rand.xvelocity
jmp rand.yvelocity
;**********
;rand.xvelocity
;**********
rand.xvelocity
jsr rand
and #3
adc #1
bit random
bpl .1
jsr negate.a
.1 sta xvel1,x
rts
;**********
;rand.yvelocity
;**********
rand.yvelocity
jsr rand
and #3
adc #1
bit random
bpl .1
jsr negate.a
.1 sta yvel1,x
rts
;**********
;fake.joystick
;
;-xoffset(2) yoffset(2) are movement forces.
;
;-Bogas joystick inputs for AI system.
;
;-Sets READX/READY to movement forces set.
;
;**********
fake.joystick
lda xoffset+0 ;Compute READX/READY from xoffset(2) yoffset(2)
bit xoffset+1
bpl .0
jsr negate.a
.0 cmp #24
bcc .y
lda #$ff
bit xoffset+1
bmi .1
lda #1
.1 sta readx
.y lda yoffset+0
bit yoffset+1
bpl .3
jsr negate.a
.3 cmp #24
bcc .9
lda #$ff
bit yoffset+1
bmi .4
lda #1
.4 sta ready
.9 rts
;**********
;get.direction
;
;-x is an actor.
;
;-Set STATUS based on readx/ready commands
;
;**********
;--------------------------------------------
; Actor DIRECTIONS
;--------------------------------------------
;
; 08
; 07 \ | / 01
;
; 06 - 00 - 04
(Source: Original TCRF research)
Regional Differences#
Build Date#
To see the ROM's build date, hold Up + A + B + Start + Select and then press Reset.
USA |
USA Rev 1 |
Europe |
|---|---|---|
|
|
|
Germany |
Spain |
|
|
|
Menu Border#
The Spanish version of the game has different menu borders when compared to the other versions.
USA/Europe/Germany |
Spain |
|---|---|
Font#
The Spanish version has a different and smaller font when compared to the other versions. It was probably a necessary change to be able to feature accentuated letters.
|
The Robin Hood series | |
|---|---|
|
NES |
|
|
Game Boy (Color) |
|
|
Gamate |
|
|
PlayStation |
|