рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡рд┐рдХ рд╕реЗ iPod рдХреНрд▓рд╛рд╕рд┐рдХ


рдЖрдЗрдкреЙрдб рдХреНрд▓рд╛рд╕рд┐рдХ ( рд╡реАрдбрд┐рдпреЛ ) рдкрд░ рд▓реЙрдиреНрдЪ рд▓реЙрдиреНрдЪ ред

TL; DR : рдореИрдВ рдПрдХ рдПрдордкреА 3 рдкреНрд▓реЗрдпрд░ рдкрд░ рдХреНрд╡реЗрдХ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд▓реЗрдЦ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╣реБрдЖред

рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реА рдЧрд░реНрдорд┐рдпреЛрдВ рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдмрд┐рддрд╛рдпрд╛: рд░реЙрдХрдмреЙрдХреНрд╕ рдФрд░ рдЧреЗрдо рдХреНрд╡реЗрдХ рдЖрдИрдбреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореБрдЭреЗ рдХреНрд╡реЗрдХ рдХреЛ рд░реЙрдХрдмреЙрдХреНрд╕ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдХреЗ рдЗрди рджреЛрдиреЛрдВ рд╢реМрдХ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛ ! рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫрд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛!

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

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

Rockbox


рд░реЙрдХрдмреЙрдХреНрд╕ рдПрдХ рдЙрддреНрд╕реБрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╣реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╡реЗрдм рдкреЗрдЬ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ: "рд░реЙрдХрдмреЙрдХреНрд╕ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рдВрдЧреАрдд рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рдлрд░реНрдорд╡реЗрдпрд░ рд╣реИред" рдпрд╣ рд╕рд╣реА рд╣реИ - рд╣рдордиреЗ рд╕реИрдВрдбрд┐рд╕реНрдХ рд╕реИрдВрд╕рд╛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ, рдРрдкреНрдкрд▓ рдЖрдИрдкреЙрдб рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕рдорд░реНрдерд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдП рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрдирд╛рдпрд╛ред

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

рдордВрдЪ рдкрд░ рднреВрдХрдВрдк рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ


рдХреНрд╡реЗрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреАрди рдЖрдпрд╛рдореА рдкреНрд░рдердо-рд╡реНрдпрдХреНрддрд┐ рд╢реВрдЯрд░ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╢рдмреНрдж "рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреАрди рдЖрдпрд╛рдореА рд╣реИрдВ ред " рдбреВрдо рдФрд░ рдбреНрдпреВрдХ рдиреБрдХреЗрдо 3 рдбреА рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдорддреМрд░ рдкрд░ 2.5 рдбреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдКрдВрдЪрд╛рдИ рдШрдЯрдХ рдХреЗ рд╕рд╛рде 2 рдбреА рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ), рдХреНрд╡реЗрдХ рдХреЛ рдкреВрд░реНрдг 3 рдбреА рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдФрд░ рдмрд╣реБрднреБрдЬ 3 рдбреА рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рдЫрджреНрдо -3 рдбреА рдЯреНрд░рд┐рдХреНрд╕ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рдкреВрд░реНрдг 3 рдбреА рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рд╡рд┐рдЪрд▓рд┐рдд рдерд╛ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдХреНрд╡реЗрдХ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреАрдЬ рд╣реИред

рдФрд░ рдХреНрд╡реЗрдХ рдЪреБрдЯрдХреБрд▓реЛрдВ рдХреЛ рдорд╛рдл рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд╢реЛрдз рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХреНрд╡реЗрдХ рдореЗрдВ рд▓рдЧрднрдЧ 100 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдФрд░ рдПрдлрдкреАрдпреВ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде-рд╕рд╛рде 32 рдПрдордмреА рд░реИрдо рдХреЗ рд╕рд╛рде рдПрдХреНрд╕ 86 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЯрдХрд░рд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЧреЗрдо рд▓рд┐рдЦрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЬреЙрди рдХрд╛рд░реНрдореИрдХ рдиреЗ рдЬреЛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рд░реЙрдХрдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рд╣реИ - рд░реЙрдХрдмреЙрдХреНрд╕ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЗрд╡рд▓ 11 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдФрд░ 2 рдПрдордмреА рд░реИрдо рдХреА рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХреНрд╡реЗрдЯрд╛ рдХреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ)ред рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдСрдбрд┐рдпреЛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдзреАрд░реЗ-рдзреАрд░реЗ рдШрдЯрддреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдмрдЪреЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреБрдирд╛: Apple iPod Classic / 6G 216 MHz ARMv5E рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ 64 MB RAM (рдЗрдВрдбреЗрдХреНрд╕ E) рдХреЗ рд╕рд╛рдердПрдЖрд░рдПрдо рдбреАрдПрд╕рдкреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдмрд╛рдж рдореЗрдВ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛)ред рдЧрдВрднреАрд░ рдЪрд╢реНрдорд╛, рд▓реЗрдХрд┐рди рдХреНрд╡реЗрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

