Every legible run of printable bytes in the two executables, filtered so that 68000 opcodes that happen to be ASCII mostly fall out. Produced by
python tools/cdistrings.py _work/files/cdi_link
python tools/cdistrings.py _work/files/cdi_bumper
The function names dominate this listing; they have a page of their own in symbol-inventory.md and are analysed in docs/04-symbol-table.md. What is left after them is the UI, the file names, the item table and two panic messages — see docs/09-savegame-and-nvram.md.
Strings in cdi_link are stored in the module's initialised-data image as
<u8 length><u16 address><bytes>, so the listing below is in the order the
strings were declared in the source.
== 1 disc paths ==
01d6da /nvr/link1.nvriP
== 629 text runs ==
000047 ~cdi_link
000999 check_for_key
000eb5 start_anim
000f49 start_boss_first_anim
001067 open_up_area
001367 pick_up_perm_tool
001723 check_if_have_tool
001975 leave_item
0019bf load_font
0019fd font_draw
001a3f color_font_draw
001a83 font_erase
001ded signal_handler
0020e1 pre_bumper_video_init
002507 post_bumper_video_init
002535 wait_for_line_event
002685 align_buffers_and_tables
00271f init_cmap_addresses
0027f3 init_sprite_buffer_addresses
002853 init_table_widths
0028b9 flip_A
002929 clear_buffers
0029b5 initialize_cursor
002a03 set_icf
002dab .gZJm
002e13 set_dark_room
002e4f open_rtrs
002eb3 fade_up_plane_AB
002f4d fade_out_plane_AB
002f9d fade_up_plane_B
002feb fade_up_plane_A
003037 fade_out_plane_A
003085 fade_out_plane_B
003233 init_rtr
00325d plane_A_over_B
00328d plane_B_over_A
003351 set_fctA_rl7
003383 set_fctA_clut7
003447 set_fctB_rl7
0034a9 animation_flip_A
003649 screen_dimmer
0036a3 attenuation
003701 sattenuation
0037f9 init_audio
003a45 load_effects
003ac1 restore_smaps
003c1d KHABA
003c2f xHABA
003ccb start_music
003d19 KHABA
003d2b xHABA
003d71 restart_music
003e01 stop_music
003f97 ac_process
00405f ac_signal_process
00416f play_sound
00421b stopsound
0043e4 **** Can not install trap handler ****
00449c 2ABAHA
00458c N^NuNV
0045b8 N^NuNV
004624 N^NuNV
00468a N^NuNV
004792 N^NuNV
00481c &_NuNV
004ab6 N^NuNV
004b4c N^NuNV
004cac N^NuNV
004e34 N^NuNV
004eb5 check_for_restart
004f4b get_abs_x
004fbd init_combat
004fff kill_sprite
005037 kill_sprite_noflash
00507b check_combat_box
005195 check_box
005263 check_riding_box
005f45 JgFJk
006801 @fLJk
006e0f check_enemy_combat
006e4d get_water_of_life
006e87 :HABA
006fef :HABA
0070cc grpl/
0071b3 :HABA
0073bd check_sprite_collisions
0074c7 get_collision_result
00757b mmenu_init
00787f mmenu_choice
00792b new_mmenu
007985 mmenu_initial_clear
0079e7 mmenu_clear_area
007bad scroll_position
007c39 mmenu_scroll_down
007d79 mmenu_scroll_up
007dc9 mmenu_scroll_down_intermediate
007e1b mmenu_scroll_up_intermediate
00810d mmenu_initial_draw
00842f mmenu_redraw
0084ff mmenu_highlight_option
008701 mmenu_loop
0087f7 can_save_restore
008835 wait_for_menu_option
00887d create_file_and_host_names
008923 load_game_from_NVR
008969 nvr_avail
008a1f save_game_to_NVR
008aa5 encode_mem_space
008b67 decode_mem_space
008d1f verify_save_space
008d6f playfield
008e71 demo_playfield
008ef3 init_playfield
009017 init_playfield_size
009045 convert_palette
00906f back_on_overworld
0090fd back_on_playfield
00921d init_death
0092fd death_loop
00933d start_continue
0093c3 update_death_pose
00941b death_loop_bottom
0094c3 draw_filled_rect
009551 draw_initial_death_screen
0095c7 draw_death_number
009605 erase_death_number
009651 read_sprite_cycle_colors2
00971d read_bg_cycle_colors
009b0b LgHJ-
00a50d drop_sprite
00a5df chk_raft_pos
00a6ab power_glove_blast
00a845 power_glove_effect
00a863 BfdJ-
00a86f NgXJm
00ac57 init_weapon
00ad09 update_pf_lct
00ae75 check_screen_edges
00aeb3 old_get_sprite_block
00b33b get_sprite_block
00b38b restore_sprite_blocks
00b3e5 write_sprite_blocks
00b441 write_vert_blocks
00b495 restore_vert_blocks
00b56b reinit_lct_A
00b613 reinit_lct_B
00b755 init_sprites
00b89f check_stick
00b92d fix_jump_stick
00bb07 retrieve_help_state
00bb6f retrieve_mkt_demo
00bbd3 get_input
00bc45 debounce_trig
00bc95 debounce_trig_music
00bd3f debounce_stick
00be3d wait_for_button_press_music
00bea5 init_random
00bee5 randomize
00bf84 fRpc/
00bfed check_for_animations
00c5d3 move_link
00c7b9 handle_knockback
00c883 init_sword_thrust
00cb2f sword_thrust
00cbeb end_thrust
00cc67 end_thrust_after_anim
00ccf7 check_map_row
00ce39 straight_shot
00cf87 lob_shot
00d09d lob_bomb
00d293 triple_shot
00d2d9 check_map_while_walking
00d6db move_1_block
00d7c7 check_which_upward_motion
00d875 check_which_downward_motion
00d9c7 check_for_climb
00dd09 XfZHm
00dd71 check_map_while_jump_descent
00de59 jump_up
00df07 jump_up_dir
00df77 init_big_jump
00e055 big_jump_up
00e0f5 big_jump_down
00e1fb TfrJ-
00e29d slide
00e70f climb
00e755 jump_off
00e93d init_link
00ea55 init_rope
00ecc1 using_rope
00eda1 check_for_rope_path
00ee15 draw_rope
00ee75 erase_rope
00eeb7 go_find_hero_action
00eef1 set_link_position
00ef4d set_link_position_and_dir
00f135 check_enemy_motion
00f483 check_sleepers
00f551 wake_on_chance
00f685 get_new_image
00f783 get_new_macro_image
00f933 get_image_number
00fc79 move_types_1_and_3
00fe91 finish_move
00ffa9 set_walker
0103d1 move_type_4
010627 check_for_alternate_macro
010715 set_alternate_macro
0107a3 do_alternate_macro
0107fd end_alternate_macro
010997 move_type_2
010d6b move_type_5_or_6_1_block
011197 move_type_6
011505 init_enemies
011571 2fFJk
011639 reinit_sprite
011765 main_init
011839 init_type_1
011b73 init_type_3
011e29 init_type_2
011ed7 init_type_4
012005 init_type_6
012339 place_raft
012537 init_type_7
01276b init_type_8
0127dd init_sprite_macros
0128cf check_if_on_screen
012949 check_if_was_on_screen
0129ab go_find_action
012b77 erase_riding_paths
012c0b dHABA
012cd1 dHABA
012d35 get_random_bound
012dbf init_error_buffer
012dfd initial_areas
012ebd show_label
012f51 restore_label
013089 set_new_map
0131c5 check_world_hotspots
0131ed noshow_label
01369f scroll_world
01390b get_help_instruction
01399d set_ov_help_off
0139fb set_help_off
013a23 set_mkt_demo_off
013a69 delayed_wait
013c75 do_mmenu_code
013cbb quit_game
013cd9 init_map
013d4d move_map
013def flip_world_lcts
013e2b zero_data_cil
013e65 zero_video_cil
013f2b play_error
014061 load_world
0144c3 load_playfield
014709 initial_load
014869 KHBBB
014adf play_animation
014b11 abort_rtrs
014b7f play_overworld_music
014bdb stop_overworld_music
014cd9 start_voice_over
014d51 set_pcb
014da7 set_pcl
014dd9 reset_pcl
014f3b load_piracy
01507b start_playing_credits
0154c9 roll_credits
0156f7 KHBBB
015b2d play_background_animation
015bf7 flip_backgrounds
015cc5 KHBBB
015d17 load_backgrounds
015d65 win_game
016405 play_title
016551 install_palette
0165c7 check_buttons
016635 clean_disc
01673d play_bumper
0167cb prepare_mod_dir
0167f9 (HABA
016907 `HABA
016939 <HABA
016951 init_environment_projectiles
01698d (HABA
0169ad (HABA
0169cb clear_projectiles
0169ff (HABA
016a21 (HABA
016a47 projectile_on_field
016acb (HABA
016af7 (HABA
016b1b (HABA
016b39 (HABA
016b59 (HABA
016b75 (HABA
016b9b (HBBB
016bb7 (HBBB
016bdb (HBBB
016bf7 (HBBB
016c23 (HBBB
016c4f (HBBB
016c6b (HABA
016c8b (HBBB
016ca7 (HABA
016cc7 (HBBB
016ce3 (HABA
016d01 (HABA
016d1f (HABA
016d3d (HABA
016d5b (HABA
016d79 (HABA
016db1 (HBBB
016deb (HBBB
016e0f (HABA
016e39 (HABA
016e55 (HABA
016e71 (HABA
016e8d (HABA
016eab (HABA
016ec9 (HABA
016ee7 (HABA
016eff (HBBB
016f1d (HABA
016f35 init_projectile
016f65 (HABA
016f85 (HABA
016fab (HABA
016fcb (HABA
016ff7 erase_projectiles
017027 (HABA
017049 (HABA
017069 (HABA
017085 (HABA
0170a3 (HABA
0170c1 (HABA
0170df (HABA
0170fd (HABA
017123 (HABA
017157 (HABA
017175 (HABA
017191 (HABA
0171b1 (HABA
0171d1 (HABA
0171e9 (HBBB
017207 (HABA
017225 (HABA
017247 (HBBB
017263 (HBBB
01727f (HABA
0172a1 (HBBB
0172bd (HBBB
0172d9 (HABA
0172f9 (HBBB
017315 (HABA
017335 (HBBB
017351 (HABA
017369 (HBBB
017387 (HABA
01739f (HBBB
0173bd (HABA
0173db (HABA
0173fb (HABA
01741d (HABA
017447 (HABA
017463 (HABA
01747f (HABA
01749b (HABA
0174b3 (HBBB
0174d1 (HABA
0174f1 (HABA
01750f (HABA
01752f (HABA
01754d (HABA
017571 (HABA
01758f (HABA
0175a7 (HBBB
0175c5 (HABA
0175dd (HBBB
0175fb (HABA
017613 (HBBB
017633 (HABA
01764b (HBBB
01766b (HABA
017683 (HBBB
0176a5 (HABA
0176c5 (HABA
0176e5 (HABA
017703 (HABA
01772b (HBBB
017747 (HABA
01776f (HBBB
01778b (HABA
0177a3 (HBBB
0177c1 (HABA
0177e5 (HABA
017805 (HABA
017823 (HABA
017849 (HABA
017867 (HABA
017885 (HABA
0178a3 (HABA
0178c3 (HABA
0178e7 (HABA
01790b (HABA
01792f (HABA
017953 (HABA
017971 (HABA
017997 (HABA
0179b5 update_projectiles
0179e5 (HABA
017a0b (HABA
017a3f (HABA
017a5b (HABA
017a89 (HABA
017aa5 (HABA
017ac7 (HABA
017ae9 (HABA
017b0f (HABA
017b85 (HABA
017bbf check_projectiles
017bf5 (HABA
017c17 (HABA
017c3b (HABA
017c6f (HABA
017c8b (HABA
017cb9 (HABA
017cd5 (HABA
017d03 (HABA
017d25 (HABA
017d59 draw_projectiles
017d8d (HABA
017e0b (HBBB
017e3d (HBBB
017ef7 :HABA
017f5d (HABA
017f85 (HABA
017fab (HABA
018017 (HABA
018041 (HABA
018075 (HABA
018097 (HABA
0180c3 (HABA
018129 (HABA
01815d (HBBB
01817f (HABA
0181d9 check_collisions
01820d (HABA
01824b (HABA
018285 (HABA
0182b1 (HCBC
0182d1 (HCBC
0182f3 (HCBC
018315 (HCBC
01833b (HCBC
018361 reflect_projectile
01853f check_vulnerablility
0185a3 (HBBB
0185d3 (HBBB
0185fd (HBBB
018653 (HABA
0186a3 (HABA
018711 (HABA
018735 (HABA
018759 (HABA
018783 (HABA
0187a3 (HABA
0187c3 (HABA
0187ed (HABA
018819 (HABA
01883b (HABA
018857 (HABA
018887 check_map
0188d3 init_hit
01891f init_miss
018a2f :HBBB
018a97 :HBBB
018b7b init_enemy_projectiles
019779 setup_projectile_types
019877 fill_tool_list
0198bf add_to_tool_list
0198f7 check_lamp_highlight
01992d check_canteen_highlight
019ae3 call_subscreen
019b7b get_first_item
019c32 fjpc`hR
019c4a fRpc`P
019cab find_next_item
019d0b highlight_item
019d67 draw_selected_icon
019ddf erase_selected_icon
019ea9 erase_item_name
019f61 draw_item_name
019faf unhighlight_item
01a0cf icon_to_from_save_buffer
01a1cd draw_highlighted_icon
01a335 scroll_on_subscreen
01a4b3 scroll_off_subscreen
01a5ad draw_initial_subscreen
01a639 draw_item
01a6a7 draw_item_quantity
01a6e9 draw_edge
01a9f3 draw_border
01aae5 draw_outlined_box
01ab7d draw_an_item
01ac6d draw_other_items
01acc5 draw_sword
01ad0b draw_shield
01adaf load_menu_icons
01ae05 initial_item_quantity
01ae4f use_item
01ae6f tell_what_got
01af59 display_got_sign
01af89 wait_got_sign
01afc9 take_out_got_sign
01b043 display_clean_disc_sign
01b0d9 my_sprintf
01b1d9 update_tools
01b239 delete_tool
01b471 sprite_hits_tool
01b771 draw_tools
01b86f erase_tools
01b9c5 create_playfield_tools
01ba01 add_bombs_to_buy
01ba37 add_fake_bombs
01ba6b add_ropes_to_buy
01baa1 add_fake_ropes
01bad5 add_oil_to_buy
01bb09 add_fake_oil
01bc5d add_to_playfield_tools
01bcbb load_tool_imagery
01bcf9 :HABA
01be59 check_tool_collision
01beb5 set_life_hearts
01bf07 hero_hit
01bfcb restore_life
01c047 draw_life_hearts
01c0a5 draw_heart
01c0f5 erase_life_hearts
01c13f mark_experience
01c189 unmark_experience
01c1d9 check_experience
01c217 clear_area_experiences
01c28b can_open_door
01c2ed bring_up_locked_sign
01c337 take_out_locked_sign
01c37b use_rubies
01c3ef display_rubies_sign
01c421 wait_rubies_sign
01c465 take_out_rubies_sign
01c4a5 init_bomb
01c51d explode_bomb
01c781 init_bomb_hit
01c7eb light_lantern
01c85d lantern_brightness
01c8e1 dim_lantern
01c985 buy_item
01c9ef more_items
01cb03 Continue?
01d67c Lldata.rtr
01d688 Vlanim.rtr
01d6c8 Faces of Evil 1
01d71e nSave Before End?
01d732 Start New Game?
01d744 Game MenuD
01d758 Not Enough Memory toD
01d776 Start GameP
01d85f lHelp
01d866 rNew Game
01d871 |End Game
01d87e Continue Game
01d88e Load Game
01d89a Save Game
01d8b1 Cancel
01d8ba Game Three
01d8c7 Game Two
01d8d2 Game One
01d8ef The Faces Of Evil
01d903 ldata.rtr
01d90f ldata1.rtr
01d91c ldata2.rtr
01d99b cdi_bumper
01d9a8 cdi_bumpdata
01d9b7 cdi_bumpdata
01d9c6 ersatz_1
01d9e1 "*cdi_bumper
01da9f lmusic.rtr
01dadd &6Please Clean
01daec &DYour DiscP
01dc73 ((Crystal
01dc83 (4Diamond
01dc94 (BReflection
01dca1 (NCrystal of
01dcae (ZVision
01dcb7 (bCrystal of
01dcc4 (nBerries
01dcce (vGrapple
01dcda Necklace
01dcef Canteen
01dcf9 Canteen
01dd03 Koridai
01dd0d Book of
01dd17 Glove
01dd1f Power
01dd27 Ropes
01dd2f Bombs
01dd37 Snowballs
01dd43 Firestones
01dd57 Helmet
01dd60 Winged
01dd69 of Vision
01dd75 Lantern
01dd7f Lantern
01dd89 Magic
01dd8f )$Lantern
01dda2 )LLocked!
01ddac )TNot Enough
01df6a 0 HHHHHHHHHH BBBBBB
01dfa5 DDDDDD
01dfe8 64/nvr/csd
01dff9 =7B eaioutsrdfhlnpEAIOUTSRDFHLNP
01e360 N^NuNV
01ee8e bHgD0
01f0cc N^NuNV
01f4ac N^NuNV
01f710 N^NuNV
01fb64 ABAN@
01ff22 rYBBN@
== 0 disc paths ==
== 64 text runs ==
000048 cdi_bumper
000212 **** Can't install trap handler ****
000428 N]Nucdi_bumpdata
0004c2 N]NuNU
000516 N]NuNU
0005a2 N]NuNU
00064a N]NuNU
000a80 N]NuNU
000bae N]NuNU
000e4c N]NuNU
000f78 `XHWHo
000fdc N]NuNU
00100e N]Nubumper.rtf
00101d count
001023 cluts
001029 frame_sizes
001035 filenum
0010b7 ,HWHx
00118f ,HWHx
001206 N]NuNU
0012bc N]NuNU
001376 N]NuNU
0013c6 N]NuNU
001404 N]NuNU
001420 N]NuNU
00143c N]NuNU
001496 N]NuNU
0014ca N]NuNU
001540 N]NuNU
0015b2 N]NuNU
0015da N]NuNU
001604 N]Nu/nvr/csd
001a3a N]NuNU
001ae0 N]NuNU
001c6c N]NuNU
001c9a N]NuNU
001d28 N]NuNU
001d80 N]NuNU
001de6 N]NuNU
001e2a N]NuNU
001e68 N]NuNU
001fd0 N]NuNU
002036 N]NuNU
00206c N]NuNU
0020a8 N]NuNU
002106 N]NuNU
002156 N]NuNU
0021e6 N]NuNU
00223c N]NuNU
002280 N]NuNU
0022b8 N]NuNU
002328 N]NuNU
002350 bHgD0
00240e N]NuNU
00243a N]NuNU
002516 H@BAHABBHB
002918 N]NuNU
0029e7 RN]NuNU
002b4c N]NuNU
002bc2 N]NuNU
002bea NuNuNu
002c7d 0 HHHHHHHHHH BBBBBB
002cb8 DDDDDD
002d33 Dcdi_bumpdata