<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Maintenance Mode</title>
<description> I still get a lot of questions about the System Menu&amp;#039;s &quot;maintenance mode&quot; -- it&amp;#039;s time for some of you to go dig in and answer this question, once and for all!

The Wii menu seems to use &quot;Health&quot; to refer to the &quot;health and safety&quot; (press A) screen at the beginning. If you have the right buttons pressed down there, it will set this flag:

81089259 safe_mode_flag: .space 1

ipl::scene::skHealth::check_safe_mode((void)) # =============== S U B R O U T I N E =======================================
ipl::scene::skHealth::check_safe_mode((void)) ipl::scene::skHealth::check_safe_mode((void)):
ipl::scene::skHealth::check_safe_mode((void)) # CODE XREF: ipl::scene::skHealth::calcFadein((void))+1Cp
ipl::scene::skHealth::check_safe_mode((void)) # ipl::scene::skHealth::calcNormal((void))+28p
ipl::scene::skHealth::check_safe_mode((void)) .set var_4, -4
ipl::scene::skHealth::check_safe_mode((void)) .set arg_4, 4
ipl::scene::skHealth::check_safe_mode((void)) stwu %sp, -0x10(%sp)
ipl::scene::skHealth::check_safe_mode((void))+4 mflr %r0
ipl::scene::skHealth::check_safe_mode((void))+8 stw %r0, 0x10+arg_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+C stw %r31, 0x10+var_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+10 mr %r31, %r3
ipl::scene::skHealth::check_safe_mode((void))+14 lbz %r0, 0x7C(%r3)
ipl::scene::skHealth::check_safe_mode((void))+18 cmpwi %r0, 0
ipl::scene::skHealth::check_safe_mode((void))+1C bne loc_813B5104
ipl::scene::skHealth::check_safe_mode((void))+20 bl ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+24 lwz %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+28 li %r4, 0x10
ipl::scene::skHealth::check_safe_mode((void))+2C lwz %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+30 mtctr %r12
ipl::scene::skHealth::check_safe_mode((void))+34 bctrl
ipl::scene::skHealth::check_safe_mode((void))+38 cmpwi %r3, 0
ipl::scene::skHealth::check_safe_mode((void))+3C beq loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+40 bl ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+44 lwz %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+48 li %r4, 0x1000
ipl::scene::skHealth::check_safe_mode((void))+4C lwz %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+50 mtctr %r12
ipl::scene::skHealth::check_safe_mode((void))+54 bctrl
ipl::scene::skHealth::check_safe_mode((void))+58 cmpwi %r3, 0
ipl::scene::skHealth::check_safe_mode((void))+5C beq loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+60 bl OSGetTick
ipl::scene::skHealth::check_safe_mode((void))+64 li %r0, 1
ipl::scene::skHealth::check_safe_mode((void))+68 stw %r3, 0x78(%r31)
ipl::scene::skHealth::check_safe_mode((void))+6C stb %r0, 0x7C(%r31)
ipl::scene::skHealth::check_safe_mode((void))+70 b loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+74 # ---------------------------------------------------------------------------
ipl::scene::skHealth::check_safe_mode((void))+74 loc_813B5104: # CODE XREF: ipl::scene::skHealth::check_safe_mode((void))+1Cj
ipl::scene::skHealth::check_safe_mode((void))+74 bl ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+78 lwz %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+7C li %r4, 0x10
ipl::scene::skHealth::check_safe_mode((void))+80 lwz %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+84 mtctr %r12
ipl::scene::skHealth::check_safe_mode((void))+88 bctrl
ipl::scene::skHealth::check_safe_mode((void))+8C cmpwi %r3, 0
ipl::scene::skHealth::check_safe_mode((void))+90 beq loc_813B5144
ipl::scene::skHealth::check_safe_mode((void))+94 bl ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+98 lwz %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+9C li %r4, 0x1000
ipl::scene::skHealth::check_safe_mode((void))+A0 lwz %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+A4 mtctr %r12
ipl::scene::skHealth::check_safe_mode((void))+A8 bctrl
ipl::scene::skHealth::check_safe_mode((void))+AC cmpwi %r3, 0
ipl::scene::skHealth::check_safe_mode((void))+B0 bne loc_813B5154
ipl::scene::skHealth::check_safe_mode((void))+B4 loc_813B5144: # CODE XREF: ipl::scene::skHealth::check_safe_mode((void))+90j
ipl::scene::skHealth::check_safe_mode((void))+B4 li %r0, 0
ipl::scene::skHealth::check_safe_mode((void))+B8 stw %r0, 0x78(%r31)
ipl::scene::skHealth::check_safe_mode((void))+BC stb %r0, 0x7C(%r31)
ipl::scene::skHealth::check_safe_mode((void))+C0 b loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+C4 # ---------------------------------------------------------------------------
ipl::scene::skHealth::check_safe_mode((void))+C4 loc_813B5154: # CODE XREF: ipl::scene::skHealth::check_safe_mode((void))+B0j
ipl::scene::skHealth::check_safe_mode((void))+C4 bl OSGetTick
ipl::scene::skHealth::check_safe_mode((void))+C8 lis %r4, bus_clock_speed@h
ipl::scene::skHealth::check_safe_mode((void))+CC lwz %r5, 0x78(%r31)
ipl::scene::skHealth::check_safe_mode((void))+D0 lwz %r4, bus_clock_speed@l(%r4)
ipl::scene::skHealth::check_safe_mode((void))+D4 li %r0, 0x3E8
ipl::scene::skHealth::check_safe_mode((void))+D8 subf %r5, %r5, %r3
ipl::scene::skHealth::check_safe_mode((void))+DC srwi %r3, %r4, 2
ipl::scene::skHealth::check_safe_mode((void))+E0 divwu %r0, %r3, %r0
ipl::scene::skHealth::check_safe_mode((void))+E4 divwu %r0, %r5, %r0
ipl::scene::skHealth::check_safe_mode((void))+E8 cmplwi %r0, 0xBB8
ipl::scene::skHealth::check_safe_mode((void))+EC ble loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+F0 li %r0, 1
ipl::scene::skHealth::check_safe_mode((void))+F4 lis %r3, ((RootHeap+0x10000)@h)
ipl::scene::skHealth::check_safe_mode((void))+F8 stb %r0, 0x7D(%r31)
ipl::scene::skHealth::check_safe_mode((void))+FC addi %r3, %r3, -0x6FF8 # RootHeap
ipl::scene::skHealth::check_safe_mode((void))+100 stb %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::skHealth::check_safe_mode((void))+104 loc_813B5194: # CODE XREF: ipl::scene::skHealth::check_safe_mode((void))+3Cj
ipl::scene::skHealth::check_safe_mode((void))+104 # ipl::scene::skHealth::check_safe_mode((void))+5Cj
ipl::scene::skHealth::check_safe_mode((void))+104 # ipl::scene::skHealth::check_safe_mode((void))+70j ...
ipl::scene::skHealth::check_safe_mode((void))+104 lwz %r0, 0x10+arg_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+108 lwz %r31, 0x10+var_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+10C mtlr %r0
ipl::scene::skHealth::check_safe_mode((void))+110 addi %sp, %sp, 0x10
ipl::scene::skHealth::check_safe_mode((void))+114 blr
ipl::scene::skHealth::check_safe_mode((void))+114 # End of function ipl::scene::skHealth::check_safe_mode((void))

