PlayStation 2¸þ¤±¥²¡¼¥à¤ò¥¨¥ß¥å¥ì¡¼¥¿¡¼¤Çư¤«¤¹¤Î¤Ç¤Ï¤Ê¤¯¡¢¥²¡¼¥à¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¤Æ¸½Âå¤Î´Ä¶­¤Çư¤¯¥³¡¼¥É¤ØÊÑ´¹¤·¡¢·ë²Ì¤È¤·¤Æ¥Í¥¤¥Æ¥£¥Ö¤Ë¶á¤¤·Á¤Çưºî¤µ¤»¤è¤¦¤È¤¹¤ë¼è¤êÁȤߤ¬ Ž¢PS2RecompŽ£ ¤Ç¤¹¡£¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï Ž¢N64RecompŽ£ ¤«¤é¥¤¥ó¥¹¥Ô¥ì¡¼¥·¥ç¥ó¤ò¼õ¤±¤Æ¤ª¤ê¡¢´°À®¤Ë¤Ï¤Þ¤À±ó¤¯¼Â¸³Ãʳ¬¤È¤µ¤ì¤Þ¤¹¤¬¡¢¤¦¤Þ¤¯¤¤¤±¤ÐPS2ºîÉʤÎÊݸ¤äºÆ³èÍѤΤä¤êÊý¤òº¬Ëܤ«¤éÊѤ¨¤¦¤ë¤È¤·¤ÆÃíÌܤµ¤ì¤Æ¤¤¤Þ¤¹¡£

GitHub - ran-j/PS2Recomp: Playstation 2 Static Recompiler & Runtime Tool to make native PC ports

https://github.com/ran-j/PS2Recomp

Playstation 2 Recompilation Project Is Absolutely Incredible - RedGamingTech

https://redgamingtech.com/playstation-2-recompilation-project-is-absolutely-incredible/

PS2¤Ï̾ºî¤¬Â¿¤¤°ìÊý¤ÇËÜÂΤÎÀ¤Â夬¸Å¤¯¤Ê¤ê¡¢¸½Âå¤Î4K¥Æ¥ì¥Ó¤Ç¥×¥ì¥¤¤¹¤ë¤Ë¤ÏRGB¥³¥ó¥Ý¡¼¥Í¥ó¥È¥±¡¼¥Ö¥ë¤È¹âÉʼÁ¤Ê¥¢¥Ã¥×¥¹¥±¡¼¥é¡¼¤òÁȤ߹ç¤ï¤»¤ë¤Ê¤É¹©Éפ¬É¬ÍפǤ¹¡£¤½¤ÎÂåÂØ¤È¤·¤ÆPC¤Ç¤Îưºî¤¬ÉáµÚ¤·¡¢¡ÖPCSX2¡×¤Î¤è¤¦¤Ê¥¨¥ß¥å¥ì¡¼¥¿¡¼¤¬ÆâÉô²òÁüÅ٤ΰú¤­¾å¤²¤ä¥Õ¥ì¡¼¥à¥ì¡¼¥È°ÂÄê²½¡¢¥Æ¥¯¥¹¥Á¥ã¡¼¥Ñ¥Ã¥¯¤ÎÍøÍѤʤɤÇÂ賤ò²þÁ±¤·¤Æ¤­¤Æ¤¤¤Þ¤¹¡£

¤·¤«¤·¡¢¥¨¥ß¥å¥ì¡¼¥¿¡¼¤òư¤«¤¹¤¿¤á¤Ë¤ÏËÜÂμµ¡¤«¤éBIOS¤òÆþ¼ê¤¹¤ëɬÍפ¬¤¢¤ê¡¢¤µ¤é¤Ë¤¢¤¯¤Þ¤Ç¤âưºî¤òÌÏÊ路¤Æ¤¤¤ë¤À¤±¤Ê¤Î¤Ç¤É¤¦¤·¤Æ¤âËÜʪ¤ÎÂ賤ò100¡óºÆ¸½¤Ç¤­¤º¡¢Ì¤Âбþ¤Î¥²¡¼¥à¥¿¥¤¥È¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£



¤½¤³¤Ç¡¢¤µ¤é¤Ë°ìÊâ¿Ê¤ó¤À¥×¥í¥¸¥§¥¯¥È¤È¤·¤Æ¡¢´û¸¤ÎPS2¥²¡¼¥à¤ò¸½Âå¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸þ¤±¤ËºÆ¥³¥ó¥Ñ¥¤¥ë¤·¡¢Windows¤äLinux¤Î¥Ç¥¹¥¯¥È¥Ã¥×PC¤Ê¤É¤Ç¥Í¥¤¥Æ¥£¥Ö¤Ëư¤«¤¹¤³¤È¤òÌܻؤ¹¤Î¤¬¡ÖPS2Recomp¡×¤Ç¤¹¡£