рдмрдВрджрд░рдЧрд╛рд╣


рдХреНрд╡реЗрдХ рдХрд╛ рдПрдХ рдЕрджреНрднреБрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдПрд╕рдбреАрдПрд▓ рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ ред рдЗрд╕рдХрд╛ рддрд╛рд░реНрдХрд┐рдХ рдирд╛рдо SDLQuake рд╣реИ ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрд╕рдбреАрдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд░реЙрдХрдмреЙрдХреНрд╕ (рдпрд╣ рдПрдХ рдФрд░ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп рд╣реИ) рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрдХ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ: рд╕реНрд░реЛрдд рдкреЗрдбрд╝ рдХреА рдирдХрд▓ рдХрд░реЗрдВ; make; рд╣рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ; рдХреБрд▓реНрд▓рд╛, рд╕рд╛рдмреБрди, рджреЛрд╣рд░рд╛рдПрдБред рдореИрдВ рд╢рд╛рдпрдж рдпрд╣рд╛рдБ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдмрд╛рдК рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдкреНрд░рд╢рдВрд╕рдиреАрдпрддрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдХреНрд╡реЗрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореИрдВ рдЦрд╝реБрд╢ рдерд╛ред

"рдареАрдХ рд╣реИ, рдЗрд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ!" рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред

рдФрд░ рдпрд╣ рдмреВрдЯ! рдореБрдЭреЗ рд╕реБрдВрджрд░ рдХреНрд╡реЗрдХ рдХрдВрд╕реЛрд▓ рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдореЗрдиреВ рджреНрд╡рд╛рд░рд╛ рдмрдзрд╛рдИ рджреА рдЧрдИ рдереАред рд╕рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗред рд▓реЗрдХрд┐рди рдЕрдкрдирд╛ рд╕рдордп рд▓реЗ рд▓реЛ! рдЬрдм рдореИрдВрдиреЗ рдЦреЗрд▓ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдХреБрдЫ рдЧрд▓рдд рдерд╛ред "рдкрд░рд┐рдЪрдп" рд╕реНрддрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╕реНрдкреЙрди рд╕реНрдерд┐рддрд┐ рдирдХреНрд╢реЗ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрд░ рдереАред рдЕрдЬреАрдм , рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред рдореИрдВрдиреЗ рдХрдИ рддрд░рд╣ рдХреА рдХреЛрд╢рд┐рд╢реЗрдВ рдХреАрдВ, рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХреА рдФрд░ splashf, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╡реНрдпрд░реНрде рдерд╛ - рдмрдЧ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛, рдпрд╛ рдРрд╕рд╛ рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

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

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

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдХреНрд╡реЗрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЛ рдореБрдЦреНрдп рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╕реА рдореЗрдВ рдЗрдВрдЬрди рдХреЛрдб рдФрд░ рдХреНрд╡реЗрдХ рдореЗрдВ рдЧреЗрдо рдХреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рддрд░реНрдХ, рдПрдХ рдмрд╛рдИрдЯреЗрдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛ред рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реНрдХрд╣реАрди рдбрд░ рдХреЗ рдХрд╛рд░рдг QuakeC VM рд╕реЗ рджреВрд░ рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдбреБрдмрдХреА рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рд╛ред рдореИрдВ рдЕрд╕реНрдкрд╖реНрдЯ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕рддреНрд░ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдореИрдВрдиреЗ рдмрдЧ рдХреЗ рд╕реНрд░реЛрдд рдХреА рдЦреЛрдЬ рдХреА рдереАред рдХрдИ рдХреЗ рдмрд╛рдж grep, рдореИрдВ рдЕрдкрд░рд╛рдзреА рдкрд╛рдпрд╛ pr_cmds.c:PF_setorigin:ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдПрдХ рддреАрди-рдЖрдпрд╛рдореА рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛, рдЬреЛ рдирдХреНрд╢реЗ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдирдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╣рдореЗрд╢рд╛ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ (0, 0, 0)ред рд╣рдореНрдо ...

