{"id":317272,"date":"2021-02-01T09:00:47","date_gmt":"2021-02-01T09:00:47","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=317272"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=317272","title":{"rendered":"Maple BUS \u0432 \u043e\u0440\u0435\u0445\u043e\u0432\u043e\u0439 \u0441\u043a\u043e\u0440\u043b\u0443\u043f\u0435 \u0438\u043b\u0438 \u041f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044f SEGA Dreamcast, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0418 \u0441\u0440\u0430\u0437\u0443 \u043a \u0434\u0435\u043b\u0443!<\/p>\n<p> \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b Maple BUS \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0438\u043c\u0435\u044f \u043e\u0434\u043d\u0443 \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 HOST&#8217;\u0430 \u044d\u0442\u0443 \u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u0430\u043a DEVICE. \u041f\u0440\u043e\u0449\u0435, &#8212; \u043c\u043e\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a, \u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u043c \u043f\u0440\u0438\u043a\u0438\u043d\u0443\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 (\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c).<\/h2>\n<p>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Maple BUS \u0434\u0432\u0443\u0445-\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0439. SDCKA\/SDCKB, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043b\u0438\u043d\u0438\u0439 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u043e\u043b\u044c \u043a\u0430\u043a &#171;\u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435&#187; \u0438 \u0442\u0430\u043a \u0438 &#171;\u0437\u0430\u0449\u0435\u043b\u043a\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435&#187;.<\/p>\n<p>\u041e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e \u0448\u0438\u043d\u0435 Maple BUS \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430, \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 1024 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/091\/76a\/69c\/09176a69c7e84da452998af7d09a4b0d.png\" width=\"667\" height=\"157\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0441\u0435\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432 5 \u0432\u0438\u0434\u043e\u0432:<\/p>\n<p>START &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (4-\u0440\u0435 \u043a\u043b\u043e\u043a\u0430 SDCKB \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043a\u0430 SDCKA \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435).<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a8f\/cca\/5a2\/a8fcca5a2e22746493d9eb8b0b81c03c.png\" width=\"312\" height=\"83\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0430\u043a\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u043c END  (2-\u0432\u0430 \u043a\u043b\u043e\u043a\u0430 SDCKA \u043f\u043e\u043a\u0430 SDCKB \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435):<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a29\/733\/4d2\/a297334d2704204d58361b10ac5c7604.png\" width=\"244\" height=\"88\"><figcaption><\/figcaption><\/figure>\n<p>Occupancy \u043f\u0430\u0442\u0442\u0435\u0440\u043d &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442 \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f \u0448\u0438\u043d\u044b  (8-\u043c\u044c \u043a\u043b\u043e\u043a\u043e\u0432 SDCKB \u043f\u043e\u043a\u0430 SDCKA \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435). \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043b\u0438\u043d\u0438\u0438 HI-&gt;LO SDCKA \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0440\u0435\u0436\u0438\u043c\u0430, LO-&gt;HI \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435. \u042d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0432\u044b\u043c \u043f\u0438\u0441\u0442\u043e\u043b\u0435\u0442\u043e\u043c (Light GUN &#8212; Func. FT7):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d92\/73b\/f47\/d9273bf472c096bcfa22e4f7e9380044.png\" width=\"725\" height=\"75\"><figcaption><\/figcaption><\/figure>\n<p>RESET &#8212; \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (14-\u0442\u044c \u043a\u043b\u043e\u043a\u043e\u0432 SDCKB \u043f\u043e\u043a\u0430 SDCKA \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f DEVICE).<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/edb\/b65\/970\/edbb659703f2329993a6429e4a8e97ff.png\" width=\"532\" height=\"78\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u043f\u043e \u0448\u0438\u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0411\u0438\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0444\u0430\u0437\u0430\u043c\u0438. \u0412 \u0447\u0435\u0442\u043d\u043e\u0439 \u0444\u0430\u0437\u0435 \u043b\u0438\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 &#8212; SDCKB, \u0430 \u043a\u043b\u043e\u043a &#8212; SDCKA, \u0432 \u043d\u0435\u0447\u0435\u0442\u043d\u043e\u0439 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 (\u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0442\u043e\u0436\u0435 \u043d\u0430\u0437\u043e\u0432\u0435\u043c \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u043c \ud83d\ude42 ).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/815\/7d2\/567\/8157d256750929fb337ba1a7d3c6f30d.png\" width=\"702\" height=\"99\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u043b\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430 \u043d\u0430 \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0445\u043e\u0441\u0442\u0430 1\u043c\u0441:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/804\/519\/332\/804519332eecedf550677bb879d0ebcc.png\" width=\"733\" height=\"484\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c VMU, \u0432\u0438\u0431\u0440\u043e\u043f\u0430\u043a, \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d&#8230;<\/p>\n<p>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a Maple BUS \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f Device, \u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u043a Device \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f Expansion Device, \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 Device \u0438 Expansion Device \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 LM-Bus. Expansion \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u043e 5-\u0442\u0438, \u0445\u043e\u0442\u044f \u044f \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e, \u0430 \u0432 \u0447\u0438\u043f\u0430\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 315-6211-AB) &#171;\u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430\u0440\u0443\u0436\u0443&#187; \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 2-\u0432\u0430 (\u0445\u043e\u0442\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u043f\u043e\u0434 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e EXP-DEV \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e \u043f\u044f\u0442\u044c \u0431\u0438\u0442, \u043d\u043e \u0442\u0443\u0442 \u0447\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0443\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c, VMU \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u0438 LCD \u0434\u0438\u0441\u043f\u043b\u0435\u0439, \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0432\u0430 Exp. \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/168\/a59\/c74\/168a59c748781b2018a8dbd71992e8b7.png\" width=\"1026\" height=\"600\"><figcaption><\/figcaption><\/figure>\n<p>LM-BUS \u044d\u0442\u043e \u0447\u0442\u043e \u0442\u043e \u0442\u0438\u043f\u0430 \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u0430 Maple BUS, \u0442\u043e \u0435\u0441\u0442\u044c \u0448\u0438\u043d\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e DEVICE  \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e  \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0448\u0438\u043d\u0443 Maple BUS \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u043e\u043c\u0443 \u043a\u0430\u043a\u043e\u0439 Exp. DEVICE \u0432\u044b\u0431\u0440\u0430\u043d HOST&#8217;\u043e\u043c.<\/p>\n<p>LM-BUS \u0442\u0435\u043c\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u0430, \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0443, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.<\/p>\n<h2>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.<\/h2>\n<p>\u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0430\u043a\u0435\u0442 \u043f\u043e\u0431\u043b\u0438\u0436\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac2\/83e\/c7c\/ac283ec7c7bbec33a7f687938c79c9dc.png\" width=\"1240\" height=\"206\"><figcaption><\/figcaption><\/figure>\n<ul>\n<li>\n<p><strong>COMMAND <\/strong>&#8212; \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442 0x01 \u0434\u043e 0xFE (\u0441\u043c. \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u0435 \u043d\u0438\u0436\u0435 &#171;maplebus.h&#187;).<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>maplebus commands<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/HOST #define\tDeviceRequest\t\t\t\t0x01 #define\tAllStatusRequest\t\t0x02 #define\tDeviceReset\t\t\t\t\t0x03 #define\tDeviceKill\t\t\t\t\t0x04 #define\tGetCondition\t\t\t\t0x09 #define\tGetMediaInfo\t\t\t\t0x0A #define\tBlockRead\t\t\t\t\t\t0x0B #define\tBlockWrite\t\t\t\t\t0x0C #define\tGetLastError\t\t\t\t0x0D #define\tSetCondition\t\t\t\t0x0E #define\tFT4Control\t\t\t\t\t0x0F #define\tARControl\t\t\t\t\t\t0x10 #define\tTransmitAgain\t\t\t\t0xFC \/\/Device #define\tDeviceStatus\t\t\t\t0x05 #define\tDeviceAllStatus\t\t\t0x06 #define\tDeviceReply\t\t\t\t\t0x07 #define\tDataTransfer\t\t\t\t0x08 #define\tARError\t\t\t\t\t\t\t0xF9 #define\tLCDError\t\t\t\t\t\t0xFA #define\tFileError\t\t\t\t\t\t0xFB #define\tTransmitAgain\t\t\t\t0xFC #define\tCommandUnknown\t\t\t0xFD #define\tFunctionTypeUnknown\t0xFE<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<ul>\n<li>\n<p><strong>DEST. AP<\/strong> &#8212; \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 (\u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0430\u043a\u0435\u0442).<\/p>\n<\/li>\n<li>\n<p><strong>ORIG. AP <\/strong>&#8212; \u043e\u0442 \u043a\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<p>            \u0414\u043b\u044f AP \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6b1\/f2f\/30d\/6b1f2f30d5d390732a1fe9f7ad3e80ae.png\" width=\"1240\" height=\"115\"><figcaption><\/figcaption><\/figure>\n<p>            PO[1:0] &#8212; \u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 (A &#8212; 00, B &#8212; 01, C &#8212; 10, D &#8212; 11).<\/p>\n<p>            D\/E &#8212; (1 &#8212; Device, 0 &#8212; Expansion Device \u0438\u043b\u0438 PORT).<\/p>\n<p>            LM[4:0] &#8212; (1 &#8212; Exp. DEVICE \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e, 0 &#8212; \u0421\u043b\u043e\u0442 Exp. \u043f\u0443\u0441\u0442).<\/p>\n<ul>\n<li>\n<p><strong>DATA SIZE <\/strong>&#8212; \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u0432 32-\u0445 \u0431\u0438\u0442\u043d\u044b\u0445 \u0447\u0430\u043d\u043a\u0430\u0445.<\/p>\n<\/li>\n<li>\n<p><strong>DATA<\/strong> &#8212; \u0421\u043e\u0441\u0442\u0430\u0432 \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>CRC<\/strong> &#8212; \u043f\u043e\u0431\u0430\u0439\u0442\u043d\u044b\u0439 XOR \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043a\u043b\u044e\u0447\u0430\u044f COMMAND, AP, DATA SIZE, DATA.<\/p>\n<\/li>\n<\/ul>\n<p>&#171;\u041e\u0431\u0449\u0435\u043d\u0438\u0435&#187; \u043c\u0435\u0436\u0434\u0443 HOST \u0438 DEVICE \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 DeviceRequest, \u0432 \u043d\u0435\u043c \u0445\u043e\u0441\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439 \u043f\u043e\u0440\u0442 \u043e\u043d \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u0441\u043b\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u0431\u0440\u043e\u0441\u0430 &#171;\u0443\u0432\u0438\u0434\u0435\u0432&#187; \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u0435\u0431\u0435 (A\/B\/C\/D). <\/p>\n<p> \u041e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043b\u044e\u0431\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c (DeviceStatus answer):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/766\/864\/84c\/76686484cea00af216475ee54b05df47.png\" width=\"1500\" height=\"221\"><figcaption><\/figcaption><\/figure>\n<p><strong>Device ID<\/strong> &#8212; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 (Device ID \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u043b\u043e\u043a  FT, \u0441\u043e\u0441\u0442\u0430\u0432 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0431\u0438\u0442\u043e\u0432 \u0432 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 FD &#8212; \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/817\/b16\/e0f\/817b16e0f32c6d0e5a22e3c5f405bdca.png\" width=\"1000\" height=\"555\"><figcaption><\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>Device Functions<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>\/*Device functions*\/ #define CONTROLLER    MAKE_DWORD(0x00000001)      \/\/FT0 : Controller Function #define STORAGE            MAKE_DWORD(0x00000002)      \/\/FT1 : Storage Function #define LCD                    MAKE_DWORD(0x00000004)      \/\/FT2 : B\/W LCD Function #define TIMER                MAKE_DWORD(0x00000008)      \/\/FT3 : Timer Function #define AUDIO_INPUT    MAKE_DWORD(0x00000010)      \/\/FT4 : Audio input device Function #define AR_GUN            MAKE_DWORD(0x00000020)      \/\/FT5 : AR-Gun Function #define KEYBOARD        MAKE_DWORD(0x00000040)      \/\/FT6 : Keyboard #define GUN                    MAKE_DWORD((unsigned int)0x00000080)        \/\/FT7 : Light-Gun Function #define VIBRATION        MAKE_DWORD((unsigned int)0x00000100)        \/\/FT8 : Vibration Function #define MOUSE                MAKE_DWORD((unsigned int)0x00000200)        \/\/FT9 : Pointing Function #define EXMEDIA            MAKE_DWORD((unsigned int)0x00000400)        \/\/FT10 : Exchange Media Function #define CAMERA            MAKE_DWORD((unsigned int)0x00000800)        \/\/FT11 : Camera Device Functio<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p><strong>Destination code <\/strong>&#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. <\/p>\n<p><strong>Product name<\/strong> &#8212; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 {&#8216;D&#8217;,&#8217;r&#8217;,&#8217;e&#8217;,&#8217;a&#8217;,&#8217;m&#8217;,&#8217;c&#8217;,&#8217;a&#8217;,&#8217;s&#8217;,&#8217;t&#8217;,&#8217; &#8216;,&#8217;C&#8217;,&#8217;o&#8217;,&#8217;n&#8217;,&#8217;t&#8217;,&#8217;r&#8217;,&#8217;o&#8217;,&#8217;l&#8217;,&#8217;l&#8217;,&#8217;e&#8217;,&#8217;r&#8217;,         &#8216; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;} &#8212; 30 \u0431\u0430\u0439\u0442).<\/p>\n<p><strong>License<\/strong> &#8212; \u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f ( {&#8216;P&#8217;,&#8217;r&#8217;,&#8217;o&#8217;,&#8217;d&#8217;,&#8217;u&#8217;,&#8217;c&#8217;,&#8217;e&#8217;,&#8217;d&#8217;,&#8217; &#8216;,&#8217;B&#8217;,&#8217;y&#8217;,&#8217; &#8216;,&#8217;o&#8217;,&#8217;r&#8217;,&#8217; &#8216;,&#8217;U&#8217;,&#8217;n&#8217;,&#8217;d&#8217;,&#8217;e&#8217;,&#8217;r&#8217;,&#8217; &#8216;,&#8217;L&#8217;,&#8217;i&#8217;,&#8217;c&#8217;,&#8217;e&#8217;,&#8217;n&#8217;,&#8217;s&#8217;,&#8217;e&#8217;,&#8217; &#8216;,&#8217;F&#8217;,&#8217;r&#8217;,&#8217;o&#8217;,&#8217;m&#8217;,&#8217; &#8216;,&#8217;S&#8217;,&#8217;E&#8217;,&#8217;G&#8217;,&#8217;A&#8217;,&#8217; &#8216;,&#8217;E&#8217;,&#8217;N&#8217;,&#8217;T&#8217;,&#8217;E&#8217;,&#8217;R&#8217;,&#8217;P&#8217;,&#8217;R&#8217;,&#8217;I&#8217;,&#8217;S&#8217;,&#8217;E&#8217;,&#8217;S&#8217;,&#8217;,&#8217;,&#8217;L&#8217;,&#8217;T&#8217;,&#8217;D&#8217;,&#8217;.&#8217;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,} -60 \u0431\u0430\u0439\u0442 ).<\/p>\n<p><strong>Min.\/Max. current<\/strong> &#8212; \u0441\u043e\u043e\u0442\u0432. \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (1\u043c\u0410 = 10 \u0435\u0434\u0438\u043d\u0438\u0446, 43\u043c\u0410 =&gt; 0x1AE).<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u0434\u0442\u0438 &#171;\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430&#187; (\u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d), \u0434\u043b\u044f \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0430 \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: 40 \u0431\u0430\u0439\u0442 &#171;Version 1.000,1998\/05\/11,315-6125-AB Analog Module: The 4th Edition. 05\/08&#187;.<\/p>\n<p>\u0422\u043e, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u044b \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0431\u043b\u043e\u043a Device ID.<\/p>\n<p>\u041a FT0, CONTROLLER, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>GetCondition <\/strong>&#8212; \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043e\u043a\/\u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432 \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u0441\u0442\u0438\u043a\u043e\u0432 \u0433\u0435\u0439\u043c\u043f\u0430\u0434\u0430. \u0422\u043e \u0432 \u043a\u0430\u043a\u0438\u0445 \u0431\u0438\u0442\u0430\u0445 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u043a\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u0441\u0451 \u0432 \u0442\u043e\u043c \u0436\u0435 \u0431\u043b\u043e\u043a\u0435 Device ID. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u043b\u044f \u0433\u0435\u0439\u043c\u043f\u0430\u0434\u0430 Device ID \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6f3\/6c4\/30d\/6f36c430d4e678910d47aa75e54a42c1.png\" width=\"1000\" height=\"462\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 GetCondition, \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a \u043e\u0431\u044f\u0437\u0430\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u0447\u0435\u0442 \u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043a\u043d\u043e\u043f\u043e\u043a, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fcd\/62e\/3ba\/fcd62e3bada92df443003cc5c3c15f71.png\" width=\"1400\" height=\"449\"><figcaption><\/figcaption><\/figure>\n<p><strong>Ra\/La\/Da\/Ua<\/strong> &#8212; \u041f\u0440\u0430\u0432\u043e\/\u041b\u0435\u0432\u043e\/\u0412\u043d\u0438\u0437\/\u0412\u0432\u0435\u0440\u0445 (\u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 &#171;\u043a\u0440\u0435\u0441\u0442\u0438\u043a&#187;).<\/p>\n<p><strong>Start\/A\/B\/X\/Y <\/strong>&#8212; \u0441\u043e\u043e\u0442\u0432 \u043a\u043d\u043e\u043f\u043a\u0438.<\/p>\n<p><strong>A1, A2<\/strong> &#8212; \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u043a\u0443\u0440\u043a\u0438<\/p>\n<p><strong>A3<\/strong> \u0438 <strong>A4<\/strong> &#8212; \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 &#171;\u0441\u0442\u0438\u043a\u0430&#187;.<\/p>\n<\/p>\n<p>\u0412\u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0432\u0441\u0451 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430.<\/p>\n<h2>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f (\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c)<\/h2>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043b\u0438\u043d\u0438\u0438 SDCKA \u0438 SDCKB \u0438 \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 \u0447\u0438\u0441\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u041c\u041a \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439, \u0442\u043e \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u0438 \u044d\u0442\u043e \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0432\u043e \u043f\u0435\u0440\u0432\u044b\u0445 &#171;\u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445&#187; \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0440\u0430\u0437\u043d\u0430\u044f \u0438 \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u043e \u043d\u0435 \u0444\u0430\u043a\u0442 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0438\u0431\u0440\u043e\u043f\u0430\u043a \u0438\u043b\u0438 \u043a\u0430\u0440\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u043e \u0432\u0442\u043e\u0440\u044b\u0445 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0440\u0435\u0439\u043c\u0430 \u043a\u0430\u043a \u0438 \u0441\u043a\u0430\u0436\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430 &#171;\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u0441\u0431\u0440\u043e\u0441&#187; \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430, \u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e.<\/p>\n<p>\u0412\u043e\u0437\u044c\u043c\u0435\u043c CPLD \u043f\u043e\u043f\u0440\u043e\u0449\u0435 (EPM3032) \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c xMAPLE:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/63f\/3b0\/000\/63f3b0000aeb3be2d3957f465f087415.png\" width=\"1500\" height=\"578\"><figcaption><\/figcaption><\/figure>\n<p><strong>SDCKA\/SDCKB<\/strong> &#8212; \u0432\u0445\u043e\u0434 \u043b\u0438\u043d\u0438\u0439 Maple BUS.<\/p>\n<p><strong>GCLK<\/strong> &#8212; \u0432\u043d\u0435\u0448\u043d\u0438\u0439 CLK 16-48MHz.<\/p>\n<p><strong>INHTxD <\/strong>&#8212; \u0441\u0438\u0433\u043d\u0430\u043b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430,  1 &#8212; \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430 \u0448\u0438\u043d\u0435, 0 &#8212; \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p><strong>RxD<\/strong> &#8212; \u0438\u0434\u0435\u0442 \u043f\u0440\u0438\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<p><strong>nSTRCV<\/strong>&#8212; \u043d\u0430\u0447\u0430\u0442 \u043f\u0440\u0438\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u0430 (Rising Edge).<\/p>\n<p><strong>nDLatch<\/strong> &#8212; \u041d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043c\u043f\u0443\u043b\u044c\u0441 \u0434\u043b\u044f &#171;\u0437\u0430\u0449\u0435\u043b\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445&#187; (\u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e \u0442\u043e\u043c \u0447\u0442\u043e \u043d\u0430 \u043b\u0438\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 Q[7..0] \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442).<\/p>\n<p><strong>Q[7..0]<\/strong> &#8212; \u0448\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/p>\n<p><strong>EOP <\/strong>&#8212; \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043f\u0430\u0442\u0442\u0435\u0440\u043d END (\u043a\u043e\u043d\u0435\u0446 \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u0430\u043a\u0435\u0442\u0430).<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2df\/e84\/9c1\/2dfe849c1f47ca127ae60321c51d8e01.png\" width=\"508\" height=\"226\"><figcaption><\/figcaption><\/figure>\n<p><strong>FERR <\/strong>&#8212; \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0438\u0435\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7c0\/bdb\/a70\/7c0bdba70fefbaa94e0f708498652309.png\" width=\"544\" height=\"226\"><figcaption><\/figcaption><\/figure>\n<p><strong>nRST <\/strong>&#8212; \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 &#8212; \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d RESET \u043f\u0430\u0442\u0442\u0435\u0440\u043d, &#8212; 0.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a48\/183\/018\/a481830185d5d79aa0a291c1f32571d8.png\" width=\"696\" height=\"270\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dcc\/97f\/300\/dcc97f3005f99457f4123be2634bdfd5.png\" width=\"1763\" height=\"356\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0438\u0448\u0435\u043c \u044d\u0442\u043e \u043d\u0430 \u0432\u0435\u0440\u0438\u043b\u043e\u0433&#8217;\u0435 (3 \u0444\u0430\u0439\u043b\u0438\u043a\u0430, \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u0434\u043e\u0433\u0430\u0434\u0430\u0435\u0442\u0435\u0441\u044c \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c):<\/p>\n<details class=\"spoiler\">\n<summary>SMAPLE.v<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">module SMAPLE( \tinput GCLK,\t\t\t\/\/MCU Generated 16MHz clock input \tinput INHTxD,\t\t\/\/Inhibit Input Data (User Can disable XMAPLE Detect Signals While MCU Transmit DATA) \tinput SDCKAi,\t\t\/\/Data\/Clock A Line \tinput SDCKBi,\t\t\/\/Data\/Clock B Line \toutput RxD,\t\t\t\/\/Receive on progress (While receive is 1) \toutput [7:0]Q\t\t\/\/ Output data bus (MCU can read valid data on this  \t\t\t\t\t\t\/\/port in time 200uS after data latch Negative Pulse received)   ,\toutput nSTRCV,\t\t\/\/Receive start, negative pulse - Output \toutput OCPYi,\t\t\/\/Occupancy packet received - Output \toutput nRST,\t\t\/\/Reset packet received - Output \toutput FERR,\t\t\/\/Frame error - Output \toutput EOPi,\t\t\/\/End Of Packed received - Output \toutput nDLatch\t\/\/New Data latched on BUS (Negative Pulse) );  \/*Control Register*\/ reg rRxD = 0; assign RxD = rRxD; reg rFERR = 0; assign FERR = rFERR;  wire nWE; assign nDLatch = (EOPi &amp; nWE);  wire iFERR;  \/* Align Data Packet *\/ reg rENA = 1'b0; reg rENB = 1'b0;  always @(posedge GCLK or negedge nRST) begin \tif(!nRST) begin \t\trENA &lt;= 1'b0; \t\trENB &lt;= 1'b0; \tend else begin \t\trENA &lt;= SDCKAi; \t\trENB &lt;= SDCKBi; \tend end  always @(posedge GCLK or negedge nRST) begin \tif(!nRST) begin \t\trFERR &lt;= 0; \t\trRxD &lt;= 0; \tend else begin \t\tif(!EOPi)\/\/ &amp;&amp; !INHTxD) \t\t rRxD &lt;=0 ; \t\telse begin \t\t\tif(!iFERR) rFERR &lt;= 1; \t\t\tif(!nSTRCV) begin \t\t\t\trFERR &lt;= 0; \t\t\t\trRxD &lt;= ~INHTxD; \t\t\tend \t\tend \tend end   line_monitor line_monitor ( \t.GCLK(GCLK),\t\t\t\t\/\/Global Clock - Input \t.SDCKA(SDCKAi|INHTxD),\t\/\/CLOCK\/DATA Line A disabled by data transmit - Input \t.SDCKB(SDCKBi|INHTxD),\t\/\/CLOCK\/DATA Line B disabled by data transmit - Input \t.RxDr(RxD),\t\t\t\t\t\/\/Data Receive in progress - Input \t.RxD(nSTRCV),\t\t\t\t\/\/Receive start, negative pulse - Output \t.OCPY(OCPYi),\t\t\t\t\/\/Occupancy packet received - Output \t.RESET(nRST),\t\t\t\t\/\/Reset packet received - Output \t.FERR(iFERR),\t\t\t\t\/\/Frame error - Output \t.EOP(EOPi),\t\t\t\t\t\/\/End Of Packed received - Output \t.ENA(rENA),\t\t\t\t\t\/\/CLOCK For Line B \t.ENB(rENB)\t\t\t\t\t\/\/CLOCK For Line A  );  \/*Receive Maple Frame*\/ maple_receive maple_receive ( \t.SDCKA(SDCKAi),\t\/\/CLOCK\/DATA Line A disabled by data transmit - Input \t.SDCKB(SDCKBi),\t\/\/CLOCK\/DATA Line B disabled by data transmit - Input \t.ENA(rENA),\t\t\t\/\/CLOCK For Line B \t.ENB(rENB),\t\t\t\/\/CLOCK For Line A  \t.RCV(RxD),\t\t\t\/\/Receive in progress, 1 - receive - Input \t.Dout(Q[7:0]), \t\/\/Received data byte - Output \t.nWE(nWE),\t\t\t\/\/Write Latch - Output \t.RxDi(nSTRCV),\t\t\/\/Receive start, negative pulse - Input \t.INHTxD(INHTxD)\t\/\/Inhibit Input Data (User Can disable XMAPLE Detect Signals While MCU Transmit DATA) );  endmodule <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>line_monitor.v<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">module line_monitor ( \tinput GCLK, \tinput SDCKA, \tinput SDCKB, \tinput  RxDr,\t\t\t\/\/Data Receive in progress - Input \toutput RxD, \toutput OCPY, \toutput RESET, \toutput FERR, \toutput EOP, \tinput ENA, \tinput ENB );   reg [3:0] countA = 0; reg [2:0] countB = 0;  reg [3:0] pcount = 0; reg rEOP = 1'b1; assign EOP = rEOP;  assign RxD = (pcount == 4'h4) ? 1'b0 : 1'b1; assign OCPY = (pcount == 4'h8) ? 1'b0 : 1'b1; assign RESET = (pcount == 4'hE)? 1'b0 : 1'b1; \/\/Output reset signal does not need to check for FERR assign FERR = (!((RxD &amp; OCPY &amp; RESET) &amp;&amp; pcount[3:1])) | (!RxDr &amp; !rEOP); \/\/assign EOP = (eopcount == 3'h2) ? 1'b0 : 1'b1;  always @(posedge SDCKA) pcount &lt;= countA; always @(posedge SDCKB) rEOP &lt;= !(countB == 3'h2);  \/\/Patterns \/\/PATTERN Counter Managing always @(posedge ENA or negedge ENB) begin \tif (ENA) begin \t\tcountA &lt;= 0; \tend \telse begin \t\tcountA &lt;= countA + 4'h1; \tend end   \/\/EOP Counter Managing always @(posedge ENB or negedge ENA) begin \tif (ENB) begin \t countB &lt;= 0; \tend \telse begin \t countB &lt;= countB + 3'h1; \tend end   \/\/synopsys translate_off \/\/synopsys translate_on  endmodule <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>maple_receive.v<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">module maple_receive ( \tinput SDCKA,\t\t\/\/CLOCK\/DATA Line A \tinput SDCKB,\t\t\/\/CLOCK\/DATA Line B \tinput ENA,\t\t\t\/\/CLOCK \tinput ENB,\t\t\t\/\/CLOCK \tinput RCV,\t\t\t\/\/Receive in progress, 1 - valid \toutput [7:0]Dout, \/\/received data output \toutput nWE, \tinput RxDi, \tinput INHTxD\t\t\/\/Inhibit Input Data (User Can disable XMAPLE Detect Signals While MCU Transmit DATA) );  reg [3:0] dataA = 4'h0; reg [3:0] dataB = 4'h0;  reg [1:0]countB = 2'b00; reg rLastBitCounted = 1'b1;  \/\/B LINE \/\/Dout[1] = SDCKA Means Major version 1. \/\/Dout[0] = SDCKB Means Minor version .0 \/\/And version result = 1.0 assign Dout[1] = !INHTxD ? dataB[0] : SDCKA; assign Dout[3] = dataB[1]; assign Dout[5] = dataB[2]; assign Dout[7] = dataB[3]; \/\/A LINE assign Dout[0] = !INHTxD ? dataA[0] : SDCKB; assign Dout[2] = dataA[1]; assign Dout[4] = dataA[2]; assign Dout[6] = dataA[3];  assign nWE = (dtaLock);  always @(negedge ENA)begin \tdataB[3:1] &lt;= dataB[2:0]; \tdataB[0] &lt;= SDCKB;  \tif(RCV) begin \t\tcountB &lt;= countB + 2'b1; \tend else begin \t\tcountB &lt;= 2'b11; \tend\t\t end  always @(negedge ENB)begin \tdataA[3:1] &lt;= dataA[2:0]; \tdataA[0] &lt;= SDCKA; \t \trLastBitCounted &lt;= !countB[0] | !countB[1]; end  wire dtaLock = rLastBitCounted;  endmodule  <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0435 &#171;\u0440\u0430\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0447\u043a\u0430\u043c\u0438&#187; \u043d\u0430\u043a\u0438\u0434\u0430\u043b Eval Board.<\/p>\n<p>\u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u043e \u0431\u043b\u043e\u043a\u0430\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/958\/284\/4df\/9582844df041fce44ceaa415b7bcd591.png\" width=\"1065\" height=\"523\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/OnAMAPLE.pdf\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u043b\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043c\u043e\u0434\u0443\u043b\u044f.<\/a><\/p>\n<p><a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/OnMAPLES-EB.rar\" rel=\"noopener noreferrer nofollow\">Gerber \u0444\u0430\u043b\u044b.<\/a><\/p>\n<p>\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/278\/675\/08d\/27867508dcb88e3be5829a88ea2c06b0.jpg\" width=\"800\" height=\"695\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043f\u043e\u0441\u0430\u0434\u043e\u0447\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0434 Eval&#8230;<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/135\/25e\/609\/13525e60973628ac979e36a6d97927aa.png\" width=\"1061\" height=\"724\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/EB-SEAT.rar\" rel=\"noopener noreferrer nofollow\">Gerber \u0444\u0430\u0439\u043b\u044b.<\/a><\/p>\n<p>\u0418 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0432\u0441\u0451 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/492\/12d\/7ac\/49212d7ac3c90ba8008489fa384afada.jpg\" width=\"1230\" height=\"1107\"><figcaption><\/figcaption><\/figure>\n<h2>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.<\/h2>\n<p>\u0416\u0435\u043b\u0435\u0437\u043a\u0438 \u0435\u0441\u0442\u044c, \u0441\u0445\u0435\u043c\u044b \u0435\u0441\u0442\u044c, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u0434 \u0447\u0442\u043e\u0431\u044b \u0447\u0442\u043e\u0431\u044b \u0433\u0435\u0439\u043c\u043f\u0430\u0434 Dreamcast \u043f\u0440\u0438\u043a\u0438\u0434\u044b\u0432\u0430\u043b\u0441\u044f \u0433\u0435\u0439\u043c\u043f\u0430\u0434\u043e\u043c XBOX360 (\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044f \u0437\u0430\u0431\u043e\u0442\u043b\u0438\u0432\u043e &#171;\u0432\u044b\u043a\u0443\u0441\u0438\u043b \u0445\u044d\u043d\u0434\u0448\u0435\u0439\u043a&#187; \u0441 XBOX360, \u0434\u0430\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u041f\u041a).<\/p>\n<p>\u0418, \u043e\u043f\u044f\u0442\u044c \u0442\u0430\u043a\u0438 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u043a\u0430\u0445, \u0434\u0435\u043b\u0430\u0435\u043c \u043f\u043b\u0430\u0442\u0443 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0430 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u043a:<\/p>\n<p><a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/HOSTCON_UP_1_6mm.rar\" rel=\"noopener noreferrer nofollow\">\u0412\u0435\u0440\u0445\u043d\u044f\u044f \u0447\u0430\u0441\u0442\u044c (GERBER)<\/a>, <a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/HOSTCON_DOWN_1.6mm.rar\" rel=\"noopener noreferrer nofollow\">\u043d\u0438\u0436\u043d\u044f\u044f \u0447\u0430\u0441\u0442\u044c (GERBER)<\/a>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ed\/b23\/f58\/5edb23f58fd1ced5025fe03da0acca6b.jpg\" width=\"800\" height=\"695\"><figcaption><\/figcaption><\/figure>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u0441 \u0440\u0430\u0437\u044a\u0435\u043c\u043e\u043c \u0433\u0435\u0439\u043c\u043f\u0430\u0434\u0430, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043f\u0430\u044f\u0442\u044c &#171;\u0443\u0441\u044b&#187;.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0437\u044a\u0435\u043c SD \u0432\u043e\u0442 \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/812\/3da\/9b6\/8123da9b68c9b06d36be09b404cca232.jpg\" width=\"800\" height=\"663\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6ed\/a9d\/432\/6eda9d432e72e89b75ef5c9aea013a4b.jpg\" width=\"800\" height=\"504\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043a\u0438\u043d\u0435\u043c \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c&#8230; \u043d\u0435 \u0431\u0443\u0434\u0443 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0442\u043e\u043c \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 USB HID, \u043e\u043f\u0438\u0448\u0443 \u043e\u0431\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u043e\u043f\u0440\u043e\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u0448\u0438\u043d\u0435 MAPLE.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/704\/014\/bd2\/704014bd28d0a201ffd8e7667acb3e2a.png\" width=\"416\" height=\"1200\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/MAPLEHID.rar\" rel=\"noopener noreferrer nofollow\">\u0418 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0430\u0440\u0445\u0438\u0432 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438.<\/a><\/p>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0432 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b:<\/p>\n<ul>\n<li>\n<p><strong>USE_STDPERIPH<em>_<\/em>DRIVER<\/strong> &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 \u043e\u0442 ST.<\/p>\n<\/li>\n<li>\n<p> <strong>STM32F10X<em>_<\/em>MD<\/strong><em> &#8212; <\/em>\u0447\u0438\u043f Medium Density.<\/p>\n<\/li>\n<li>\n<p> <strong>MAPLE_HOST<\/strong> &#8212; \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 MAPLE \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 HOST.<\/p>\n<\/li>\n<li>\n<p> <strong>USB_HID<\/strong> &#8212; \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0446\u0435\u043b\u0435\u0432\u043e\u0435 HID \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u043e\u0448\u0438\u0432\u0430\u0435\u043c, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d89\/2ea\/b5d\/d892eab5de60f305b7fd547668093daa.jpg\" width=\"800\" height=\"636\"><figcaption><\/figcaption><\/figure>\n<p>\u2026 \u0438 \u0432\u0438\u0434\u0438\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443 (\u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <a href=\"https:\/\/www.microsoft.com\/accessories\/ru-ru\/d\/xbox-360-controller-for-windows\" rel=\"noopener noreferrer nofollow\"><strong>Microsoft Xbox 360 Accessories<\/strong><\/a>, \u0430 \u0435\u0449\u0451 \u043f\u043e\u043c\u043d\u0438\u043c \u0447\u0442\u043e \u0433\u0435\u0439\u043c\u043f\u0430\u0434 \u0443 \u043d\u0430\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 XInput&#8230; \u043a\u043e\u043c\u0443 \u043b\u0435\u043d\u044c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0443\u0436\u0435 <a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/XInput.hex\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443<\/a>):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c20\/0ac\/1d7\/c200ac1d7c937f03fa28a3d0439582cf.jpg\" width=\"960\" height=\"477\"><figcaption><\/figcaption><\/figure>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c xMAPLE \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0438&#8230;<\/p>\n<h2>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043c\u044b\u0448\u044c \u043e\u0442 \u041f\u041a \u043a DREAMCAST.<\/h2>\n<p>\u041c\u044b\u0448\u044c, &#8212; FT9 : Pointing Function.<\/p>\n<p>\u0427\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e, DeviceID \u0438 \u0441\u043e\u0441\u0442\u0430\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b GetCondition, \u0447\u0442\u043e\u0431 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.<\/p>\n<p>Mouse DeviceID:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f55\/978\/f30\/f55978f30caf009b721a220f2e6131e3.png\" width=\"521\" height=\"401\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043c\u044b\u0448\u044c Dreamcast \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 3 \u043a\u043d\u043e\u043f\u043a\u0438: A,B,W, \u0434\u0435\u043b\u044c\u0442\u044b \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u043e \u043e\u0441\u044f\u043c X\/Y: AC1,AC2 (ball) \u0438 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 &#171;\u043a\u043e\u043b\u0435\u0441\u0430&#187;: AC3 (wheel).<\/p>\n<p>AC1,AC2,AC3 &#8212; \u0434\u0435\u0441\u044f\u0442\u0438-\u0431\u0438\u0442\u043d\u044b\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u043f\u043b\u044e\u0441 \u0444\u043b\u0430\u0433 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/046\/b20\/ee9\/046b20ee96ec67a8d710ef2bc92b194d.png\" width=\"517\" height=\"489\"><figcaption><\/figcaption><\/figure>\n<p>AOV2, AOV1, AOV0 &#8212; \u0444\u043b\u0430\u0433\u0438 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f AC3, AC2, AC1 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<p>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043d\u0430\u043a\u0438\u0434\u0430\u0435\u043c \u0441\u0445\u0435\u043c\u043a\u0443 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 PS\/2 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0431\u043e\u0440\u0434\u044b:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8d2\/3b6\/841\/8d23b68416c3ab76c0de131d6c54b943.jpg\" width=\"886\" height=\"404\"><figcaption><\/figcaption><\/figure>\n<p>&#8230;\u0440\u0430\u0437\u0432\u043e\u0434\u0438\u043c, <a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/PS2_MEM.rar\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c  gerber&#8217;\u044b<\/a>&#8230;<\/p>\n<p>\u0418 \u0441 \u0437\u0430\u0432\u043e\u0434\u0430 \u043d\u0430\u043c \u043f\u0440\u0438\u0435\u0437\u0436\u0430\u0435\u0442 \u0432\u043e\u0442 \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/322\/b4f\/ca3\/322b4fca3c14de5fadd2bb94ba5f2952.jpg\" width=\"800\" height=\"600\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0443 \u0438 \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u043e, \u043d\u0430\u043a\u0438\u0434\u0430\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u0441\u0445\u0435\u043c\u0443, \u0435\u0441\u043b\u0438 \u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u043e\u0434 \u043e\u0442 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0434\u0430, \u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a \u0440\u0430\u0437\u044a\u0435\u043c\u0443 \u0438 \u0423\u0420\u0410.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7d1\/473\/13b\/7d147313bbede2a80f35aaeff820ada7.jpg\" width=\"530\" height=\"157\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/DEVCON.rar\" rel=\"noopener noreferrer nofollow\">&#171;\u0420\u0438\u0441\u0443\u0435\u043c&#187; gerber&#8217;\u044b<\/a> \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/492\/31c\/d88\/49231cd886a13e18f3d54d0705c5695a.jpg\" width=\"800\" height=\"555\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0435\u0441\u044c \u044d\u0442\u043e\u0442 &#171;\u043e\u0433\u043e\u0440\u043e\u0434&#187; \u0432\u043c\u0435\u0441\u0442\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/801\/a08\/c99\/801a08c9963adb5a28cb8a397d79390d.jpg\" width=\"1600\" height=\"760\"><figcaption><\/figcaption><\/figure>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 (\u043d\u0438\u0436\u0435 \u0430\u0440\u0445\u0438\u0432 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438) \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u044f \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430:<\/p>\n<ul>\n<li>\n<p><strong>USE_STDPERIPH<em>_<\/em>DRIVER<\/strong> &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 \u043e\u0442 ST.<\/p>\n<\/li>\n<li>\n<p> <strong>STM32F10X<em>_<\/em>MD<\/strong><em> &#8212; <\/em>\u0447\u0438\u043f Medium Density.<\/p>\n<\/li>\n<li>\n<p> <strong>MAPLE_DEVICE<\/strong> &#8212; \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 MAPLE \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 DEVICE.<\/p>\n<\/li>\n<li>\n<p> <strong>EN_MOUSE<\/strong> &#8212; \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0446\u0435\u043b\u0435\u0432\u043e\u0435 HID \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e.<\/p>\n<\/li>\n<li>\n<p><strong>MOUSE_CALLBACK<\/strong> &#8212; \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0447\u0442\u0435\u043d\u0438\u044f \u043c\u044b\u0448\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 HOST.<\/p>\n<\/li>\n<li>\n<p> <strong>EXTI9_<em>5<\/em>_CALLBACK<\/strong><em> &#8212; <\/em>\u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043a\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f EXTI5-EXTI9 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 MAPLE_BUS.<\/p>\n<\/li>\n<\/ul>\n<p> (<a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/MAPLEPS2MOUSE.zip\" rel=\"noopener noreferrer nofollow\">\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438<\/a>, <a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/MAPLEPS2MOUSE.hex\" rel=\"noopener noreferrer nofollow\">\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 HEX<\/a>).<\/p>\n<p>\u041a \u0441\u043b\u043e\u0432\u0443, \u0435\u0441\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e <strong>EN_MOUSE<\/strong><em> <\/em>\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c<em> <\/em>\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443<em> <\/em><strong>EN<em>_<\/em>CONTROLLER<\/strong>, \u0442\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u0430\u0431\u0430\u0432\u043d\u0443\u044e \u0448\u0442\u0443\u043a\u0443, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 PS\/2 \u043c\u044b\u0448\u044c \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 DREAMCAST, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u043b, \u043f\u043e\u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u043c\u044b\u0448\u044c\u044e \u0432 \u043c\u0435\u043d\u044e DREAMCAST \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0446\u0435\u043b\u043e\u043c \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u0441\u043a\u0430\u0436\u0435\u043c &#171;HALF LIFE \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438&#187; \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0448\u0438\u0442\u044c <a href=\"https:\/\/ramfactory.com\/devices\/OnAMAPLE\/doc\/MAPLEPS2MOUSE_EN_C.hex\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439 <strong>EN<em>_<\/em>CONTROLLER<\/strong><\/a> \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u043d\u044e \u043c\u044b\u0448\u043a\u043e\u0439 PS\/2.<\/p>\n<p>\u041f\u0440\u043e\u0448\u0438\u0432\u0430\u0435\u043c, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a DREAMCAST \u0438 \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!!!<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8ef\/5f0\/105\/8ef5f01059593594f285ebb62675890c.jpg\" width=\"640\" height=\"418\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0432\u0441\u0451 \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0432\u0435\u0434\u0430\u0442\u044c. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u043d\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e (\u043d\u0430\u0434\u0435\u044e\u0441\u044c \u0435\u0449\u0451 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \ud83d\ude42 ):<\/p>\n<ul>\n<li>\n<p>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 VibroPAK.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c Memory Unit (\u0445\u043e\u0442\u044f \u043d\u0430 \u0431\u043e\u0440\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f PS\/2 SPI EEPROM \u043f\u0430\u043c\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u0439).<\/p>\n<\/li>\n<li>\n<p>\u0418 \u0443 \u043c\u0435\u043d\u044f \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u044b \u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442 \u0438 \u0442\u0440\u0451\u043c \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c &#171;\u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u0438\u043b\u044b&#187; \u043c\u043e\u0433\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u044b \u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442 \u0437\u0430 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0447\u0442\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0434\u043d\u044f! \u041e\u0442\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f!!!<\/p>\n<\/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=\"https:\/\/habr.com\/ru\/post\/540236\/\"> https:\/\/habr.com\/ru\/post\/540236\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0418 \u0441\u0440\u0430\u0437\u0443 \u043a \u0434\u0435\u043b\u0443!<\/p>\n<p> \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b Maple BUS \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0438\u043c\u0435\u044f \u043e\u0434\u043d\u0443 \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 HOST&#8217;\u0430 \u044d\u0442\u0443 \u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u0430\u043a DEVICE. \u041f\u0440\u043e\u0449\u0435, &#8212; \u043c\u043e\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a, \u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u043c \u043f\u0440\u0438\u043a\u0438\u043d\u0443\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 (\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c).<\/h2>\n<p>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Maple BUS \u0434\u0432\u0443\u0445-\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0439. SDCKA\/SDCKB, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043b\u0438\u043d\u0438\u0439 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u043e\u043b\u044c \u043a\u0430\u043a &#171;\u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435&#187; \u0438 \u0442\u0430\u043a \u0438 &#171;\u0437\u0430\u0449\u0435\u043b\u043a\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435&#187;.<\/p>\n<p>\u041e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e \u0448\u0438\u043d\u0435 Maple BUS \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430, \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 1024 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0441\u0435\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432 5 \u0432\u0438\u0434\u043e\u0432:<\/p>\n<p>START &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (4-\u0440\u0435 \u043a\u043b\u043e\u043a\u0430 SDCKB \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043a\u0430 SDCKA \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435).<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0430\u043a\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u043c END  (2-\u0432\u0430 \u043a\u043b\u043e\u043a\u0430 SDCKA \u043f\u043e\u043a\u0430 SDCKB \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435):<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>Occupancy \u043f\u0430\u0442\u0442\u0435\u0440\u043d &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442 \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f \u0448\u0438\u043d\u044b  (8-\u043c\u044c \u043a\u043b\u043e\u043a\u043e\u0432 SDCKB \u043f\u043e\u043a\u0430 SDCKA \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435). \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043b\u0438\u043d\u0438\u0438 HI-&gt;LO SDCKA \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0440\u0435\u0436\u0438\u043c\u0430, LO-&gt;HI \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435. \u042d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0432\u044b\u043c \u043f\u0438\u0441\u0442\u043e\u043b\u0435\u0442\u043e\u043c (Light GUN &#8212; Func. FT7):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>RESET &#8212; \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (14-\u0442\u044c \u043a\u043b\u043e\u043a\u043e\u0432 SDCKB \u043f\u043e\u043a\u0430 SDCKA \u0432 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f DEVICE).<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u043f\u043e \u0448\u0438\u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0411\u0438\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0444\u0430\u0437\u0430\u043c\u0438. \u0412 \u0447\u0435\u0442\u043d\u043e\u0439 \u0444\u0430\u0437\u0435 \u043b\u0438\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 &#8212; SDCKB, \u0430 \u043a\u043b\u043e\u043a &#8212; SDCKA, \u0432 \u043d\u0435\u0447\u0435\u0442\u043d\u043e\u0439 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 (\u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0442\u043e\u0436\u0435 \u043d\u0430\u0437\u043e\u0432\u0435\u043c \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u043c \ud83d\ude42 ).<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u043b\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430 \u043d\u0430 \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0445\u043e\u0441\u0442\u0430 1\u043c\u0441:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c VMU, \u0432\u0438\u0431\u0440\u043e\u043f\u0430\u043a, \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d&#8230;<\/p>\n<p>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a Maple BUS \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f Device, \u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u043a Device \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f Expansion Device, \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 Device \u0438 Expansion Device \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 LM-Bus. Expansion \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u043e 5-\u0442\u0438, \u0445\u043e\u0442\u044f \u044f \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e, \u0430 \u0432 \u0447\u0438\u043f\u0430\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 315-6211-AB) &#171;\u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430\u0440\u0443\u0436\u0443&#187; \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 2-\u0432\u0430 (\u0445\u043e\u0442\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u043f\u043e\u0434 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e EXP-DEV \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e \u043f\u044f\u0442\u044c \u0431\u0438\u0442, \u043d\u043e \u0442\u0443\u0442 \u0447\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0443\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c, VMU \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u0438 LCD \u0434\u0438\u0441\u043f\u043b\u0435\u0439, \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0432\u0430 Exp. \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430).<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>LM-BUS \u044d\u0442\u043e \u0447\u0442\u043e \u0442\u043e \u0442\u0438\u043f\u0430 \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u0430 Maple BUS, \u0442\u043e \u0435\u0441\u0442\u044c \u0448\u0438\u043d\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e DEVICE  \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e  \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0448\u0438\u043d\u0443 Maple BUS \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u043e\u043c\u0443 \u043a\u0430\u043a\u043e\u0439 Exp. DEVICE \u0432\u044b\u0431\u0440\u0430\u043d HOST&#8217;\u043e\u043c.<\/p>\n<p>LM-BUS \u0442\u0435\u043c\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u0430, \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0443, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.<\/p>\n<h2>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.<\/h2>\n<p>\u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0430\u043a\u0435\u0442 \u043f\u043e\u0431\u043b\u0438\u0436\u0435:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<ul>\n<li>\n<p><strong>COMMAND <\/strong>&#8212; \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442 0x01 \u0434\u043e 0xFE (\u0441\u043c. \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u0435 \u043d\u0438\u0436\u0435 &#171;maplebus.h&#187;).<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>maplebus commands<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/HOST #define\tDeviceRequest\t\t\t\t0x01 #define\tAllStatusRequest\t\t0x02 #define\tDeviceReset\t\t\t\t\t0x03 #define\tDeviceKill\t\t\t\t\t0x04 #define\tGetCondition\t\t\t\t0x09 #define\tGetMediaInfo\t\t\t\t0x0A #define\tBlockRead\t\t\t\t\t\t0x0B #define\tBlockWrite\t\t\t\t\t0x0C #define\tGetLastError\t\t\t\t0x0D #define\tSetCondition\t\t\t\t0x0E #define\tFT4Control\t\t\t\t\t0x0F #define\tARControl\t\t\t\t\t\t0x10 #define\tTransmitAgain\t\t\t\t0xFC \/\/Device #define\tDeviceStatus\t\t\t\t0x05 #define\tDeviceAllStatus\t\t\t0x06 #define\tDeviceReply\t\t\t\t\t0x07 #define\tDataTransfer\t\t\t\t0x08 #define\tARError\t\t\t\t\t\t\t0xF9 #define\tLCDError\t\t\t\t\t\t0xFA #define\tFileError\t\t\t\t\t\t0xFB #define\tTransmitAgain\t\t\t\t0xFC #define\tCommandUnknown\t\t\t0xFD #define\tFunctionTypeUnknown\t0xFE<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<ul>\n<li>\n<p><strong>DEST. AP<\/strong> &#8212; \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 (\u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0430\u043a\u0435\u0442).<\/p>\n<\/li>\n<li>\n<p><strong>ORIG. AP <\/strong>&#8212; \u043e\u0442 \u043a\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<p>            \u0414\u043b\u044f AP \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>            PO[1:0] &#8212; \u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 (A &#8212; 00, B &#8212; 01, C &#8212; 10, D &#8212; 11).<\/p>\n<p>            D\/E &#8212; (1 &#8212; Device, 0 &#8212; Expansion Device \u0438\u043b\u0438 PORT).<\/p>\n<p>            LM[4:0] &#8212; (1 &#8212; Exp. DEVICE \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e, 0 &#8212; \u0421\u043b\u043e\u0442 Exp. \u043f\u0443\u0441\u0442).<\/p>\n<ul>\n<li>\n<p><strong>DATA SIZE <\/strong>&#8212; \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u0432 32-\u0445 \u0431\u0438\u0442\u043d\u044b\u0445 \u0447\u0430\u043d\u043a\u0430\u0445.<\/p>\n<\/li>\n<li>\n<p><strong>DATA<\/strong> &#8212; \u0421\u043e\u0441\u0442\u0430\u0432 \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>CRC<\/strong> &#8212; \u043f\u043e\u0431\u0430\u0439\u0442\u043d\u044b\u0439 XOR \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043a\u043b\u044e\u0447\u0430\u044f COMMAND, AP, DATA SIZE, DATA.<\/p>\n<\/li>\n<\/ul>\n<p>&#171;\u041e\u0431\u0449\u0435\u043d\u0438\u0435&#187; \u043c\u0435\u0436\u0434\u0443 HOST \u0438 DEVICE \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 DeviceRequest, \u0432 \u043d\u0435\u043c \u0445\u043e\u0441\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439 \u043f\u043e\u0440\u0442 \u043e\u043d \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u0441\u043b\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u0431\u0440\u043e\u0441\u0430 &#171;\u0443\u0432\u0438\u0434\u0435\u0432&#187; \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u0435\u0431\u0435 (A\/B\/C\/D). <\/p>\n<p> \u041e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043b\u044e\u0431\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c (DeviceStatus answer):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>Device ID<\/strong> &#8212; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 (Device ID \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u043b\u043e\u043a  FT, \u0441\u043e\u0441\u0442\u0430\u0432 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0431\u0438\u0442\u043e\u0432 \u0432 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 FD &#8212; \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439).<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>Device Functions<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>\/*Device functions*\/ #define CONTROLLER    MAKE_DWORD(0x00000001)      \/\/FT0 : Controller Function #define STORAGE            MAKE_DWORD(0x00000002)      \/\/FT1 : Storage Function #define LCD                    MAKE_DWORD(0x00000004)      \/\/FT2 : B\/W LCD Function #define TIMER                MAKE_DWORD(0x00000008)      \/\/FT3 : Timer Function #define AUDIO_INPUT    MAKE_DWORD(0x00000010)      \/\/FT4 : Audio input device Function #define AR_GUN            MAKE_DWORD(0x00000020)      \/\/FT5 : AR-Gun Function #define KEYBOARD        MAKE_DWORD(0x00000040)      \/\/FT6 : Keyboard #define GUN                    MAKE_DWORD((unsigned int)0x00000080)        \/\/FT7 : Light-Gun Function #define VIBRATION        MAKE_DWORD((unsigned int)0x00000100)        \/\/FT8 : Vibration Function #define MOUSE                MAKE_DWORD((unsigned int)0x00000200)        \/\/FT9 : Pointing Function #define EXMEDIA            MAKE_DWORD((unsigned int)0x00000400)        \/\/FT10 : Exchange Media Function #define CAMERA            MAKE_DWORD((unsigned int)0x00000800)        \/\/FT11 : Camera Device Functio<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p><strong>Destination code <\/strong>&#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. <\/p>\n<p><strong>Product name<\/strong> &#8212; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 {&#8216;D&#8217;,&#8217;r&#8217;,&#8217;e&#8217;,&#8217;a&#8217;,&#8217;m&#8217;,&#8217;c&#8217;,&#8217;a&#8217;,&#8217;s&#8217;,&#8217;t&#8217;,&#8217; &#8216;,&#8217;C&#8217;,&#8217;o&#8217;,&#8217;n&#8217;,&#8217;t&#8217;,&#8217;r&#8217;,&#8217;o&#8217;,&#8217;l&#8217;,&#8217;l&#8217;,&#8217;e&#8217;,&#8217;r&#8217;,         &#8216; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;} &#8212; 30 \u0431\u0430\u0439\u0442).<\/p>\n<p><strong>License<\/strong> &#8212; \u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f ( {&#8216;P&#8217;,&#8217;r&#8217;,&#8217;o&#8217;,&#8217;d&#8217;,&#8217;u&#8217;,&#8217;c&#8217;,&#8217;e&#8217;,&#8217;d&#8217;,&#8217; &#8216;,&#8217;B&#8217;,&#8217;y&#8217;,&#8217; &#8216;,&#8217;o&#8217;,&#8217;r&#8217;,&#8217; &#8216;,&#8217;U&#8217;,&#8217;n&#8217;,&#8217;d&#8217;,&#8217;e&#8217;,&#8217;r&#8217;,&#8217; &#8216;,&#8217;L&#8217;,&#8217;i&#8217;,&#8217;c&#8217;,&#8217;e&#8217;,&#8217;n&#8217;,&#8217;s&#8217;,&#8217;e&#8217;,&#8217; &#8216;,&#8217;F&#8217;,&#8217;r&#8217;,&#8217;o&#8217;,&#8217;m&#8217;,&#8217; &#8216;,&#8217;S&#8217;,&#8217;E&#8217;,&#8217;G&#8217;,&#8217;A&#8217;,&#8217; &#8216;,&#8217;E&#8217;,&#8217;N&#8217;,&#8217;T&#8217;,&#8217;E&#8217;,&#8217;R&#8217;,&#8217;P&#8217;,&#8217;R&#8217;,&#8217;I&#8217;,&#8217;S&#8217;,&#8217;E&#8217;,&#8217;S&#8217;,&#8217;,&#8217;,&#8217;L&#8217;,&#8217;T&#8217;,&#8217;D&#8217;,&#8217;.&#8217;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,&#8217; &#8216;,} -60 \u0431\u0430\u0439\u0442 ).<\/p>\n<p><strong>Min.\/Max. current<\/strong> &#8212; \u0441\u043e\u043e\u0442\u0432. \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (1\u043c\u0410 = 10 \u0435\u0434\u0438\u043d\u0438\u0446, 43\u043c\u0410 =&gt; 0x1AE).<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u0434\u0442\u0438 &#171;\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430&#187; (\u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d), \u0434\u043b\u044f \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0430 \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: 40 \u0431\u0430\u0439\u0442 &#171;Version 1.000,1998\/05\/11,315-6125-AB Analog Module: The 4th Edition. 05\/08&#187;.<\/p>\n<p>\u0422\u043e, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u044b \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0431\u043b\u043e\u043a Device ID.<\/p>\n<p>\u041a FT0, CONTROLLER, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>GetCondition <\/strong>&#8212; \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043e\u043a\/\u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432 \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u0441\u0442\u0438\u043a\u043e\u0432 \u0433\u0435\u0439\u043c\u043f\u0430\u0434\u0430. \u0422\u043e \u0432 \u043a\u0430\u043a\u0438\u0445 \u0431\u0438\u0442\u0430\u0445 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u043a\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u0441\u0451 \u0432 \u0442\u043e\u043c \u0436\u0435 \u0431\u043b\u043e\u043a\u0435 Device ID. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u043b\u044f \u0433\u0435\u0439\u043c\u043f\u0430\u0434\u0430 Device ID \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 GetCondition, \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a \u043e\u0431\u044f\u0437\u0430\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u0447\u0435\u0442 \u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043a\u043d\u043e\u043f\u043e\u043a, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>Ra\/La\/Da\/Ua<\/strong> &#8212; \u041f\u0440\u0430\u0432\u043e\/\u041b\u0435\u0432\u043e\/\u0412\u043d\u0438\u0437\/\u0412\u0432\u0435\u0440\u0445 (\u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 &#171;\u043a\u0440\u0435\u0441\u0442\u0438\u043a&#187;).<\/p>\n<p><strong>Start\/A\/B\/X\/Y <\/strong>&#8212; \u0441\u043e\u043e\u0442\u0432 \u043a\u043d\u043e\u043f\u043a\u0438.<\/p>\n<p><strong>A1, A2<\/strong> &#8212; \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u043a\u0443\u0440\u043a\u0438<\/p>\n<p><strong>A3<\/strong> \u0438 <strong>A4<\/strong> &#8212; \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 &#171;\u0441\u0442\u0438\u043a\u0430&#187;.<\/p>\n<\/p>\n<p>\u0412\u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0432\u0441\u0451 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430.<\/p>\n<h2>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f (\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c)<\/h2>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043b\u0438\u043d\u0438\u0438 SDCKA \u0438 SDCKB \u0438 \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 \u0447\u0438\u0441\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u041c\u041a \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439, \u0442\u043e \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u0438 \u044d\u0442\u043e \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0432\u043e \u043f\u0435\u0440\u0432\u044b\u0445 &#171;\u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445&#187; \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0440\u0430\u0437\u043d\u0430\u044f \u0438 \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u043e \u043d\u0435 \u0444\u0430\u043a\u0442 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0438\u0431\u0440\u043e\u043f\u0430\u043a \u0438\u043b\u0438 \u043a\u0430\u0440\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u043e \u0432\u0442\u043e\u0440\u044b\u0445 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0440\u0435\u0439\u043c\u0430 \u043a\u0430\u043a \u0438 \u0441\u043a\u0430\u0436\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430 &#171;\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u0441\u0431\u0440\u043e\u0441&#187; \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430, \u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e.<\/p>\n<p>\u0412\u043e\u0437\u044c\u043c\u0435\u043c CPLD \u043f\u043e\u043f\u0440\u043e\u0449\u0435 (EPM3032) \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c xMAPLE:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>SDCKA\/SDCKB<\/strong> &#8212; \u0432\u0445\u043e\u0434 \u043b\u0438\u043d\u0438\u0439 Maple BUS.<\/p>\n<p><strong>GCLK<\/strong> &#8212; \u0432\u043d\u0435\u0448\u043d\u0438\u0439 CLK 16-48MHz.<\/p>\n<p><strong>INHTxD <\/strong>&#8212; \u0441\u0438\u0433\u043d\u0430\u043b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430,  1 &#8212; \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430 \u0448\u0438\u043d\u0435, 0 &#8212; \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p><strong>RxD<\/strong> &#8212; \u0438\u0434\u0435\u0442 \u043f\u0440\u0438\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<p><strong>nSTRCV<\/strong>&#8212; \u043d\u0430\u0447\u0430\u0442 \u043f\u0440\u0438\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u0430 (Rising Edge).<\/p>\n<p><strong>nDLatch<\/strong> &#8212; \u041d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043c\u043f\u0443\u043b\u044c\u0441 \u0434\u043b\u044f &#171;\u0437\u0430\u0449\u0435\u043b\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445&#187; (\u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e \u0442\u043e\u043c \u0447\u0442\u043e \u043d\u0430 \u043b\u0438\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 Q[7..0] \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442).<\/p>\n<p><strong>Q[7..0]<\/strong> &#8212; \u0448\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/p>\n<p><strong>EOP <\/strong>&#8212; \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043f\u0430\u0442\u0442\u0435\u0440\u043d END (\u043a\u043e\u043d\u0435\u0446 \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u0430\u043a\u0435\u0442\u0430).<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p><strong>FERR <\/strong>&#8212; \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0438\u0435\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u0430.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p><strong>nRST <\/strong>&#8212; \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 &#8212; \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d RESET \u043f\u0430\u0442\u0442\u0435\u0440\u043d, &#8212; 0.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<figure class=\"bordered full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0438\u0448\u0435\u043c \u044d\u0442\u043e \u043d\u0430 \u0432\u0435\u0440\u0438\u043b\u043e\u0433&#8217;\u0435 (3 \u0444\u0430\u0439\u043b\u0438\u043a\u0430, \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u0434\u043e\u0433\u0430\u0434\u0430\u0435\u0442\u0435\u0441\u044c \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c):<\/p>\n<details class=\"spoiler\">\n<summary>SMAPLE.v<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">module SMAPLE( \tinput GCLK,\t\t\t\/\/MCU Generated 16MHz clock input \tinput INHTxD,\t\t\/\/Inhibit Input Data (User Can disable XMAPLE Detect Signals While MCU Transmit DATA) \tinput SDCKAi,\t\t\/\/Data\/Clock A Line \tinput SDCKBi,\t\t\/\/Data\/Clock B Line \toutput RxD,\t\t\t\/\/Receive on progress (While receive is 1) \toutput [7:0]Q\t\t\/\/ Output data bus (MCU can read valid data on this  \t\t\t\t\t\t\/\/port in time 200uS after data latch Negative Pulse received)   ,\toutput nSTRCV,\t\t\/\/Receive start, negative pulse - Output \toutput OCPYi,\t\t\/\/Occupancy packet received - Output \toutput nRST,\t\t\/\/Reset packet received - Output \toutput FERR,\t\t\/\/Frame error - Output \toutput EOPi,\t\t\/\/End Of Packed received - Output \toutput nDLatch\t\/\/New Data latched on BUS (Negative Pulse) );  \/*Control Register*\/ reg rRxD = 0; assign RxD = rRxD; reg rFERR = 0; assign FERR = rFERR;  wire nWE; assign nDLatch = (EOPi &amp; nWE);  wire iFERR;  \/* Align Data Packet *\/ reg rENA = 1'b0; reg rENB = 1'b0;  always @(posedge GCLK or negedge nRST) begin \tif(!nRST) begin \t\trENA &lt;= 1'b0; \t\trENB &lt;= 1'b0; \tend else begin \t\trENA &lt;= SDCKAi; \t\trENB &lt;= SDCKBi; \tend end  always @(posedge GCLK or negedge nRST) begin \tif(!nRST) begin \t\trFERR &lt;= 0; \t\trRxD &lt;= 0; \tend else begin \t\tif(!EOPi)\/\/ &amp;&amp; !INHTxD) \t\t rRxD &lt;=0 ; \t\telse begin \t\t\tif(!iFERR) rFERR &lt;= 1; \t\t\tif(!nSTRCV) begin \t\t\t\trFERR &lt;= 0; \t\t\t\trRxD &lt;= ~INHTxD; \t\t\tend \t\tend \tend end   line_monitor line_monitor ( \t.GCLK(GCLK),\t\t\t\t\/\/Global Clock - Input \t.SDCKA(SDCKAi|INHTxD),\t\/\/CLOCK\/DATA Line A disabled by data transmit - Input \t.SDCKB(SDCKBi|INHTxD),\t\/\/CLOCK\/DATA Line B disabled by data transmit - Input \t.RxDr(RxD),\t\t\t\t\t\/\/Data Receive in progress -<\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\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-317272","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/317272","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=317272"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/317272\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=317272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=317272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=317272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}