PS2Recomp¤ÏPlayStation 2¤ÎELF¥Õ¥¡¥¤¥ë¤òÀÅŪ¤ËºÆ¥³¥ó¥Ñ¥¤¥ë¤·¡¢C++¥³¡¼¥É¤ØÊÑ´¹¤¹¤ë¥Ä¡¼¥ë¤Ç¡¢À¸À®¤µ¤ì¤¿C++¥³¡¼¥É¤ò¸½Âå¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¥Ó¥ë¥É¤·¤Æ¼Â¹ÔÍÑ¥é¥ó¥¿¥¤¥à¤È¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ç¡¢½¾Íè·¿¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤ËÍê¤é¤ºPC¤Ê¤É¤Çư¤«¤¹¤³¤È¤òÁÀ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢µ­»öºîÀ®»þÅÀ¤Ç¤Ï¤¢¤¯¤Þ¤Ç¤â¼Â¸³Ãʳ¬¤Ç¤¢¤ê¡¢´üÂÔÄ̤ê¤Ëư¤«¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¤È¤Î¤³¤È¡£



»ÅÁȤߤȤ·¤Æ¤Ï¡¢ÆþÎϤµ¤ì¤¿PS2¤ÎELF¥Õ¥¡¥¤¥ë¤«¤é´Ø¿ô¤ä¥·¥ó¥Ü¥ë¡¢¥ê¥í¥±¡¼¥·¥ç¥ó¤òÃê½Ð¤·¡¢PlayStation 2¤ÎCPU¤Ç¤¢¤ëEmotion Engine¤ÎÌ¿Îá¤ò¥Ç¥³¡¼¥É¤·¤ÆÆ±ÅùC++¥³¡¼¥É¤ØÃÖ¤­´¹¤¨¡¢¤µ¤é¤ËºÆ¥³¥ó¥Ñ¥¤¥ë¸å¥³¡¼¥É¤òư¤«¤¹¤¿¤á¤Î¥é¥ó¥¿¥¤¥à¤òÀ¸À®¤¹¤ëή¤ì¤Ç¤¹¡£ÊÑ´¹¤ÏÈó¾ï¤ËÃà¸ìŪ¤Ç¡¢ÀßÄê¤ÏTOML¥Õ¥¡¥¤¥ë¤Ç¹Ô¤¤¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ä½ÐÎÏÀ衢ñ°ì¥Õ¥¡¥¤¥ë½ÐÎϤ«Ê£¿ô¥Õ¥¡¥¤¥ë½ÐÎϤ«¡¢¥¹¥¿¥Ö²½¤ä¥¹¥­¥Ã¥×¤¹¤ë´Ø¿ô¡¢Ì¿Îá¥Ñ¥Ã¥Á¤Ê¤É¤â»ØÄê¤Ç¤­¤Þ¤¹¡£

ÂбþÈϰϤȤ·¤Æ¤Ï¡¢MIPS R5900Ì¿Î᥻¥Ã¥È¤ÎC++²½¤Ë²Ã¤¨¡¢PS2¸ÇÍ­¤Î128bit¥Þ¥ë¥Á¥á¥Ç¥£¥¢Ì¿Îá¤Î°·¤¤¡¢¥Ù¥¯¥È¥ë¥æ¥Ë¥Ã¥È0(VU0)¤Î¥Þ¥¯¥í¥â¡¼¥ÉÂбþ¡¢¥ê¥í¥±¡¼¥·¥ç¥ó¤È¥ª¡¼¥Ð¡¼¥ì¥¤¤Î½èÍý¡¢´Ø¿ô¥¹¥¿¥Ö¤È¥¹¥­¥Ã¥×¤Ê¤É¤¬ÆÃħ¤È¤·¤Æµó¤²¤é¤ì¤Æ¤¤¤Þ¤¹¡£¥Ó¥ë¥ÉÌ̤ǤÏCMake 3.20°Ê¾å¤ÈC++20Âбþ¥³¥ó¥Ñ¥¤¥é¤¬Í×·ï¤Ç¡¢128bit±é»»¤Î¤¿¤á¤ËSSE4¤Þ¤¿¤ÏAVXÁêÅö¤Î¥µ¥Ý¡¼¥È¤¬É¬ÍפÀ¤È¤Î¤³¤È¡£

PS2Recomp¤Ç¤Ï¥¨¥ß¥å¥ì¡¼¥¿¡¼¤Ç¤ÏÌäÂê¤Ë¤Ê¤ê¤ä¤¹¤¤ÊªÍý±é»»¤ä¾×ÆÍȽÄê¤ò²õ¤¹¤³¤È¤Ê¤¯¥Õ¥ì¡¼¥à¥ì¡¼¥È¤ÎÀ©¸Â¤ò²ò½ü¤Ç¤­¤ë¤Û¤«¡¢¥¨¥ß¥å¥ì¡¼¥¿¡¼¤òư¤«¤¹¤è¤ê¤âÄ㥹¥Ú¥Ã¥¯¤Ê¥Ï¡¼¥É¥¦¥§¥¢¤Çưºî¤¹¤ë²ÄǽÀ­¤â´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢Xbox¥³¥ó¥È¥í¡¼¥é¡¼¤Ê¤É¤Î¸½ÂåŪ¤Ê¥Ç¥Ð¥¤¥¹¤Ø¤ÎÂбþ¤âÍÆ°×¤Ë¤Ê¤ê¤Þ¤¹¡£

