{"id":258619,"date":"2015-06-04T02:42:03","date_gmt":"2015-06-03T22:42:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=258619"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=258619","title":{"rendered":"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043a\u0430\u0440\u0442\u044b \u0443\u0440\u043e\u0432\u043d\u0435\u0439 NES-\u0438\u0433\u0440\u044b \u00abJackal\u00bb"},"content":{"rendered":"<p>     \t\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 \u0432 NES-\u0438\u0433\u0440\u0430\u0445 \u2014 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0439 (\u00ab\u043a\u043e\u0440\u0440\u0430\u043f\u0442\u00bb \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0445 \u0440\u043e\u043c\u0445\u0430\u043a\u0435\u0440\u043e\u0432). \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043d\u0430\u0439\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 \u0432 \u0438\u0433\u0440\u0435 \u00ab<b>Jackal<\/b>\u00bb \u0434\u043b\u044f NES \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u0435\u0451 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 <b>CadEditor<\/b>. \u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0438\u0433\u0440\u0443 \u0441 <a href=\"http:\/\/habrahabr.ru\/post\/259171\/\">\u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0443\u0440\u043e\u0432\u043d\u0435\u0439<\/a> (\u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u0443\u044e \u0438\u0433\u0440\u0443 \u043d\u0430 NES), \u0431\u0435\u0437 \u0437\u043d\u0430\u043d\u0438\u044f \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 X8502, \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 (<b>Lua<\/b> \u0438 <b>Python<\/b>).<br \/>  <a name=\"habracut\"><\/a><\/p>\n<h2>\u0422\u0435\u043e\u0440\u0438\u044f<\/h2>\n<p>  \u0418\u0434\u0435\u044f \u043c\u0435\u0442\u043e\u0434\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u043e\u0447\u0435\u0440\u0451\u0434\u043d\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0432\u0441\u0435 \u0431\u0430\u0439\u0442\u044b \u0432 \u0438\u0433\u0440\u0435 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u043d\u0435\u0448\u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f. \u0420\u0443\u043a\u0430\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u043b\u0433\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 <b>FCEUX<\/b> \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a <a href=\"http:\/\/www.fceux.com\/web\/help\/fceux.html?LuaGettingStarted.html\">Lua<\/a>, \u043e \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u0445 \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435. <br \/>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u2014 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 ROM \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u0430 \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u0432\u0435\u0441\u0442\u0438 \u0438\u0433\u0440\u0443 \u0434\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u041f\u0440\u0438\u0447\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043e\u0431\u0440\u0430\u0437\u0435, \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u043d\u0435\u043b\u044c\u0437\u044f \u2014 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 \u0443\u0436\u0435 \u043f\u043e\u043f\u0430\u0434\u0443\u0442 \u0432 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u044c \u0438 RAM, \u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u0443\u0440\u043e\u0432\u043d\u044f \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u043c, \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438\u0431\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0435 FCEUX \u043f\u043e\u0432\u0442\u043e\u0440 \u0432\u0441\u0435\u0445 \u043d\u0430\u0436\u0430\u0442\u0438\u0439 \u043a\u043b\u0430\u0432\u0438\u0448, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0438\u0433\u0440\u0443 \u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0440\u0430\u043d\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0443\u0440\u043e\u0432\u043d\u044f (\u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u043d\u044e <i><b>File-&gt;Movie-&gt;Record Movie&#8230;<\/b><\/i>), \u043b\u0438\u0431\u043e \u0436\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043f\u0440\u043e\u0449\u0435 \u2014 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0443\u0440\u043e\u0432\u043d\u044f. \u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 <i>\u00abStart\u00bb<\/i> \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043c\u0435\u043d\u044e \u0438\u0433\u0440\u044b, \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u044f, \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u0438\u0439 \u0437\u0430\u0442\u0435\u043c\u043d\u044f\u0435\u0442\u0441\u044f, \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0440\u0430\u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u044f. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 (\u043c\u0435\u043d\u044e <i><b>NES-&gt;Emulation Speed-&gt;Speed Down<\/b><\/i>, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0432 \u043c\u0435\u043d\u044e <i><b>Config-&gt;Map Hotkeys<\/b><\/i>, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u043e\u0431\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0442\u044c\/\u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0442\u044c \u0438\u0433\u0440\u0443 \u0441 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b). \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0442\u0435\u043c\u043d\u0435\u043d\u0438\u044f \u044d\u043a\u0440\u0430\u043d\u0430 \u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 (\u0434\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u043d\u0438\u044f \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0440\u0430\u043d\u0430) \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0433\u0440\u0443 (\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0441\u043b\u043e\u0442 1, \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u0430\u0432\u0438\u0448 <i>Shift + F1<\/i>). \u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0441\u0435\u0447\u044c, \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0435 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0435 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d (\u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043a\u0430\u0434\u0440\u0430-\u0444\u0440\u0435\u0439\u043c\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u0435\u043d\u044e <i><b>Config-&gt;Display-&gt;Frame Counter<\/b><\/i>). \u042d\u0442\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u044d\u043a\u0440\u0430\u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u0432 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u043d\u044f\u0442\u044c \u0440\u0430\u043d\u044c\u0448\u0435 \u0447\u0451\u0440\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/08f\/e75\/472\/08fe754724b4402791576cbb904c8fed.png\"\/><br \/>  \u041d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u0435\u0436\u0434\u0443 \u0444\u0440\u0435\u0439\u043c\u0430\u043c\u0438 454 \u0438 560.<\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:   <\/p>\n<ol>\n<li>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0439 ROM \u0432 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0435<\/li>\n<li>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043e\u0431\u0440\u0430\u0437\u0435 ROM \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 (\u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 \u0432 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435).<\/li>\n<li>\u0416\u0434\u0451\u043c \u043e\u0442\u043c\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0430\u0434\u0440\u043e\u0432 (\u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0437\u0430\u0441\u0435\u043a\u0430\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Frame Counter \u0432 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435).<\/li>\n<li>\u0414\u0435\u043b\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u044d\u043a\u0440\u0430\u043d\u0430.<\/li>\n<li>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 ROM.<\/li>\n<li>\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b (\u0432 \u0438\u043c\u0435\u043d\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0431\u0430\u0439\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0451\u043d, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a\u043e\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c).<\/li>\n<\/ol>\n<p>  \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f, \u0438\u043d\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 ROM \u043c\u044b \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0441\u043b\u043e\u043c\u0430\u0435\u043c \u043a\u043e\u0434 \u0438\u0433\u0440\u044b, \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0440\u0430\u043d\u043d\u0430\u044f \u043a\u0430\u0448\u0430 \u0438\u0437 \u0442\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u2014 \u043d\u0430\u0439\u0442\u0438 \u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043d\u0435\u043d\u0451\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a (\u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e \u0435\u0449\u0451 \u0440\u0430\u0437, \u044d\u043a\u0440\u0430\u043d\u044b \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0432 NES <a href=\"http:\/\/habrahabr.ru\/post\/259171\/\">\u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0438\u0437 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432<\/a>). \u041a\u043e\u0433\u0434\u0430 \u0442\u0430\u043a\u043e\u0439 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0439\u0434\u0435\u0442, \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0431\u043b\u043e\u043a\u043e\u0432, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u044d\u043a\u0440\u0430\u043d\u044b.<\/p>\n<p>  \u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u044f\u0437\u044b\u043a LUA <a href=\"http:\/\/www.fceux.com\/web\/help\/fceux.html?LuaFunctionsList.html\">\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 <\/a>\u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u043d \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0443\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c ROM \u043a\u0430\u0440\u0442\u0440\u0438\u0434\u0436\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043d\u0451\u043c \u043d\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0438 \u043f\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 ROM, \u043d\u0438 \u043f\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0441\u0430\u043c\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0448\u0430\u0433\u0438 2,3,4 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. <br \/>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u0440\u0430\u043f\u0442\u0435\u0440\u0430 \u044f \u0440\u0435\u0448\u0438\u043b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044f\u0437\u044b\u043a\u0430 Python. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u044b\u043b\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u2014 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 ROM \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0438 \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u043b\u0441\u044f, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u043b\u0441\u044f \u0444\u043e\u043a\u0443\u0441, \u0442\u0430\u043a \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u0431\u044b\u043b\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u0430\u043a \u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0435\u0433\u043e \u0432 \u0445\u043e\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0432 \u043c\u043e\u0434\u0443\u043b\u0438 LUA, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0431\u0430\u0439\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 ROM \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/h2>\n<p>  \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 FCEUX <a href=\"http:\/\/sourceforge.net\/projects\/fceultra\/\">\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d<\/a>, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0431\u0430\u0439\u0442\u0430 \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 ROM (\u0444\u0430\u0439\u043b <i>fceu.cpp<\/i>, \u0444\u0443\u043d\u043a\u0446\u0438\u044f <i><b>FCEU_ReadRomByte<\/b><\/i>) \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438:  <\/p>\n<blockquote><p><font color=\"#666666\">\/\/\u043d\u043e\u0432\u043e\u0435<\/font><br \/>  <font color=\"#0000ff\">void<\/font>&nbsp;FCEU_WriteRomByte<font color=\"#008000\">(<\/font><font color=\"#0000ff\">uint32<\/font>&nbsp;i,&nbsp;<font color=\"#0000ff\">uint8<\/font>&nbsp;value<font color=\"#008000\">)<\/font><br \/>  <font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">if<\/font>&nbsp;<font color=\"#008000\">(<\/font>i&nbsp;<font color=\"#000080\">&lt;<\/font>&nbsp;<font color=\"#0000dd\">16<\/font>&nbsp;<font color=\"#000040\">+<\/font>&nbsp;PRGsize<font color=\"#008000\">[<\/font><font color=\"#0000dd\">0<\/font><font color=\"#008000\">]<\/font><font color=\"#008000\">)<\/font>&nbsp;PRGptr<font color=\"#008000\">[<\/font><font color=\"#0000dd\">0<\/font><font color=\"#008000\">]<\/font><font color=\"#008000\">[<\/font>i&nbsp;<font color=\"#000040\">&#8212;<\/font>&nbsp;<font color=\"#0000dd\">16<\/font><font color=\"#008000\">]<\/font>&nbsp;<font color=\"#000080\">=<\/font>&nbsp;value<font color=\"#008080\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">else<\/font>&nbsp;<font color=\"#0000ff\">if<\/font>&nbsp;<font color=\"#008000\">(<\/font>i&nbsp;<font color=\"#000080\">&lt;<\/font>&nbsp;<font color=\"#0000dd\">16<\/font>&nbsp;<font color=\"#000040\">+<\/font>&nbsp;PRGsize<font color=\"#008000\">[<\/font><font color=\"#0000dd\">0<\/font><font color=\"#008000\">]<\/font>&nbsp;<font color=\"#000040\">+<\/font>&nbsp;CHRsize<font color=\"#008000\">[<\/font><font color=\"#0000dd\">0<\/font><font color=\"#008000\">]<\/font><font color=\"#008000\">)<\/font>&nbsp;CHRptr<font color=\"#008000\">[<\/font><font color=\"#0000dd\">0<\/font><font color=\"#008000\">]<\/font><font color=\"#008000\">[<\/font>i&nbsp;<font color=\"#000040\">&#8212;<\/font>&nbsp;<font color=\"#0000dd\">16<\/font>&nbsp;<font color=\"#000040\">&#8212;<\/font>&nbsp;PRGsize<font color=\"#008000\">[<\/font><font color=\"#0000dd\">0<\/font><font color=\"#008000\">]<\/font><font color=\"#008000\">]<\/font>&nbsp;<font color=\"#000080\">=<\/font>&nbsp;value<font color=\"#008080\">;<\/font><br \/>  <font color=\"#008000\">}<\/font><\/p><\/blockquote>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u00ab\u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c\u00bb \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437 LUA (\u0444\u0430\u0439\u043b <i>lua_engine.cpp<\/i>):  <\/p>\n<blockquote><p><font color=\"#0000ff\">static<\/font>&nbsp;<font color=\"#0000ff\">int<\/font>&nbsp;rom_writebyte<font color=\"#008000\">(<\/font>lua_State&nbsp;<font color=\"#000040\">*<\/font>L<font color=\"#008000\">)<\/font>&nbsp;<br \/>  <font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;FCEU_WriteRomByte<font color=\"#008000\">(<\/font>luaL_checkinteger<font color=\"#008000\">(<\/font>L,<font color=\"#0000dd\">1<\/font><font color=\"#008000\">)<\/font>,&nbsp;luaL_checkinteger<font color=\"#008000\">(<\/font>L,<font color=\"#0000dd\">2<\/font><font color=\"#008000\">)<\/font><font color=\"#008000\">)<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">return<\/font>&nbsp;<font color=\"#0000dd\">1<\/font><font color=\"#008080\">;<\/font><br \/>  <font color=\"#008000\">}<\/font><br \/>  &nbsp;<br \/>  <font color=\"#0000ff\">static<\/font>&nbsp;<font color=\"#0000ff\">const<\/font>&nbsp;<font color=\"#0000ff\">struct<\/font>&nbsp;luaL_reg&nbsp;romlib&nbsp;<font color=\"#008000\">[<\/font><font color=\"#008000\">]<\/font>&nbsp;<font color=\"#000080\">=<\/font>&nbsp;<font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;readbyte&quot;<\/font>,&nbsp;rom_readbyte<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;readbytesigned&quot;<\/font>,&nbsp;rom_readbytesigned<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#666666\">\/\/&nbsp;alternate&nbsp;naming&nbsp;scheme&nbsp;for&nbsp;unsigned<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;readbyteunsigned&quot;<\/font>,&nbsp;rom_readbyte<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;writebyte&quot;<\/font>,&nbsp;rom_writebyte<font color=\"#008000\">}<\/font>,&nbsp;<font color=\"#666666\">\/\/\u043d\u043e\u0432\u0430\u044f&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u044f<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;gethash&quot;<\/font>,&nbsp;rom_gethash<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#0000ff\">NULL<\/font>,<font color=\"#0000ff\">NULL<\/font><font color=\"#008000\">}<\/font><br \/>  <font color=\"#008000\">}<\/font><font color=\"#008080\">;<\/font><\/p><\/blockquote>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0431\u0430\u0439\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 ROM.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u0442\u0430\u043f \u2014 \u043d\u0430\u0443\u0447\u0438\u0442\u044c LUA \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b, \u043f\u0435\u0440\u0435\u0434 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0438\u0445. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430 \u0432 \u0444\u0430\u0439\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <i>gui.savescreenshot()<\/i> \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>gui.gdscreenshot()<\/i>, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043d\u0435 \u0431\u044b\u043b \u043b\u0438 \u0443\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u043d \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 (\u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0445\u0435\u0448\u0438 \u0432\u0441\u0435\u0445 \u0443\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432), \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043d\u0430 \u0434\u0438\u0441\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u043b\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u0438\u0433\u0440\u044b.<br \/>  \u0414\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <b>gd<\/b> (\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c <a href=\"http:\/\/sourceforge.net\/projects\/lua-gd\/files\/lua-gd\/lua-gd-2.0.33r2%20%28for%20Lua%205.1%29\/\">\u0437\u0434\u0435\u0441\u044c <\/a>\u0438\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0441\u0430\u043c\u043e\u043c\u0443), \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c. \u0414\u043b\u044f \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u0445\u0435\u0448\u0435\u0439 \u044f \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c\u044e \u2014 \u043f\u0440\u043e\u043a\u0438\u043d\u0443\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0440\u0430\u0441\u0441\u0447\u0451\u0442\u0430 \u0438\u0437 \u0441\u0430\u043c\u043e\u0433\u043e \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 (\u0442\u0430\u043c \u043e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u0447\u0451\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u0432 ROM):  <\/p>\n<blockquote><p><font color=\"#666666\">\/\/\u0444\u0430\u0439\u043b&nbsp;lua_engine.cpp<\/font><br \/>  <font color=\"#0000ff\">static<\/font>&nbsp;<font color=\"#0000ff\">int<\/font>&nbsp;calchash<font color=\"#008000\">(<\/font>lua_State&nbsp;<font color=\"#000040\">*<\/font>L<font color=\"#008000\">)<\/font>&nbsp;<font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">const<\/font>&nbsp;<font color=\"#0000ff\">char<\/font>&nbsp;<font color=\"#000040\">*<\/font>buffer&nbsp;<font color=\"#000080\">=<\/font>&nbsp;luaL_checkstring<font color=\"#008000\">(<\/font>L,&nbsp;<font color=\"#0000dd\">1<\/font><font color=\"#008000\">)<\/font><font color=\"#008080\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">int<\/font>&nbsp;size&nbsp;<font color=\"#000080\">=<\/font>&nbsp;luaL_checkinteger<font color=\"#008000\">(<\/font>L,<font color=\"#0000dd\">2<\/font><font color=\"#008000\">)<\/font><font color=\"#008080\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">int<\/font>&nbsp;hash&nbsp;<font color=\"#000080\">=<\/font>&nbsp;CalcCRC32<font color=\"#008000\">(<\/font><font color=\"#0000dd\">0<\/font>,&nbsp;<font color=\"#008000\">(<\/font><font color=\"#0000ff\">uint8<\/font><font color=\"#000040\">*<\/font><font color=\"#008000\">)<\/font>buffer,&nbsp;size<font color=\"#008000\">)<\/font><font color=\"#008080\">;<\/font><br \/>  &nbsp;&nbsp;lua_pushinteger<font color=\"#008000\">(<\/font>L,&nbsp;hash<font color=\"#008000\">)<\/font><font color=\"#008080\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0000ff\">return<\/font>&nbsp;<font color=\"#0000dd\">1<\/font><font color=\"#008080\">;<\/font><br \/>  <font color=\"#008000\">}<\/font><br \/>  &nbsp;<br \/>  <font color=\"#0000ff\">static<\/font>&nbsp;<font color=\"#0000ff\">const<\/font>&nbsp;<font color=\"#0000ff\">struct<\/font>&nbsp;luaL_reg&nbsp;emulib&nbsp;<font color=\"#008000\">[<\/font><font color=\"#008000\">]<\/font>&nbsp;<font color=\"#000080\">=<\/font>&nbsp;<font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;<font color=\"#666666\">\/\/\u0447\u0430\u0441\u0442\u044c&nbsp;\u043a\u043e\u0434\u0430&nbsp;\u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u0430<\/font><br \/>  &nbsp;&nbsp;<font color=\"#666666\">\/\/&#8230;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;readonly&quot;<\/font>,&nbsp;movie_getreadonly<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;setreadonly&quot;<\/font>,&nbsp;movie_setreadonly<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;print&quot;<\/font>,&nbsp;print<font color=\"#008000\">}<\/font>,&nbsp;<font color=\"#666666\">\/\/&nbsp;sure,&nbsp;why&nbsp;not<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#FF0000\">&quot;calchash&quot;<\/font>,&nbsp;calchash<font color=\"#008000\">}<\/font>,<br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><font color=\"#0000ff\">NULL<\/font>,<font color=\"#0000ff\">NULL<\/font><font color=\"#008000\">}<\/font><br \/>  <font color=\"#008000\">}<\/font><font color=\"#008080\">;<\/font><\/p><\/blockquote>\n<p>  <\/p>\n<h2>\u0421\u043a\u0440\u0438\u043f\u0442 \u043a\u043e\u0440\u0440\u0430\u043f\u0442\u0430 \u0438 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c LUA-\u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0430\u043f\u0442\u0430 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 (\u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0440\u043e\u043a \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043e\u0442\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435, \u0441\u0441\u044b\u043b\u043a\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438):<\/p>\n<blockquote><p><font color=\"#808080\">&#8212;\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c&nbsp;\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443&nbsp;gd<\/font><br \/>  <font color=\"#0000aa\">require<\/font>&nbsp;<font color=\"#ff6666\">&quot;gd&quot;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;<br \/>  <font color=\"#808080\">&#8212;\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439&nbsp;\u0430\u0434\u0440\u0435\u0441&nbsp;\u0434\u043b\u044f&nbsp;\u043a\u043e\u0440\u0440\u0430\u043f\u0442\u0430&nbsp;(\u0441\u0440\u0430\u0437\u0443&nbsp;\u043e\u0442&nbsp;\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430&nbsp;\u043e\u0431\u0440\u0430\u0437\u0430&nbsp;ROM)<\/font><br \/>  START_ADDR&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#cc66cc\">0x10<\/font>&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  <font color=\"#808080\">&#8212;\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439&nbsp;\u0430\u0434\u0440\u0435\u0441&nbsp;\u0434\u043b\u044f&nbsp;\u043a\u043e\u0440\u0440\u0430\u043f\u0442\u0430&nbsp;(\u0437\u0430\u0432\u0438\u0441\u0438\u0442&nbsp;\u043e\u0442&nbsp;\u043c\u0430\u043f\u043f\u0435\u0440\u0430,&nbsp;\u043d\u0430&nbsp;\u043a\u043e\u0442\u043e\u0440\u043e\u043c&nbsp;\u0441\u0434\u0435\u043b\u0430\u043d&nbsp;\u043a\u0430\u0440\u0442\u0440\u0438\u0434\u0436,&nbsp;\u043c\u043e\u0436\u043d\u043e&nbsp;\u043f\u0440\u043e\u0441\u0442\u043e&nbsp;\u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c&nbsp;\u0440\u0430\u0437\u043c\u0435\u0440&nbsp;\u0444\u0430\u0439\u043b\u0430)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  END_ADDR&nbsp;&nbsp;&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#cc66cc\">0x20010<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  CUR_ADDR&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;START_ADDR&nbsp;&nbsp;<br \/>  <font color=\"#808080\">&#8212;\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439&nbsp;\u043d\u043e\u043c\u0435\u0440&nbsp;\u043a\u0430\u0434\u0440\u0430,&nbsp;\u043f\u043e\u0441\u043b\u0435&nbsp;\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e&nbsp;\u043d\u0443\u0436\u043d\u043e&nbsp;\u0441\u0434\u0435\u043b\u0430\u0442\u044c&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442&nbsp;(\u043a\u043e\u0433\u0434\u0430&nbsp;\u0438\u0433\u0440\u043e\u0432\u043e\u0439&nbsp;\u044d\u043a\u0440\u0430\u043d&nbsp;\u0443\u0436\u0435&nbsp;\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f&nbsp;\u0434\u043b\u044f&nbsp;\u0438\u0433\u0440\u043e\u043a\u0430,&nbsp;\u043d\u043e\u043c\u0435\u0440&nbsp;\u0437\u0430\u043c\u0435\u0440\u0435\u043d&nbsp;\u0434\u043b\u044f&nbsp;\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e&nbsp;\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  FRAME_FOR_SCREEN&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;&nbsp;<font color=\"#cc66cc\">7035<\/font>&nbsp;&nbsp;<br \/>  <font color=\"#808080\">&#8212;\u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435,&nbsp;\u043a\u043e\u0442\u043e\u0440\u044b\u043c&nbsp;\u0431\u0443\u0434\u0435\u0442&nbsp;\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e&nbsp;\u0432\u043c\u0435\u0441\u0442\u043e&nbsp;\u0431\u0430\u0439\u0442\u0430&nbsp;\u0438\u0433\u0440\u044b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  WRITE_VALUE&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#cc66cc\">0x33<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  <font color=\"#808080\">&#8212;\u0448\u0430\u0433,&nbsp;\u0441&nbsp;\u043a\u043e\u0442\u043e\u0440\u044b\u043c&nbsp;\u0431\u0443\u0434\u0435\u0442&nbsp;\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f&nbsp;\u043a\u043e\u0440\u0440\u0430\u043f\u0442,&nbsp;\u0434\u043b\u044f&nbsp;\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438&nbsp;\u0432\u0440\u0435\u043c\u0435\u043d\u0438&nbsp;\u043f\u043e\u0438\u0441\u043a\u0430&nbsp;&nbsp;<\/font><br \/>  <font color=\"#808080\">&#8212;(\u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c&nbsp;\u043a\u0430\u0436\u0434\u044b\u0439&nbsp;\u0431\u0430\u0439\u0442&nbsp;\u043d\u0430&nbsp;\u044d\u043a\u0440\u0430\u043d\u0435&nbsp;\u043d\u0435&nbsp;\u043d\u0443\u0436\u043d\u043e,&nbsp;\u043d\u0430&nbsp;\u044d\u043a\u0440\u0430\u043d\u0435&nbsp;\u043c\u043e\u0436\u0435\u0442&nbsp;\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f&nbsp;\u0431\u043e\u043b\u044c\u0448\u043e\u0435&nbsp;\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432,&nbsp;\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e&nbsp;\u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c&nbsp;\u0445\u043e\u0442\u044f&nbsp;\u0431\u044b&nbsp;\u043e\u0434\u0438\u043d&nbsp;\u0438\u0437&nbsp;\u043d\u0438\u0445).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  STEP&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#cc66cc\">8<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;<br \/>  <font color=\"#808080\">&#8212;\u0442\u0430\u0431\u043b\u0438\u0446\u0430&nbsp;\u0434\u043b\u044f&nbsp;\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f&nbsp;\u0445\u0435\u0448\u0435\u0439&nbsp;\u0432\u0441\u0435\u0445&nbsp;\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432<\/font><br \/>  shas&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#66cc66\">{<\/font><font color=\"#66cc66\">}<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;<br \/>  <font color=\"#808080\">&#8212;\u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435,&nbsp;\u043a\u043e\u0442\u043e\u0440\u043e\u0435&nbsp;\u0431\u0443\u0434\u0435\u0442&nbsp;\u0438\u0441\u043f\u043e\u0440\u0447\u0435\u043d\u043e&nbsp;\u043a\u043e\u0440\u0440\u0430\u043f\u0442\u043e\u043c,&nbsp;\u0447\u0442\u043e\u0431\u044b&nbsp;\u043f\u043e\u0442\u043e\u043c&nbsp;\u0435\u0433\u043e&nbsp;\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c<\/font><br \/>  lastValue&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;rom<font color=\"#66cc66\">.<\/font>readbyte<font color=\"#66cc66\">(<\/font>START_ADDR<font color=\"#66cc66\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  <font color=\"#808080\">&#8212;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c&nbsp;\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e&nbsp;\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435&nbsp;\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435&nbsp;\u0438\u0437&nbsp;\u041f\u0415\u0420\u0412\u041e\u0413\u041e&nbsp;\u0441\u043b\u043e\u0442\u0430&nbsp;(\u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f&nbsp;\u0441\u043b\u043e\u0442\u043e\u0432&nbsp;\u0432&nbsp;\u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0435&nbsp;\u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f&nbsp;\u0441&nbsp;0,&nbsp;\u0430&nbsp;\u0432&nbsp;LUA&nbsp;&#8212;&nbsp;\u0441&nbsp;1).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  s&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;savestate<font color=\"#66cc66\">.<\/font>create<font color=\"#66cc66\">(<\/font><font color=\"#cc66cc\">2<\/font><font color=\"#66cc66\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  savestate<font color=\"#66cc66\">.<\/font>load<font color=\"#66cc66\">(<\/font>s<font color=\"#66cc66\">)<\/font><br \/>  &nbsp;<br \/>  <font color=\"#aa9900\">while<\/font>&nbsp;<font color=\"#66cc66\">(<\/font><font color=\"#aa9900\">true<\/font><font color=\"#66cc66\">)<\/font>&nbsp;<font color=\"#aa9900\">do<\/font><br \/>  &nbsp;&nbsp;<font color=\"#808080\">&#8212;\u0435\u0441\u043b\u0438&nbsp;\u044d\u043a\u0440\u0430\u043d&nbsp;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f&nbsp;\u0438&nbsp;\u0443\u0436\u0435&nbsp;\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f<\/font><br \/>  &nbsp;&nbsp;<font color=\"#aa9900\">if<\/font>&nbsp;<font color=\"#66cc66\">(<\/font>emu<font color=\"#66cc66\">.<\/font>framecount<font color=\"#66cc66\">(<\/font><font color=\"#66cc66\">)<\/font>&nbsp;<font color=\"#66cc66\">&gt;<\/font>&nbsp;FRAME_FOR_SCREEN<font color=\"#66cc66\">)<\/font>&nbsp;<font color=\"#aa9900\">then<\/font>&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442&nbsp;\u0432&nbsp;\u043f\u0430\u043c\u044f\u0442\u0438&nbsp;&nbsp;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">local<\/font>&nbsp;gdStr&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;gui<font color=\"#66cc66\">.<\/font>gdscreenshot<font color=\"#66cc66\">(<\/font><font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;\u0435\u0433\u043e&nbsp;\u0445\u0435\u0448&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">local<\/font>&nbsp;hash&nbsp;&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;emu<font color=\"#66cc66\">.<\/font>calchash<font color=\"#66cc66\">(<\/font>gdStr<font color=\"#66cc66\">,<\/font>&nbsp;<font color=\"#0000aa\">string.len<\/font><font color=\"#66cc66\">(<\/font>gdStr<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u0435\u0441\u043b\u0438&nbsp;\u0442\u0430\u043a\u043e\u0433\u043e&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430&nbsp;\u0435\u0449\u0451&nbsp;\u043d\u0435&nbsp;\u0431\u044b\u043b\u043e&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">if<\/font>&nbsp;<font color=\"#66cc66\">(<\/font><font color=\"#aa9900\">not<\/font>&nbsp;shas<font color=\"#66cc66\">[<\/font>hash<font color=\"#66cc66\">]<\/font><font color=\"#66cc66\">)<\/font>&nbsp;<font color=\"#aa9900\">then<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0000aa\">print<\/font><font color=\"#66cc66\">(<\/font><font color=\"#ff6666\">&quot;Found&nbsp;new&nbsp;screen&nbsp;&quot;<\/font><font color=\"#66cc66\">..<\/font><font color=\"#0000aa\">tostring<\/font><font color=\"#66cc66\">(<\/font>hash<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">local<\/font>&nbsp;fname&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#0000aa\">string.format<\/font><font color=\"#66cc66\">(<\/font><font color=\"#ff6666\">&quot;%05X&quot;<\/font><font color=\"#66cc66\">,<\/font>&nbsp;CUR_ADDR<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">..<\/font><font color=\"#ff6666\">&quot;.png&quot;<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">local<\/font>&nbsp;gdImg&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;gd<font color=\"#66cc66\">.<\/font>createFromGdStr<font color=\"#66cc66\">(<\/font>gdStr<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442&nbsp;\u043d\u0430&nbsp;\u0434\u0438\u0441\u043a&nbsp;\u0441&nbsp;\u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c&nbsp;\u0432&nbsp;\u0438\u043c\u0435\u043d\u0438&nbsp;\u0430\u0434\u0440\u0435\u0441\u0430&nbsp;\u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u0433\u043e&nbsp;\u0431\u0430\u0439\u0442\u0430<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gdImg<font color=\"#66cc66\">:<\/font>png<font color=\"#66cc66\">(<\/font>fname<font color=\"#66cc66\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shas<font color=\"#66cc66\">[<\/font>hash<font color=\"#66cc66\">]<\/font>&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#aa9900\">true<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">end<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e&nbsp;\u0431\u0430\u0439\u0442\u0430<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;rom<font color=\"#66cc66\">.<\/font>writebyte<font color=\"#66cc66\">(<\/font>CUR_ADDR<font color=\"#66cc66\">,<\/font>&nbsp;lastValue<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;CUR_ADDR&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;CUR_ADDR&nbsp;<font color=\"#66cc66\">+<\/font>&nbsp;STEP<font color=\"#66cc66\">;<\/font>&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u043a\u043e\u0440\u0440\u0430\u043f\u0442&nbsp;\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e&nbsp;\u0431\u0430\u0439\u0442\u0430&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;lastValue&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;rom<font color=\"#66cc66\">.<\/font>readbyte<font color=\"#66cc66\">(<\/font>CUR_ADDR<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;rom<font color=\"#66cc66\">.<\/font>writebyte<font color=\"#66cc66\">(<\/font>CUR_ADDR<font color=\"#66cc66\">,<\/font>&nbsp;WRITE_VALUE<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u0441\u043d\u043e\u0432\u0430&nbsp;\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430&nbsp;\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f,&nbsp;\u0447\u0442\u043e\u0431\u044b&nbsp;\u0434\u0430\u0442\u044c&nbsp;\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c&nbsp;\u0438\u0433\u0440\u0435&nbsp;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c&nbsp;\u0438\u0437&nbsp;\u043d\u043e\u0432\u043e\u0433\u043e&nbsp;\u043e\u0431\u0440\u0430\u0437\u0430&nbsp;\u0434\u0430\u043d\u043d\u044b\u0435&nbsp;\u0432&nbsp;\u043f\u0430\u043c\u044f\u0442\u044c<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;savestate<font color=\"#66cc66\">.<\/font>create<font color=\"#66cc66\">(<\/font><font color=\"#cc66cc\">2<\/font><font color=\"#66cc66\">)<\/font>&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435&nbsp;\u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0430&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;savestate<font color=\"#66cc66\">.<\/font>load<font color=\"#66cc66\">(<\/font>s<font color=\"#66cc66\">)<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;gui<font color=\"#66cc66\">.<\/font>text<font color=\"#66cc66\">(<\/font><font color=\"#cc66cc\">20<\/font><font color=\"#66cc66\">,<\/font><font color=\"#cc66cc\">20<\/font><font color=\"#66cc66\">,<\/font>&nbsp;<font color=\"#0000aa\">string.format<\/font><font color=\"#66cc66\">(<\/font><font color=\"#ff6666\">&quot;%05X&quot;<\/font><font color=\"#66cc66\">,<\/font>&nbsp;CUR_ADDR<font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#808080\">&#8212;\u043a\u043e\u0433\u0434\u0430&nbsp;\u0432\u0441\u0435&nbsp;\u0430\u0434\u0440\u0435\u0441\u0430&nbsp;\u0431\u0443\u0434\u0443\u0442&nbsp;\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b,&nbsp;\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c&nbsp;\u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440&nbsp;&nbsp;&nbsp;&nbsp;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">if<\/font>&nbsp;<font color=\"#66cc66\">(<\/font>CUR_ADDR&nbsp;<font color=\"#66cc66\">&gt;<\/font>&nbsp;END_ADDR<font color=\"#66cc66\">)<\/font>&nbsp;<font color=\"#aa9900\">then<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;emu<font color=\"#66cc66\">.<\/font>pause<font color=\"#66cc66\">(<\/font><font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#aa9900\">end<\/font><br \/>  &nbsp;&nbsp;<font color=\"#aa9900\">end<\/font><font color=\"#66cc66\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#808080\">&#8212;\u043f\u0440\u043e\u043c\u0430\u0442\u044b\u0432\u0430\u0435\u043c&nbsp;\u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044e&nbsp;\u0434\u043e&nbsp;\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e&nbsp;\u043a\u0430\u0434\u0440\u0430<\/font><br \/>  &nbsp;&nbsp;emu<font color=\"#66cc66\">.<\/font>frameadvance<font color=\"#66cc66\">(<\/font><font color=\"#66cc66\">)<\/font><font color=\"#66cc66\">;<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  <font color=\"#aa9900\">end<\/font><font color=\"#66cc66\">;<\/font><\/p><\/blockquote>\n<p>  \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f:<br \/>  <b>fceux -turbo 1 -lua corrupt.lua \u00abJackal (U) [!].nes\u00bb<\/b><br \/>  (\u041a\u043b\u044e\u0447 <i>turbo<\/i> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0432 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435).<\/p>\n<p>  \u0421\u043a\u0440\u0438\u043f\u0442 \u0443 \u043c\u0435\u043d\u044f \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430 8 \u043c\u0438\u043d\u0443\u0442. \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0448\u0430\u0433 <i>STEP <\/i>\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0439, \u0434\u043e 64 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0433\u0440\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0440\u0435\u043c\u044f \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0434\u0440\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043a\u0430\u0434\u0440\u043e\u043c, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442, \u0431\u0443\u0434\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c. <br \/>  \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u043e\u0434 \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u0433\u0440\u044b: \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u044d\u043a\u0440\u0430\u043d\u0430\u0445 \u0447\u0430\u0441\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0430\u043d\u043a\u043e\u0432 (\u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u043c, \u043a\u0440\u0430\u0442\u043d\u044b\u043c <b>0x2000 <\/b>\u0438\u043b\u0438 <b>0x4000<\/b>), \u044d\u0442\u0438 \u0437\u043e\u043d\u044b \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435; \u0435\u0441\u043b\u0438 \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 ROM \u0435\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u0431\u0430\u043d\u043a\u0438 (<b><i>CHR-ROM<\/i><\/b>), \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043d\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u044c. \u0412\u0438\u0434\u0435\u043e\u0431\u0430\u043d\u043a\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043e\u0431\u0440\u0430\u0437\u0430 ROM, \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 (\u043f\u0435\u0440\u0432\u044b\u0435 16 \u0431\u0430\u0439\u0442 \u043e\u0431\u0440\u0430\u0437\u0430 ROM).<\/p>\n<p>  \u0414\u043b\u044f \u0438\u0433\u0440\u044b \u00abJackal\u00bb \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 235 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0432\u043b\u0435\u043d \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0433\u043b\u0438\u0442\u0447\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0441 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u043c\u0438 \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u043c <b>0x105\u04218, 0x105D8, 0x105E8<\/b>:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c4e\/9e5\/a65\/c4e9e5a65f3240a29b8c3643ea422018.png\"\/><br \/>  \u0418\u0437 \u043d\u0438\u0445 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e:  <\/p>\n<ul>\n<li>\u0418\u0433\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 2&#215;2 \u0431\u043b\u043e\u043a\u0430 (4&#215;4 \u0442\u0430\u0439\u043b\u0430).<\/li>\n<li>\u042d\u043a\u0440\u0430\u043d\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043b\u0438\u043d\u0438\u044f\u043c\u0438 \u043f\u043e 16 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432 \u0432 \u0448\u0438\u0440\u0438\u043d\u0443 (\u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u043c\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438).<\/li>\n<li>\u041b\u0438\u043d\u0438\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 ROM \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0441\u043d\u0438\u0437\u0443 \u0432\u0432\u0435\u0440\u0445.<\/li>\n<\/ul>\n<p>  \u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0432\u0441\u0435\u0445 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432 \u0443\u0440\u043e\u0432\u043d\u044f, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0431\u043b\u043e\u0447\u043d\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 <a href=\"https:\/\/github.com\/spiiin\/CadEditor\/\">CadEditor<\/a> \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u0430\u0440\u0442\u044b \u0443\u0440\u043e\u0432\u043d\u044f.<br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0441\u043b\u0435\u0433\u043a\u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043a\u043e\u0440\u0440\u0430\u043f\u0442\u0430 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0430\u0439\u0442\u0430 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0431\u043b\u043e\u043a\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <b>0x105C8<\/b>) \u0438 \u0434\u0435\u043b\u0430\u043b \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0432\u0441\u0435\u0445 \u0431\u043b\u043e\u043a\u043e\u0432. \u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u043e\u043d \u0435\u0441\u0442\u044c \u0432 \u0430\u0440\u0445\u0438\u0432\u0435-\u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 (<b><i>corrupt_byte.lu<\/i>a<\/b>). \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <b>gd<\/b> \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0447\u0430\u0441\u0442\u0435\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u00ab\u0432\u044b\u043a\u0443\u0441\u044b\u0432\u0430\u043d\u0438\u044f\u00bb \u0438\u0437 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u0430 \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u0445 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432 \u043e\u0434\u043d\u0443 \u0434\u043b\u0438\u043d\u043d\u0443\u044e \u00ab\u043b\u0435\u043d\u0442\u0443\u00bb \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 Python (\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 <a href=\"http:\/\/www.pythonware.com\/products\/pil\/\">PIL<\/a> \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a):  <\/p>\n<blockquote><p><font color=\"#808080\">#&nbsp;-*-&nbsp;coding:&nbsp;utf-8&nbsp;-*-<\/font><br \/>  <font color=\"#ff7700\">import<\/font>&nbsp;Image<br \/>  <font color=\"#ff7700\">def<\/font>&nbsp;cutBlock<font>(<\/font>pp<font>)<\/font>:<br \/>  &nbsp;&nbsp;im&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;Image.<font color=\"#008000\">open<\/font><font>(<\/font>pp<font>)<\/font><br \/>  &nbsp;&nbsp;<font color=\"#808080\">#\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442&nbsp;\u0432&nbsp;\u043b\u044e\u0431\u043e\u0439&nbsp;\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439&nbsp;\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440,&nbsp;\u0447\u0442\u043e\u0431\u044b&nbsp;\u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c&nbsp;\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b&nbsp;\u043d\u0430\u0447\u0430\u043b\u0430&nbsp;\u0431\u043b\u043e\u043a\u0430<\/font><br \/>  &nbsp;&nbsp;X&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#ff4500\">96<\/font>&nbsp;<br \/>  &nbsp;&nbsp;Y&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#ff4500\">96<\/font><br \/>  &nbsp;&nbsp;<font color=\"#808080\">#\u0432\u044b\u0440\u0435\u0437\u0430\u0442\u044c&nbsp;\u0438\u0437&nbsp;\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430&nbsp;\u0431\u043b\u043e\u043a&nbsp;\u043f\u043e&nbsp;\u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c&nbsp;\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c<\/font><br \/>  &nbsp;&nbsp;imCut&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;im.<font>crop<\/font><font>(<\/font><font>(<\/font>X<font color=\"#66cc66\">,<\/font>Y<font color=\"#66cc66\">,<\/font>X+<font color=\"#ff4500\">32<\/font><font color=\"#66cc66\">,<\/font>Y+<font color=\"#ff4500\">32<\/font><font>)<\/font><font>)<\/font>&nbsp;&nbsp;<br \/>  &nbsp;&nbsp;imCut.<font>save<\/font><font>(<\/font><font color=\"#483d8b\">&quot;_&quot;<\/font>&nbsp;+&nbsp;pp<font>)<\/font><br \/>  &nbsp;<br \/>  <font color=\"#ff7700\">for<\/font>&nbsp;x&nbsp;<font color=\"#ff7700\">in<\/font>&nbsp;<font color=\"#008000\">xrange<\/font><font>(<\/font><font color=\"#ff4500\">256<\/font><font>)<\/font>:<br \/>  &nbsp;&nbsp;cutBlock<font>(<\/font>r<font color=\"#483d8b\">&quot;%03d.png&quot;<\/font>%x<font>)<\/font><br \/>  &nbsp;<br \/>  BLOCK_COUNT&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#ff4500\">102<\/font><br \/>  MAX_BLOCK_COUNT&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;<font color=\"#ff4500\">256<\/font><br \/>  imBig&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;Image.<font color=\"#dc143c\">new<\/font><font>(<\/font><font color=\"#483d8b\">&quot;RGB&quot;<\/font><font color=\"#66cc66\">,<\/font>&nbsp;<font>(<\/font><font color=\"#ff4500\">32<\/font>*MAX_BLOCK_COUNT<font color=\"#66cc66\">,<\/font><font color=\"#ff4500\">32<\/font><font>)<\/font><font>)<\/font><br \/>  <font color=\"#ff7700\">for<\/font>&nbsp;x&nbsp;<font color=\"#ff7700\">in<\/font>&nbsp;<font color=\"#008000\">xrange<\/font><font>(<\/font>BLOCK_COUNT<font>)<\/font>:<br \/>  &nbsp;&nbsp;im&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;Image.<font color=\"#008000\">open<\/font><font>(<\/font><font color=\"#483d8b\">&quot;_%03d.png&quot;<\/font>%x<font>)<\/font><br \/>  &nbsp;&nbsp;imBig.<font>paste<\/font><font>(<\/font>im<font color=\"#66cc66\">,<\/font>&nbsp;<font>(<\/font><font color=\"#ff4500\">32<\/font>*x<font color=\"#66cc66\">,<\/font><font color=\"#ff4500\">0<\/font><font color=\"#66cc66\">,<\/font><font color=\"#ff4500\">32<\/font>*x+<font color=\"#ff4500\">32<\/font><font color=\"#66cc66\">,<\/font><font color=\"#ff4500\">32<\/font><font>)<\/font><font>)<\/font><br \/>  <font color=\"#808080\">#\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435&nbsp;\u0440\u0430\u0437\u043c\u0435\u0440\u0430&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u0430&nbsp;\u0434\u043e&nbsp;64&#215;64,&nbsp;\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435&nbsp;\u0434\u043b\u044f&nbsp;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f&nbsp;\u0441&nbsp;\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c&nbsp;CadEditor<\/font><br \/>  imBig64&nbsp;<font color=\"#66cc66\">=<\/font>&nbsp;imBig.<font>resize<\/font><font>(<\/font><font>(<\/font>MAX_BLOCK_COUNT*<font color=\"#ff4500\">64<\/font><font color=\"#66cc66\">,<\/font><font color=\"#ff4500\">64<\/font><font>)<\/font><font>)<\/font>&nbsp;&nbsp;<br \/>  imBig64.<font>save<\/font><font>(<\/font><font color=\"#483d8b\">&quot;outStrip.png&quot;<\/font><font>)<\/font><\/p><\/blockquote>\n<p>  <\/p>\n<h2>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0433\u0440\u044b \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0443\u0440\u043e\u0432\u043d\u0435\u0439<\/h2>\n<p>  \u041e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0447\u0430\u0441\u0442\u044c \u2014 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 <b>CadEditor<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443. \u0412 \u043d\u0451\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f C# (\u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"http:\/\/www.csscript.net\/\">CSScript<\/a>).<br \/>  \u041f\u043e \u0441\u043a\u0440\u0438\u043d\u0430\u043c \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0447\u0430\u043b\u043e \u043b\u0438\u043d\u0438\u0438 \u0432 \u043a\u0430\u0440\u0442\u0435 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432 \u2014 \u0435\u0441\u043b\u0438 \u0430\u0434\u0440\u0435\u0441 <b>0x105C8<\/b> \u043c\u0435\u043d\u044f\u0435\u0442 4-\u0439 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a \u0432 \u043b\u0438\u043d\u0438\u0438, \u0442\u043e \u0437\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 <b>0x105C5<\/b>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433:  <\/p>\n<blockquote><p><font color=\"#0600FF\">using<\/font>&nbsp;<font color=\"#008080\">CadEditor<\/font><font color=\"#008000\">;<\/font><br \/>  <font color=\"#0600FF\">using<\/font>&nbsp;<font color=\"#008080\">System<\/font><font color=\"#008000\">;<\/font><br \/>  <font color=\"#0600FF\">using<\/font>&nbsp;<font color=\"#008080\">System.Collections.Generic<\/font><font color=\"#008000\">;<\/font><br \/>  <font color=\"#0600FF\">using<\/font>&nbsp;<font color=\"#008080\">System.Drawing<\/font><font color=\"#008000\">;<\/font><br \/>  &nbsp;<br \/>  <font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">class<\/font>&nbsp;Data<br \/>  <font color=\"#008000\">{<\/font>&nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#008080\">\/*\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c&nbsp;\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439&nbsp;\u0430\u0434\u0440\u0435\u0441&nbsp;\u043f\u043e\u043e\u0447\u0435\u0440\u0451\u0434\u043d\u043e&nbsp;\u0441\u0434\u0432\u0438\u0433\u0430\u044f&nbsp;\u0433\u0440\u0430\u043d\u0438\u0446\u044b&nbsp;\u043b\u0438\u043d\u0438\u0439&nbsp;\u0432\u0432\u0435\u0440\u0445&nbsp;\u0438&nbsp;\u0432\u043d\u0438\u0437&nbsp;\u0434\u043e&nbsp;\u0442\u0435\u0445&nbsp;\u043f\u043e\u0440,<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;\u043f\u043e\u043a\u0430&nbsp;\u0432&nbsp;\u00ab\u043e\u043a\u043d\u0435\u00bb&nbsp;\u043d\u0435&nbsp;\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f&nbsp;\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f&nbsp;\u043a\u0430\u0440\u0442\u0430&nbsp;\u0443\u0440\u043e\u0432\u043d\u044f.<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;\u041e\u0442&nbsp;\u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0433\u043e&nbsp;\u0430\u0434\u0440\u0435\u0441\u0430&nbsp;0x10625&nbsp;\u043e\u0442\u0441\u0442\u0443\u043f\u0430\u0435\u043c&nbsp;96&nbsp;\u043b\u0438\u043d\u0438\u0439&nbsp;\u0432\u0432\u0435\u0440\u0445.&nbsp;<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&#8212;&nbsp;\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e&nbsp;\u0438\u0433\u0440\u043e\u0432\u044b\u0445&nbsp;\u044d\u043a\u0440\u0430\u043d\u043e\u0432&nbsp;\u043d\u0430&nbsp;\u0443\u0440\u043e\u0432\u043d\u0435,<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;16*96&nbsp;&#8212;&nbsp;\u0440\u0430\u0437\u043c\u0435\u0440&nbsp;\u0432&nbsp;\u0431\u0430\u0439\u0442\u0430\u0445&nbsp;\u043e\u0434\u043d\u043e\u0433\u043e&nbsp;\u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e&nbsp;\u044d\u043a\u0440\u0430\u043d\u0430<br \/>  &nbsp;&nbsp;*\/<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;OffsetRec&nbsp;getScreensOffset<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#008000\">new<\/font>&nbsp;OffsetRec<font color=\"#008000\">(<\/font>0x10625&nbsp;<font color=\"#008000\">&#8212;<\/font>&nbsp;<font color=\"#FF0000\">16<\/font>&nbsp;<font color=\"#008000\">*<\/font>&nbsp;<font color=\"#FF0000\">96<\/font>,&nbsp;<font color=\"#FF0000\">1<\/font>,&nbsp;<font color=\"#FF0000\">16<\/font><font color=\"#008000\">*<\/font><font color=\"#FF0000\">96<\/font><font color=\"#008000\">)<\/font><font color=\"#008000\">;<\/font>&nbsp;&nbsp;<font color=\"#008000\">}<\/font>&nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;getScreenWidth<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#FF0000\">16<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font>&nbsp;<font color=\"#008080\">\/\/\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c&nbsp;\u0448\u0438\u0440\u0438\u043d\u0443&nbsp;\u044d\u043a\u0440\u0430\u043d\u0430<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;getScreenHeight<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#FF0000\">96<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font>&nbsp;<font color=\"#008080\">\/\/\u0437\u0430\u0434\u0430\u0451\u043c&nbsp;\u0432\u044b\u0441\u043e\u0442\u0443&nbsp;\u044d\u043a\u0440\u0430\u043d\u0430<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;getBigBlocksCount<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#FF0000\">256<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008080\">\/\/\u043f\u043e\u0434\u043a\u044e\u0447\u0430\u0435\u043c&nbsp;\u0441\u0442\u0440\u0438\u043f&nbsp;\u0441&nbsp;\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">string<\/font>&nbsp;getBlocksFilename<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#666666\">&quot;jackal_1.png&quot;<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font>&nbsp;<br \/>  &nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#008080\">\/\/\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c&nbsp;\u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u044b&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432&nbsp;\u0438&nbsp;\u0432\u0440\u0430\u0433\u043e\u0432,&nbsp;\u043a\u043e\u0442\u043e\u0440\u044b\u0435&nbsp;\u0434\u043b\u044f&nbsp;\u0434\u0430\u043d\u043d\u043e\u0439&nbsp;\u0438\u0433\u0440\u044b&nbsp;\u043d\u0435&nbsp;\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">bool<\/font>&nbsp;isBigBlockEditorEnabled<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#0600FF\">false<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font>&nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">bool<\/font>&nbsp;isBlockEditorEnabled<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#0600FF\">false<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font><br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">bool<\/font>&nbsp;isEnemyEditorEnabled<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;<font color=\"#0600FF\">false<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font><br \/>  <font color=\"#008000\">}<\/font><\/p><\/blockquote>\n<p>  \u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u0430\u0440\u0442\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u0441 \u0442\u0430\u043a\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u043c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u0445\u043e\u0442\u044f \u0438 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/3e3\/a0c\/1e3\/3e3a0c1e3e104c53bfcdf1a4616a8874.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043b\u0438\u043d\u0438\u0438 \u044d\u043a\u0440\u0430\u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 16&#215;8 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u043e\u0432 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0441\u043d\u0438\u0437\u0443 \u0432\u0432\u0435\u0440\u0445, \u043d\u043e \u0441\u0430\u043c\u0438 \u044d\u043a\u0440\u0430\u043d\u044b \u2014 \u0441\u0432\u0435\u0440\u0445\u0443 \u0432\u043d\u0438\u0437, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0435 8 \u043b\u0438\u043d\u0438\u0439 \u044d\u043a\u0440\u0430\u043d\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u0435\u0441\u0442\u0430\u043c\u0438. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0437\u0430\u0434\u0430\u0442\u044c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 ROM \u0443\u0440\u043e\u0432\u0435\u043d\u044c. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0434\u0432\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0435\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u0430 \u0438\u0437 \u043a\u0430\u0440\u0442\u044b \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u0430\u043a \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e.  <\/p>\n<blockquote><p><font color=\"#008080\">\/\/\u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435&nbsp;\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443&nbsp;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c&nbsp;\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u044e&nbsp;\u0434\u043b\u044f&nbsp;\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f&nbsp;\u043d\u043e\u043c\u0435\u0440\u0430&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u0430&nbsp;\u0438\u0437<\/font><br \/>  <font color=\"#008080\">\/\/\u043a\u0430\u0440\u0442\u044b&nbsp;\u0438&nbsp;\u0437\u0430\u043f\u0438\u0441\u0438&nbsp;\u043e\u0431\u0440\u0430\u0442\u043d\u043e<\/font><br \/>  <font color=\"#0600FF\">public<\/font>&nbsp;GetBigTileNoFromScreenFunc&nbsp;getBigTileNoFromScreenFunc<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;getBigTileNoFromScreen<font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font>&nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;SetBigTileToScreenFunc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setBigTileToScreenFunc<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#008000\">{<\/font>&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;setBigTileToScreen<font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008000\">}<\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>  &nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;getBigTileNoFromScreen<font color=\"#008000\">(<\/font><font color=\"#6666cc\">int<\/font><font color=\"#008000\">[<\/font><font color=\"#008000\">]<\/font>&nbsp;screenData,&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;index<font color=\"#008000\">)<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;w&nbsp;<font color=\"#008000\">=<\/font>&nbsp;getScreenWidth<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font><font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;noY&nbsp;<font color=\"#008000\">=<\/font>&nbsp;index&nbsp;<font color=\"#008000\">\/<\/font>&nbsp;w<font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;noY&nbsp;<font color=\"#008000\">=<\/font>&nbsp;<font color=\"#008000\">(<\/font>noY<font color=\"#008000\">\/<\/font><font color=\"#FF0000\">8<\/font><font color=\"#008000\">)<\/font><font color=\"#008000\">*<\/font><font color=\"#FF0000\">8<\/font>&nbsp;<font color=\"#008000\">+<\/font>&nbsp;<font color=\"#FF0000\">7<\/font>&nbsp;<font color=\"#008000\">&#8212;<\/font>&nbsp;<font color=\"#008000\">(<\/font>noY<font color=\"#008000\">%<\/font>8<font color=\"#008000\">)<\/font><font color=\"#008000\">;<\/font>&nbsp;&nbsp;<font color=\"#008080\">\/\/\u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f&nbsp;Y-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u0430<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;noX&nbsp;<font color=\"#008000\">=<\/font>&nbsp;index&nbsp;<font color=\"#008000\">%<\/font>&nbsp;w<font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#0600FF\">return<\/font>&nbsp;screenData<font color=\"#008000\">[<\/font>noY<font color=\"#008000\">*<\/font>w&nbsp;<font color=\"#008000\">+<\/font>&nbsp;noX<font color=\"#008000\">]<\/font><font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">}<\/font><br \/>  &nbsp;<br \/>  &nbsp;&nbsp;<font color=\"#0600FF\">public<\/font>&nbsp;<font color=\"#6666cc\">void<\/font>&nbsp;setBigTileToScreen<font color=\"#008000\">(<\/font><font color=\"#6666cc\">int<\/font><font color=\"#008000\">[<\/font><font color=\"#008000\">]<\/font>&nbsp;screenData,&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;index,&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;<font color=\"#0600FF\">value<\/font><font color=\"#008000\">)<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">{<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;w&nbsp;<font color=\"#008000\">=<\/font>&nbsp;getScreenWidth<font color=\"#008000\">(<\/font><font color=\"#008000\">)<\/font><font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;noY&nbsp;<font color=\"#008000\">=<\/font>&nbsp;index&nbsp;<font color=\"#008000\">\/<\/font>&nbsp;w<font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;noY&nbsp;<font color=\"#008000\">=<\/font>&nbsp;<font color=\"#008000\">(<\/font>noY<font color=\"#008000\">\/<\/font><font color=\"#FF0000\">8<\/font><font color=\"#008000\">)<\/font><font color=\"#008000\">*<\/font><font color=\"#FF0000\">8<\/font>&nbsp;<font color=\"#008000\">+<\/font>&nbsp;<font color=\"#FF0000\">7<\/font>&nbsp;<font color=\"#008000\">&#8212;<\/font>&nbsp;<font color=\"#008000\">(<\/font>noY<font color=\"#008000\">%<\/font>8<font color=\"#008000\">)<\/font><font color=\"#008000\">;<\/font>&nbsp;<font color=\"#008080\">\/\/\u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f&nbsp;Y-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b&nbsp;\u043c\u0430\u043a\u0440\u043e\u0431\u043b\u043e\u043a\u0430<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#6666cc\">int<\/font>&nbsp;noX&nbsp;<font color=\"#008000\">=<\/font>&nbsp;index&nbsp;<font color=\"#008000\">%<\/font>&nbsp;w<font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;&nbsp;&nbsp;screenData<font color=\"#008000\">[<\/font>noY<font color=\"#008000\">*<\/font>w&nbsp;<font color=\"#008000\">+<\/font>&nbsp;noX<font color=\"#008000\">]<\/font>&nbsp;<font color=\"#008000\">=<\/font>&nbsp;<font color=\"#0600FF\">value<\/font><font color=\"#008000\">;<\/font><br \/>  &nbsp;&nbsp;<font color=\"#008000\">}<\/font><\/p><\/blockquote>\n<p>  \u0412\u0441\u0451, \u0442\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0440\u0442\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u044e \u0443\u0440\u043e\u0432\u043d\u044f:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/691\/c12\/106\/691c12106a41439f8f5f650f434be396.png\"\/><\/p>\n<p>  \u041c\u0435\u0442\u043e\u0434 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u043f\u043e\u0447\u0442\u0438 \u043a\u043e \u0432\u0441\u0435\u043c NES-\u0438\u0433\u0440\u0430\u043c, \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043b\u044e\u0431\u0438\u043c\u044b\u0445 \u0438\u0433\u0440!<br \/>   \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u043c\u0438 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u00abSega Mega Drive\u00bb \u0438 \u00abSNES\u00bb (\u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u043d\u0435 \u0441\u0430\u043c \u043e\u0431\u0440\u0430\u0437 ROM, \u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u043d\u0435\u0439).<\/p>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u0433\u0440\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0438 \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<br \/>  <a href=\"https:\/\/github.com\/spiiin\/CadEditor\/raw\/master\/AutoCorruptor\/nes_v2\/corrupt2_example.zip\">\u0410\u0440\u0445\u0438\u0432 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c<\/a><br \/>  <a href=\"https:\/\/gist.github.com\/spiiin\/a5ec2c7c9e5b6ba59039\">\u041e\u0442\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b<\/a>     \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/259483\/\"> http:\/\/habrahabr.ru\/post\/259483\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 \u0432 NES-\u0438\u0433\u0440\u0430\u0445 \u2014 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0439 (\u00ab\u043a\u043e\u0440\u0440\u0430\u043f\u0442\u00bb \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0445 \u0440\u043e\u043c\u0445\u0430\u043a\u0435\u0440\u043e\u0432). \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043d\u0430\u0439\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 \u0432 \u0438\u0433\u0440\u0435 \u00ab<b>Jackal<\/b>\u00bb \u0434\u043b\u044f NES \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u0435\u0451 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 <b>CadEditor<\/b>. \u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0438\u0433\u0440\u0443 \u0441 <a href=\"http:\/\/habrahabr.ru\/post\/259171\/\">\u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0443\u0440\u043e\u0432\u043d\u0435\u0439<\/a> (\u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u0443\u044e \u0438\u0433\u0440\u0443 \u043d\u0430 NES), \u0431\u0435\u0437 \u0437\u043d\u0430\u043d\u0438\u044f \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 X8502, \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 (<b>Lua<\/b> \u0438 <b>Python<\/b>).  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-258619","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/258619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=258619"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/258619\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=258619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=258619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=258619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}