void ResourceMain() { SetError_Mode(ErrorMode_Full); Section = SECT_data; pass_count = 0; ResType = 0; DEBUG = 0; LIST = 0; INFO = 0; AsmAllocMem(); SetResPtrs(); ResetResource(); CurrentResource = 1; Pass = 1; pass_count++; ResourceComp(); FinalizeResource(); printf("Pass 1 - Size %d\n", ResIP); //*** Pass 2 *** Section = SECT_data; ResType = 0; DEBUG = 0; LIST = 0; INFO = 0; AsmAllocMem(); SetResPtrs(); ResetResource(); CurrentResource = 1; Pass = 2; pass_count++; ResourceComp(); FinalizeResource(); WriteResources(); printf("Pass 2 - Size %d\n", ResIP); AsmDisposeMem(); printf("Done...\n"); }
void MainExitServer() { lprintf("ExitServer terminating server\n"); ExitAsyncConnections(); CloseAllSessions(); /* gotta do this before anything, cause it uses kod, accounts */ CloseDefaultChannels(); ResetLoadMotd(); ResetLoadBof(); ResetTable(); ResetBufferPool(); ResetSysTimer(); ResetDLlist(); ResetNameID(); ResetAccount(); ResetUser(); ResetString(); ResetRoomData(); ResetResource(); ResetTimer(); ResetList(); ResetObject(); ResetMessage(); ResetClass(); ResetConfig(); DeleteAllBlocks(); }
void InterfaceReloadSystem() { EnterServerLock(); lprintf("InterfaceReloadSystem reloading system\n"); PauseTimers(); SendBlakodBeginSystemEvent(SYSEVENT_RELOAD_SYSTEM); GarbageCollect(); SaveAll(); ResetAdminConstants(); ResetUser(); ResetString(); ResetRoomData(); ResetLoadMotd(); ResetLoadBof(); ResetDLlist(); ResetNameID(); ResetResource(); ResetTimer(); ResetList(); ResetObject(); ResetMessage(); ResetClass(); LoadMotd(); LoadBof(); LoadRsc(); LoadKodbase(); UpdateSecurityRedbook(); LoadAdminConstants(); /* can't reload accounts because sessions have pointers to accounts */ if (!LoadAllButAccount()) eprintf("InterfaceReloadSystem couldn't load game. You are dead.\n"); AllocateParseClientListNodes(); /* it needs a list to send to users */ AddBuiltInDLlist(); SendBlakodEndSystemEvent(SYSEVENT_RELOAD_SYSTEM); UnpauseTimers(); LeaveServerLock(); }
BOOL CMovieDialogBackground::SetFrame(int nFrame) { if (m_nFrame == nFrame) return TRUE; m_nFrame = nFrame % CMovieDlgBkg::LEN_IMAGE_ARRAY; ResetResource(); int nX = 0; int nY = 0; RECT rect; GetWindowRect(m_hWnd, &rect); //int w = rect.right - rect.left; //int h = rect.bottom - rect.top; int w = MOVIE_SIZE_W; int h = MOVIE_SIZE_H; //std::wstring image = CMovieDlgBkg::image_array[m_nFrame]; WCHAR image[MAX_PATH] = {0}; wsprintf(image, L"movie\\%d.png",m_nFrame); HDC hdc = GetDC(m_hWnd); m_hCacheDc = CreateCompatibleDC(hdc); m_hCacheBitmap = CreateCompatibleBitmap(hdc, w, h); SelectObject(m_hCacheDc, m_hCacheBitmap); if (!m_pBackgroundImage) m_pBackgroundImage = new YGImage(); m_pBackgroundImage->LoadImage(EXTEND_TO_FULL_PATH(image)); m_pBackgroundImage->Draw(m_hCacheDc, nX, nY); //ÉèÖÃ͸Ã÷´°¿Ú------------------------------------------------- CPoint DestPt(0,0); CSize psize(w,h); BLENDFUNCTION blendFunc32bpp; blendFunc32bpp.AlphaFormat = AC_SRC_ALPHA; blendFunc32bpp.BlendFlags = 0; blendFunc32bpp.BlendOp = AC_SRC_OVER; blendFunc32bpp.SourceConstantAlpha = 255; ::UpdateLayeredWindow(m_hWnd,hdc,NULL,&psize,m_hCacheDc,&DestPt,0,&blendFunc32bpp,ULW_ALPHA); ReleaseDC(m_hWnd, hdc); return TRUE; }
void PortDirectedSchedule(FILE *fp, int portConfigCnt, int MAX_PORT_NU, int *ASAP_slots, int *ALAP_slots, int *Xconstraint, int *Kconstraint, ScheduleStats SS[]) { char scheduleName[10]; char make_cmd[50]; // Scheduled FUs int ASAP_resource, ALAP_resource, List_resource, Iter_resource; // Data path DII int ASAP_DII, ALAP_DII; // Data path delay int ASAP_delay, ALAP_delay, List_delay, delay; //--------------------------------------------- // ASAP //--------------------------------------------- myprintf("********* ASAP Start ********* \n"); ASAP_delay = ASAP(ASAP_slots, Xconstraint, Kconstraint); ASAP_DII = CheckConflict(); ASAP_resource = CountResource(); //PrintDFG(ASAP_slots, ALAP_slots); CSP->dly = ASAP_delay; PrintStats(fp, "ASAP", ASAP_DII, ASAP_resource, ASAP_delay); myprintf("********* ASAP Scheduling Done ********* \n"); //goto ALAP_SCH; GenerateBackEnd(fp, scheduleName, "ASAP", portConfigCnt, ASAP_delay, SS); myprintf("********* ASAP Generation Done ********* \n"); //exit(1); #ifdef MODELSIM printf("**************************************************\n"); printf("* Testing circuit ASAP%d_%s\n", portConfigCnt, CircuitName); printf("**************************************************\n"); fflush(stdout); make_cmd[0] = '\0'; sprintf(make_cmd, "make ASAP%d_%s", portConfigCnt, CircuitName); if (system(make_cmd) != 0) { printf("********* ASAP system(make_cmd) Error ********* \n"); exit(-1); } printf("**************************************************\n"); printf("* Done Testing circuit ASAP%d_%s\n", portConfigCnt, CircuitName); printf("**************************************************\n"); #endif printf("---------------------------\n"); printf("ASAP regs fanout (%d)\n", CSP->rfo); printf("ASAP func fanout (%d)\n", CSP->ffo); printf("ASAP port fanout (%d)\n", CSP->pfo); printf("ASAP mux chain reg (%d)\n", CSP->mux_reg); printf("ASAP mux fanin (%d)\n", CSP->fan); printf("ASAP mux input (%d)\n", CSP->mux); printf("ASAP muxp input (%d)\n", CSP->muxp); printf("ASAP muxr input (%d)\n", CSP->muxr); printf("ASAP reg number(%d)\n", CSP->reg); printf("ASAP latency (%d)\n", CSP->dly); ALAP_SCH: ResetResource(); ResetRAT(); #ifdef CSV fprintf(csv[0][REG], ",%d", CSP->reg); fprintf(csv[0][DLY], ",%d", CSP->dly); fprintf(csv[0][MUX], ",%d", CSP->mux); fprintf(csv[0][FAN], ",%d", CSP->fan); #endif return; // just ASAP results //--------------------------------------------- // ALAP //--------------------------------------------- myprintf("********* ALAP Start ********* \n"); ALAP_delay = ALAP(ALAP_slots, MAX_PORT_NU); ALAP_DII = CheckConflict(); ALAP_resource = CountResource(); CSP->dly = ALAP_delay; //PrintDFG(ASAP_slots, ALAP_slots); PrintStats(fp, "ALAP", ALAP_DII, ALAP_resource, ALAP_delay); myprintf("********* ALAP Scheduling Done ********* \n"); goto ENUM_SCH; //return; GenerateBackEnd(fp, scheduleName, "ALAP", portConfigCnt, ALAP_delay, SS); myprintf("********* ALAP Generation Done ********* \n"); #ifdef MODELSIM printf("**************************************************\n"); printf("* Testing circuit ALAP%d_%s\n", portConfigCnt, CircuitName); printf("**************************************************\n"); make_cmd[0] = '\0'; sprintf(make_cmd, "make ALAP%d_%s", portConfigCnt, CircuitName); system(make_cmd); printf("**************************************************\n"); printf("* Done Testing circuit ALAP%d_%s\n", portConfigCnt, CircuitName); printf("**************************************************\n"); #endif fprintf(stderr, "---------------------------\n"); fprintf(stderr, "ALAP regs fanout (%d)\n", CSP->rfo); fprintf(stderr, "ALAP func fanout (%d)\n", CSP->ffo); fprintf(stderr, "ALAP port fanout (%d)\n", CSP->pfo); fprintf(stderr, "ALAP mux fanin (%d)\n", CSP->fan); fprintf(stderr, "ALAP mux input (%d)\n", CSP->mux); fprintf(stderr, "ALAP muxp input (%d)\n", CSP->muxp); fprintf(stderr, "ALAP muxr input (%d)\n", CSP->muxr); fprintf(stderr, "ALAP reg number(%d)\n", CSP->reg); fprintf(stderr, "ALAP latency (%d)\n", CSP->dly); ENUM_SCH: ResetResource(); ResetRAT(); #ifdef CSV fprintf(csv[1][REG], ",%d", CSP->reg); fprintf(csv[1][DLY], ",%d", CSP->dly); fprintf(csv[1][MUX], ",%d", CSP->mux); fprintf(csv[1][FAN], ",%d", CSP->fan); #endif myprintf("********* Enumeration Scheduling Start ********* \n"); CreateScheduleRAT(); int i; int first, last; // The product of all the mobilities. The size of some benchmarks are too big for (i = MAX_PORT_NU; i < NODE_NU; i++) { if (ASAP_slots[i] > ALAP_slots[i]) { // update ASAP/ALAP slots if ALAP has shorter latency first = ALAP_slots[i]; last = ASAP_slots[i]; ASAP_slots[i] = first; ALAP_slots[i] = last; } if (ALAP_slots[i] - ASAP_slots[i] > 0) ENUM_SZ *= ALAP_slots[i] - ASAP_slots[i] + 1; } fprintf(stderr, "Est. Schedule enum space size %lf\n", ENUM_SZ); // A naive branch and bound complete enumeration method Enumerate (ASAP_slots, ALAP_slots, MAX_PORT_NU); fprintf(stderr, "Act. Schedule enum number = %lf\n", ENUM_NU); fprintf(stderr, "---------------------------\n"); fprintf(stderr, "Enum mux fanout (%d %d)\n", min_mux_fanout, max_mux_fanout); fprintf(stderr, "Enum mux fanin (%d %d)\n", min_mux_fanin, max_mux_fanin); fprintf(stderr, "Enum mux input (%d %d)\n", min_mux_input, max_mux_input); fprintf(stderr, "Enum muxp input (%d %d)\n", min_muxp_input, max_muxp_input); fprintf(stderr, "Enum muxr input (%d %d)\n", min_muxr_input, max_muxr_input); fprintf(stderr, "Enum reg number(%d %d)\n", min_reg_nu, max_reg_nu); fprintf(stderr, "Enum latency (%d %d)\n", min_latency, max_latency); FreeScheduleRAT(); //PrintDFG(ASAP_slots, ALAP_slots); // }