|
|
To do: |
The Death and Return of Superman is a game that is supposed to have some kind of connection with Superman #500.
Unused Text#
- Located at $01623A is the unused string MUSIC TEST. In the options menu, the music and sound effects are together in the SOUND TEST.
- Located at $016252 is the unused string STEREO MODE. Its settings MONO and STEREO are stored at $016272 and $016279, respectively.
Uncompiled Source Code#
Located at $014600-0155FF is $1000 bytes worth of uncompiled source code.
wait_until_0();
// zone 4
next_zone((166*8));
make_banjo_rgt(0);
make_molatav_lft(0);
wait_until_0();
make_bike_lft(0);
make_banjo_rgt(20);
wait_while_3();
make_molatav_rgt(-20);
wait_until_0();
// zone 5
next_zone((226*8));
make_molatav_rgt(0);
make_banjo_lft(0);
wait_while_2();
make_molatav_lft(0);
make_banjo_rgt(0);
wait_while_3();
make_molatav_rgt(0);
wait_until_0();
// zone 6
next_zone((278*8));
make_banjo_lft(0);
make_molatav_rgt(0);
wait_until_0();
make_bike_rgt(0);
make_banjo_lft(20);
wait_while_3();
make_molatav_rgt(-20);
wait_until_0();
sleep((20));
l.msg = MSG_EXIT_STAGE;
nap_loop();
}
t_coast3()
{
g.break_offset = 17;
g.glass_offset = 0;
g.floor = ((38*8)-1);
//goto skip;
// zone 1
next_zone((10*8));
choose_guard_left();
make_robot_rgt(0);
wait_while_2();
make_tick_ship1();
wait_until_0();
// zone 2
next_zone((54*8));
choose_guard_left();
make_robot_rgt(30);
wait_while_2();
choose_guard_left();
choose_guard_right();
wait_while_3();
wait_while_2();
sleep(1);
make_tick_ship1();
wait_until_0();
// globes
next_zone((84*8));
do_globes(25);
wait_until_0();
// zone 3
next_zone((130*8));
choose_guard_left();
make_tick_ship1();
wait_while_3();
make_robot_rgt(-30);
wait_while_3();
choose_guard_left();
wait_until_0();
// zone 4
next_zone((218*8));
make_robot_rgt(30);
choose_guard_left();
choose_guard_right();
wait_while_3();
make_tick_rgt(30);
wait_while_3();
choose_guard_left();
wait_until_0();
// zone 5
next_zone((272*8));
skip:
sleep(10);
boss_song();
make_object(CYBR_BOSS_OBJ, RIGHT_SIDE, g.floor, 0, 0, 0);
wait_until_0();
land_man();
g.start_combat = 1;
l.msg = MSG_EXIT_STAGE;
l.parm = o.child;
nap_loop();
}
t_missile()
{
g.script_collide_pad = 24;
g.floor = 0;
g.break_offset = 21;
o.local = 0xfffe;
o.local3 = 0;
g.orbs_killed = 0;
o.health = 0;
sleep((20*3));
do {
reg = g.orbs_killed + 2;
if (reg >= o.health) o.health = g.orbs_killed;
o.local2 = 2;
do {
make_object(ORB_OBJ, RIGHT_SIDE, (VISIBLE_HGT/2), 0, 0, o.local3);
sleep(7);
o.local2--;
} while (o.local2 != 0);
o.local3++;
sleep(40);
reg = o.health + 2;
if (reg == g.orbs_killed) {
o.health = reg + 12;
if (l.top < (112-16)) o.local2 = (112+33);
else o.local2 = (112-32);
make_object(HEALTH_POWERUP_OBJ, (VISIBLE_WDT), o.local2, 0, 0, 2);
}
else o.health = 0;
} while (g.missile_parts != -1);
nap_loop();
}
t_level8a()
{
g.break_offset = 40;
g.mode = FLYING;
o.local = 0xfffe;
g.low_z_bound = l.in;
g.high_z_bound = l.out;
if (g.current_map == LEVEL08B_MAP) {
do {
if (o.health == 0) {
sleep(50);
make_object(EYE_OBJ, RIGHT_SIDE, 112, 0, 0, 0);
}
sleep(1);
} while (g.mscroll_pixel_x != g.map_pixel_rgt);
sleep(10);
boss_song();
g.missile_parts = 1;
play_sound(SFX_DOOM_LAUGH);
do {
make_object(EYE_OBJ, RIGHT_SIDE, 112, 0, 0, 0);
sleep(10);
do sleep(1); while (o.health == 3);
} while (g.missile_parts != -1);
g.disable_joypad = 1;
}
nap_loop();
}
t_default()
{
g.floor = 0;
next_zone(g.map_pixel_rgt - 9);
teleport();
}
public next_zone(o.local)
{
reg = g.map_pixel_rgt + 322; //because map_pixel_rgt is left edge of rightmost screen
if (reg < o.local) teleport();
next_zone_no_teleport::
g.open_door = 0;
o.timer = ARROW_DELAY;
o.local3 = o.local - 8;
do {
sleep(1);
} while (o.x < o.local3 || o.health != 0);
o.timer = 0;
}
�_default);
/*****/
switch (g.current_map) {
case LEVEL01A_MAP: init_thread(t_factory1); break;
case LEVEL01B_MAP: init_thread(t_factory2);
break;
case LEVEL01C_MAP: init_thread(t_factory3);
g.teleport_map = TOON2_1_MAP;
break;
case LEVEL02A_MAP: init_thread(t_city1); break;
case LEVEL02B_MAP: init_thread(t_city2);
g.teleport_map = TOON
Sound Test Cheat?#
|
|
This needs some investigation. |
The game likely contains the same health refill and level skip cheat seen in the SNES version, which is activated by playing certain entries in the sound test. The word at memory address $FF8204 seems to be keeping a total of the entries played. The word at memory address $FF8202 contains the index of the current song/sound effect selected.
Unknown Compressed Data#
|
|
This needs some investigation. |
Located at around $0A8000-0A9FFF is what appears to be 5 copies of compressed packets which include the (debug?) strings TURBO DOWNLOAD TEST STRING RETURN FROM. Does the programming still have references to this, and what is its purpose?
|
|
To do: |
|
The Superman series | |
|---|---|
|
Atari 2600 |
|
|
Arcade |
|
|
NES |
|
|
SNES |
|
|
Game Boy (Color) |
|
|
Genesis |
|
|
Sega Master System, Game Gear |
|
|
Nintendo 64 |
|
|
PlayStation |
|
|
See Also | |