TWoG Homepage Return to Main Homepage
General Info: Character Info Official Guide Cheat Codes Archived CD-Online FAQ
Research: Release Date Investigation SFX Origins Cutscene Errors List of Functions Fast Facts
External Links: TWoG's Manual TWoG's Spriters Resource Page TWoG's TCRF Page

Zelda: The Wand of Gamelon - List of Functions

On the disc of Zelda: The Wand of Gamelon is a file called cdi_zelda. This file (and others like it) contain executable data that the Philips CD-i uses to play their Green Book-exclusive functionalities. While a good amount contain just machine code and leftovers from OptImage's Balboa routine library, others contain hidden text strings. Some of them are developer credits and messages (such as Dimo's Quest), while others have leftover error and debugging strings (like every single one of CapDisc's CD-i titles).

A few games, however, have a boatload of macro and function names/headers preserved within their executable file. Zelda: The Wand of Gamelon is in this group, and I'm proud to list them all for you.

Feel free to use this page as a reference when putting together your sick CD-i Zelda decompilations circa 2034 or so.


The List:

The function list is split across multiple chunks, spanning hex addresses A61 to 1CBB1. Space between chunks will be marked with a gap between each one.
Yes, the game refers to Zelda internally as Link. Guess we know which game was developed first now!

check_for_key
start_anim
start_boss_first_anim 
open_up_area 
pick_up_perm_tool 
check_if_have_tool
leave_item 
load_font 
font_draw 
color_font_draw 
font_erase 
signal_handler
pre_bumper_video_init 
post_bumper_video_init
wait_for_line_event
align_buffers_and_tables
init_cmap_addresses
init_sprite_buffer_addresses
init_table_widths
flip_A
clear_buffers
initialize_cursor
set_icf
play_animations
play_all_animations

main
set_dark_room
open_rtrs
fade_up_plane_AB
fade_out_plane_AB
fade_up_plane_B
fade_up_plane_A
fade_out_plane_A
fade_out_plane_B
init_rtr
plane_A_over_B
plane_B_over_A
set_fctA_rl7
set_fctA_clut7
set_fctB_rl7
animation_flip_A
screen_dimmer
attenuation
sattenuation
init_audio
load_effects
restore_smaps
start_music
restart_music
stop_music
ac_process
ac_signal_process
play_sound
stopsound

(Stack overflow error message in this gap)

check_for_restart
get_abs_x
init_combat
kill_sprite
kill_sprite_noflash
check_combat_box
check_box
check_riding_box
check_enemy_combat
get_water_of_life
check_sprite_collisions
get_collision_result

mmenu_init
mmenu_choice
new_mmenu
mmenu_initial_clear
mmenu_clear_area
scroll_position
mmenu_scroll_down
mmenu_scroll_up
mmenu_scroll_down_intermediate
mmenu_scroll_up_intermediate
mmenu_initial_draw
mmenu_redraw
mmenu_highlight_option
mmenu_loop
can_save_restore
wait_for_menu_option
create_file_and_host_names
load_game_from_NVR
nvr_avail
save_game_to_NVR
encode_mem_space
decode_mem_space
verify_save_space

playfield
demo_playfield
init_playfield
init_playfield_size
convert_palette
back_on_overworld
back_on_playfield
init_death
death_loop
start_continue
update_death_pose
death_loop_bottom
draw_filled_rect
draw_initial_death_screen
draw_death_number
erase_death_number
read_sprite_cycle_colors2
read_bg_cycle_colors
drop_sprite
power_glove_blast
power_glove_effect
init_weapon
update_pf_lct
check_screen_edges
old_get_sprite_block
get_sprite_block
restore_sprite_blocks
write_sprite_blocks
write_vert_blocks
restore_vert_blocks
reinit_lct_A
reinit_lct_B
inc_pf_x
inc_pf_y
dec_pf_x
dec_pf_y
init_sprites
check_stick
fix_jump_stick
retrieve_help_state
retrieve_mkt_demo
get_input
debounce_trig
debounce_trig_music
debounce_stick
wait_for_button_press_music
init_random
randomize
check_for_animation

move_link
handle_knockback
init_sword_thrust
sword_thrust
end_thrust
end_thrust_after_anim
check_map_row
straight_shot
lob_shot
lob_bomb
check_map_while_walking
move_1_block
check_which_upward_motion
check_which_downward_motion
check_for_climb
check_map_while_jump_descent
jump_up
jump_up_dir
init_big_jump
big_jump_up
big_jump_down
slide
climb
jump_off
init_link
init_rope
using_rope
check_for_rope_path
draw_rope
erase_rope
go_find_hero_action
set_link_position
set_link_position_and_dir

check_enemy_motion
check_sleepers
wake_on_chance
get_new_image
get_new_macro_image
get_image_number
move_types_1_and_3
finish_move
set_walker
move_type_4
check_for_alternate_macro
set_alternate_macro
do_alternate_macro
end_alternate_macro
move_type_2
move_type_5
restore_arkidai_path
move_type_5_or_6_1_block
init_enemies
reinit_sprite
main_init
init_type_1
init_1_or_4
init_type_3
init_type_2
init_type_4
init_type_5
init_5_or_6
place_raft
init_type_7
init_type_8
init_sprite_macros
check_if_on_screen
check_if_was_on_screen
go_find_action
erase_riding_paths
get_random_bound
init_error_buffer
initial_areas
show_label
restore_label
set_new_map
check_world_hotspot
noshow_label

scroll_world
get_help_instruction
set_ov_help_off
set_help_off
set_mkt_demo_off
delayed_wait
do_mmenu_code
quit_game
init_map
move_map
flip_world_lcts
zero_data_cil
zero_video_cil
play_error
load_world
load_playfield
initial_load
play_animation
abort_rtrs
play_overworld_music
stop_overworld_music
start_voice_over
set_pcb
set_pcl
reset_pcl
load_piracy
start_playing_credits
roll_credits

play_background_animation
flip_backgrounds
load_backgrounds
win_game
play_title
install_palette
check_buttons
clean_disc
play_bumper
prepare_mod_dir
init_environment_projectiles
clear_projectiles
projectile_on_field
init_projectile
erase_projectiles
update_projectiles
check_projectiles
draw_projectiles

check_collisions
reflect_projectile
check_vulnerability
check_map
init_hit
init_miss
init_enemy_projectiles
setup_projectile_types
fill_tool_list
add_to_tool_list
check_lamp_highlight
check_canteen_highlight
call_subscreen
get_first_item
find_next_item
highlight_item
draw_selected_icon
erase_selected_icon
erase_item_name
draw_item_name
unhighlight_item
icon_to_from_save_buffer
draw_highlighted_icon
scroll_on_subscreen
scroll_off_subscreen
draw_initial_subscreen
draw_item
draw_item_quantity
draw_edge
draw_border
draw_outlined_box
draw_an_item
draw_other_items
draw_sword
draw_shield
load_menu_icons
initial_item_quantity
use_item
tell_what_got
display_got_sign
wait_got_sign
take_out_got_sign
display_clean_disc_sign
my_sprintf
update_tools
delete_tool
sprite_hits_tool
draw_tools
erase_tools
create_playfield_tools
add_bombs_to_buy
add_fake_bombs
add_ropes_to_buy
add_fake_ropes
add_oil_to_buy
add_fake_oil
add_to_playfield_tools
load_tool_imagery
check_tool_collision
set_life_hearts
hero_hit
restore_life
draw_life_hearts
draw_heart
erase_life_hearts
mark_experience
unmark_experience
check_experience
clear_area_experiences
can_open_door
bring_up_locked_sign
take_out_locked_sign
use_rubies
display_rubies_sign
wait_rubies_sign
take_out_rubies_sign
init_bread
init_bomb
explode_bomb
init_bomb_hit
light_lantern
lantern_brightness
dim_lantern
blow_out_lantern
buy_item
more_items

(Menu text data begins here. End of function list)
    

Return to top

Last updated: October 29th, 2024.