рдореИрдВрдиреЗ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдкреАрдЫреЗ рдХрд┐рдпрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рд╣реИ: рдХреЙрд▓ рд╕реЗ Q_atof()- рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдлреНрд▓реЛрдЯ рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рдиред рдФрд░ рдлрд┐рд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдореБрдЭ рдкрд░ рд╣рд╛рд╡реА рд╣реЛ рдЧрдИ: рдореИрдВрдиреЗ рд░реИрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓рд┐рдЦрд╛ Q_atof(), рдЬрд┐рд╕рдиреЗ рдХреНрд╡реЗрдХ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди atof()рд╕рдВрднрд╡рддрдГ рдЧрд▓рдд рдерд╛ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдерд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЧрд▓рдд рдХреЛ рдХреНрд╡реЗрдХ рдХреЛрдб рд╕реЗ рд╕рд╣реА - рдлрдВрдХреНрд╢рди рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛atof ред рдФрд░ рд╡реЛрдЗрд▓рд╛! рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рднрд░реА рд╣реБрдИ рддреАрди рдЧрд▓рд┐рдпрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рд╡реЗрд╢ рд╕реНрддрд░, рдЬреИрд╕рд╛ рдХрд┐ "E1M1: рдж рд╕реНрд▓рд┐рдкрдЧреЗрдЯ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕" рдерд╛ред рдСрдбрд┐рдпреЛ рдЖрдЙрдЯрдкреБрдЯ рдЕрднреА рднреА рдПрдХ рдЯреВрдЯреЗ рд╣реБрдП рд▓реЙрди рдШрд╛рд╕ рдХрд╛рдЯрдиреЗ рд╡рд╛рд▓реЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдлрд┐рд░ рднреА рдПрдордкреА 3 рдкреНрд▓реЗрдпрд░ рдкрд░ рдХреНрд╡реЗрдХ рдЪрд▓рд╛рддреЗ рд╣реИрдВ!

рдЦрд░рдЧреЛрд╢ рдХреЗ рдмреАрд▓ рдореЗрдВ


рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрд╣рд╛рдирд╛ рдмрди рдЧрдИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рдерд╛: рдПрдЖрд░рдПрдо 2 рд╡рд┐рдзрд╛рдирд╕рднрд╛ рднрд╛рд╖рд╛ рд╕реАрдЦрдирд╛ ред

рд╕рдорд╕реНрдпрд╛ рдЧрддрд┐-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдзреНрд╡рдирд┐ рдорд┐рд╢реНрд░рдг рдЪрдХреНрд░ рдореЗрдВ рдереА snd_mix.c(рдПрдХ рд▓реЙрди рдШрд╛рд╕ рдХрд╛рдЯрдиреЗ рдХреА рдорд╢реАрди рдХреА рдЖрд╡рд╛рдЬрд╝ рдпрд╛рдж рд╣реИ?)ред

рдлрд╝рдВрдХреНрд╢рди SND_PaintChannelFrom8рдХреЛ 8-рдмрд┐рдЯ рдореЛрдиреЛ рдСрдбрд┐рдпреЛ рдирдореВрдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ 16-рдмрд┐рдЯ рд╕реНрдЯреАрд░рд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдорд┐рд▓рд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдЪреИрдирд▓ рджреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреЗрд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЬреАрд╕реАрд╕реА рдиреЗ рд╕рдВрддреГрдкреНрддрд┐ рдЕрдВрдХрдЧрдгрд┐рдд рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдШрдЯрд┐рдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдиреЗ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдХрд┐рдпрд╛ред

рдпрд╣рд╛рдБ рдореБрдЭреЗ рдЬреЛ рдорд┐рд▓рд╛ рд╣реИ рдЙрд╕рдХрд╛ рдХреЛрдбрд╛рдВрддрд░рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ (C рд╕рдВрд╕реНрдХрд░рдг рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):

SND_PaintChannelFrom8:
        ;; r0: int true_lvol
        ;; r1: int true_rvol
        ;; r2: char *sfx
        ;; r3: int count

        stmfd sp!, {r4, r5, r6, r7, r8, sl}

        ldr ip, =paintbuffer
        ldr ip, [ip]

        mov r0, r0, asl #16                 ; prescale by 2^16
        mov r1, r1, asl #16

        sub r3, r3, #1                      ; count backwards

        ldrh sl, =0xffff                    ; halfword mask

