Notes:999: Nine Hours, Nine Persons, Nine Doors

global.ini strings
Listed here are all the text strings, in order, within the file “global.ini”. They seem to be functions, that when called upon by the game, do something. It is unknown what every function does at the moment but some of the functions will load puzzle/escape rooms, novel sections and control where text is being displayed on either screen. Any known info about the function will be commented to the right of it or there will be a break in the list with a comment above. $USEITEM_DONE $GETITEM $GETITEM_IGNORE $ITEM_RENAME $FLASH_RESULT $FLASH_ANSWER_PATTERN $DefWait $CLICK_COUNT $DONE &Q &HERO // Will display text on the top screen &NOVEL // Will display text on the touch screen &NONE

The next bunch of functions seem to load novel/puzzle sections and are described in more detail in the code section of this page. ~START ~Test ~Debug ~Common ~MiniGame ~Memory ~A01b ~A01d ~A01e ~A11b ~A11d ~A12b ~A12d ~A12e ~A21b ~A21d ~A21e ~A31b ~A31d ~A32b ~A32d ~A41d ~A42b ~A42d ~Aed1 ~Aed2 ~Aed3 ~Abad ~PreA ~B11b ~B11d ~B12b ~B12d ~B12e ~B21b ~B21d ~B21e ~B31b ~B31d ~B32b ~B32d ~Bed1 ~Bed2 ~Bed3 ~Bed4 ~Bbad ~PreB ~C21b ~C21d ~C21e ~C31b ~C31d ~C32b ~C32d ~Ced1 ~M10a ~M20a ~M30a ~M40a ~Test2 ~Test3 ~Test4 ~Test5 ~D01d ~A01 ~A11 ~A12 ~A21 ~A31 ~A32 ~A41 ~A42 ~B11 ~B12 ~B21 ~B31 ~B32 ~C21 ~C31 ~C32 The next set of function names seem to be related to minigames/puzzles inside of puzzle/escape rooms so they could possibly load them but this isn't known for sure.

~A01_suitcase ~A01_cardlock ~A11_trickingPicture ~A12_inputDevice ~A21_inputDevice ~A21_lucyJohn ~A31_helm ~A31_telegraph ~A32_inputDevice ~A32_morse ~A41_bookshelf ~A41_cylinderLock ~A41_password ~A42_cross ~A42_helm ~A42_morse ~A42_nonarygame ~A51_anagram ~B11_piano ~B12_slot ~B12_baccarat ~B12_exitLockingDevice1 ~B12_exitLockingDevice2 ~B21_lightsOut ~B31_gear ~B32_lockingDevice1 ~B32_lockingDevice2 ~B32_oshiguruma ~C21_inputDevice ~C31_panel ~C32_brainWaves1 ~C32_brainWaves2 The rest of the list. ~calculator $FRAME ~file ~item ~map ~start ~topview $TEST $RESTART_A01 $NOVEL_SKIP_FIC $MEMORY_CALL $MEMORY_ENABLE $NOVEL_SEL_ROOT_A1 $NOVEL_SEL_ROOT_A2 $NOVEL_SEL_ROOT_B1 $NOVEL_SEL_ROOT_B2 $NOVEL_SEL_ROOT_C2 $ESCAPE_TU_STARTING $ESCAPE_TU_ITEM $ESCAPE_TU_SEARCH_USE_ITEM $ESCAPE_TU_ITEM_MIX $ESCAPE_TU_FILE $ESCAPE_TU_CALC $ESCAPE_TU_MINIGAME $ESCAPE_TU_MAP $NOVEL_ED_A2 $NOVEL_ED_A1 $NOVEL_ED_AD1 $NOVEL_ED_B1 $NOVEL_ED_BD1 $NOVEL_ED_C1 $NOVEL_ROOT_A1 $NOVEL_ROOT_B1 $NOVEL_ROOT_A2 $NOVEL_ROOT_B2 $NOVEL_ROOT_C2 $NOVEL_ROOT_A3 $NOVEL_ROOT_B3 $NOVEL_ROOT_C3 $PASS_STAGE_A01 $PASS_STAGE_A11 $PASS_STAGE_A12 $PASS_STAGE_A21 $PASS_STAGE_A31 $PASS_STAGE_A32 $PASS_STAGE_A41 $PASS_STAGE_A42 $PASS_STAGE_A51 $PASS_STAGE_B11 $PASS_STAGE_B12 $PASS_STAGE_B21 $PASS_STAGE_B31 $PASS_STAGE_B32 $PASS_STAGE_C21 $PASS_STAGE_C31 $PASS_STAGE_C32 $FILE_ENABLE $FILE_ESC_A01_0 $FILE_ESC_A21_0 $FILE_ESC_A31_0 $FILE_ESC_A31_1 $FILE_ESC_A32_0 $FILE_ESC_A32_1 $FILE_ESC_A32_2 $FILE_ESC_A32_3 $FILE_ESC_A42_0 $FILE_ESC_A42_1_1 $FILE_ESC_A42_1_2 $FILE_ESC_A42_1_3 $FILE_ESC_A42_2 $FILE_ESC_A42_3 $FILE_ESC_A42_4 $FILE_ESC_A42_5 $FILE_ESC_B21_0 $FILE_ESC_B32_0 $FILE_TUTORIAL_S0 $FILE_TUTORIAL_S1 $FILE_TUTORIAL_S2 $FILE_TUTORIAL_S3 $FILE_TUTORIAL_S4 $FILE_TUTORIAL_S5 $FILE_TUTORIAL_D1 $FILE_TUTORIAL_D2 $FILE_TUTORIAL_D3 $FILE_TUTORIAL_D4 $GET_MAP_A $GET_MAP_B $GET_MAP_C $GET_MAP_E $PASS_MAP_A31 $PASS_MAP_A32 $PASS_MAP_A11 $PASS_MAP_A12 $PASS_MAP_B11 $PASS_MAP_B12 $PASS_MAP_A21 $PASS_MAP_B21 $PASS_MAP_A31_0 $PASS_MAP_A31_1 $PASS_MAP_A32_0 $PASS_MAP_A32_1 $PASS_MAP_A_01 $PASS_MAP_A11_0 $PASS_MAP_A11_1 $PASS_MAP_A12_0 $PASS_MAP_A12_1 $PASS_MAP_A12_2 $PASS_MAP_B11_0 $PASS_MAP_B11_1 $PASS_MAP_B11_2 $PASS_MAP_B12_0 $PASS_MAP_B12_1 $PASS_MAP_B_01 $PASS_MAP_A21_0 $PASS_MAP_A21_1 $PASS_MAP_A21_2 $PASS_MAP_B21_0 $PASS_MAP_B21_1 $PASS_MAP_C21_0 $PASS_MAP_C_01 $PASS_MAP_C_02 $PASS_MAP_C_03 $PASS_MAP_E_01 $PASS_MAP_E_02 $PASS_MAP_E_03 $PASS_MAP_A41_0 $PASS_MAP_A42_0 $PASS_MAP_B31_0 $PASS_MAP_B32_0 $PASS_MAP_C31_0 $PASS_MAP_C31_1 $PASS_MAP_C31_2 $PASS_MAP_C32_0 $PASS_MAP_T_0 $PASS_MAP_T_1 $NOVEL_M10A_SUUJIKON $NOVEL_A11D_NOROI $NOVEL_A11D_KOGATAKEN $NOVEL_M20A_CASINO $NOVEL_M20A_SENSHITSUMAE $NOVEL_M20A_TSUURO $NOVEL_M20A_DAIBYOUSHITSU $NOVEL_M20A_YASHIRONOTEIAN $NOVEL_M20A_DONARARETA $NOVEL_M20A_GENDOU $NOVEL_M20A_SANSENTAKU $NOVEL_A21B_ICE9KIITA $NOVEL_A21D_CLOVERGET $NOVEL_M30A_NUREBANASHI $NOVEL_M30A_ZEROIRU $NOVEL_A31D_YOTSUBAHANASHI $NOVEL_A32D_ALLICEHANASHI $NOVEL_M40A_RYUUZU $NOVEL_M40A_UDEBAN $NOVEL_BED2_RYUUZU $NOVEL_BED2_ENGLISH $NOVEL_BED4_NAZOBANGOU $GAME_FIRST $GAME_SKIP_FIRST $DEBUG_LOOP $DEBUG_SEL $TRIAL_VER $DEBUG_SCENE_CHECK

