{"id":2396,"date":"2019-12-14T22:26:27","date_gmt":"2019-12-14T19:26:27","guid":{"rendered":"http:\/\/demensdeum.com\/blog\/?p=2396"},"modified":"2024-12-16T22:32:32","modified_gmt":"2024-12-16T19:32:32","slug":"%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%b8%d0%b3%d1%80%d1%8b-%d0%b4%d0%bb%d1%8f-zx-spectrum-%d0%bd%d0%b0-c","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/ru\/2019\/12\/14\/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%b8%d0%b3%d1%80%d1%8b-%d0%b4%d0%bb%d1%8f-zx-spectrum-%d0%bd%d0%b0-c\/","title":{"rendered":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440\u044b \u0434\u043b\u044f ZX Spectrum \u043d\u0430 C"},"content":{"rendered":"<p>\u042d\u0442\u0430 \u043d\u0435\u043f\u0443\u0442\u0435\u0432\u0430\u044f \u0437\u0430\u043c\u0435\u0442\u043a\u0430 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438\u0433\u0440\u044b \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 ZX Spectrum \u043d\u0430 C. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u043a\u0440\u0430\u0441\u0430\u0432\u0446\u0430:<\/p>\n<p><a href=\"https:\/\/www.flickr.com\/photos\/quenerapu\/2622099393\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2398\" src=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2019\/12\/2622099393_8199976c15_w.jpg\" alt=\"\" width=\"400\" height=\"294\" srcset=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2019\/12\/2622099393_8199976c15_w.jpg 400w, https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2019\/12\/2622099393_8199976c15_w-300x221.jpg 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>\u041e\u043d \u043d\u0430\u0447\u0430\u043b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 1982 \u0433\u043e\u0434\u0443, \u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u0434\u043e 1992 \u0433\u043e\u0434\u0430. \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043c\u0430\u0448\u0438\u043d\u044b: 8-\u0431\u0438\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 Z80, 16-128\u043a\u0431 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u044d\u043a\u0441\u0442\u0435\u043d\u0448\u0435\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0447\u0438\u043f <b>AY-3-8910.<\/b><\/p>\n<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430 <a href=\"http:\/\/rgb.yandex\/\" target=\"_blank\" rel=\"noopener noreferrer\">Yandex Retro Games Battle 2019<\/a> \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438\u0433\u0440\u0443 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c Interceptor 2020. \u0422\u0430\u043a \u043a\u0430\u043a \u0443\u0447\u0438\u0442\u044c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0434\u043b\u044f Z80 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e, \u044f \u0440\u0435\u0448\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0443\u043b\u0447\u0435\u0439\u043d\u0430 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 &#8211; z88dk, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0421\u0438, \u0438 \u043c\u043d\u043e\u0433\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0421\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u0430. \u041e\u043d \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0443\u0433\u0438\u0445 Z80 \u043c\u0430\u0448\u0438\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 MSX, \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432 Texas Instruments.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u044f \u043e\u043f\u0438\u0448\u0443 \u0441\u0432\u043e\u0439 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u044b\u0439 \u043f\u043e\u043b\u0435\u0442 \u043d\u0430\u0434 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430, \u0442\u0443\u043b\u0447\u0435\u0439\u043d\u043e\u043c z88dk, \u043f\u043e\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u041e\u041e\u041f \u043f\u043e\u0434\u0445\u043e\u0434, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h3>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438<\/h3>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 z88dk \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u043c\u0430\u043d\u0443\u0430\u043b\u0443 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Ubuntu \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c &#8211; \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0434\u043b\u044f Z80 \u0438\u0437 deb \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0445 \u0443\u0434\u0430\u043b\u0438\u0442\u044c, \u0442\u0430\u043a \u043a\u0430\u043a z88dk \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0438\u043c \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 bin, \u0438\u0437-\u0437\u0430 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u0435\u0440\u0441\u0438\u0439 \u0442\u0443\u043b\u0447\u0435\u0439\u043d-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c.<\/p>\n<h3>Hello World<\/h3>\n<p>\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c Hello World \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>#include \n\nvoid main()\n{\n    printf(\"Hello World\");\n}\n<\/code><\/pre>\n<\/div>\n<p>\u0421\u043e\u0431\u0440\u0430\u0442\u044c \u0432 tap \u0444\u0430\u0439\u043b \u0435\u0449\u0435 \u043f\u0440\u043e\u0449\u0435:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>zcc +zx -lndos -create-app -o helloworld helloworld.c\n<\/code><\/pre>\n<\/div>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043b\u044e\u0431\u043e\u0439 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 ZX Spectrum \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 tap \u0444\u0430\u0439\u043b\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u043d\u043b\u0430\u0439\u043d:<br \/><a href=\"http:\/\/jsspeccy.zxdemo.org\/\">http:\/\/jsspeccy.zxdemo.org\/<\/a><\/p>\n<h3>\u0420\u0438\u0441\u0443\u0435\u043c \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u043d\u0430 \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d<\/h3>\n<p><i>tl;dr \u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0440\u0438\u0441\u0443\u044e\u0442\u0441\u044f \u0442\u0430\u0439\u043b\u0430\u043c\u0438, \u0442\u0430\u0439\u043b\u0430\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 8&#215;8 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439, \u0441\u0430\u043c\u0438 \u0442\u0430\u0439\u043b\u044b \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0448\u0440\u0438\u0444\u0442 \u0441\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u0430, \u0437\u0430\u0442\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0438\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430. <\/i><\/p>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u0441\u043f\u0440\u0430\u0439\u0442\u043e\u0432 \u0438 \u0442\u0430\u0439\u043b\u043e\u0432 sp1 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0442\u0430\u0439\u043b\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e UDG. \u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043d\u0430\u0431\u043e\u0440 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 UDG (\u0442\u0430\u0439\u043b\u044b), \u0437\u0430\u0442\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0447\u0442\u043e UDG \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u0438 \u0435\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0442\u0430\u0439\u043b\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0431\u043e\u043b\u044c\u0448\u0435 128 \u0442\u0430\u0439\u043b\u043e\u0432), \u0442\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u0438 \u0441\u0442\u0438\u0440\u0430\u0442\u044c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u0441\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u043e\u0432\u0441\u043a\u0438\u0439 \u0448\u0440\u0438\u0444\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0431\u0430\u0437\u0443 \u043e\u0442 128 &#8211; 255 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0440\u0438\u0444\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041e\u0431 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043d\u0438\u0436\u0435.<\/p>\n<p>\u0414\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u043e\u0440\u0443\u0436\u0438\u0442\u044c\u0441\u044f \u0442\u0440\u0435\u043c\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430\u043c\u0438:<br \/>Gimp<br \/>img2spec<br \/>png2c-z88dk<\/p>\n<p>\u0415\u0441\u0442\u044c \u043f\u0443\u0442\u044c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0445 ZX \u043c\u0443\u0436\u0447\u0438\u043d, \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0440\u0435\u0442\u0440\u043e-\u0432\u043e\u0438\u043d\u043e\u0432 \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0430\u043b\u0438\u0442\u0440\u0443 \u0441\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u0430, \u0437\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0435\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e png2c-z88dk \u0438\u043b\u0438 png2scr.<\/p>\n<p>\u041f\u0443\u0442\u044c \u043f\u043e\u043f\u0440\u043e\u0449\u0435 &#8211; \u0432\u0437\u044f\u0442\u044c 32 \u0431\u0438\u0442\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 Gimp \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0446\u0432\u0435\u0442\u043e\u0432 \u0434\u043e 3-4-\u0445, \u0441\u043b\u0435\u0433\u043a\u0430 \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0437\u0430\u0442\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 img2spec \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c png \u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 \u0421\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e png2c-z88dk.<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0447\u0442\u043e \u0434\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0430\u0439\u043b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0432\u0443\u0445 \u0446\u0432\u0435\u0442\u043e\u0432.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 h \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0430\u0439\u043b\u043e\u0432, \u0435\u0441\u043b\u0438 \u0438\u0445 \u0431\u043e\u043b\u044c\u0448\u0435 ~128, \u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0439\u0442\u0435 \u0432 Gimp \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 (\u0443\u0432\u0435\u043b\u0438\u0447\u044c\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c) \u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043f\u043e \u043d\u043e\u0432\u043e\u0439.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u044b \u0432 \u043f\u0440\u044f\u043c\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0435 \u201c\u0448\u0440\u0438\u0444\u0442\u201d \u0438\u0437 \u0442\u0430\u0439\u043b\u043e\u0432 \u0438 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442\u0435 \u201c\u0442\u0435\u043a\u0441\u0442\u201d \u0438\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0442\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u201c\u043a\u043b\u0430\u0441\u0441\u0430\u201d \u0440\u0435\u043d\u0434\u0435\u0440\u0430:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>\/\/ \u0433\u0440\u0443\u0437\u0438\u043c \u0448\u0440\u0438\u0444\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c\n    unsigned char *pt = fullscreenImage->tiles;\n\n    for (i = 0; i < fullscreenImage->tilesLength; i++, pt += 8) {\n            sp1_TileEntry(fullscreenImage->tilesBase + i, pt);\n    }\n\n    \/\/ \u0441\u0442\u0430\u0432\u0438\u043c \u043a\u0443\u0440\u0441\u043e\u0440 \u0432 0,0\n    sp1_SetPrintPos(&ps0, 0, 0);\n\n    \/\/ \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443\n    sp1_PrintString(&ps0, fullscreenImage->ptiles);\n<\/code><\/pre>\n<\/div>\n<h3>\u0420\u0438\u0441\u0443\u0435\u043c \u0441\u043f\u0440\u0430\u0439\u0442\u044b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435<\/h3>\n<p>\u0414\u0430\u043b\u0435\u0435 \u044f \u043e\u043f\u0438\u0448\u0443 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u0440\u0430\u0439\u0442\u043e\u0432 16&#215;16 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435. \u0414\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0438 \u0441\u043c\u0435\u043d\u044b \u0446\u0432\u0435\u0442\u043e\u0432 \u044f \u043d\u0435 \u0434\u043e\u0448\u0435\u043b, \u0442.\u043a. \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e \u0443\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435, \u043a\u0430\u043a \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0443 \u043c\u0435\u043d\u044f \u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u043f\u0430\u043c\u044f\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0438\u0433\u0440\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435 \u043c\u043e\u043d\u043e\u0445\u0440\u043e\u043c\u043d\u044b\u0435 \u0441\u043f\u0440\u0430\u0439\u0442\u044b.<\/p>\n<p>\u0420\u0438\u0441\u0443\u0435\u043c \u0432 Gimp \u043c\u043e\u043d\u043e\u0445\u0440\u043e\u043c\u043d\u0443\u044e png \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 16&#215;16, \u0434\u0430\u043b\u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e png2sp1sprite \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0435\u0435 \u0432 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b asm, \u0432 \u0421\u0438 \u043a\u043e\u0434\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0438\u0437 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0444\u0430\u0439\u043b \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0441\u0431\u043e\u0440\u043a\u0438.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u0430\u043f\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0441\u043f\u0440\u0430\u0439\u0442\u0430, \u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0432 \u043d\u0443\u0436\u043d\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0434\u0430\u043b\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u201c\u043a\u043b\u0430\u0441\u0441\u0430\u201d \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>    struct sp1_ss *bubble_sprite = sp1_CreateSpr(SP1_DRAW_MASK2LB, SP1_TYPE_2BYTE, 3, 0, 0);\n    sp1_AddColSpr(bubble_sprite, SP1_DRAW_MASK2,    SP1_TYPE_2BYTE, col2-col1, 0);\n    sp1_AddColSpr(bubble_sprite, SP1_DRAW_MASK2RB,  SP1_TYPE_2BYTE, 0, 0);\n    sp1_IterateSprChar(bubble_sprite, initialiseColour);\n<\/code><\/pre>\n<\/div>\n<p>\u041f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0441\u043c\u044b\u0441\u043b &#8211; \u0430\u043b\u043b\u043e\u0446\u0438\u0440\u0443\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f \u0441\u043f\u0440\u0430\u0439\u0442\u0430, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0432\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 8&#215;8, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u0434\u043b\u044f \u0441\u043f\u0440\u0430\u0439\u0442\u0430.<\/p>\n<p>\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u0430\u0434\u0440\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043f\u0440\u0430\u0439\u0442\u0430:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>sp1_MoveSprPix(gameObject->gameObjectSprite, Renderer_fullScreenRect, gameObject->sprite_col, gameObject->x, gameObject->y);\n<\/code><\/pre>\n<\/div>\n<h3>\u042d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u043c \u041e\u041e\u041f<\/h3>\n<p>\u0412 \u0421\u0438 \u043d\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u0434\u043b\u044f \u041e\u041e\u041f, \u0447\u0442\u043e \u0436\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0447\u0435\u0442\u0441\u044f? \u041d\u0430\u0434\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0443\u043c\u043a\u0443 \u0438 \u043e\u0437\u0430\u0440\u0438\u0442\u044c\u0441\u044f \u043c\u044b\u0441\u043b\u044c\u044e \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u0432\u0435\u0449\u0438 \u043a\u0430\u043a \u041e\u041e\u041f \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0432\u0441\u0435 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u044d\u0442\u0438\u043c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u043a\u0442 \u043c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u043b\u0433\u043e \u043c\u0435\u0448\u0430\u043b \u043f\u043e\u043d\u044f\u0442\u044c \u0437\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u043d\u043e \u041e\u041e\u041f, \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u0441\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0432 \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435, \u043c\u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u043b\u0438\u0441\u044c \u043f\u0440\u0435\u043b\u0435\u0441\u0442\u0438 \u044d\u0442\u043e\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0437\u0430\u0449\u0438\u0442\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u043a\u043e\u0434\u0430, \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u0438, \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435. \u0412\u0441\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0442 \u0438\u0437 \u0442\u0440\u0435\u0445 \u0441\u0442\u043e\u043b\u043f\u043e\u0432 &#8211; \u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c\u0430, \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438, \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u0435\u0434\u044c 80% \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u043c\u0438-\u0443\u0447\u0435\u043d\u044b\u043c\u0438 \u0435\u0449\u0435 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0432\u0435\u043a\u0435 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u0430\u043b\u0435\u0435 \u044f \u043e\u043f\u0438\u0448\u0443 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 \u041e\u041e\u041f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0432 \u0421\u0438.<\/p>\n<p>\u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0432\u0437\u044f\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0421\u0438. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0431\u0443\u0444\u0435\u0440, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u043e \u0437\u0430\u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0435\u0441\u043e? \u0412\u0435\u0434\u044c \u043c\u044b \u0438 \u0442\u0430\u043a \u043f\u0435\u0440\u0435\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441.<\/p>\n<h4>\u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u0430<\/h4>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043b\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u201c\u043a\u043b\u0430\u0441\u0441\u0430\u201d GameObject:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>struct GameObjectStruct {\n    struct sp1_ss *gameObjectSprite;\n    unsigned char *sprite_col;\n    unsigned char x;\n    unsigned char y;\n    unsigned char referenceCount;\n    unsigned char beforeHideX;\n    unsigned char beforeHideY;\n};\ntypedef struct GameObjectStruct GameObject;\n<\/code><\/pre>\n<\/div>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043d\u0430\u0448 \u043a\u043b\u0430\u0441\u0441 \u043a\u0430\u043a \u201cGameObject.h\u201d \u0434\u0435\u043b\u0430\u0435\u043c #include \u201cGameObject.h\u201d \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0438 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f.<\/p>\n<h4>\u041c\u0435\u0442\u043e\u0434\u044b \u043a\u043b\u0430\u0441\u0441\u0430<\/h4>\n<p>\u0412\u043e\u0437\u044c\u043c\u0435\u043c \u043d\u0430 \u0432\u043e\u043e\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043e\u043f\u044b\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0437\u044b\u043a\u0430 Objective-C, \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0437 \u0441\u0435\u0431\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043a\u043e\u043f\u0435, \u043f\u0435\u0440\u0432\u044b\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u0435\u0442\u043e\u0434\u0430. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u201c\u043c\u0435\u0442\u043e\u0434\u0430\u201d \u201c\u043a\u043b\u0430\u0441\u0441\u0430\u201d GameObject:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>void GameObject_hide(GameObject *gameObject) {\n    gameObject->beforeHideX = gameObject->x;\n    gameObject->beforeHideY = gameObject->y;\n    gameObject->y = 200;\n}\n<\/code><\/pre>\n<\/div>\n<p>\u0412\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>GameObject_hide(gameObject);\n<\/code><\/pre>\n<\/div>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b \u0438 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u041c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u0430\u043a \u0430\u043b\u043b\u043e\u043a\u0430\u0442\u043e\u0440 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043f\u043e\u043b\u0435\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u043c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0435\u0439 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<h4>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e<\/h4>\n<p>\u0420\u0443\u0447\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432\u0438\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e malloc \u0438 free \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044b\u0445 \u0432 \u043c\u0430\u043a\u0440\u043e\u0441\u044b new \u0438 delete \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0441 C++:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>#define new(X) (X*)malloc(sizeof(X))\n#define delete(X) free(X)\n<\/code><\/pre>\n<\/div>\n<p>\u0414\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 \u0441\u0440\u0430\u0437\u0443, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043f\u043e\u043b\u0443-\u0440\u0443\u0447\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430 \u0441\u0441\u044b\u043b\u043e\u043a, \u043f\u043e \u043e\u0431\u0440\u0430\u0437\u0443 \u0438 \u043f\u043e\u0434\u043e\u0431\u0438\u044e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Objective-C Runtime ARC:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>void GameObject_retain(GameObject *gameObject) {\n    gameObject->referenceCount++;\n}\n\nvoid GameObject_release(GameObject *gameObject) {\n    gameObject->referenceCount--;\n\n    if (gameObject->referenceCount < 1) { sp1_MoveSprAbs(gameObject->gameObjectSprite, &Renderer_fullScreenRect, NULL, 0, 34, 0, 0);\n        sp1_DeleteSpr(gameObject->gameObjectSprite);\n        delete(gameObject);\n    }\n}\n<\/code><\/pre>\n<\/div>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0449\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e retain, \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0442\u044c \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 release. \u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 ARC \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 retain\/release.<\/p>\n<h3>\u0417\u0432\u0443\u0447\u0438\u043c!<\/h3>\n<p>\u041d\u0430 \u0421\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u0435 \u0435\u0441\u0442\u044c \u043f\u0438\u0449\u0430\u043b\u043a\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c 1-\u0431\u0438\u0442\u043e\u0432\u0443\u044e \u043c\u0443\u0437\u044b\u043a\u0443, \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u044b \u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0443\u043c\u0435\u043b\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0439 \u0434\u043e 4-\u0445 \u0437\u0432\u0443\u043a\u043e\u0432\u044b\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n<p>Spectrum 128k \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0447\u0438\u043f AY-3-8910, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u0440\u0435\u043a\u0435\u0440\u043d\u0443\u044e \u043c\u0443\u0437\u044b\u043a\u0443.<\/p>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0438\u0449\u0430\u043b\u043a\u0438 \u0432 z88dk \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/p>\n<h3>\u0427\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0443\u0437\u043d\u0430\u0442\u044c<\/h3>\n<p>\u041c\u043d\u0435 \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441\u043e \u0421\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u043e\u043c, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0433\u0440\u0443 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 z88dk, \u0443\u0437\u043d\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0432\u0435\u0449\u0435\u0439. \u041c\u043d\u043e\u0433\u043e\u0435 \u043c\u043d\u0435 \u0435\u0449\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u0443\u0447\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 Z80, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u043c\u043e\u0449\u044c \u0421\u043f\u0435\u043a\u0442\u0440\u0443\u043c\u0430, \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0431\u0430\u043d\u043a\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043e \u0437\u0432\u0443\u043a\u043e\u0432\u044b\u043c \u0447\u0438\u043f\u043e\u043c AY-3-8910. \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0435 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0433\u043e\u0434!<\/p>\n<h3>\u0421\u0441\u044b\u043b\u043a\u0438<\/h3>\n<p><a href=\"https:\/\/rgb.yandex\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/rgb.yandex<\/a><br \/><a href=\"https:\/\/vk.com\/sinc_lair\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/vk.com\/sinc_lair<\/a><br \/>\n<a href=\"https:\/\/www.z88dk.org\/forum\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.z88dk.org\/forum\/<\/a><\/p>\n<h3>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/h3>\n<p><a href=\"https:\/\/gitlab.com\/demensdeum\/zx-projects\/tree\/master\/interceptor2020\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/gitlab.com\/demensdeum\/zx-projects\/tree\/master\/interceptor2020<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u042d\u0442\u0430 \u043d\u0435\u043f\u0443\u0442\u0435\u0432\u0430\u044f \u0437\u0430\u043c\u0435\u0442\u043a\u0430 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438\u0433\u0440\u044b \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 ZX Spectrum \u043d\u0430 C. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u043a\u0440\u0430\u0441\u0430\u0432\u0446\u0430: \u041e\u043d \u043d\u0430\u0447\u0430\u043b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 1982 \u0433\u043e\u0434\u0443, \u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u0434\u043e 1992 \u0433\u043e\u0434\u0430. \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043c\u0430\u0448\u0438\u043d\u044b: 8-\u0431\u0438\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 Z80, 16-128\u043a\u0431 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u044d\u043a\u0441\u0442\u0435\u043d\u0448\u0435\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0447\u0438\u043f AY-3-8910. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430 Yandex Retro Games Battle 2019 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u044f<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/ru\/2019\/12\/14\/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%b8%d0%b3%d1%80%d1%8b-%d0%b4%d0%bb%d1%8f-zx-spectrum-%d0%bd%d0%b0-c\/\">Continue reading <span class=\"screen-reader-text\">&#8220;\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440\u044b \u0434\u043b\u044f ZX Spectrum \u043d\u0430 C&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[49,81,61],"tags":[134,133],"class_list":["post-2396","post","type-post","status-publish","format-standard","hentry","category-blog","category-demos","category-techie","tag-spectrum","tag-z88dk","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"ru","enabled_languages":["en","ru","zh","de","fr","ja","pt"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/posts\/2396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/comments?post=2396"}],"version-history":[{"count":32,"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/posts\/2396\/revisions"}],"predecessor-version":[{"id":3930,"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/posts\/2396\/revisions\/3930"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/media?parent=2396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/categories?post=2396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/ru\/wp-json\/wp\/v2\/tags?post=2396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}