1:
        ldrsb r4, [r2, r3]                  ; load input sample
        ldr r8, [ip, r3, lsl #2]                ; load output sample pair from paintbuffer
                                ; (left:right in memory -> right:left in register)
        ;; right channel (high half)
        mul r5, r4, r1                      ; scaledright = sfx[i] * (true_rvol << 16) -- bottom half is zero
        qadd r7, r5, r8                     ; right = scaledright + right (in high half of word)
        bic r7, r7, sl                      ; zero bottom half of r7

        ;; left channel (low half)
        mul r5, r4, r0                      ; scaledleft = sfx[i] * (true_rvol << 16)
        mov r8, r8, lsl #16                 ; extract original left channel from paintbuffer
        qadd r8, r5, r8                     ; left = scaledleft + left

        orr r7, r7, r8, lsr #16                 ; combine right:left in r7
        str r7, [ip, r3, lsl #2]                ; write right:left to output buffer
        subs r3, r3, #1                         ; decrement and loop

        bgt 1b                          ; must use bgt instead of bne in case count=1

        ldmfd sp!, {r4, r5, r6, r7, r8, sl}

        bx lr

рдпрд╣рд╛рдБ рдореБрд╢реНрдХрд┐рд▓ рд╣реИрдХреНрд╕ рд╣реИрдВ рдЬреЛ рд╕рдордЭрд╛рдиреЗ рд▓рд╛рдпрдХ рд╣реИрдВред рдореИрдВ qaddрд╕рдВрддреГрдкреНрддрд┐ рдХреЗ рдХрдо-рд▓рд╛рдЧрдд рдЬреЛрдбрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдбреАрдПрд╕рдкреА рдЕрдиреБрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ , рд▓реЗрдХрд┐рди qaddрдпрд╣ рдХреЗрд╡рд▓ 32-рдмрд┐рдЯ рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЦреЗрд▓ 16-рдмрд┐рдЯ рдзреНрд╡рдирд┐ рдирдореВрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣реИрдХ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ 16 рдмрд┐рдЯреНрд╕ рдХреЗ рдирдореВрдиреЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ; рдореИрдВ рдирдореВрдиреЛрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ qadd; рдФрд░ рдлрд┐рд░ рд░рд┐рд╡рд░реНрд╕ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВред рдЗрд╕рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдореИрдВ рд╡рд╣ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЬреАрд╕реАрд╕реА рдиреЗ рд╕рд╛рдд рд▓рд┐рдпрд╛ рдерд╛ред (рд╣рд╛рдВ, рдЕрдЧрд░ рдмрд┐рдирд╛ ARMv6 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рдирд╛ рд╣реИрдХ рдХреЗ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ MMX рдЬреИрд╕реА рдкреИрдХреНрдб рд╕рдВрддреГрдкреНрддрд┐ рдЕрдВрдХрдЧрдгрд┐рдд рд╣реИ qadd16, рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдЬреАрд╡рди рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣реИрдХ рд╢рд╛рдВрдд рд╣реЛ рдЧрдпрд╛!)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдПрдХ рд╕рдордп рдореЗрдВ рджреЛ рд╕реНрдЯреАрд░рд┐рдпреЛ рдирдореВрдиреЗ рдкрдврд╝рддрд╛ рд╣реВрдВ (рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ldrрдФрд░str) рдХреБрдЫ рдФрд░ рдЪрдХреНрд░реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдиреАрдЪреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реА рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:

void SND_PaintChannelFrom8 (int true_lvol, int true_rvol, signed char *sfx, int count)
{
        int     data;
        int             i;

        // we have 8-bit sound in sfx[], which we want to scale to
        // 16bit and take the volume into account
        for (i=0 ; i<count ; i++)
        {
            // We could use the QADD16 instruction on ARMv6+
            // or just 32-bit QADD with pre-shifted arguments
            data = sfx[i];
            paintbuffer[2*i+0] = CLAMPADD(paintbuffer[2*i+0], data * true_lvol); // need saturation
            paintbuffer[2*i+1] = CLAMPADD(paintbuffer[2*i+1], data * true_rvol);
        }
}

рдореИрдВрдиреЗ рдЧрдгрдирд╛ рдХреА рдХрд┐, рдЕрдиреБрдХреВрд▓рд┐рдд рд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдкреНрд░рддрд┐ рдирдореВрдирд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 60% рдХрдо рд╣реЛ рдЧрдИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЫреЛрд░реЛрдВ рдХреЛ qaddрдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рд▓рд┐рдП рд╕рдВрддреГрдкреНрддрд┐ рдФрд░ рдкреИрдХрд┐рдВрдЧ рдореЗрдореЛрд░реА рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдЪрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ ред

"рдЕрднрд╛рдЬреНрдп" рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рд╖рдбреНрдпрдВрддреНрд░


рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдмрдЧ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорд┐рд▓рд╛ред рдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЖрдЧреЗ bgt(рд╢рд╛рдЦрд╛ "рдпрджрд┐" рд╕реЗ рдЕрдзрд┐рдХ ") рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдХрд┐ bne(рд╢рд╛рдЦрд╛" рдпрджрд┐ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ ") рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреЙрд░реНрдбрд░рд▓рд╛рдЗрди рдорд╛рдорд▓реЗ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ 1 рдХреЗ рдмрд░рд╛рдмрд░ рдирдореВрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЪрдХреНрд░реАрдп рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдкреВрд░реНрдгрд╛рдВрдХ 0xFFFFFFFFрдФрд░ рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреА рджреЗрд░реА (рдЬреЛ рдЕрдВрддрддрдГ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ)ред

рдпрд╣ рд╕реАрдорд╛ рд░реЗрдЦрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдирд┐ рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреА рд▓рдВрдмрд╛рдИ 7325 рдирдореВрдиреЗ 3 рд╣реИ ред 7325 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЦрд╛рд╕ рд╣реИ? рдЖрдЗрдП рдЗрд╕рдХреЗ рд╡рд┐рднрд╛рдЬрди рдХреЛ рд╢реЗрд╖ рджреЛ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╢рдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

7325тЙб1(рдЖрдзреБрдирд┐рдХ2)7325тЙб1(рдЖрдзреБрдирд┐рдХ4)7325тЙб5(рдЖрдзреБрдирд┐рдХ8)7325тЙбрддреЗрд░рд╣(рдЖрдзреБрдирд┐рдХрд╕реЛрд▓рд╣)7325тЙб29 рд╡реЗрдВ(рдЖрдзреБрдирд┐рдХ32)7325тЙб29 рд╡реЗрдВ(рдЖрдзреБрдирд┐рдХ64)7325тЙб29 рд╡реЗрдВ(рдЖрдзреБрдирд┐рдХ128)7325тЙб157(рдЖрдзреБрдирд┐рдХ256)7325тЙб157(рдЖрдзреБрдирд┐рдХ512)7325тЙб157(рдЖрдзреБрдирд┐рдХ1024)7325тЙб1181(рдЖрдзреБрдирд┐рдХ2048)7325тЙб3229(рдЖрдзреБрдирд┐рдХ4096)


5, 13, 29, 157 ...

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

рдореИрдВрдиреЗ рдЗрд╕ рдмрдЧ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рджрд┐рди рдмрд┐рддрд╛рдпрд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд┐ рдпрд╣ рд╕рдм рдПрдХ рдЧрд▓рдд рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЖрддрд╛ рд╣реИ ред рдХрднреА-рдХрднреА рдЬреАрд╡рди рдореЗрдВ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдЬреБрджрд╛рдИ


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

рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдПрдХ рдорд╛рдВрд╕ рдорд╛рдВрд╕ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдирдореВрдирд╛ рджрд░ 44.1 kHz рд╣реЛрддреА рд╣реИред (рдпрд╣ рдзреНрд╡рдирд┐ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдзреНрд╡рдирд┐ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдерд╛ - рдПрдХ рд╡рд┐рд╕реНрдлреЛрдЯ, рдФрд░ рдорд╛рдВрд╕ рд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореЙрдбрд▓ рд▓реЛрдбрд░ред рдХреЛрдб рдХреЗ рдпреЗ рджреЛ рдЦрдВрдб рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред) рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдПрдВ рднреА рд╣реИрдВ (рд▓рд╡ рдпреВ, рдПрдЖрд░рдПрдо! ) рдФрд░ рдЙрдкрдХрд░рдг рд╕реЗ рдХреБрдЫ рдФрд░ рдлреНрд░реЗрдо рдирд┐рдЪреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдорд╛рдЗрдХреНрд░реЛрдкреЛрдкреНрдЯреАрдореЗрд╢рди рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реА рдмрд╛рд░ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдФрд░ рдЕрдм рдХреНрд╡реЗрдХ рдХреЛ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ - рдореБрдЭреЗ рдпрд╣ рдЕрдиреБрднрд╡ рдкрд╕рдВрдж рдЖрдпрд╛ред

рд╕рднреА рдмреЗрд╣рддрд░реАрди, рдФрд░ рдордЫрд▓реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!



рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ


  1. Duke Nukem 3D , runtime Rockbox SDL, . , user890104.
  2. ARM, Tonc: Whirlwind Tour of ARM Assembly тАФ ( GBA) . , ARM Quick Reference Card.
  3. , 100 .
  4. рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд╡реЗрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рддреЛ рд░реЙрдХрдмреЙрдХреНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ ред рдФрд░ рдореБрдЭреЗ рдореЗрд▓ рдкрд░ рдмрддрд╛рдПрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд░реЙрдХрдмреЙрдХреНрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг (1.4.1 рдФрд░ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ) рднреА рдХреНрд╡реЗрдХ рдХреЗ рд╢реЗрдпрд░рд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

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


All Articles