°ìÊý¤Ç¡¢ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¥á¥â¥ê´ÉÍý¤ä¥·¥¹¥Æ¥à¥³¡¼¥ë½èÍý¡¢PS2¸ÇÍ­¥Ï¡¼¥É¥¦¥§¥¢¤Î¼è¤ê°·¤¤¤òÄ󶡤¹¤ë¥é¥ó¥¿¥¤¥à¤¬É¬Íפǡ¢´ðËÜŪ¤Ê¥é¥ó¥¿¥¤¥à¥é¥¤¥Ö¥é¥ê¤ÏƱº­¤µ¤ì¤ë¤â¤Î¤Î¡¢PS2ÆÈ¼«¤ÎGPU¤Ç¤¢¤ëGraphics Synthesizer¤Ê¤É¤Î¥Ï¡¼¥É¥¦¥§¥¢Í×ÁǤϳ°Éô¼ÂÁõ¤¬É¬ÍפÀ¤È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¥Ù¥¯¥È¥ë¥æ¥Ë¥Ã¥È1(VU1)¤Î¥Þ¥¤¥¯¥í¥³¡¼¥ÉÂбþ¤¬¸ÂÄêŪ¤Ç¤¢¤ë¤³¤È¤«¤é¡¢PS2ÆÃÍ­¤Îµ¡Ç½¤Ë¤Ï̤Âбþ¤À¤Ã¤¿¤êÉÔ´°Á´¤ÊÉôʬ¤¬»Ä¤ë²ÄǽÀ­¤â¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£



by Yaca2671

PS2Recomp¤Ï¤Þ¤À³«È¯¤Î½é´üÃʳ¬¤Ç¤¢¤ê¡¢GPL-3.0¥é¥¤¥»¥ó¥¹¤Î²¼¤Ç¥ª¡¼¥×¥ó¥½¡¼¥¹¥×¥í¥¸¥§¥¯¥È¤È¤·¤Æ³«È¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£µ­»öºîÀ®»þÅÀ¤Ç¤Ï¥×¥ì¥¤²Äǽ¤Ê¥²¡¼¥à¤Ï¤Þ¤À¤¢¤ê¤Þ¤»¤ó¤¬¡¢¸ø¼°GitHub¤«¤é¥Ó¥ë¥É¤òºîÀ®¤·¤Æ»îÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¥²¡¼¥à´ØÏ¢¥Ë¥å¡¼¥¹¥µ¥¤¥È¤ÎRedGamingTech¤Ï¡¢¤³¤¦¤·¤¿ºÆ¥³¥ó¥Ñ¥¤¥ë·¿¤Î¼è¤êÁȤߤ¬¤¹¤Ç¤ËNINTENDO64³¦·¨¤ÇÀ®¸ùÎã¤ò»ý¤Á¡¢»ë³ÐÌ̤䥲¡¼¥à¥×¥ì¥¤Ì̤ζ¯²½¡¢¾­ÍèŪ¤Ê¥ì¥¤¥È¥ì¡¼¥·¥ó¥°Æ³Æþ·×²è¤Ê¤É¤Ø¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¤³¤È¤ò°ú¤­¹ç¤¤¤Ë½Ð¤·¡¢PS2¤Ç¤âƱÍͤ˥ͥ¤¥Æ¥£¥ÖÈǤ¬¼Â¸½¤¹¤ì¤Ð¥³¥ó¥È¥í¡¼¥é¡¼Âбþ¤Ê¤É¤â´Þ¤á¤ÆÊݸ¤ÈºÆÂ賤ÎÍýÁÛ·Á¤Ë¶á¤Å¤¯¤È°ÌÃÖÉÕ¤±¤Æ¤¤¤Þ¤¹¡£

¤Þ¤¿¡¢RedGamingTech¤ÏPS2¤ÎEmotion Engine¤¬MIPS R5900·Ï¤ÎÆÈ¼«CPU¤Ç¤¢¤ë¤³¤È¤ä¡¢2´ð¤ÎVU¡¦Graphics Synthesizer¡¦32MB¥á¥â¥ê¡¦4MB¤ÎeDRAM¤È¤¤¤Ã¤¿¹½À®¤Ë¿¨¤ì¡¢¡Ö¥×¥í¥¸¥§¥¯¥È¤Ï̤´°À®¤Çºî¶È¤¬»Ä¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢PS2¤¬ÆÈÆÃ¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤æ¤¨¤ËPS2Recomp¤Ë¤ÏÄ©À魯¤ë²ÁÃͤ¬Â礤¤Ë¤¢¤ë¡×¤Èɾ²Á¤·¤Þ¤·¤¿¡£