рдирд┐рдирдЯреЗрдВрдбреЛ Wii рдХреЗ рд▓рд┐рдП рдШрд░ рдХрд╛ рдмрдирд╛ рд╕рд╛рдорд╛рди рдмрдирд╛рдирд╛

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

рдЫрд╡рд┐


рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдирд┐рдВрдЯреЗрдВрдбреЛ рдХреЗ рддрдерд╛рдХрдерд┐рдд "рд╕реНрдЯрд╛рд░ рдХреИрдЯрд▓реЙрдЧ" рдореЗрдВ рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрд╛:
рдЫрд╡рд┐

рдпрд╣ SNES рд╕реЗ рдЧреЗрдордкреИрдб рдХреЗ рд░реВрдк рдореЗрдВ Wii рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ Wii рдкрд░ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ NES (рд╣рдо "рдмрд╛рдВрдХрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ), SNES (рдЙрд░реНрдл рд╕реБрдкрд░ рдирд┐рдВрдЯреЗрдВрдбреЛ), рдирд┐рдВрдЯреЗрдВрдбреЛ 64 рдФрд░ рдЕрдиреНрдп рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЧреЗрдо рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЧреЗрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдПрдХ "рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдВрдЯреНрд░реЛрд▓рд░" рдЦрд░реАрджрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдЬреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧреЗрдордкреИрдб рд╣реИред

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

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

рд╕рд┐рджреНрдзрд╛рдВрдд


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

рдЫрд╡рд┐

рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ 0x52 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред 512-рдмрд┐рдЯ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рд╡рд╛рдЗрдореЛрдЯ рд╕реНрд╡рдпрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░рд▓ рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
decrypted_byte = (encrypted_byte ^ table1[address%8]) + table2[address%8] 

рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреНрдпреЛрдВ рд╣реИ? рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЬрд▓реНрдж рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдЖрдкрдХреЗ Wii рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ:
code.google.com/p/circle-of-current/wiki/WiiExtensionLibrary

рдпрд╣ AVR рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП I┬▓C рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди-рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╕ рдореБрдЭреЗ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП! рдпрд╣ рдХреЗрд╡рд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рдХреЛ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЪрд░рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рд╣реИрдВ:

рдЫрд╡рд┐
(Wiibrew.org рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА)

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

рдЫрд╡рд┐

LX рдФрд░ LY рдмрд╛рдИрдВ рдПрдирд╛рд▓реЙрдЧ рд╕реНрдЯрд┐рдХ (0-63), RX рдФрд░ RY рд╕рд╣реА рдПрдирд╛рд▓реЙрдЧ рд╕реНрдЯрд┐рдХ (0-31), LT рдФрд░ RT рд╣реИрдВ, рдЬреЛ рдПрдирд╛рд▓реЙрдЧ рд╢рд┐рдлреНрдЯ (0-31), BD {L, R, U, D рд╣реИрдВ } - рдХреНрд░реЙрд╕, рдмреА {рдЬреЗрдбрдЖрд░, рдЬреЗрдбрдПрд▓, рдП, рдмреА, рдПрдХреНрд╕, рд╡рд╛рдИ, +, рдПрдЪ, -, рдПрд▓рдЯреА, рдЖрд░рдЯреА} - рдмрдЯрди, рдЬрд╣рд╛рдВ 1 рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ 0 рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдм рдХреБрдЫ рдХреБрдЫ рднреНрд░рд╛рдордХ рд╣реИ ... рдпрд╣ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХреИрд▓рд┐рдмреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдирд╛рд▓реЙрдЧреНрд╕ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдп рдХреЛ рдХреЗрдВрджреНрд░реАрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЧреЗрдордкреИрдб рдХреА рд╢рд╛рдВрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдбреЗрдЯрд╛ рдХреЗ рдЫрд╣ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
  unsigned char but_dat[6]; // struct containing button data but_dat[0] = 0b01011111; // RX<4:3> LX<5:0> but_dat[1] = 0b11011111; // RX<2:1> LY<5:0> but_dat[2] = 0b10001111; // RX<0> LT<4:3> RY<4:0> but_dat[3] = 0b00000000; // LT<2:0> RT<4:0> but_dat[4] = 0b11111111; // BDR BDD BLT B- BH B+ BRT 1 but_dat[5] = 0b11111111; // BZL BB BY BA BX BZR BDL BDU 

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

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

рдореИрдВ рдмрд╛рдВрдХрд╛ рд╕реЗ рдЧреЗрдордкреИрдб рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдкрдврд╝реЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдпрд╣ рд╡рд┐рд╖рдп рдмрд╣реБрдд рд╣реА рдкрд╕реНрдд рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: habrahabr.ru/post/191936 рд▓реЗрдЦрд┐рдХрд╛ KurilkaRymin ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рджреВрдВрдЧрд╛, рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ:
 uint8_t get_nes_gamepad() { uint8_t gamepad_data = 0; NES_PORT &= ~(1<<LATCH_PIN); // Latch int b; for (b = 0; b < 8; b++) { NES_PORT &= ~(1<<CLOCK_PIN); // Clock _delay_us(10); gamepad_data |= (((NES_PORT_PIN>>DATA_PIN)&1)<<b); NES_PORT |= 1<<CLOCK_PIN; // Clock _delay_us(10); } NES_PORT |= 1<<LATCH_PIN; // Latch _delay_us(10); return gamepad_data; } 


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

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

рдпреЛрдЬрдирд╛рдПрдВ:


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЛрд░реНрд╕ рдХреЛрдб : github.com/ClusterM/nes2wii
рдкреНрд░рд╛рдердорд┐рдХ рд╕реВрдЪрдирд╛ рд╕реНрд░реЛрдд : wiibrew.org/wiki/Wiimote/Extension_Controllers

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


All Articles