| Эмуляция > Эмуляторы консолей 6 поколения и выше |
| PCSX2: Эмулятор Sony PS2 (продолжение) |
| << < (356/1167) > >> |
| lob:
Вся необходимая информация находится под спойлером ниже: 1. Основная информация: * Официальный сайт и версии эмулятора - здесь * Биосы можно скачать - здесь * Официальный список совместимости - здесь * Свежие ревизии эмулятора с плагинами - здесь и тут * Pack'и самых последних ревизий различных эмуляторов - здесь * Настройки для игр - здесь и тут * Об изменениях можно узнать - здесь (на английском) * Руководство по настройке эмулятора - здесь 2. Библиотеки и утилиты: * Microsoft Visual C++ 2008 SP1 Redistributable - здесь (х86) и тут (х64) * Microsoft Visual C++ 2010 Redistributable - здесь * Обновление DirectX (June 2010) - здесь * Библиотеки для OpenGL-плагинов - здесь * Утилита для переноса сейвов на карту памяти - MYMC * Программа для хранения настроек эмулятора - PS2Launcher 3. Патчи и хекс коды для запуска игр в широкоэкранном режиме: * * Постоянно обновляемый архив патчей (более 500 игр) здесь * Хекс коды для запуска игр в широкоэкранном режиме тут4. Дополнительные ссылки: * Исправляют различные баги либо ускоряют процесс эмуляции. Могут давать побочные эффекты. ...В стадии разработки... |
| sanyaprog:
Dukatti, TTT будет больше тормозить. T4 идет примерно также, ток чуток быстрее, но тоже есть карты с проседанием фпс, хотя может уже и нет, я 2 года его не тестировал) Добавлено позже: arrant, мало кто играет просто видимо)) |
| muxaspb99:
arrant, первый раз когда увидел ваш вопрос тоже туда полез. =)) Если у вас интернет безлимитный, попробовали бы сами скачать и проверить. А так в списки совместимости вторая и третья полностью не проходимы на 0.9.6. (То есть до каково то момента дойдете и все, дальше будет не пройти.) :blush: |
| mariman:
arrant, первая Sly вполне играбельна, 2,3 запускаются но оооочень тормозят (даже в хардваре) и имеются ошибки графики. пробуй старые legasy билды может поможет (сам запускал на 28хх). |
| MarcusFenix:
Пожалуста подскажите что надо сделать чтобы в Final Fantasy X в роликах небыло белых полосок а то ролик меньше чем на половину виден, пробовал на ревизии PCSX2 r2986 и ранее, копался в настройках так и не решил эту проблему, пробовал плагины и ZeroGS и GSdx! |
| Саша1982:
--- Цитата: vitalsonikk от 19 Май 2010, 23:00:58 ---нефига не получается с год оф варом, наверное не судьба пройти до конца. Добавлено позже: где можно скачать pcsx2 0.9.7 r2700, прочитал вроде на этой версии г о в проходится нормально --- Конец цитаты --- Я проверял много эмулей вот что знаю точно если ты про зависание то качай не меньше r2881 ибо на более ранних ревах виснет в заставках! |
| HellCar:
--- Цитата: DH от 19 Май 2010, 20:33:56 ---Вот лог игры с закоментироваными строками SetLanguage is not implemented yet, using English. SetLanguage is not implemented yet, using English. PCSX2 0.9.7.r3044 (modded) - compiled on May 19 2010 Savestate version: 0x8b430000 x86-32 Init: CPU vendor name = AuthenticAMD FamilyID = 2 x86Family = AMD Processor model unknown CPU speed = 3.712 ghz Cores = 1 physical [1 logical] x86PType = Standard OEM x86Flags = 078bfbff 00802009 x86EFlags = efd3fbff x86 Features Detected: MMX.. SSE.. SSE2.. SSE3 MMX2 .. 3DNOW .. 3DNOW2.. SSE4a SetLanguage is not implemented yet, using English. SetLanguage is not implemented yet, using English. Initializing PS2 virtual machine... Allocating memory for recompilers... Loading plugins... Binding GS : C:\pcsx2 0.9.7\plugins\GSdx.dll Binding PAD : C:\pcsx2 0.9.7\plugins\LilyPad.dll Binding SPU2 : C:\pcsx2 0.9.7\plugins\SPU2-X.dll Binding CDVD : C:\pcsx2 0.9.7\plugins\CDVDolio.dll Binding USB : C:\pcsx2 0.9.7\plugins\USBnull.dll Binding FW : C:\pcsx2 0.9.7\plugins\FWnull.dll Binding DEV9 : C:\pcsx2 0.9.7\plugins\DEV9null.dll Plugins loaded successfully. Initializing plugins... Init GS Init PAD Init SPU2 Init CDVD Init USB Init FW Init DEV9 Plugins initialized successfully. Opening plugins... Opening GS Opening PAD Opening SPU2 Opening CDVD * CDVD Disk Open: DVD, Single layer or unknown: * * Track 1: Data (Mode 1) (2195984 sectors) (IsoFS) Block 0x10: Primary partition info. Opening USB Opening FW Opening DEV9 Plugins opened successfully. Issuing EE/iR5900-32 Recompiler Reset Bios Version 2.20 Load Bios Warning: rom1 module not found, skipping... (this is not an error) Load Bios Warning: rom2 module not found, skipping... (this is not an error) Load Bios Warning: erom module not found, skipping... (this is not an error) (UpdateVSyncRate) Mode Changed to NTSC. (UpdateVSyncRate) FPS Limit Changed : 59.94 fps # Initialize memory (rev:3.70, ctm:393Mhz, cpuclk:295Mhz detected) # Total accessable memory size: 32 MB (B:2:8:0) (370:2:7c30) # TLB spad=0 kernel=1:12 default=13:30 extended=31:38 # Initialize Start. # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize User Memory ... # Initialize Scratch Pad ... # Initialize Done. EE DECI2 Manager version 0.06 Apr 7 2005 21:09:14 CPUID=2e20, BoardID=0, ROMGEN=2006-0210, 32M # Restart Without Memory Clear. # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize Scratch Pad ... # Restart Without Memory Clear Done. # Restart Without Memory Clear. # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize Scratch Pad ... # Restart Without Memory Clear Done. REGION PARAMS = Oceania (UpdateVSyncRate) Mode Changed to PAL. (UpdateVSyncRate) FPS Limit Changed : 50.00 fps (IsoFS) Block 0x10: Primary partition info. (GetElfName) Detected PS2 Disc = cdrom0:\NORG_000.00;1 (GetElfName) Software version = 1.01 (GetElfName) Disc region type = NTSC Disc ID = NORG-00000 (IsoFS) Block 0x10: Primary partition info. Initializing Elf: 129960 bytes ELF (cdrom0:\NORG_000.00;1) CRC = 7D4EA48F Entry point = 0x01d00008 Game not found in database [NORG-00000] CDVD.KEY = 80,A3,F4,E9,04,04,05 (IsoFS) Block 0x10: Primary partition info. (GetElfName) Detected PS2 Disc = cdrom0:\NORG_000.00;1 (GetElfName) Software version = 1.01 (GetElfName) Disc region type = NTSC CDVD.KEY = 80,A3,F4,E9,04,00,01 Issuing EE/iR5900-32 Recompiler Reset ExecutePs2GameDisk # Restart. (UpdateVSyncRate) Mode Changed to NTSC. (UpdateVSyncRate) FPS Limit Changed : 59.94 fps # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize User Memory ... # Initialize Scratch Pad ... # Restart Done. DecSet Write: 00 # Restart Without Memory Clear. # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize Scratch Pad ... # Restart Without Memory Clear Done. (UpdateVSyncRate) Mode Changed to PAL. (UpdateVSyncRate) FPS Limit Changed : 50.00 fps DecSet Write: 53 DecSet Write: 00 # Restart. (UpdateVSyncRate) Mode Changed to NTSC. (UpdateVSyncRate) FPS Limit Changed : 59.94 fps # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize User Memory ... # Initialize Scratch Pad ... # Restart Done. DecSet Write: 00 (IsoFS) Block 0x10: Primary partition info. (GetElfName) Detected PS2 Disc = cdrom0:\NORG_000.00;1 (GetElfName) Software version = 1.01 (GetElfName) Disc region type = NTSC CDVD.KEY = 80,A3,F4,E9,04,04,05 # Restart Without Memory Clear. # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize Scratch Pad ... # Restart Without Memory Clear Done. No patch found. Resuming execution without a patch (this is NOT an error). Patches Loaded: 0 [wx] can't open file 'cheats\7d4ea48f.pnach' (error 2: не удается найти указанный файл.) No cheats found. Resuming execution without cheats... DecSet Write: 00 IPU mem initalised Mov mem initialised ****** Init Config ****** ****** Init DispDraw ****** (UpdateVSyncRate) Mode Changed to PAL. (UpdateVSyncRate) FPS Limit Changed : 50.00 fps ****** Init SplashSystem ****** ****** Init Font ****** ****** Init IPU ****** *** MEMRQ = [12312895] *** ****** Init GFX ****** ****** Init Help ****** ****** Init Credits ****** booting from cold Package loaded Sound initialised GFX intiialised =^= Data Loaded =^= Starting intialisation Menu initialised Music started Created instance of IPU # TLB spad=0 kernel=1:12 default=13:30 extended=31:38 # Restart. (UpdateVSyncRate) Mode Changed to NTSC. (UpdateVSyncRate) FPS Limit Changed : 59.94 fps # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize User Memory ... # Initialize Scratch Pad ... # Restart Done. (IsoFS) Block 0x10: Primary partition info. (GetElfName) Detected PS2 Disc = cdrom0:\NORG_000.00;1 (GetElfName) Software version = 1.01 (GetElfName) Disc region type = NTSC CDVD.KEY = 80,A3,F4,E9,04,04,05 # Restart Without Memory Clear. # Initialize GS ... # Initialize INTC ... # Initialize TIMER ... # Initialize DMAC ... # Initialize VU1 ... # Initialize VIF1 ... # Initialize GIF ... # Initialize VU0 ... # Initialize VIF0 ... # Initialize IPU ... # Initialize FPU ... # Initialize Scratch Pad ... # Restart Without Memory Clear Done. DecSet Write: 00 c:/Projects/Ps2/Sony/Shell/Core/shellPad.c(148) : shellPad: port=0 slot=0 opened c:/Projects/Ps2/Sony/Shell/Core/shellPad.c(148) : shellPad: port=1 slot=0 opened c:/Projects/Ps2/Sony/Shell/Core/shellPad.c(289) : shellPad: port=0 slot=0 [dualshock2] :count=47 c:/Projects/Ps2/Sony/Shell/Core/shellPad.c(289) : shellPad: port=1 slot=0 [dualshock2] :count=50 Issuing EE/iR5900-32 Recompiler Reset Closing DEV9 Closing FW Closing USB Closing CDVD Closing SPU2 Closing PAD Closing GS ошибок нет. Пробывал на 21 игре --- Конец цитаты --- DH Если не трудно выложи изменённые файлы , хочу скомпилить и сравнить с оригиналом. |
| MarcusFenix:
Ну что некто незнает? Пожалуста подскажите что надо сделать чтобы в Final Fantasy X в роликах небыло белых полосок а то ролик меньше чем на половину виден, пробовал на ревизии PCSX2 r2986 и ранее, копался в настройках так и не решил эту проблему, пробовал плагины и ZeroGS и GSdx! |
| vitalsonikk:
спасибо Саша1982 это походу образ глючный пиратка, щас другой качаю, попробую, а плагин который советывал sse 3, мне нужен sse2 |
| Kein:
--- Цитата: DH от 19 Май 2010, 19:13:17 ---В GS.cpp и Memory.cpp, если я тебя правильно понял. --- Конец цитаты --- Понял правильно, ответил довольно странно. Диффы, выдержки из кода, что конкретно смущает? |
| DH:
--- Цитата ---Понял правильно, ответил довольно странно. Диффы, выдержки из кода, что конкретно смущает? --- Конец цитаты --- GS.cpp #include "PrecompiledHeader.h" #include "Common.h" #include <list> #include "GS.h" #include "Gif.h" #include "Counters.h" using namespace Threading; using namespace R5900; u32 CSRw; __aligned16 u8 g_RealGSMem[0x2000]; extern int m_nCounters[]; void gsOnModeChanged( Fixed100 framerate, u32 newTickrate ) { GetMTGS().SendSimplePacket( GS_RINGTYPE_MODECHANGE, framerate.Raw, newTickrate, 0 ); } static bool gsIsInterlaced = false; GS_RegionMode gsRegionMode = Region_NTSC; void gsSetRegionMode( GS_RegionMode region ) { if( gsRegionMode == region ) return; gsRegionMode = region; UpdateVSyncRate(); } // Make sure framelimiter options are in sync with the plugin's capabilities. void gsInit() { memzero(g_RealGSMem); } void gsReset() { GetMTGS().ResetGS(); UpdateVSyncRate(); GSTransferStatus = (STOPPED_MODE<<4) | (STOPPED_MODE<<2) | STOPPED_MODE; memzero(g_RealGSMem); GSCSRr = 0x551B4000; // Set the FINISH bit to 1 for now GSIMR = 0x7f00; gifRegs->stat.reset(); gifRegs->ctrl.reset(); gifRegs->mode.reset(); } void gsGIFReset() { gifRegs->stat.reset(); gifRegs->ctrl.reset(); gifRegs->mode.reset(); } void gsCSRwrite(u32 value) { if (value & 0x200) { // resetGS // perform a soft reset -- which is a clearing of all GIFpaths -- and fall back to doing // a full reset if the plugin doesn't support soft resets. if( GSgifSoftReset != NULL ) { GIFPath_Clear( GIF_PATH_1 ); GIFPath_Clear( GIF_PATH_2 ); GIFPath_Clear( GIF_PATH_3 ); } else { GetMTGS().SendSimplePacket( GS_RINGTYPE_RESET, 0, 0, 0 ); /* в перезагрузку надо кинуть чтобы от мелких багов в текстурах избавится */ } CSRw |= 0x1f; GSCSRr = 0x551B4000; // Set the FINISH bit to 1 - GS is always at a finish state as we don't have a FIFO(saqib) GSIMR = 0x7F00; //This is bits 14-8 thats all that should be 1 } else if( value & 0x100 ) // FLUSH { // Our emulated GS has no FIFO, but if it did, it would flush it here... //Console.WriteLn("GS_CSR FLUSH GS fifo: %x (CSRr=%x)", value, GSCSRr); } else { CSRw |= value & 0x1f; GetMTGS().SendSimplePacket( GS_RINGTYPE_WRITECSR, CSRw, 0, 0 ); GSCSRr = ((GSCSRr&~value)&0x1f)|(GSCSRr&~0x1f); } } static void IMRwrite(u32 value) { GSIMR = (value & 0x1f00)|0x6000; if((GSCSRr & 0x1f) & (~(GSIMR >> 8) & 0x1f)) { gsIrq(); } // don't update mtgs mem } __forceinline void gsWrite8(u32 mem, u8 value) { switch (mem) { case GS_CSR: // GS_CSR gsCSRwrite((CSRw & ~0x000000ff) | value); break; case GS_CSR + 1: // GS_CSR gsCSRwrite((CSRw & ~0x0000ff00) | (value << 8)); break; case GS_CSR + 2: // GS_CSR gsCSRwrite((CSRw & ~0x00ff0000) | (value << 16)); break; case GS_CSR + 3: // GS_CSR gsCSRwrite((CSRw & ~0xff000000) | (value << 24)); break; default: *PS2GS_BASE(mem) = value; GetMTGS().SendSimplePacket(GS_RINGTYPE_MEMWRITE8, mem&0x13ff, value, 0); } GIF_LOG("GS write 8 at %8.8lx with data %8.8lx", mem, value); } /* u8 вывод используется только в TOXIC */ __forceinline void _gsSMODEwrite( u32 mem, u32 value ) { switch (mem) { case GS_SMODE1: gsSetRegionMode( ((value & 0x6000) == 0x6000) ? Region_PAL : Region_NTSC ); break; case GS_SMODE2: gsIsInterlaced = (value & 0x1); break; } } ////////////////////////////////////////////////////////////////////////// // GS Write 16 bit __forceinline void gsWrite16(u32 mem, u16 value) { GIF_LOG("GS write 16 at %8.8lx with data %8.8lx", mem, value); _gsSMODEwrite( mem, value ); switch (mem) { case GS_CSR: gsCSRwrite( (CSRw&0xffff0000) | value); return; // do not write to MTGS memory case GS_CSR+2: gsCSRwrite( (CSRw&0xffff) | ((u32)value<<16)); return; // do not write to MTGS memory case GS_IMR: IMRwrite(value); return; // do not write to MTGS memory } *(u16*)PS2GS_BASE(mem) = value; GetMTGS().SendSimplePacket(GS_RINGTYPE_MEMWRITE16, mem&0x13ff, value, 0); } /*u16 ввывод зачем?*/ ////////////////////////////////////////////////////////////////////////// // GS Write 32 bit __forceinline void gsWrite32(u32 mem, u32 value) { jASSUME( (mem & 3) == 0 ); GIF_LOG("GS write 32 at %8.8lx with data %8.8lx", mem, value); _gsSMODEwrite( mem, value ); switch (mem) { case GS_CSR: gsCSRwrite(value); return; case GS_IMR: IMRwrite(value); return; } *(u32*)PS2GS_BASE(mem) = value; GetMTGS().SendSimplePacket(GS_RINGTYPE_MEMWRITE32, mem&0x13ff, value, 0); } /*u32 ввывод зачем?*/ ////////////////////////////////////////////////////////////////////////// // GS Write 64 bit void __fastcall gsWrite64_page_00( u32 mem, const mem64_t* value ) { gsWrite64_generic( mem, value ); _gsSMODEwrite( mem, (u32)value[0] ); } void __fastcall gsWrite64_page_01( u32 mem, const mem64_t* value ) { GIF_LOG("GS Write64 at %8.8lx with data %8.8x_%8.8x", mem, (u32*)value[1], (u32*)value[0]); switch( mem ) { case GS_CSR: gsCSRwrite((u32)value[0]); /*не мешало бы зделать гибкое сохранение*/ return; case GS_IMR: IMRwrite((u32)value[0]); /*не мешало бы зделать гибкое сохранение*/ return; } gsWrite64_generic( mem, value ); /*не мешало бы зделать гибкое сохранение*/ } void __fastcall gsWrite64_generic( u32 mem, const mem64_t* value ) { const u32* const srcval32 = (u32*)value; GIF_LOG("GS Write64 at %8.8lx with data %8.8x_%8.8x", mem, srcval32[1], srcval32[0]); *(u64*)PS2GS_BASE(mem) = *value; GetMTGS().SendSimplePacket(GS_RINGTYPE_MEMWRITE64, mem&0x13ff, srcval32[0], srcval32[1]); } ////////////////////////////////////////////////////////////////////////// // GS Write 128 bit void __fastcall gsWrite128_page_00( u32 mem, const mem128_t* value ) { gsWrite128_generic( mem, value ); _gsSMODEwrite( mem, (u32)value[0] ); } void __fastcall gsWrite128_page_01( u32 mem, const mem128_t* value ) { switch( mem ) { case GS_CSR: gsCSRwrite((u32)value[0]); return; case GS_IMR: IMRwrite((u32)value[0]); return; } gsWrite128_generic( mem, value ); } void __fastcall gsWrite128_generic( u32 mem, const mem128_t* value ) { const u32* const srcval32 = (u32*)value; GIF_LOG("GS Write128 at %8.8lx with data %8.8x_%8.8x_%8.8x_%8.8x", mem, srcval32[3], srcval32[2], srcval32[1], srcval32[0]); const uint masked_mem = mem & 0x13ff; u64* writeTo = (u64*)(&g_RealGSMem[masked_mem]); writeTo[0] = value[0]; writeTo[1] = value[1]; GetMTGS().SendSimplePacket(GS_RINGTYPE_MEMWRITE64, masked_mem, srcval32[0], srcval32[1]); GetMTGS().SendSimplePacket(GS_RINGTYPE_MEMWRITE64, masked_mem+8, srcval32[2], srcval32[3]); } /*u128 ввывод зачем?*/ __forceinline u8 gsRead8(u32 mem) { GIF_LOG("GS read 8 from %8.8lx value: %8.8lx", mem, *(u8*)PS2GS_BASE(mem)); return *(u8*)PS2GS_BASE(mem); } __forceinline u16 gsRead16(u32 mem) { GIF_LOG("GS read 16 from %8.8lx value: %8.8lx", mem, *(u16*)PS2GS_BASE(mem)); return *(u16*)PS2GS_BASE(mem); } __forceinline u32 gsRead32(u32 mem) { GIF_LOG("GS read 32 from %8.8lx value: %8.8lx", mem, *(u32*)PS2GS_BASE(mem)); return *(u32*)PS2GS_BASE(mem); } __forceinline u64 gsRead64(u32 mem) { // fixme - PS2GS_BASE(mem+4) = (g_RealGSMem+(mem + 4 & 0x13ff)) GIF_LOG("GS read 64 from %8.8lx value: %8.8lx_%8.8lx", mem, *(u32*)PS2GS_BASE(mem+4), *(u32*)PS2GS_BASE(mem) ); return *(u64*)PS2GS_BASE(mem); } void gsIrq() { hwIntcIrq(INTC_GS); } // -------------------------------------------------------------------------------------- // gsFrameSkip // -------------------------------------------------------------------------------------- // This function regulates the frameskipping status of the GS. Our new frameskipper for // 0.9.7 is a very simple logic pattern compared to the old mess. The goal now is to provide // the most compatible and efficient frameskip, instead of doing the adaptive logic of // 0.9.6. This is almost a necessity because of how many games treat the GS: they upload // great amounts of data while rendering 2 frames at a time (using double buffering), and // then use a simple pageswap to display the contents of the second frame for that vsync. // (this approach is mostly seen on interlace games; progressive games less so) // The result is that any skip pattern besides a fully consistent 2on,2off would reuslt in // tons of missing geometry, rendering frameskip useless. // // So instead we use a simple "always skipping" or "never skipping" logic. // // EE vs MTGS: // This function does not regulate frame limiting, meaning it does no stalling. Stalling // functions are performed by the EE, which itself uses thread sleep logic to avoid spin // waiting as much as possible (maximizes CPU resource availability for the GS). __forceinline void gsFrameSkip() { if( !EmuConfig.GS.FrameSkipEnable ) return; static int consec_skipped = 0; static int consec_drawn = 0; static bool isSkipping = false; GSsetFrameSkip( isSkipping ); if( isSkipping ) { ++consec_skipped; if( consec_skipped >= EmuConfig.GS.FramesToSkip ) { consec_skipped = 0; isSkipping = false; } } else { ++consec_drawn; if( consec_drawn >= EmuConfig.GS.FramesToDraw ) { consec_drawn = 0; isSkipping = true; } } } void gsPostVsyncEnd() { *(u32*)(PS2MEM_GS+0x1000) ^= 0x2000; // swap the vsync field GetMTGS().PostVsyncEnd(); } void _gs_ResetFrameskip() { GSsetFrameSkip( 0 ); } // Disables the GS Frameskip at runtime without any racy mess... void gsResetFrameSkip() { GetMTGS().SendSimplePacket(GS_RINGTYPE_FRAMESKIP, 0, 0, 0); } void SaveStateBase::gsFreeze() { FreezeMem(PS2MEM_GS, 0x2000); Freeze(CSRw); gifPathFreeze(); } |
| Silver 746:
DH, в коде верные значения -_- Обращение к видео памяти до 128Бит. http://en.wikipedia.org/wiki/Emotion_Engine |
| DH:
--- Цитата ---DH, в коде верные значения Обращение к видео памяти до 128Бит. --- Конец цитаты --- Ага, только игры PS2 используют только 64, а 128 только браузер насколько мне известно |
| Silver 746:
--- Цитата: DH от 20 Май 2010, 17:44:05 ---Ага, только игры PS2 используют только 64, а 128 только браузер насколько мне известно --- Конец цитаты --- 1) Я не силён в программировании. 2) Зачем это печатать на форуме Emu-Land? 3) Лучше поговорить с авторами эмулятора, и уж точно всё станет ясно. |
| DH:
--- Цитата ---Я не силён в программировании. --- Конец цитаты --- так зачем писать что обращение к видео памяти до 128Бит, если сам толком не знаеш? --- Цитата --- Зачем это печатать на форуме Emu-Land? --- Конец цитаты --- Меня спросили - я ответил --- Цитата ---Лучше поговорить с авторами эмулятора, и уж точно всё станет ясно. --- Конец цитаты --- ага, а может ты знаеш их лично, или знаеш хотябы адрес по которому они открыто разговаривают с пользоватилями? |
| Silver 746:
--- Цитата: DH от 20 Май 2010, 18:13:32 ---ага, а может ты знаеш их лично, или знаеш хотябы адрес по которому они открыто разговаривают с пользоватилями? --- Конец цитаты --- Ага, а если напишешь тут, то от этого эмулятор станет лучше? http://www.emucr.com/2010/05/pcsx2-svn-r3040.html :lol: --- Цитата: DH от 20 Май 2010, 18:13:32 ---так зачем писать что обращение к видео памяти до 128Бит, если сам толком не знаеш? --- Конец цитаты --- Авторы знают что делают. ;) |
| DH:
--- Цитата: Silver 746 от 20 Май 2010, 18:25:05 ---Ага, а если напишешь тут, то от этого эмулятор станет лучше? http://www.emucr.com/2010/05/pcsx2-svn-r3040.html :lol: Авторы знают что делают. ;) --- Конец цитаты --- Ну ну Тип, ты тупиш! :wall: Эмуль только на стадии Alpha тестировании (я писал выше зачем, я думаю, они зделали эти выводы) --- Цитата ---http://www.emucr.com/2010/05/pcsx2-svn-r3040.html --- Конец цитаты --- Ну и зачем ты мне дал ссылку на старый эмуль? У меня 3047! |
| Silver 746:
--- Цитата: DH от 20 Май 2010, 18:52:15 ---Ну и зачем ты мне дал ссылку на старый эмуль? У меня 3047! --- Конец цитаты --- Да так :shifty: --- Цитата: DH от 20 Май 2010, 18:52:15 ---Тип, ты тупиш! :wall: Эмуль только на стадии Alpha тестировании (я писал выше зачем, я думаю, они зделали эти выводы) --- Конец цитаты --- Создай свой эмулятор ;) |
| DH:
--- Цитата ---Создай свой эмулятор --- Конец цитаты --- Я ж те говорю ты тупиш! Читай чё я раньше писал! Я и так делаю свой эмуль >:(! |
| Doctor Venkman:
Во-первых, научитесь писать по-русски. Во-вторых, полегче в обращении к другим участникам форума, у нас тут не локальный чат. |
| gared:
комрады я дико извиняюсь за офтоп, но может ктонить вкурсе есть ли на соньке 2 игра Род Реш или типа того что был на сеге?? |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |