The Caveman Ninja, better known as Joe & Mac, must battle a tribe of figurative-but-quite-possibly-literal neanderthals who have kidnapped their cave-babes (it was the caveman '90s) across five prehistoric lands with branching paths.
Unused Screens#
Game Info Screen#
Holding 1P Start + 2P Start when the game boots should display a version info screen, but the developers added a rts opcode at the beginning of the routine to dummy it out. Put the appropriate code in either cninja.xml or joemac.xml to re-enable this feature:
joemac |
cninja |
|---|---|
|
|
|
JP |
INT |
|---|---|
|
|
|
Joe & Mac is labeled version 3.3, while all non-Japanese sets are labeled version 3.3A. This includes sets labeled as "World ver 4", "World ver 1", and "US ver 4" in MAME, so clearly, the info here is out of date.
Location Test Screen#
To access the following two screens, put the following code in cninja.xml and/or joemac.xml, enable it, then lose a life:
<cheat desc="Change Ready Screen">
<parameter>
<item value="0x0E42">Location Test</item>
<item value="0x0E54">Ending Test</item>
</parameter>
<script state="run">
<action>maincpu.mw@0018D2=param</action>
</script>
<script state="off">
<action>maincpu.mw@0018D2=0x0E0E</action>
</script>
</cheat>
|
JP |
INT |
|---|---|
|
|
|
JP Text |
Translated |
|---|---|
今回は ここまでなの ごめんね・・・♥ |
That's all for now. I'm sorry...♥ |
These would be used in location test versions of the game, but there's no code that references this screen's subroutine in the final game.
Ending Test#
This is a simple test of the ending screens. The game will display the first two pictures of Joe & Mac reacting in shock, all three of the game's different ending pictures (Fat cavewoman, enemy cavewoman, cave-babes), then the scrolling credits landscape sans objects and credits.
(Source: Original TCRF research)
Unused Objects#
Default Weapon Pickup#
An item that would give players their default weapons back (Stone Axe for 1P, Bone for 2P), but none of the enemies or objects in the game are coded to drop it.
Put the following code in MAME's cninja.xml cheat file to make the first caveman in Stage 1 drop the item, and make the second caveman drop the Fire weapon:
<cheat desc="Default Weapon Pickup">
<script state="run">
<action>maincpu.mb@012525=0x01</action>
<action>maincpu.mb@012535=0x02</action>
</script>
<script state="off">
<action>maincpu.mb@012525=0x10</action>
<action>maincpu.mb@012535=0x10</action>
</script>
</cheat>
The item will always use the axe graphic, even if 2P is the only one playing. There's a bone item graphic in the object graphics ROM, but there's nothing in the item's code that references it.
Map Characters#
Two unused characters that would appear on the game's map screens: The cavewoman from Stage 1 in a neutral stance, and an enemy caveman.
Put the following code in cninja.xml to change the first enemy caveman in Stage 1 to one of the unused characters, albeit with an incorrect palette:
<cheat desc="Unused Map Characters">
<parameter>
<item value="0x02">Cavewoman</item>
<item value="0x03">Neanderthal</item>
</parameter>
<script state="run">
<action>maincpu.mb@012527=0xB5</action>
<action>maincpu.mb@012529=param</action>
</script>
<script state="off">
<action>maincpu.mb@012527=0xE2</action>
<action>maincpu.mb@012529=0x00</action>
</script>
</cheat>
(Source: Original TCRF research)
Unused Graphics#
A fossilized trilobite that would have appeared in the background of the high score screen. Even though there's plenty of space for it in the upper-right corner, it's still unused.
A hidden message (カネコが書いた - "Written by Kaneko") stored with the Stage 5 background graphics. Atsushi Kaneko is one of the game's six graphic designers.
Weapons can be charged, and weapons can be fired upwards, but charged weapons cannot be fired upwards. This graphic of the charged Tusk weapon pointed upward suggests this wasn't always intended.
Graphics for an ammonite enemy can be found mixed in with the game's food items.
A partial set of alternate food items appear directly after the ammonite graphics. Includes a persimmon, a banana bunch (As opposed to the banana peel that the final game uses), eggs, cheese, crackers, and bugs!
A completely unused enemy: A saber-toothed cat.
Like the similarly sized dinosaur enemies, this has idle, turning, walking, and running animations.
It also has the standard set of hurt and dying animations that every used enemy has.
Unfortunately, the enemy was never coded, so all it's doing now is taking up a significant chunk of the object graphics ROM.
The Stage 4 cavewoman has an unused animation of her looking off to the side. It's worth noting that none of the other cavewomen are animated; this was probably meant to be used on the location test screen.
(Source: Original TCRF research)
Developer Text#
Labels for the game's music, sound effects, and instrument samples can be found in the audio CPU.
Music#
0x40E8 |
open.bgm |
0x43E4 |
bgm1.bgm |
0x5518 |
bgm2.bgm |
0x5A24 |
bgm3.bgm |
0x6B4F |
bgm5.bgm |
0x73E9 |
boss1.bgm |
0x7F2F |
clr1p.bgm |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x828B |
clr2p.bgm |
0x8507 |
branch.bgm |
0x8772 |
end1.bgm |
0x8D25 |
end2.bgm |
0x908D |
end3.bgm |
0x9300 |
ending.bgm |
Sound Effects#
Text starts at 0xA8A5.
p_out |
p_ono |
p_thnd |
p_chak |
p_kiai |
p_jump |
t_nige1 |
t_nige2 |
p_damag |
p_konbo |
p_small |
t_wing1 |
t_wing2 |
korogaru |
korogaru |
F_fuku |
F_nageru |
F_jimeny |
mizu |
kusa |
coin-b |
kiba_na |
kiba_ht |
t_nige2 |
foods |
buki |
kudake |
j-copter |
j-copter |
Jr._pyu |
hajiki |
t_maru |
gaiko |
b_haku |
ice_b |
ice_b |
kami |
k_baku |
kamina |
b_hit |
o_hit |
h_hit |
f_hit |
attack |
t_hana |
keikoku |
p_out2 |
|||
Instruments#
Text starts at 0xCA01.
flute |
bonend |
bonusbassd |
afr_bass |
afr_bass |
a_bassx |
gamran |
baribari |
steeldrum1 |
steeldrum2 |
piano_2 |
piano_3 |
piano_4 |
piano_5 |
piano_6 |
piano_7 |
piano_8 |
pia_casio |
pia_gt |
hiseqx |
seque |
badbell |
belflute |
bellsyn |
belviola |
chaimer |
kinkon |
toybell |
abc |
cheap |
kira1 |
kira2 |
metalsyn |
analogue |
flution |
flution2 |
gira |
hamowire |
soundtrack |
soundtrac2 |
synclavi |
clav_1 |
delayer |
masked |
melody |
percle |
readcal |
spaces |
synther |
tremolo |
tubasyn |
wavewire |
wire |
analogue2 |
tomita |
voice1 |
voice2 |
voice3 |
voice4 |
voice5 |
voice6 |
voice7 |
voice8 |
voice9 |
accordion 3 |
celest_1 |
celest_2 |
e_organ1 |
e_organ2 |
e_organ3 |
e_organ4 |
hammond_1 |
hammond_2 |
impact_org |
organ_1 |
organ_2 |
organ_3 |
organ_4 |
soften |
organ_v1 |
organ_v2 |
esn_org |
ob_organ1 |
ob_organ2 |
sx_organ |
waveorgan |
porgan_1 |
porgan_2 |
porgan_at |
harpsi |
ginginlead |
lead |
maskedlead |
syorgan1 |
syorgan2 |
marimba_1 |
marimba_2 |
marimba_st |
melody_at |
mokkin_at |
s_xylo |
vibra_1 |
vibra_2 |
vibra_3 |
xylo_1 |
xylo_2 |
shami_1 |
shami_2 |
e_guitar1 |
e_guitar2 |
grassharp |
guitar_1 |
guitar_cx |
bright_dis |
clavsitar |
hard_g |
hardy_1 |
hardy_2 |
hardy_3 |
hardy_4 |
hardy_5 |
low_dist |
a_bass |
a_bassx |
afr_bass |
bright_wb |
w_bass |
analog_b1 |
analog_b2 |
analog_b3 |
analog_b4 |
syn_b1 |
syn_b2 |
syn_b3 |
syn_b4 |
syn_b5 |
syn_b6 |
syn_b7 |
syn_b8 |
syn_b9 |
syn_b10 |
thick_b |
bassclavi |
bright_b1 |
bright_b2 |
dx7_b |
e_bass1 |
e_bass2 |
e_bass3 |
e_bassx |
pick_b1 |
pick_b2 |
pick_b3 |
ricken_b |
rr_bass |
log_bass |
mokugyo_b |
casio_cym |
ride_symba |
hr_snare |
meka_dr1 |
meka_dr2 |
meka_drm3 |
metalhit1 |
metalhit2 |
noise_sd |
noise_sd2 |
snare |
waterclap |
bd_tom |
bowlhit |
smallbowl |
b_drum |
afr_drm1 |
afr_drm2 |
baribari |
gamran |
steeldrum1 |
steeldrum2 |
steeldrum3 |
steeler |
at_clari |
fagot |
fue |
piccolo1 |
sht_brs |
syn_oboe |
trp_1 |
trp_2 |
trp_3 |
trp_4 |
brs_1 |
brs_2 |
crystal |
hard_brs |
5th_brs1 |
metal_brs |
opl_brs1 |
opl_brs2 |
opl_brs3 |
rise_brs |
slow_brs |
wave_brs |
wave_brs2 |
5th_brs1 |
5th_brs1 |
bell_brs |
delay_brs |
vivi_brs |
bassoon |
brk_sax |
cheap_horn |
hard_horn |
hi_sax |
hornsect |
sax_1 |
sax_2 |
sax_3 |
soft_sax |
softuba |
syn_brs1 |
syn_brs2 |
syn_sax |
cembalo_1 |
cembalo_2 |
solovln_1 |
solovln_2 |
solovln_3 |
violin_1 |
violin_2 |
violin_3 |
violin_4 |
5th_str |
lane |
distrings |
hi_str |
orchstra |
strings |
syn_str1 |
syn_str2 |
syn_str3 |
pizz_1 |
pizz_2 |
vioboe |
bass50 |
bass60 |
bass70 |
bass80 |
bassd80 |
harpsi5 |
harpsi |
brass1 |
brass2 |
brass3 |
brass3 |
|||||
(Source: Original TCRF research)
Regional Differences#
In the Japanese version only, hitting certain spots in the first two rounds will reveal a special bonus item: Chelnov! After appearing, he'll try to escape by running to the left. Collecting him earns the player 1000 points.
This object is still in non-Japanese versions, but extra code was added to the object's initialization subroutine that instantly deletes it.
(Source: Original TCRF research)
|
The Joe & Mac series | |
|---|---|
|
Arcade |
|
|
NES |
|
|
SNES |
|
|
Genesis |
|