# Guest functions replaced by native ones (port/hle/*.c). The recompiler emits a call to the native
# function instead of translating the guest code. Format: address native_function  # what it is
0x00110C28 hle_tty_write        # SDK: write text to the Deci2 TTY (debug console), (buf, len) -> len
# libcdvd (SDK 2.8), identified by their messages and RPC numbers: see port/hle/cdvd.c
0x00123250 hle_sceCdInit
0x00123930 hle_sceCdRead
0x00122F20 hle_sceCdSync
0x001229E0 hle_sceCdSearchFile
0x00123530 hle_sceCdDiskReady
0x00123728 hle_sceCdDiskReady    # second variant (server 0x8000059C), answers the same
0x00123BE0 hle_sceCdGetDiskType
0x00123C78 hle_sceCdGetError
0x00123D10 hle_sceCdBreak
0x00123DC8 hle_sceCdMmode
# CRI middleware
0x0024E8D0 hle_cri_print        # CRI debug printf (fmt, ...); prints at debug level 2 only
# game
0x002A78D0 hle_frame_lines      # scanlines this frame has used, for the time-sliced loaders: see port/hle/frame.c
0x002BFA80 hle_video_mode       # sets the video mode (D_0050022C): 1 (NTSC, 60 Hz) instead of the region's 2 (PAL): see port/hle/frame.c
0x002C3740 hle_movie_step       # the opening video's scene step: played with FFmpeg instead of Sofdec + the IPU: see port/hle/movie.c
0x001798C0 hle_csel_portraits      # character select: the portraits along the strips, more of them in widescreen: see port/hle/charselect.c
0x00138B20 hle_set_frame_wait   # scenes asking for a frame per two vertical blanks run at the full rate: see port/hle/frame.c
# libmc2: the worker's synchronous command functions, on a folder (see port/hle/memcard.c)
0x00132320 hle_mc2_getinfo
0x001326B0 hle_mc2_format
0x00132FA8 hle_mc2_unformat
0x001337D8 hle_mc2_read
0x001347F0 hle_mc2_write
0x00134230 hle_mc2_create
0x00134D10 hle_mc2_delete
0x00135690 hle_mc2_rename
0x00135108 hle_mc2_getdir
0x00134F80 hle_mc2_chdir
0x00135578 hle_mc2_chmod
0x00133320 hle_mc2_lookup
0x001374F0 hle_mc2_request
# Functions that run a native function on entry and then their own code: address native_function before
0x002A0E50 hle_widescreen_view before   # camera set_view_screen: ax * 3/4 for 16:9, see port/hle/widescreen.c
0x00100A20 hle_heap_free before         # allocator free (allocator, p): SSTHEH_POISON_FREE=1 fills the block, see port/hle/heap.c
0x002F9140 hle_training_battle before     # the battle's step (battle): training mode's frame, see port/hle/training.c
0x0031E5F0 hle_training_damage before     # a hit's damage (life block, damage): its amount, no knock-out in training
0x002FF490 hle_training_controller before # controllers' common step: the computer's decision cleared for an idle opponent
0x00315310 hle_com_burn                 # computer controller: Triangle + Circle (burn the cosmo)? a draw; never for the idle opponent (port/hle/training.c)
0x00100530 hle_csel_alloc before          # malloc: the character select's elements, more of them, see port/hle/charselect.c
0x00102580 hle_csel_array before          # new[]: the same, constructed by the game
0x00179D80 hle_csel_borders_init before   # character select: border pieces' set-up (the new ones too)
0x00179BF0 hle_csel_borders_place before  # character select: border pieces' places
0x0017A1E0 hle_csel_lists before          # character select: elements into the draw lists
0x001419B0 hle_csel_closing before        # in a draw list?: from the closing character select, the new pieces taken out
0x0017A030 hle_csel_show before           # character select: everything shown or hidden
0x002FF9D0 hle_mash_any before            # player controller: any button pressed? (Big Bang events: auto-mash, see port/hle/bigbang.c)
0x002FF960 hle_mash_face before           # player controller: which face button pressed?
0x002FF8A0 hle_mash_face before           # player controller: which face button pressed? (second one)
0x002FF910 hle_mash_some before           # player controller: one of these buttons pressed?
0x002F2630 hle_revival_check before       # round's end check: with revival off, a fighter at life 0 is knocked out (port/hle/bigbang.c)
0x00155E40 hle_text_blit before          # a glyph written into a text's canvas: remembered to draw it with a font file, see port/hle/textfont.c
0x00315070 hle_com_face                # computer controller: which face button? (a draw); none for the Big Bang Counter when it is off, see port/hle/bigbang.c
0x00224180 hle_training_menu_texts before   # a list of texts: the character select's mode menu gets "Training" (port/hle/training.c)
0x0013BA20 hle_training_menu_cursor before  # a list's cursor set: the mode menu's first one stays on "Back to main menu"
0x0013DC10 hle_training_menu_chosen before  # an owner told: the mode menu's choice, "Training" = 1P VS COM with training on
