рдкреНрд▓реЗрд╕реНрдЯреЗрд╢рди 2 рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ: рдирд┐рдпрдВрддреНрд░рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп - рднрд╛рдЧ рдПрдХ

рдЫрд╡рд┐
рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рдЕрдзреНрдпрд╛рдп рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:
рдпрд╣ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕реНрд╡рдпрдВ рд╣реИ, рджреВрд╕рд░рд╛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ, рдХрдВрдкрди рдФрд░ рдорд▓реНрдЯреА-рдЯреИрдк (4 тАЛтАЛрдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рдПрдХ рдкреЛрд░реНрдЯ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг) - рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИред
рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред

рдореИрдВ 2 рдореВрд▓ рджреЛрд╣рд░реА рд╢реЙрдХ 2 рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдЧреИрд░-рдореВрд▓ рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕ рд╣реИрдВ (рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдЪрд╛рд░-рдкреНрд▓реЗрдпрд░ рдорд▓реНрдЯреА-рдЯреИрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЕрд▓рдЧ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред



рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдПрдХ рддрдерд╛рдХрдерд┐рдд рдЯрд░реНрдорд┐рдирд▓ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ - рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдВрджрд░рдЧрд╛рд╣ рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░рд┐рд╡рд╛рдж рд╣реИ, рдЬреЛ рдмрдЯрди рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ рдореЛрдб рдФрд░ рдХрдВрдкрди рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред
рд╡рд╣рд╛рдБ рднреА рдПрдХ "рдирд┐рдпрдорд┐рдд" libmtap рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рджреЛрдиреЛрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдорд▓реНрдЯреАрдЯреИрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреБрд╕реНрддрдХрд╛рд▓рдп PS1 рдФрд░ PS2 рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
рд╕рд╛рдзрд╛рд░рдг рдбрд┐рдЬрд┐рдЯрд▓ рдирд┐рдпрдВрддреНрд░рдХ (рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреЗ рдмрд┐рдирд╛): рдЖрдИрдбреА = 4 ;
рджреЛрд╣рд░реА рд╢реЙрдХ 1 рдФрд░ рджреЛрд╣рд░реА рд╢реЙрдХ 2: рдЖрдИрдбреА = 7 ;
NeGcon рдирд┐рдпрдВрддреНрд░рдХ: ID = 2 ;
рд╕рд╛рдорд╛рдиреНрдп рдПрдирд╛рд▓реЙрдЧ рд╕реНрдЯрд┐рдХ: рдЖрдИрдбреА = 5 ;
рдирд╛рдордХреЛ рдмрдВрджреВрдХ : рдЖрдИрдбреА = 6 ;
рдЬреЙрдЧ рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдлрд┐рд╢рд┐рдВрдЧ рдХрдВрдЯреНрд░реЛрд▓рд░ (рдЧрд┐рдЯрд╛рд░ рдХреЛ рднреА рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ): рд╡рд┐рд╢реЗрд╖ред рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЖрдИрдбреА

рдмрд╛рдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдлрд┐рд░ рд╕реЗ рднрд░ рджреВрдВрдЧрд╛ред

рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ


рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ PS2 рдореЗрдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рд╣реИрдВред
рдкреЛрд░реНрдЯ рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ - PS2 рдкрд░ рд╣реА рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдПред
рд╕реНрд▓реЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп, рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд▓реНрдЯреАрдЯреИрдк рд╣реЛрддрд╛ рд╣реИред рдорд▓реНрдЯреА-рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕ рдХреЛ рдПрдХ рдкреЛрд░реНрдЯ (рдЕрдзрд┐рдХрддрдо - 4) рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреА-рдЯреИрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЦреЗрд▓реЛрдВ рдореЗрдВ рдЗрд╕реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ 1 рдП, рдЬреЙрдпрд╕реНрдЯрд┐рдХ 1 рдмреА рдЖрджрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдорд▓реНрдЯреАрдЯреИрдк рдирд╣реАрдВ рд╣реИ, рддреЛ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдкреЛрд░реНрдЯ 0, рд╕реНрд▓реЙрдЯ 0 - рдкрд╣рд▓рд╛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ, рдкреЛрд░реНрдЯ 1, рд╕реНрд▓реЙрдЯ 0 - рджреВрд╕рд░рд╛ рдЬреЙрдпрд╕реНрдЯрд┐рдХред
рдорд▓реНрдЯреАрдЯреИрдк рдХреЗ рд╕рд╛рде рдпрд╣ рдЕрд▓рдЧ рд╣реЛрдЧрд╛: рдпрджрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдкреЛрд░реНрдЯ рдореЗрдВ рдПрдХ рдорд▓реНрдЯреАрдЯреИрдк рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕реНрд▓реЙрдЯ рдП рдореЗрдВ рдЗрд╕реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреЛрд░реНрдЯ 1, рд╕реНрд▓реЙрдЯ 0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдЫрд╡рд┐ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╡рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИред

рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛


Libpad рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА тАЬlibpad.aтАЭ рдФрд░ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ тАЬlibpad.hтАЭ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ "sceSifLoadModule ()" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
"-рд▓рдкреИрдб" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдореЗрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ:

scePadInit () - рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЖрд░рдВрднред рдкреИрд░рд╛рдореАрдЯрд░ 0 рд╣реИред

scePadPortOpen () - рдирд┐рдпрдВрддреНрд░рдХ рдкреЛрд░реНрдЯ рдХреЛ рдЦреЛрд▓рдирд╛ред рд░рд┐рдЯрд░реНрди рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ: рдкреЛрд░реНрдЯ, рд╕реНрд▓реЙрдЯ, рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ред рдЖрдХрд╛рд░ рдореЗрдВ 64 рдмрд╛рдЗрдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдПрдХ рджреГрд╢реНрдп рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
static u_long128 pad_dma_buf[scePadDmaBufferMax] __attribute__((aligned (64)));
рдЬрд╣рд╛рдВ scePadDmaBufferMax рдПрдХ рд╕реНрдерд┐рд░ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рд▓реМрдЯрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ - рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ 0 рд╣реЛрдЧрд╛;

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬрдм рдирд┐рдпрдВрддреНрд░рдХ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЦреБрд▓рд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рджреЛ рдХрд╛рд░реНрдп рд╣реИрдВ:

scePadRead () - рдмрдЯрди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлрд╝рдВрдХреНрд╢рди рдХреЗ 3 рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ: рдкрд░рд┐рдгрд╛рдо рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдФрд░ рдмрдлрд░ред
рдмрдлрд░ рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ рдмрдлрд░ [32] рд╣реИ;
рдлрд╝рдВрдХреНрд╢рди рднреА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдпрд╣ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдкрдврд╝рдирд╛ рдлреНрд▓реЙрдкреА рд╣реИред
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдмрд╕ рдмрдлрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

scePadGetState () - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдХ рд╢рд╛рдВрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдирд┐рдпрдВрддреНрд░рдХ рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдерд┐рддрд┐ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рдФрд░ рд╕рдорд╛рди рд╣реИ, рдФрд░ 7 рд╕реЗ рднреА рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдХреБрдЫ рд╣реБрдЖред

рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, scePadPortClose () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдкреИрд░рд╛рдореАрдЯрд░, рдФрд░ scePadEnd () рдХреЗ рдмрд╛рдж рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЗрди рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдирд╛рд▓реЙрдЧреНрд╕ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдореЛрдб рдЪрд╛рд▓реВ рд╣реИред

рд╕рдмрд╕реЗ рдЖрдо рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

main(){<br> unsigned char rdata[32];<br> u_long128 pad_dma_buff[scePadDmaBufferMax] __attribute__((aligned(64)));<br> scePadInit();<br> scePadPortOpen(0, 0, pad_dma_buff);<br> while (1) {<br> scePadRead(0,0,rdata);<br> // <br> }<br> scePadPortClose(0,0);<br> scePadEnd();<br>} <br> * This source code was highlighted with Source Code Highlighter .


рджреЛрд╣рд░реА рд╢реЙрдХ рдФрд░ рд╕реНрдкрд░реНрд╢ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛



рдкрд╣рд▓реЗ рдЖрдкрдХреЛ scePadSetMainMode () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдирд╛рд▓реЙрдЧ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреИрд░рд╛рдореАрдЯрд░ рдкреЛрд░реНрдЯ, рд╕реНрд▓реЙрдЯ, 1 рдФрд░ 0. рдХреЛ рдкрд░рд┐рдгрд╛рдо 0 рдпрд╛ 1 рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд░рдорд╢рдГ рдЪрд╛рд▓реВ рдпрд╛ рдЪрд╛рд▓реВ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреНрдпреВрд▓рд╢реЙрдХ рд╣реИ, рдЖрдкрдХреЛ scePadInfoPressMode () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреЛ 0 рдпрд╛ 1 рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╕реНрд╡рдпрдВ scePadEnterPressMode () рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкрд┐рдЫрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреА рддрд░рд╣ рд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд░рд┐рдЯрд░реНрди рд▓реЗрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрдлрд░ рдореЗрдВ scePadRead () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ рдмрд╛рдЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдмрдЯрди рджрдмрд╛рдиреЗ рдХреА рдбрд┐рдЧреНрд░реА 0 рд╕реЗ 255 рддрдХ рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред рдЬрд╣рд╛рдВ 0 рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдХрд┐ рдмрдЯрди рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ, рдПрдХ рдиреЛрдЯ рдХреЗ рд▓рд┐рдП, рдХрд┐ рдореЗрд░реА рдкрд╣рд▓реА рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрднреА-рдХрднреА 3 рддрдХ рджрдмрд╛рдиреЗ рдХрд╛ рдмрд▓ рджрд┐рдЦрд╛рддреА рд╣реИред
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдирд╛рд▓реЙрдЧ рдХреА рдЧрддрд┐ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рдкреНрд▓рд╕ рдпрд╛ рдорд╛рдЗрдирд╕ 25 рд╣реИред

ScePadExitPressMode () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХреБрдВрдЬреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдореЛрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдореЗрдиреВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдореЛрдб рдХреЗ рджреМрд░рд╛рди рдПрдирд╛рд▓реЙрдЧ рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рдбрд┐рдЬрд┐рдЯрд▓ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдЧрд╛ред рдПрдирд╛рд▓реЙрдЧ рдмрдЯрди рдХреЛ рдлрд┐рд░ рд╕реЗ рджрдмрд╛рдиреЗ рд╕реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдореЛрдб рдореЗрдВ рд╡рд╛рдкрд╕ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ред

рдХрдВрдкрди



рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдореЗрдВ рдХрдВрдкрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдирд╣реАрдВред
рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рджреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рд▓реАрдмрдкреИрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдореИрдВ рдЕрдЧрд▓реА рдмрд╛рд░ рдЖрдкрдХреЛ рдПрдХ рдЕрдиреНрдп рдХрдВрдкрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдЕрднреА рдореИрдВ рджреЛ рд╕рд░рд▓ рдкрд░реНрдпрд╛рдкреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдпреЗ рд╣реИрдВ scePadSetActAlign () рдФрд░ scePadSetActDirect (), рдЬреЛ рдПрдХ рдкреЛрд░реНрдЯ, рдПрдХ рд╕реНрд▓реЙрдЯ рдФрд░ 6 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдШреБрдорд╛ рдХреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдореЗрдВ рдЖрдк рдПрдХ рдордЬрдмреВрдд рдореЛрдЯрд░ рдпрд╛ рдХрдордЬреЛрд░ рдореЛрдЯрд░ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред
рджреВрд╕рд░реА рдмрд╛рдЗрдЯ рдореЗрдВ, рдХрдордЬреЛрд░ рдореЛрдЯрд░ 0 рдпрд╛ 1 рдорд╛рди рдкрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд░реБрдХрдирд╛ рдпрд╛ рдорд░реЛрдбрд╝ред рдПрдХ рдордЬрдмреВрдд рдореЛрдЯрд░ рджреВрд╕рд░реЗ рдмрд╛рдЗрдЯ рдореЗрдВ 1 рд╕реЗ 255 рдпрд╛ 0 рддрдХ рдорд╛рди рд▓реЗрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЯреЙрд░реНрд╕рди рдмрд▓ рдпрд╛ рд╕реНрдЯреЙрдкред
ScePadSetActDirect () рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрдВрдкрди рдСрдкрд░реЗрд╢рди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рд╢реЗрд╖ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЕрдзрд┐рдорд╛рдирддрдГ 0xff рд╕реЗ рднрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рдХрдВрдкрди рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП 10 рд╡рд░реНрддрдорд╛рди рдЗрдХрд╛рдЗрдпрд╛рдБ рдорд┐рд▓реЗрдВрдЧреАред
рд╡рд░реНрддрдорд╛рди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 20 рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╢реЗрд╖ рдорд╛рди 0x00 рднрд░реЗрдВред

рдорд╣рддреНрд╡рдкреВрд░реНрдг!
рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ 60 рдХреЗ рдмрд░рд╛рдмрд░ рд╡рд░реНрддрдорд╛рди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИред рдпрджрд┐ рдЖрдк 60 рд╕реЗ рдЕрдзрд┐рдХ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреЛрд░реНрдЯ рдХреЛ рддрдм рддрдХ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрдВрд╕реЛрд▓ рд░рд┐рдмреВрдЯ (рдЖрдВрддрд░рд┐рдХ рд╕реАрдордХ рдЪрд╛рд▓реВ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛)ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдорд▓реНрдЯреАрдЯрд╛рдк рд╣реИ, рдФрд░ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдХреА 20 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ 1 рдП, 1 рдмреА рдФрд░ 1 рд╕реА рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдореЗрдВ рднреЗрдЬреВрдВрдЧрд╛, рддреЛ рдореИрдВ 1 рдбреА рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЕрдиреНрдпрдерд╛ рдореИрдВ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдмрдврд╝реА рд╣реБрдИ рд╡рд░реНрддрдорд╛рди рдЖрдкреВрд░реНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрддрд╛ред

рдпрд╣ рднреА рдЬреЛрдбрд╝реЗрдВ рдХрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдВрдмреЗ рдХрдВрдкрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдп



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЙрд╕реА рд╕рдордп рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдо рди рд▓реМрдЯрд╛рдПрдБред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк scePadGetState () рдпрд╛ scePadGetReqState () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

scePadSetMainMode - рдЗрдирдкреБрдЯ рдореЛрдб рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛;
scePadSetActAlign - рдХрдВрдкрди рдлрд╝рдВрдХреНрд╢рди;
scePadEnterPressMode - рдмрдЯрди рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢;
scePadExitPressMode - рдирд┐рдХрд╛рд╕ рдмрдЯрди рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдореЛрдбред

рдЕрдВрдд рдХреЗ рдХрд░реАрдм



рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЛрд░реНрдЯ рдФрд░ рд╕реНрд▓реЙрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ (рдмрдВрдж рд╣реЛ рдЧрдпрд╛)ред рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЬреЙрдпрд╕реНрдЯрд┐рдХ scePadGetState () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ scePadStateDisconnect рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рдпрдВрддреНрд░рдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ, рддрд╛рдХрд┐ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЧрд▓рддреА рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рд╕реНрдерд┐рддрд┐ рди рд╣реЛред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, DualShock рдпрд╛ DualShock 2 рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдВрд╢рд╛рдВрдХрди рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЗрд╕ рддрдереНрдп рдХреЛ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдПрдирд╛рд▓реЙрдЧ 127x127 рдкрд░ рдмрдВрдж рдирд╣реАрдВ рд╣реБрдЖред

рд╡рд╣ рд╕рдм рд╣реИред рдЕрдЧрд▓реЗ рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд▓реЗрдЦред

рдкреБрдирд╢реНрдЪ : рд╡рд┐рд╖рдп рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдпрд╣ рд▓реЗрдЦ рдЖрдзреА рд░рд╛рдд рдФрд░ рд╕реБрдмрд╣ рд▓рд┐рдЦрд╛ред рдпрджрд┐ рдПрд╕рдбреАрдХреЗ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рддреЛ рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕ рдХреЗ рдмрдЬрд╛рдп рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рд╣реЛрдЧрд╛ред

рдЕрджреНрдпрддрди : scePadInit () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ EE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред IOP рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╣реА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In135725/


All Articles