This flag is then checked all over the place in the rest of the binary:

ipl::System::isPostmanResumed((void))+C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::nigaoe::Manager::commitHiddenDB((void))+18 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::PlayTimeLog::log((void))+34 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::PlayTimeLog::sendMsgLog((wchar_t const *))+A0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::PlayTimeLog::check((_CDBRecord *))+28 lbz %r3, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::PlayTimeLog::create_new_record((ipl::EventBuffer const *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::PlayTimeLog::read_record((_CDBRecord *,ipl::EventBuffer *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::PlayTimeLog::write_record((_CDBRecord *,ipl::EventBuffer *,uchar *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r7)
ipl::ResetHandler::update((void))+E4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::ResetHandler::update((void))+148 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::Send_Pause((void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::Send_Pause((void))+30 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::Send_Start((void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::Send_Start((void))+30 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::update_playlog_((void))+14 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::update_playlog_((void))+3C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::update_playlog_((void))+6C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::add_dl_task_((void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::add_dl_task_((void))+30 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::save_mail_now_((void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::save_mail_now_((void))+30 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::do_daily_tasks_((void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::do_daily_tasks_((void))+30 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+14 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+3C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+68 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+8C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+28 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+50 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+8C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+B8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::CdbBackup::CdbBackup((void))+48 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::CdbBackup::stt_wait_worker((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_mount_sd((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_sd((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_sd((void))+44 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::CdbBackup::stt_wait_del_msg_fns((void))+2C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+4C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+7C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+D0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_sd_err((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_prepare_back((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_back_msg_fns((void))+2C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_clean_up_back((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_terminate((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::error_handling((void))+18 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
cdb_backup_delete_callback+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::cdb_backup_delete_task_((void *))+5C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::cdb_backup_delete_task_((void *))+A0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl__cdb_backup_move_callback+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::cdb_backup_move_task_((void *))+5C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::cdb_backup_move_task_((void *))+A0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::SDVFWorker::thread_main((void *))+190 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::SDVFWorker::thread_main((void *))+1B8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::SDVFWorker::thread_main((void *))+210 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::SDVFWorker::thread_main((void *))+238 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
www::wiisetting::wiiWriteBack((WWWJSPluginObj *,WWWJSPluginObj *,int,WWWJSPluginValue *,WWWJSPluginValue *))+F8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
www::wiisetting::wiiWriteBack((WWWJSPluginObj *,WWWJSPluginObj *,int,WWWJSPluginValue *,WWWJSPluginValue *))+13C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Address::set_err_msg((wchar_t *,ulong,NWC24Err))+74 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::FriendListCache::init((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::FriendListCache::fin((void))+18 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::add((ulong,NWC24FriendInfo const &amp;))+50 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::update((ulong,wchar_t const *,ulong long))+60 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::del((ulong))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::FriendListCache::swap((ulong,ulong))+8C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::isValidId((ulong long const &amp;))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::sendRegisterMail((ulong))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::FriendListCache::check((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::FriendListCache::getErrCode(const(void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::create((void))+B8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::create((void))+E0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::create((void))+104 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+B0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::Board::calc((void))+D8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+108 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+144 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+16C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+360 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+2C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+A8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r27)
ipl::scene::Board::destroy((void))+D8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+148 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+1C4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::Board::destroy((void))+1F4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::appendRecord((_CDBRecord *))+34 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::appendRecord((_CDBRecord *))+248 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_cdb_init((void))+70 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_cdb_init((void))+E8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Board::stt_wait_cdb_init((void))+110 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_init((void))+54 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_wait_init((void))+180 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_child_dst((void))+1AC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_child_dst((void))+1E0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+2C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_normal((void))+78 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+A4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+EC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+14C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+208 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_normal((void))+29C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_normal((void))+2D0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+2F8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::count_task_cb_((void *,_CDBRecord *))+6C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::count_task_((void *))+98 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::read_task_((void *))+118 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::fwd_search_task_cb_((void *,_CDBRecord *))+28 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::fwd_search_task_((void *))+70 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Board::after_backup((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::Board::after_backup((void))+54 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::getFriendInfo(const(NWC24FriendInfo *))+30 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::Board::reopen_log((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::BoardObject::delete_record((void))+C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::BoardObject::clean((void))+38 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::BoardSD::update((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::stt_opt_delete_task((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::stt_opt_delete_all_task((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::init_chanjump((RBRAttachment *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::focus_object::setup_chanjump((void))+40 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::focus_object::check_network((void))+E4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::focus_object::check_network((void))+110 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::focus_object::check_network((void))+13C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::check_network((void))+230 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Button::startPointEvent((char const *,ipl::controller::Interface *))+3C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::Button::startLeftEvent((char const *))+34 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::search_task_cb_((void *,_CDBRecord *))+68 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::search_task_((void *))+CC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::ChannelSelect::calcChannelModules((void))+2C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::CsChanSelButtonEventHandler::onEventDerived((ulong,ulong,ipl::controller::Interface const *))+118 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::ChannelObj::calcExtModule((EGG::ExpHeap *,bool,bool))+424 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::ChannelObj::calcExtModule((EGG::ExpHeap *,bool,bool))+460 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelObj::updateNew((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::ChannelObj::setupNew((void))+20 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::ChannelObj::setupNew((void))+48 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelObj::setupNew((void))+A0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::ChannelObj::setupNew((void))+DC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::ChannelTitle::calcFadeout((void))+7C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r27)
ipl::scene::ChannelTitle::calcFadeout((void))+A4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::calcFadeout((void))+E0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::calcFadeout((void))+108 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::loadModule((int,int))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r6)
ipl::scene::ChannelTitle::calcCSWait((void))+118 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::calcCSWait((void))+168 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::skHealth::calcFadein((void))+1C bl ipl::scene::skHealth::check_safe_mode((void))
ipl::scene::skHealth::calcNormal((void))+28 bl ipl::scene::skHealth::check_safe_mode((void))
ipl::scene::skHealth::calcNormal((void))+60 bl ipl::scene::skHealth::finish_safe_mode_check(const(void))
ipl::scene::skHealth::calcFadeout((void))+44 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::skHealth::calcFadeout((void))+C8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::KitayamaTest::calcNormal((void))+598 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r28)
ipl::scene::KitayamaTest::calcNormal((void))+5C0 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+7C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+E8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+154 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+1FC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+244 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t const *))+2EC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+74 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+EC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+164 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::MailAddressSelect::check_network((void))+C8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::MailAddressSelect::check_network((void))+F4 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::MailAddressSelect::check_network((void))+120 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::MailAddressSelect::check_network((void))+1FC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Setting::calcNormal((void))+518 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Setting::calcNormal((void))+600 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Setting::calcNormal((void))+6E8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Setting::calcSafeMode((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::TextWriter::openNWC24((void))+1C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+24 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+90 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+E8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+188 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+1DC lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+238 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::closeNWC24((void))+8 lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::cs::system::is_dltask_registered((CHANSVm *,CHANSVmObjHdr *,CHANSVmObjHdr *))+2C lbz %r0, ((safe_mode_flag+0x6FF8)@l)(%r6)
Anyone want to take a piece of those functions and figure out what they do / why they would be blocked for Maintenance mdoe?</description><link>http://forum.wiibrew.org/read.php?27,110,110#msg-110</link><lastBuildDate>Mon, 10 Aug 2026 09:56:58 +0200</lastBuildDate>
<generator>Phorum 5.2.23</generator>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,28477#msg-28477</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,28477#msg-28477</link><description><![CDATA[ <blockquote class="bbcode"><div><small>Quote<br /></small><strong>ilovehomebrew</strong><br />nintendo dont mind you using it because it was made by them<br />the mode can unbrick a semi-bricked wii thats why your console has it because they always repairing semi-bricked wiis<br />its third parties what do the damage</div></blockquote><br />I don&#039;t care who your dad works for; he either hasn&#039;t looked at the code that implements "Maintenance mode", or he hasn&#039;t explained it to you very well. We worked it out pretty well above, and it doesn&#039;t do what you says it does.]]></description>
<dc:creator>bushing</dc:creator>
<category>Software</category><pubDate>Mon, 10 Aug 2009 23:03:48 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,28199#msg-28199</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,28199#msg-28199</link><description><![CDATA[ nintendo dont mind you using it because it was made by them<br />the mode can unbrick a semi-bricked wii thats why your console has it because they always repairing semi-bricked wiis<br />its third parties what do the damage]]></description>
<dc:creator>ilovehomebrew</dc:creator>
<category>Software</category><pubDate>Sat, 08 Aug 2009 11:54:51 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,28187#msg-28187</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,28187#msg-28187</link><description><![CDATA[ i dont think maintainence mode is worth it cuz if nintendo searches for the sistem files (like the FS browser homebrew does) they can see everything the wii has so whats the point?!?]]></description>
<dc:creator>wiiman</dc:creator>
<category>Software</category><pubDate>Sat, 08 Aug 2009 07:02:43 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,28166#msg-28166</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,28166#msg-28166</link><description><![CDATA[ i know what it is im not guessing knew about it before it was invented its the same mode as safe mode for pc<br /><hr class="bbcode" />my dad works for nintendo<br /><hr class="bbcode" />its completly harmless does fix your message board and other things<br /><hr class="bbcode" />theres nothing new in maintenance mode<br /><hr class="bbcode" />it can unbrick a semi-bricked wii sorry if im flooding your forum im trying to think of the info i know<br /><hr class="bbcode" />it cant unbrick a full-bricked wii<br />ds has got the maintenance mode aswell but my dad dosnt know how to get into<br /><br /><i>(Ed: coalesced by bushing)</i>]]></description>
<dc:creator>ilovehomebrew</dc:creator>
<category>Software</category><pubDate>Sat, 08 Aug 2009 01:24:18 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,6501#msg-6501</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,6501#msg-6501</link><description><![CDATA[ <blockquote class="bbcode"><div><small>Quote<br /></small><strong>Wack0</strong><br /><blockquote class="bbcode"><div><small>Quote<br /></small><strong>WiiCrazy</strong><br />What we have is possibly a limited recovery option for banner bricks</div></blockquote><br />So someone with a banner brick try it. At the H&S banner hold down plus and minus. According to bushing in <a href="http://hackmii.com/2008/05/unbrickmii/" rel="nofollow">this blog post</a>, it won&#039;t work.</div></blockquote><br />If you read and quote what I wrote, you can understand it better...<br /><br />While you are on maintenance mode all wc24 content is disabled... how you can get a brick from wc24 you might say...<br />One case is the infamous large message receipt from a friend...<br />It can also be caused by the updated banners of nintendo&#039;s official channels (wii shop channel for ex.) , never seen this yet it&#039;s there I think for the worst case scenario...<br /><br />Do not mix these with the banner bricks that caused by installing improper wads...]]></description>
<dc:creator>WiiCrazy</dc:creator>
<category>Software</category><pubDate>Wed, 31 Dec 2008 18:51:47 +0100</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,6487#msg-6487</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,6487#msg-6487</link><description><![CDATA[ <blockquote class="bbcode"><div><small>Quote<br /></small><strong>WiiCrazy</strong><br />What we have is possibly a limited recovery option for banner bricks</div></blockquote><br />So someone with a banner brick try it. At the H&S banner hold down plus and minus. According to bushing in <a href="http://hackmii.com/2008/05/unbrickmii/" rel="nofollow">this blog post</a>, it won&#039;t work.]]></description>
<dc:creator>Wack0</dc:creator>
<category>Software</category><pubDate>Wed, 31 Dec 2008 16:17:18 +0100</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,2447#msg-2447</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,2447#msg-2447</link><description><![CDATA[ It&#039;s probably there for the user to be able to format the wii I guess... Recent events like big emails causing the console to freeze is just an example for it&#039;s legit use.<br /><br />[<a href="http://gbatemp.net/index.php?showtopic=108796" rel="nofollow">gbatemp.net</a>]<br /><br />It&#039;s optional for a technician anyway and why would he be bothered to enter into the maintenance mode if he can boot the wii in the normal mode?<br /><br />What we have is possibly a limited recovery option for banner bricks (through nintendo&#039;s channel updates) and anomalies of wc24.]]></description>
<dc:creator>WiiCrazy</dc:creator>
<category>Software</category><pubDate>Thu, 09 Oct 2008 08:18:33 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,1893#msg-1893</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,1893#msg-1893</link><description><![CDATA[ Maintenance mode disables a bunch of WC24 stuff, so it has effects on channels that use WC24. Those banners are scripted using a bytecode VM that Nintendo seems to call CHANS (and that no one has reverse engineered yet), that provides a scripting system (it looks like it might be similar to javascript, at least in its object model) that is used to modify banners at load time and show info obtained via WC24.]]></description>
<dc:creator>marcan</dc:creator>
<category>Software</category><pubDate>Fri, 12 Sep 2008 21:14:54 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,1832#msg-1832</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,1832#msg-1832</link><description><![CDATA[ Apparently, it does something to the Mario Kart Channel banner: [<a href="http://www.youtube.com/watch?v=BLQjEjqbEXY" rel="nofollow">www.youtube.com</a>]]]></description>
<dc:creator>HyperHacker</dc:creator>
<category>Software</category><pubDate>Wed, 10 Sep 2008 03:31:58 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,260#msg-260</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,260#msg-260</link><description><![CDATA[ There&#039;s no need to speculate here. It&#039;s all there in that list.<br /><br />Many of those are there to prevent use of the Message Board:<br /><pre class="bbcode">
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))
ipl::scene::MailAddressSelect::check_network((void))
ipl::scene::TextWriter::openNWC24((void))
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))
ipl::scene::TextWriter::closeNWC24((void))
</pre>]]></description>
<dc:creator>bushing</dc:creator>
<category>Software</category><pubDate>Wed, 06 Aug 2008 10:44:35 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,223#msg-223</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,223#msg-223</link><description><![CDATA[ Well, perhaps it does do nothing... however, it also might put the wii in a condition to be used by an external tool without interference at Nintendo? Just speculating here...]]></description>
<dc:creator>Alex</dc:creator>
<category>Software</category><pubDate>Tue, 05 Aug 2008 04:36:12 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,170#msg-170</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,170#msg-170</link><description><![CDATA[ Well, I&#039;m the one that&#039;s been going around trumpeting that reason -- and it&#039;s probably true. No, it doesn&#039;t do anything other than what I&#039;ve listed above -- but that&#039;s a lot of things, and it&#039;s hard to see any concrete patterns. Here, I&#039;ll start breaking it down:<br /><br /><pre class="bbcode">
ipl::System::isPostmanResumed((void))+C - always returns false
ipl::nigaoe::Manager::commitHiddenDB((void))+18 skips RFLiMakeNWC24MsgforExchange,  ipl::nwc24::Manager::setMsgAppId(&#039;&#039;HACA&#039;), ipl::nwc24::Manager::commitMsg()

Does not update playtime log, or send a WC24 message to self with today&#039;s log:
ipl::PlayTimeLog::log((void))+34
ipl::PlayTimeLog::sendMsgLog((wchar_t const *))+A0	
ipl::PlayTimeLog::check((_CDBRecord *))+28
ipl::PlayTimeLog::create_new_record((ipl::EventBuffer const *))+24	
ipl::PlayTimeLog::read_record((_CDBRecord *,ipl::EventBuffer *))+24	
ipl::PlayTimeLog::write_record((_CDBRecord *,ipl::EventBuffer *,uchar *))+24
ipl::postman::Manager::update_playlog_((void))+6C	doesn&#039;t call ipl::PlayTimeLog:Log()

ipl::ResetHandler::update((void))+E4 ?
ipl::ResetHandler::update((void))+148

ipl::postman::Manager::Send_Pause((void))+30 doesn&#039;t send pause?
ipl::postman::Manager::Send_Start((void))+30	doesn&#039;t send start?
ipl::postman::Manager::add_dl_task_((void))+30		doesn&#039;t call ipl::nwc24::manager::addDlTask()
ipl::postman::Manager::save_mail_now_((void))+30	doesn&#039;t call ipl::nwc24::manager::saveMailNow()
ipl::postman::Manager::do_daily_tasks_((void))+30	doesn&#039;t call ipl::nwc24::manager::saveMailNow()
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+14 doesn&#039;t call ipl::nwc24::manager::manageDlTaskListForMenu()
ipl::postman::Manager::receive_immediately_((void))+28		doesn&#039;t call ipl::nwc24::manager::receive

Does not touch CDB state:
ipl::CdbBackup::CdbBackup((void))+48	
ipl::CdbBackup::stt_wait_worker((void))+1C	
ipl::CdbBackup::stt_mount_sd((void))+1C	
ipl::CdbBackup::stt_check_sd((void))+20
ipl::CdbBackup::stt_check_sd((void))+44
ipl::CdbBackup::stt_wait_del_msg_fns((void))+2C	
ipl::CdbBackup::stt_wait_sd_back_msg((void))+1C	
ipl::CdbBackup::stt_wait_sd_back_msg((void))+4C	
ipl::CdbBackup::stt_wait_sd_back_msg((void))+7C	
ipl::CdbBackup::stt_wait_sd_back_msg((void))+D0	
ipl::CdbBackup::stt_check_sd_err((void))+20		
ipl::CdbBackup::stt_check_prepare_back((void))+20	
ipl::CdbBackup::stt_wait_back_msg_fns((void))+2C	
ipl::CdbBackup::stt_clean_up_back((void))+1C
ipl::CdbBackup::stt_wait_terminate((void))+1C
ipl::CdbBackup::error_handling((void))+18	
cdb_backup_delete_callback+20		
ipl::cdb_backup_delete_task_((void *))+5C		
ipl::cdb_backup_delete_task_((void *))+A0	
ipl__cdb_backup_move_callback+24		
ipl::cdb_backup_move_task_((void *))+5C	
ipl::cdb_backup_move_task_((void *))+AC
</pre>]]></description>
<dc:creator>bushing</dc:creator>
<category>Software</category><pubDate>Mon, 04 Aug 2008 13:01:09 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,134#msg-134</guid>
<title>Re: Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,134#msg-134</link><description><![CDATA[ Well, the reason things would be blocked would be because they want to keep your settings and messages private, wouldn&#039;t they? They could get in huge trouble if something happened, couldn&#039;t they? But does it change anything else, besides block stuff? Perhaps in the future Nintendo would change this to actually use it, like a "Recovery Mode" or something...]]></description>
<dc:creator>Alex</dc:creator>
<category>Software</category><pubDate>Sun, 03 Aug 2008 23:34:03 +0200</pubDate></item>
<item>
<guid>http://forum.wiibrew.org/read.php?27,110,110#msg-110</guid>
<title>Maintenance Mode</title><link>http://forum.wiibrew.org/read.php?27,110,110#msg-110</link><description><![CDATA[ I still get a lot of questions about the System Menu&#039;s "maintenance mode" -- it&#039;s time for some of you to go dig in and answer this question, once and for all!<br /><br />The Wii menu seems to use "Health" to refer to the "health and safety" (press A) screen at the beginning. If you have the right buttons pressed down there, it will set this flag:<br /><pre class="bbcode">
81089259 safe_mode_flag: .space	1

ipl::scene::skHealth::check_safe_mode((void))	   # =============== S U B R O U T I N E =======================================
ipl::scene::skHealth::check_safe_mode((void))	   ipl::scene::skHealth::check_safe_mode((void)):
ipl::scene::skHealth::check_safe_mode((void))						   # CODE XREF:	ipl::scene::skHealth::calcFadein((void))+1Cp
ipl::scene::skHealth::check_safe_mode((void))						   # ipl::scene::skHealth::calcNormal((void))+28p
ipl::scene::skHealth::check_safe_mode((void))	   .set	var_4, -4
ipl::scene::skHealth::check_safe_mode((void))	   .set	arg_4,	4
ipl::scene::skHealth::check_safe_mode((void))			   stwu	   %sp,	-0x10(%sp)
ipl::scene::skHealth::check_safe_mode((void))+4			   mflr	   %r0
ipl::scene::skHealth::check_safe_mode((void))+8			   stw	   %r0,	0x10+arg_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+C			   stw	   %r31, 0x10+var_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+10		   mr	   %r31, %r3
ipl::scene::skHealth::check_safe_mode((void))+14		   lbz	   %r0,	0x7C(%r3)
ipl::scene::skHealth::check_safe_mode((void))+18		   cmpwi   %r0,	0
ipl::scene::skHealth::check_safe_mode((void))+1C		   bne	   loc_813B5104
ipl::scene::skHealth::check_safe_mode((void))+20		   bl	   ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+24		   lwz	   %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+28		   li	   %r4,	0x10
ipl::scene::skHealth::check_safe_mode((void))+2C		   lwz	   %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+30		   mtctr   %r12
ipl::scene::skHealth::check_safe_mode((void))+34		   bctrl
ipl::scene::skHealth::check_safe_mode((void))+38		   cmpwi   %r3,	0
ipl::scene::skHealth::check_safe_mode((void))+3C		   beq	   loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+40		   bl	   ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+44		   lwz	   %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+48		   li	   %r4,	0x1000
ipl::scene::skHealth::check_safe_mode((void))+4C		   lwz	   %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+50		   mtctr   %r12
ipl::scene::skHealth::check_safe_mode((void))+54		   bctrl
ipl::scene::skHealth::check_safe_mode((void))+58		   cmpwi   %r3,	0
ipl::scene::skHealth::check_safe_mode((void))+5C		   beq	   loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+60		   bl	   OSGetTick
ipl::scene::skHealth::check_safe_mode((void))+64		   li	   %r0,	1
ipl::scene::skHealth::check_safe_mode((void))+68		   stw	   %r3,	0x78(%r31)
ipl::scene::skHealth::check_safe_mode((void))+6C		   stb	   %r0,	0x7C(%r31)
ipl::scene::skHealth::check_safe_mode((void))+70		   b	   loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+74   # ---------------------------------------------------------------------------
ipl::scene::skHealth::check_safe_mode((void))+74   loc_813B5104:			   # CODE XREF:	ipl::scene::skHealth::check_safe_mode((void))+1Cj
ipl::scene::skHealth::check_safe_mode((void))+74		   bl	   ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+78		   lwz	   %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+7C		   li	   %r4,	0x10
ipl::scene::skHealth::check_safe_mode((void))+80		   lwz	   %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+84		   mtctr   %r12
ipl::scene::skHealth::check_safe_mode((void))+88		   bctrl
ipl::scene::skHealth::check_safe_mode((void))+8C		   cmpwi   %r3,	0
ipl::scene::skHealth::check_safe_mode((void))+90		   beq	   loc_813B5144
ipl::scene::skHealth::check_safe_mode((void))+94		   bl	   ipl::System::getMasterController((void))
ipl::scene::skHealth::check_safe_mode((void))+98		   lwz	   %r12, 0(%r3)
ipl::scene::skHealth::check_safe_mode((void))+9C		   li	   %r4,	0x1000
ipl::scene::skHealth::check_safe_mode((void))+A0		   lwz	   %r12, 0x14(%r12)
ipl::scene::skHealth::check_safe_mode((void))+A4		   mtctr   %r12
ipl::scene::skHealth::check_safe_mode((void))+A8		   bctrl
ipl::scene::skHealth::check_safe_mode((void))+AC		   cmpwi   %r3,	0
ipl::scene::skHealth::check_safe_mode((void))+B0		   bne	   loc_813B5154
ipl::scene::skHealth::check_safe_mode((void))+B4   loc_813B5144:			   # CODE XREF:	ipl::scene::skHealth::check_safe_mode((void))+90j
ipl::scene::skHealth::check_safe_mode((void))+B4		   li	   %r0,	0
ipl::scene::skHealth::check_safe_mode((void))+B8		   stw	   %r0,	0x78(%r31)
ipl::scene::skHealth::check_safe_mode((void))+BC		   stb	   %r0,	0x7C(%r31)
ipl::scene::skHealth::check_safe_mode((void))+C0		   b	   loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+C4   # ---------------------------------------------------------------------------
ipl::scene::skHealth::check_safe_mode((void))+C4   loc_813B5154:			   # CODE XREF:	ipl::scene::skHealth::check_safe_mode((void))+B0j
ipl::scene::skHealth::check_safe_mode((void))+C4		   bl	   OSGetTick
ipl::scene::skHealth::check_safe_mode((void))+C8		   lis	   %r4,	bus_clock_speed@h
ipl::scene::skHealth::check_safe_mode((void))+CC		   lwz	   %r5,	0x78(%r31)
ipl::scene::skHealth::check_safe_mode((void))+D0		   lwz	   %r4,	bus_clock_speed@l(%r4)
ipl::scene::skHealth::check_safe_mode((void))+D4		   li	   %r0,	0x3E8
ipl::scene::skHealth::check_safe_mode((void))+D8		   subf	   %r5,	%r5, %r3
ipl::scene::skHealth::check_safe_mode((void))+DC		   srwi	   %r3,	%r4, 2
ipl::scene::skHealth::check_safe_mode((void))+E0		   divwu   %r0,	%r3, %r0
ipl::scene::skHealth::check_safe_mode((void))+E4		   divwu   %r0,	%r5, %r0
ipl::scene::skHealth::check_safe_mode((void))+E8		   cmplwi  %r0,	0xBB8
ipl::scene::skHealth::check_safe_mode((void))+EC		   ble	   loc_813B5194
ipl::scene::skHealth::check_safe_mode((void))+F0		   li	   %r0,	1
ipl::scene::skHealth::check_safe_mode((void))+F4		   lis	   %r3,	((RootHeap+0x10000)@h)
ipl::scene::skHealth::check_safe_mode((void))+F8		   stb	   %r0,	0x7D(%r31)
ipl::scene::skHealth::check_safe_mode((void))+FC		   addi	   %r3,	%r3, -0x6FF8 # RootHeap
ipl::scene::skHealth::check_safe_mode((void))+100		   stb	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::skHealth::check_safe_mode((void))+104  loc_813B5194:			   # CODE XREF:	ipl::scene::skHealth::check_safe_mode((void))+3Cj
ipl::scene::skHealth::check_safe_mode((void))+104					   # ipl::scene::skHealth::check_safe_mode((void))+5Cj
ipl::scene::skHealth::check_safe_mode((void))+104					   # ipl::scene::skHealth::check_safe_mode((void))+70j	...
ipl::scene::skHealth::check_safe_mode((void))+104		   lwz	   %r0,	0x10+arg_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+108		   lwz	   %r31, 0x10+var_4(%sp)
ipl::scene::skHealth::check_safe_mode((void))+10C		   mtlr	   %r0
ipl::scene::skHealth::check_safe_mode((void))+110		   addi	   %sp,	%sp, 0x10
ipl::scene::skHealth::check_safe_mode((void))+114		   blr
ipl::scene::skHealth::check_safe_mode((void))+114  # End of function ipl::scene::skHealth::check_safe_mode((void))</pre>
<hr class="bbcode" /><br />This flag is then checked all over the place in the rest of the binary:<br /><pre class="bbcode">
ipl::System::isPostmanResumed((void))+C			   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::nigaoe::Manager::commitHiddenDB((void))+18			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::PlayTimeLog::log((void))+34		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::PlayTimeLog::sendMsgLog((wchar_t const *))+A0		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::PlayTimeLog::check((_CDBRecord *))+28		     lbz     %r3, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::PlayTimeLog::create_new_record((ipl::EventBuffer const *))+24		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::PlayTimeLog::read_record((_CDBRecord *,ipl::EventBuffer *))+24		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::PlayTimeLog::write_record((_CDBRecord *,ipl::EventBuffer *,uchar *))+24		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r7)
ipl::ResetHandler::update((void))+E4		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::ResetHandler::update((void))+148		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::Send_Pause((void))+8		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::Send_Pause((void))+30		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::Send_Start((void))+8		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::Send_Start((void))+30		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::postman::Manager::update_playlog_((void))+14		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::update_playlog_((void))+3C		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::update_playlog_((void))+6C		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::add_dl_task_((void))+8			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::add_dl_task_((void))+30			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::save_mail_now_((void))+8			   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::save_mail_now_((void))+30		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::do_daily_tasks_((void))+8		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::do_daily_tasks_((void))+30		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+14			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+3C			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+68			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::manage_dltasklist_for_menu_((void))+8C			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+28			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+50			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+8C			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::postman::Manager::receive_immediately_((void))+B8			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::CdbBackup::CdbBackup((void))+48		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::CdbBackup::stt_wait_worker((void))+1C		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_mount_sd((void))+1C			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_sd((void))+20			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_sd((void))+44			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::CdbBackup::stt_wait_del_msg_fns((void))+2C			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+1C			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+4C			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+7C			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::CdbBackup::stt_wait_sd_back_msg((void))+D0			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_sd_err((void))+20		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_check_prepare_back((void))+20		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_back_msg_fns((void))+2C		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_clean_up_back((void))+1C		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::stt_wait_terminate((void))+1C			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::CdbBackup::error_handling((void))+18		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
cdb_backup_delete_callback+20			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::cdb_backup_delete_task_((void *))+5C		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::cdb_backup_delete_task_((void *))+A0		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl__cdb_backup_move_callback+24		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::cdb_backup_move_task_((void *))+5C			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::cdb_backup_move_task_((void *))+A0			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::SDVFWorker::thread_main((void *))+190		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::SDVFWorker::thread_main((void *))+1B8		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::SDVFWorker::thread_main((void *))+210		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::SDVFWorker::thread_main((void *))+238		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
www::wiisetting::wiiWriteBack((WWWJSPluginObj *,WWWJSPluginObj *,int,WWWJSPluginValue *,WWWJSPluginValue *))+F8			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
www::wiisetting::wiiWriteBack((WWWJSPluginObj *,WWWJSPluginObj *,int,WWWJSPluginValue *,WWWJSPluginValue *))+13C		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Address::set_err_msg((wchar_t *,ulong,NWC24Err))+74			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::FriendListCache::init((void))+20		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::FriendListCache::fin((void))+18		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::add((ulong,NWC24FriendInfo	const &))+50		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::update((ulong,wchar_t const *,ulong long))+60		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::del((ulong))+20		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::FriendListCache::swap((ulong,ulong))+8C		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::isValidId((ulong long const &))+8			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::FriendListCache::sendRegisterMail((ulong))+20		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::FriendListCache::check((void))+1C			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::FriendListCache::getErrCode(const(void))+8			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::create((void))+B8		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::create((void))+E0		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::create((void))+104		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+B0		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::Board::calc((void))+D8		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+108		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+144		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+16C		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::calc((void))+360		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+2C			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+A8			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r27)
ipl::scene::Board::destroy((void))+D8			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+148			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::destroy((void))+1C4			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::Board::destroy((void))+1F4			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::appendRecord((_CDBRecord *))+34		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::appendRecord((_CDBRecord *))+248		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_cdb_init((void))+70			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_cdb_init((void))+E8			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Board::stt_wait_cdb_init((void))+110		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_init((void))+54		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_wait_init((void))+180		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_child_dst((void))+1AC		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_wait_child_dst((void))+1E0		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+2C		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_normal((void))+78		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+A4		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+EC		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+14C		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+208		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_normal((void))+29C		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::Board::stt_normal((void))+2D0		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::stt_normal((void))+2F8		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::count_task_cb_((void *,_CDBRecord *))+6C		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::count_task_((void *))+98		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::read_task_((void *))+118		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::fwd_search_task_cb_((void *,_CDBRecord *))+28		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::fwd_search_task_((void *))+70		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Board::after_backup((void))+1C		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::Board::after_backup((void))+54		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Board::getFriendInfo(const(NWC24FriendInfo *))+30			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::Board::reopen_log((void))+20		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::BoardObject::delete_record((void))+C		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::BoardObject::clean((void))+38		    lbz	    %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::BoardSD::update((void))+20			 lbz	 %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::stt_opt_delete_task((void))+20		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::stt_opt_delete_all_task((void))+20		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::init_chanjump((RBRAttachment *))+24			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r5)
ipl::scene::focus_object::setup_chanjump((void))+40		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::focus_object::check_network((void))+E4		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::focus_object::check_network((void))+110		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::focus_object::check_network((void))+13C		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::focus_object::check_network((void))+230		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Button::startPointEvent((char const	*,ipl::controller::Interface *))+3C		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::Button::startLeftEvent((char const *))+34			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::search_task_cb_((void *,_CDBRecord *))+68			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::search_task_((void *))+CC			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::ChannelSelect::calcChannelModules((void))+2C		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::CsChanSelButtonEventHandler::onEventDerived((ulong,ulong,ipl::controller::Interface	const *))+118		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r29)
ipl::scene::ChannelObj::calcExtModule((EGG::ExpHeap *,bool,bool))+424		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::ChannelObj::calcExtModule((EGG::ExpHeap *,bool,bool))+460		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelObj::updateNew((void))+1C		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::ChannelObj::setupNew((void))+20		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::ChannelObj::setupNew((void))+48		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelObj::setupNew((void))+A0		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::ChannelObj::setupNew((void))+DC		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::ChannelTitle::calcFadeout((void))+7C		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r27)
ipl::scene::ChannelTitle::calcFadeout((void))+A4		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::calcFadeout((void))+E0		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::calcFadeout((void))+108		   lbz	   %r0,	((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::loadModule((int,int))+24		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r6)
ipl::scene::ChannelTitle::calcCSWait((void))+118		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::ChannelTitle::calcCSWait((void))+168		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::skHealth::calcFadein((void))+1C		      bl      ipl::scene::skHealth::check_safe_mode((void))
ipl::scene::skHealth::calcNormal((void))+28		      bl      ipl::scene::skHealth::check_safe_mode((void))
ipl::scene::skHealth::calcNormal((void))+60		      bl      ipl::scene::skHealth::finish_safe_mode_check(const(void))
ipl::scene::skHealth::calcFadeout((void))+44		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::skHealth::calcFadeout((void))+C8		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::KitayamaTest::calcNormal((void))+598		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r28)
ipl::scene::KitayamaTest::calcNormal((void))+5C0		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+24		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+7C		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+E8		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+154		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+1FC		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+244		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToWii((ulong long,wchar_t	const *))+2EC		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+24		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+74		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+EC		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::LetterWriter::sendToPC((ulong long,wchar_t const *))+164		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::MailAddressSelect::check_network((void))+C8			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::MailAddressSelect::check_network((void))+F4			  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::MailAddressSelect::check_network((void))+120		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::MailAddressSelect::check_network((void))+1FC		  lbz	  %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Setting::calcNormal((void))+518		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Setting::calcNormal((void))+600		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::Setting::calcNormal((void))+6E8		     lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r30)
ipl::scene::Setting::calcSafeMode((void))+1C		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::TextWriter::openNWC24((void))+1C		       lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+24		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r4)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+90		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+E8		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+188		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+1DC		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r31)
ipl::scene::TextWriter::sendMessageByNWC24((ulong long,wchar_t const *))+238		      lbz     %r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::scene::TextWriter::closeNWC24((void))+8			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r3)
ipl::cs::system::is_dltask_registered((CHANSVm *,CHANSVmObjHdr *,CHANSVmObjHdr *))+2C			lbz	%r0, ((safe_mode_flag+0x6FF8)@l)(%r6)</pre>
Anyone want to take a piece of those functions and figure out what they do / why they would be blocked for Maintenance mdoe?]]></description>
<dc:creator>bushing</dc:creator>
<category>Software</category><pubDate>Sun, 03 Aug 2008 15:44:43 +0200</pubDate></item>
</channel>
</rss>