Accessing Different Parts of the Game
It might be useful to be able to access any part of the game freely for hacking purposes to help find unused content. Here is a list of codes for both the Japanese and American versions of the game to access pretty much any part of the game with supporting comments about each file. The files listed are the ones called by some of the functions in the above section. All of the American codes have been tested and should work while not all of the Japanese codes have been tested but they should work as well. If there is a problem with a code, talk to the idiot who made them.

Note: These codes only work properly with DeSmuME 0.9.7 due to use of an unaligned memory address. Go to the main menu of the game and turn a code ON. After the code is on, turn the code OFF. Select "Start" or "Begin with Memories" and start a new game (saving is unnecessary). The game should load the selected file. Only turn one code on at a time and read any special comment about codes.

“DebugAuto” String
A string that is only found in the Test5.fsb file and is otherwise completely unused. When called upon by the game, it sets hex address in the US version or hex address  in the Japanese version from 00 to 01. As seen in Test5.fsb, any text shown is sped through regardless if it is the first time the player has seen the text or not. When in escape rooms, the computer will randomly select items or objects of interest making it nearly impossible to play. The effects of “DebugAuto” can be seen ingame, in any part of the game, by using the following codes. One code is for enabling and the other is for disabling. Only turn on one code at a time silly.

Earthquake Effect
During Novel sections, there are two bytes of data that control an Earthquake Effect on the top screen which shakes whatever image is displayed on the top screen. In the US version, setting byte address to a non zero value will turn on the Earthquake Effect and byte address  controls the directions the image will shake. Using value will cause shaking up and down, using value  will cause shaking left and right and using value  will cause shaking up, down, left and right. Using any other values besides the ones listed only seem to pause/stop/disable the Earthquake Effect. The game probably controls these bytes using the string "Earthquake".

Transparent Text Box
The textbox on the topscreen can be made transparent. In the US version, going to byte address and setting the byte to a non zero value can achieve this.

Shadings(?) on the Top and Touch Screen
In the US version, going to the byte address will control shading on the top or touch screen by changing it to a non zero value.

Translation of debug_c.dat
Character selection invalid poses 00:Standard 01:Amazement 02:Anger 03:Sorrow 04:Laughing 05:Serious 06:Surprise 07:Happiness 08:Embarrassment 09:Startled 10:Agitation 11:Suggesting 12:Fear 13:Dull 14:Worry 15:Insistence 16:Pride 17:Confident 18:Sudden change 19:Motion related 1 20:Motion related 2 21:Motion related 3 22:Motion related 4 23:Motion related 5 Motion 1 - Frame cycling has invalid eye-closing, invalid mouth open/closing, invalid background, invalid conversation movement, invalid left/right/middle standing positions