рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

prehistory

рд░реЗрдЯреНрд░реЛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдЪрд╛ рдкреНрд░реЗрдореА рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдореА рдПрдХрджрд╛ UK рдордзреАрд▓ рд╡рд┐рдХреНрд░реЗрддреНрдпрд╛рдХрдбреВрди ZX Spectrum+ рдЦрд░реЗрджреА рдХреЗрд▓реЗ. рд╕рдВрдЧрдгрдХрд╛рд╕рд╣рдЪ, рдорд▓рд╛ рдЧреЗрдорд╕рд╣ рдЕрдиреЗрдХ рдСрдбрд┐рдУ рдХреЕрд╕реЗрдЯреНрд╕ (рд╕реВрдЪрдирд╛рдВрд╕рд╣ рдореВрд│ рдкреЕрдХреЗрдЬрд┐рдВрдЧрдордзреНрдпреЗ), рддрд╕реЗрдЪ рд╡рд┐рд╢реЗрд╖ рдЪрд┐рдиреНрд╣рд╛рдВрд╢рд┐рд╡рд╛рдп рдХреЕрд╕реЗрдЯрд╡рд░ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реЗрд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗ. рдЖрд╢реНрдЪрд░реНрдпрд╛рдЪреА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ, 40 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдХреЕрд╕реЗрдЯрдордзреАрд▓ рдбреЗрдЯрд╛ рдЪрд╛рдВрдЧрд▓рд╛ рд╡рд╛рдЪрдиреАрдп рд╣реЛрддрд╛ рдЖрдгрд┐ рдореА рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреВрди рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рдЧреЗрдо рдЖрдгрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрддреЛ.

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рддрдерд╛рдкрд┐, рдХрд╛рд╣реА рдХреЕрд╕реЗрдЯрд╡рд░ рдорд▓рд╛ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдЖрдврд│рд▓реЗ рдЬреЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╕рдВрдЧрдгрдХрд╛рджреНрд╡рд╛рд░реЗ рдмрдирд╡рд▓реЗрд▓реЗ рдирд╡реНрд╣рддреЗ. рддреЗ рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рд╡рд╛рдЯрдд рд╣реЛрддреЗ рдЖрдгрд┐, рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╡рд░реАрд▓ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рддреНрдпрд╛рдВрдиреА рд▓рд╣рд╛рди рдмреЗрд╕рд┐рдХ рдмреВрдЯрд▓реЛрдбрд░рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХреЗрд▓рд╛ рдирд╛рд╣реА, рдЬреЛ рд╕рд╣рд╕рд╛ рд╕рд░реНрд╡ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдЖрдгрд┐ рдЧреЗрдордЪреНрдпрд╛ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрдордзреНрдпреЗ рдЙрдкрд╕реНрдерд┐рдд рдЕрд╕рддреЛ.

рдХрд╛рд╣реА рдХрд╛рд│ рдпрд╛рдиреЗ рдорд▓рд╛ рдкрдЫрд╛рдбрд▓реЗ - рдорд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдд рдХрд╛рдп рджрдбрд▓реЗ рдЖрд╣реЗ рддреЗ рд╢реЛрдзрд╛рдпрдЪреЗ рд╣реЛрддреЗ. рдЬрд░ рддреБрдореНрд╣реА рдСрдбрд┐рдУ рд╕рд┐рдЧреНрдирд▓ рдмрд╛рдЗрдЯреНрд╕рдЪрд╛ рдХреНрд░рдо рдореНрд╣рдгреВрди рд╡рд╛рдЪреВ рд╢рдХрдд рдЕрд╕рд╛рд▓, рддрд░ рддреБрдореНрд╣реА рдЕрдХреНрд╖рд░реЗ рдХрд┐рдВрд╡рд╛ рд╕рд┐рдЧреНрдирд▓рдЪреА рдЙрддреНрдкрддреНрддреА рджрд░реНрд╢рд╡рдгрд╛рд░реА рдХреЛрдгрддреАрд╣реА рдЧреЛрд╖реНрдЯ рд╢реЛрдзреВ рд╢рдХрддрд╛. рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреЗ рд░реЗрдЯреНрд░реЛ-рдкреБрд░рд╛рддрддреНрд╡.

рдЖрддрд╛ рдореА рд╕рд░реНрд╡ рдорд╛рд░реНрдЧрд╛рдиреЗ рдЧреЗрд▓реЛ рдЖрдгрд┐ рд╕реНрд╡рддрдГ рдХреЕрд╕реЗрдЯрдЪреА рд▓реЗрдмрд▓реЗ рдкрд╛рд╣рд┐рд▓реА, рдХрд╛рд░рдг рдорд▓рд╛ рд╣рд╕реВ рдЖрд▓реЗ

рдЙрддреНрддрд░ рдЕрдЧрджреА рдорд╛рдЭреНрдпрд╛ рдбреЛрд│реНрдпрд╛рд╕рдореЛрд░ рд╣реЛрддреЗ
рдбрд╛рд╡реНрдпрд╛ рдХреЕрд╕реЗрдЯрдЪреНрдпрд╛ рд▓реЗрдмрд▓рд╡рд░ TRS-80 рд╕рдВрдЧрдгрдХрд╛рдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ рдЖрдгрд┐ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдЪреНрдпрд╛ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдЦрд╛рд▓реА рдЖрд╣реЗ: тАЬрдпреВрдПрд╕рдП рдордзреАрд▓ рд░реЗрдбрд┐рдУ рд╢реЕрдХрджреНрд╡рд╛рд░реЗ рдЙрддреНрдкрд╛рджрд┐рддтАЭ

(рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╢реЗрд╡рдЯрдкрд░реНрдпрдВрдд рдХрд╛рд░рд╕реНрдерд╛рди рдареЗрд╡рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ рддрд░, рдмрд┐рдШрдбрд╡рдгрд╛рд▒реНрдпрд╛рдЪреНрдпрд╛ рдЦрд╛рд▓реА рдЬрд╛рдК рдирдХрд╛)

рдСрдбрд┐рдУ рд╕рд┐рдЧреНрдирд▓рдЪреА рддреБрд▓рдирд╛

рд╕рд░реНрд╡ рдкреНрд░рдердо, рдСрдбрд┐рдУ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдбрд┐рдЬрд┐рдЯрд▓ рдХрд░реВрдпрд╛. рддреЛ рдХрд╕рд╛ рд╡рд╛рдЯрддреЛ рддреЗ рддреБрдореНрд╣реА рдРрдХреВ рд╢рдХрддрд╛:


рдЖрдгрд┐ рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╕рдВрдЧрдгрдХрд╛рд╡рд░реАрд▓ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдЖрд╡рд╛рдЬ:


рджреЛрдиреНрд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рдПрдХ рддрдерд╛рдХрдерд┐рдд рдЖрд╣реЗ рдкрд╛рдпрд▓рдЯ рдЯреЛрди - рд╕рдорд╛рди рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрдЪрд╛ рдЖрд╡рд╛рдЬ (рдкрд╣рд┐рд▓реНрдпрд╛ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрдордзреНрдпреЗ рддреЛ рдЦреВрдкрдЪ рд▓рд╣рд╛рди рдЖрд╣реЗ <1 рд╕реЗрдХрдВрдж, рдкрд░рдВрддреБ рд╡реЗрдЧрд│реЗ рдХрд░рддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧрд╛ рдЖрд╣реЗ). рдкрд╛рдпрд▓рдЯ рдЯреЛрди рд╕рдВрдЧрдгрдХрд╛рд▓рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рд╕рд┐рдЧреНрдирд▓ рдХрд░рддреЛ. рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЧрдгрдХ рд╕рд┐рдЧреНрдирд▓рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рджреНрд╡рд╛рд░реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрджреНрд╡рд╛рд░реЗ рдлрдХреНрдд "рд╕реНрд╡рддрдГрдЪрд╛" рдкрд╛рдпрд▓рдЯ рдЯреЛрди рдУрд│рдЦрддреЛ.

рд╕рд┐рдЧреНрдирд▓рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдмрджреНрджрд▓рдЪ рдХрд╛рд╣реА рд╕рд╛рдВрдЧрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдорд╡рд░ рддреНрдпрд╛рдЪрд╛ рдЖрдХрд╛рд░ рдЖрдпрддрд╛рдХреГрддреА рдЖрд╣реЗ:

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рдЬреЗрд╡реНрд╣рд╛ рдкрд╛рдпрд▓рдЯ рдЯреЛрди рдЖрдврд│рддреЛ, рддреЗрд╡реНрд╣рд╛ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╕рд┐рдЧреНрдирд▓ рдУрд│рдЦрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рд╣реЗ рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░реАрдирдЪреНрдпрд╛ рд╕реАрдореЗрд╡рд░ рдкрд░реНрдпрд╛рдпреА рд▓рд╛рд▓ рдЖрдгрд┐ рдирд┐рд│реНрдпрд╛ рдкрдЯреНрдЯреНрдпрд╛ рджрд╛рдЦрд╡рддреЛ. рдкрд╛рдпрд▓рдЯ рдЯреЛрди рд╕рдВрдкрддреЛ рд╕рд┐рдВрдХреНрд░реЛ рдкрд▓реНрд╕, рдЬреЗ рд╕рдВрдЧрдгрдХрд╛рд▓рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд┐рдЧреНрдирд▓ рдХрд░рддреЗ. рд╣реЗ рдХрдореА рдХрд╛рд▓рд╛рд╡рдзреАрджреНрд╡рд╛рд░реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдЖрд╣реЗ (рдкрд╛рдпрд▓рдЯ рдЯреЛрди рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд) (рдЖрдХреГрддреА рдкрд╣рд╛)

рд╕рд┐рдВрдХ рдкрд▓реНрд╕ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, рд╕рдВрдЧрдгрдХ рд╕рд┐рдЧреНрдирд▓рдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рдв/рдкрддрдирд╛рдЪреА рдиреЛрдВрдж рдХрд░рддреЛ, рддреНрдпрд╛рдЪрд╛ рдХрд╛рд▓рд╛рд╡рдзреА рдореЛрдЬрддреЛ. рдХрд╛рд▓рд╛рд╡рдзреА рдард░рд╛рд╡рд┐рдХ рдорд░реНрдпрд╛рджреЗрдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕, рдмрд┐рдЯ 1 рдореЗрдорд░реАрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ, рдЕрдиреНрдпрдерд╛ 0. рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕рдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ N рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрдкрд░реНрдпрдВрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХреЗрд▓реА рдЬрд╛рддреЗ. N рд╣реА рд╕рдВрдЦреНрдпрд╛ рд╕рд╣рд╕рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдИрд▓рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рддреВрди рдШреЗрддрд▓реА рдЬрд╛рддреЗ. рд▓реЛрдбрд┐рдВрдЧ рдХреНрд░рдо рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

  1. рдкрд╛рдпрд▓рдЯ рдЯреЛрди
  2. рд╢реАрд░реНрд╖рд▓реЗрдЦ (рдирд┐рд╢реНрдЪрд┐рдд рд▓рд╛рдВрдмреА), рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪрд╛ рдЖрдХрд╛рд░ (N), рдлрд╛рдЗрд▓ рдирд╛рд╡ рдЖрдгрд┐ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯреАрдд рдЖрд╣реЗ
  3. рдкрд╛рдпрд▓рдЯ рдЯреЛрди
  4. рдбреЗрдЯрд╛ рд╕реНрд╡рддрдГ

рдбреЗрдЯрд╛ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд▓реЛрдб рдХреЗрд▓рд╛ рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рддрдерд╛рдХрдерд┐рдд рд╡рд╛рдЪрддреЛ рдкреЕрд░рд┐рдЯреА рдмрд╛рдЗрдЯ (рдкреЕрд░рд┐рдЯреА рдмрд╛рдЗрдЯ), рдЬреНрдпрд╛рдЪреА рдЧрдгрдирд╛ рд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛рдЪреЗ рд╕рд░реНрд╡ рдмрд╛рдЗрдЯреНрд╕ XOR рдХрд░реВрди рдлрд╛рдЗрд▓ рд╕реЗрд╡реНрд╣ рдХрд░рддрд╛рдирд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдлрд╛рдЗрд▓ рд╡рд╛рдЪрддрд╛рдирд╛, рд╕рдВрдЧрдгрдХ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░реВрди рдкреЕрд░рд┐рдЯреА рдмрд╛рдЗрдЯрдЪреА рдЧрдгрдирд╛ рдХрд░рддреЛ рдЖрдгрд┐ рдЬрд░ рдирд┐рдХрд╛рд▓ рдЬрддрди рдХреЗрд▓реЗрд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рднрд┐рдиреНрди рдЕрд╕реЗрд▓ рддрд░, "рдЖрд░ рдЯреЗрдк рд▓реЛрдбрд┐рдВрдЧ рддреНрд░реБрдЯреА" рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ. рдХрд╛рдЯреЗрдХреЛрд░рдкрдгреЗ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рд╕рдВрдЧрдгрдХ рд╣рд╛ рд╕рдВрджреЗрд╢ рдЖрдзреА рдЬрд╛рд░реА рдХрд░реВ рд╢рдХрддреЛ, рдЬрд░, рд╡рд╛рдЪрддрд╛рдирд╛, рддреЛ рдирд╛рдбреА рдУрд│рдЦреВ рд╢рдХрдд рдирд╛рд╣реА (рдЪреБрдХрд▓реЗ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪрд╛ рдХрд╛рд▓рд╛рд╡рдзреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд░реНрдпрд╛рджреЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рд╣реА)

рддрд░, рдЖрддрд╛ рдЕрдЬреНрдЮрд╛рдд рд╕рд┐рдЧреНрдирд▓ рдХрд╕рд╛ рджрд┐рд╕рддреЛ рддреЗ рдкрд╛рд╣реВ:

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рд╣рд╛ рдкрд╛рдпрд▓рдЯ рдЯреЛрди рдЖрд╣реЗ. рд╕рд┐рдЧреНрдирд▓рдЪрд╛ рдЖрдХрд╛рд░ рд▓рдХреНрд╖рдгреАрдп рднрд┐рдиреНрди рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рд╕рд┐рдЧреНрдирд▓рдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрдЪреНрдпрд╛ рд▓рд╣рд╛рди рдбрд╛рд│реАрдВрдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╣реЛрддреЗ. 44100 Hz рдЪреНрдпрд╛ рд╕реЕрдореНрдкрд▓рд┐рдВрдЧ рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реАрдордзреНрдпреЗ, тАЬрд╢рд┐рдЦрд░тАЭ рдордзреАрд▓ рдЕрдВрддрд░ рдЕрдВрджрд╛рдЬреЗ 48 рдирдореБрдиреЗ рдЖрд╣реЗ (рдЬреЗ ~918 Hz рдЪреНрдпрд╛ рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ). рд╣реА рдЖрдХреГрддреА рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВрдпрд╛.

рдЖрддрд╛ рдбреЗрдЯрд╛ рддреБрдХрдбрд╛ рдкрд╛рд╣реВ:

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рдЬрд░ рдЖрдкрдг рд╡реИрдпрдХреНрддрд┐рдХ рдбрд╛рд│реАрдВрдордзреАрд▓ рдЕрдВрддрд░ рдореЛрдЬрд▓реЗ рддрд░ рдЕрд╕реЗ рджрд┐рд╕реВрди рдпреЗрддреЗ рдХреА "рд▓рд╛рдВрдм" рдХрдбрдзрд╛рдиреНрдпрд╛рдВрдордзреАрд▓ рдЕрдВрддрд░ рдЕрджреНрдпрд╛рдк ~ 48 рдирдореБрдиреЗ рдЖрд╣реЗ рдЖрдгрд┐ рд▓рд╣рд╛рди рдбрд╛рд│реАрдВрдордзреАрд▓ рдЕрдВрддрд░ - ~ 24 рдЖрд╣реЗ. рдереЛрдбреЗрд╕реЗ рдкреБрдвреЗ рдкрд╛рд╣рддрд╛рдирд╛, рдореА рдореНрд╣рдгреЗрди рдХреА рд╢реЗрд╡рдЯреА рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА 918 рд╣рд░реНрдЯреНрдЭрдЪреНрдпрд╛ рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрд╕рд╣ "рд╕рдВрджрд░реНрдн" рдбрд╛рд│реА рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрди рд╢реЗрд╡рдЯрдкрд░реНрдпрдВрдд рд╕рддрдд рдлреЙрд▓реЛ рдХрд░рддрд╛рдд. рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХреА рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛рдирд╛, рд╕рдВрджрд░реНрдн рдбрд╛рд│реАрдВрдордзреНрдпреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд╛рдбреА рдЖрдврд│рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣реА рддреНрдпрд╛рд╕ рдмрд┐рдЯ 1 рдорд╛рдирддреЛ, рдЕрдиреНрдпрдерд╛ 0.

рд╕рд┐рдВрдХ рдкрд▓реНрд╕ рдмрджреНрджрд▓ рдХрд╛рдп? рдЪрд▓рд╛ рдбреЗрдЯрд╛рдЪреА рд╕реБрд░реВрд╡рд╛рдд рдкрд╛рд╣реВ:

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рдкрд╛рдпрд▓рдЯ рдЯреЛрди рд╕рдВрдкрддреЛ рдЖрдгрд┐ рдбреЗрдЯрд╛ рд▓рдЧреЗрдЪ рд╕реБрд░реВ рд╣реЛрддреЛ. рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ, рдЕрдиреЗрдХ рднрд┐рдиреНрди рдСрдбрд┐рдУ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдореНрд╣реА рд╢реЛрдзрдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рдЭрд╛рд▓реЛ рдХреА рдбреЗрдЯрд╛рдЪрд╛ рдкрд╣рд┐рд▓рд╛ рдмрд╛рдЗрдЯ рдиреЗрд╣рдореА рд╕рд╛рд░рдЦрд╛рдЪ рдЕрд╕рддреЛ (10100101b, A5h). рд╕рдВрдЧрдгрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рддреЛ рд╡рд╛рдЪрдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВ рд╢рдХрддреЛ.

рдЖрдкрдг рд╕рд┐рдВрдХ рдмрд╛рдЗрдЯрдордзреАрд▓ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 1 рд▓рд╛ рдирдВрддрд░ рд▓рдЧреЗрдЪ рдкреНрд░рдердо рд╕рдВрджрд░реНрдн рдкрд▓реНрд╕рдЪреНрдпрд╛ рд╢рд┐рдлреНрдЯрдХрдбреЗ рджреЗрдЦреАрд▓ рд▓рдХреНрд╖ рджреЗрдК рд╢рдХрддрд╛. рдбреЗрдЯрд╛ рд░реЗрдХрдЧреНрдирд┐рд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рд╣реЗ рдЦреВрдк рдирдВрддрд░ рд╕рд╛рдкрдбрд▓реЗ, рдЬреЗрд╡реНрд╣рд╛ рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рдбреЗрдЯрд╛ рд╕реНрдерд┐рд░рдкрдгреЗ рд╡рд╛рдЪрддрд╛ рдпреЗрдд рдирд╛рд╣реА.

рдЖрддрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛ рдЬреЛ рдСрдбрд┐рдУ рдлрд╛рдЗрд▓рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрд▓ рдЖрдгрд┐ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░реЗрд▓.

рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ

рдкреНрд░рдердо, рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЛрдкреЗ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдЧреГрд╣реАрддрдХреЗ рдкрд╛рд╣реВ:

  1. рдЖрдореНрд╣реА рдлрдХреНрдд WAV рдлреЙрд░рдореЕрдЯрдордзреАрд▓ рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ;
  2. рдСрдбрд┐рдУ рдлрд╛рдЗрд▓ рдкрд╛рдпрд▓рдЯ рдЯреЛрдирдиреЗ рд╕реБрд░реВ рд╣реЛрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рд╢рд╛рдВрддрддрд╛ рдирд╕рд╛рд╡реА
  3. рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓рдЪрд╛ рдирдореБрдирд╛ рджрд░ 44100 Hz рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, 48 рдирдореБрдиреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрджрд░реНрдн рдбрд╛рд│реАрдВрдордзреАрд▓ рдЕрдВрддрд░ рдЖрдзреАрдЪ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЕрдЯрд┐рдХрд░рд┐рддреНрдпрд╛ рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА;
  4. рдирдореБрдирд╛ рд╕реНрд╡рд░реВрдк рдХреЛрдгрддреЗрд╣реА рдЕрд╕реВ рд╢рдХрддреЗ (8/16 рдмрд┐рдЯреНрд╕/рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ) - рдХрд╛рд░рдг рд╡рд╛рдЪрддрд╛рдирд╛ рдЖрдкрдг рддреЗ рдЗрдЪреНрдЫрд┐рдд рдПрдХрд╛рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реВ рд╢рдХрддреЛ;
  5. рдЖрдореНрд╣реА рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рддреЛ рдХреА рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓ рдореЛрдареЗрдкрдгрд╛рджреНрд╡рд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдкрд░рд┐рдгрд╛рдо рд╕реНрдерд┐рд░ рдЭрд╛рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ;

рд╡рд╛рдЪрди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЕрд╕реЗрд▓:

  1. рдЖрдореНрд╣реА рдлрд╛рдЗрд▓ рдореЗрдорд░реАрдордзреНрдпреЗ рд╡рд╛рдЪрддреЛ, рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдирдореБрдирд╛ рд╕реНрд╡рд░реВрдк 8 рдмрд┐рдЯреНрд╕рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддреЛ;
  2. рдСрдбрд┐рдУ рдбреЗрдЯрд╛рдордзреАрд▓ рдкрд╣рд┐рд▓реНрдпрд╛ рдирд╛рдбреАрдЪреА рд╕реНрдерд┐рддреА рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдореЛрдареЗрдкрдгрд╛рд╕рд╣ рдирдореБрдиреНрдпрд╛рдЪреА рд╕рдВрдЦреНрдпрд╛ рдореЛрдЬрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рд╕рд╛рдзреЗрдкрдгрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдПрдХрджрд╛ рд╕реНрд╡рд╣рд╕реНрддреЗ рдЧрдгрдирд╛ рдХрд░реВ. prev_pos рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХрд░реВрдпрд╛;
  3. рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдирд╛рдбреАрдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд 48 рдЬреЛрдбрд╛ (pos := prev_pos + 48)
  4. 48 рдиреЗ рдкреЛрдЭрд┐рд╢рди рд╡рд╛рдврд╡рд▓реНрдпрд╛рдиреЗ рдЖрдореНрд╣реА рдкреБрдвреАрд▓ рд░реЗрдлрд░рдиреНрд╕ рдкрд▓реНрд╕ (рдЯреЗрдкрдордзреАрд▓ рджреЛрд╖, рдЯреЗрдк рдбреНрд░рд╛рдИрд╡реНрд╣ рдореЗрдХреЕрдирд┐рдЭрдордЪреЗ рдЕрд╕реНрдерд┐рд░ рдСрдкрд░реЗрд╢рди рдЗ.) рд╕реНрдерд┐рддреАрдд рдкреЛрд╣реЛрдЪреВ рдпрд╛рдЪреА рд╣рдореА рджреЗрдд тАЛтАЛрдирд╛рд╣реА, рдЖрдореНрд╣рд╛рд▓рд╛ рдкреЙрд╕ рдкрд▓реНрд╕рдЪреА рд╕реНрдерд┐рддреА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдбреЗрдЯрд╛рдЪрд╛ рдПрдХ рдЫреЛрдЯрд╛ рддреБрдХрдбрд╛ рдШреНрдпрд╛ (pos-8;pos+8) рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдХрдорд╛рд▓ рдореЛрдареЗрдкрдгрд╛рдЪреЗ рдореВрд▓реНрдп рд╢реЛрдзрд╛. рдХрдорд╛рд▓рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдерд┐рддреА pos рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓. рдпреЗрдереЗ 8 = 48/6 рд╣рд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдЖрд╣реЗ, рдЬреЛ рд╣рдореА рджреЗрддреЛ рдХреА рдЖрдореНрд╣реА рдпреЛрдЧреНрдп рдХрдорд╛рд▓ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВ рдЖрдгрд┐ рдЬрд╡рд│рдкрд╛рд╕рдЪреНрдпрд╛ рдЗрддрд░ рдЖрд╡реЗрдЧрд╛рдВрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рдЕрддреНрдпрдВрдд рд╡рд╛рдИрдЯ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЬреЗрд╡реНрд╣рд╛ рдбрд╛рд│реАрдВрдордзреАрд▓ рдЕрдВрддрд░ 48 рдкреЗрдХреНрд╖рд╛ рдЦреВрдкрдЪ рдХрдореА рдХрд┐рдВрд╡рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдирд╛рдбреАрд╕рд╛рдареА рд╕рдХреНрддреАрдиреЗ рд╢реЛрдз рд▓рд╛рдЧреВ рдХрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкреНрддреАрдордзреНрдпреЗ рдореА рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреНрдпреЗ рдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд░ рдирд╛рд╣реА;
  5. рдорд╛рдЧреАрд▓ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рд╕рдВрджрд░реНрдн рдирд╛рдбреА рдЕрдЬрд┐рдмрд╛рдд рдЖрдврд│рд▓реА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рдгреЗ рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ, рдЬрд░ рддреБрдореНрд╣реА рдлрдХреНрдд рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╢реЛрдзрдд рдЕрд╕рд╛рд▓, рддрд░ рд╣реЗ рдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рдд рдЖрд╡реЗрдЧ рдЙрдкрд╕реНрдерд┐рдд рдЕрд╕рд▓реНрдпрд╛рдЪреА рд╣рдореА рджреЗрдд тАЛтАЛрдирд╛рд╣реА. рд░реАрдбрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреНрдпрд╛ рдорд╛рдЭреНрдпрд╛ рдирд╡реАрдирддрдо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ, рдореА рдПрдХрд╛ рд╡рд┐рднрд╛рдЧрд╛рд╡рд░реАрд▓ рдХрдорд╛рд▓ рдЖрдгрд┐ рдХрд┐рдорд╛рди рдореЛрдареЗрдкрдгрд╛ рдореВрд▓реНрдпрд╛рдВрдордзреАрд▓ рдлрд░рдХ рддрдкрд╛рд╕рддреЛ рдЖрдгрд┐ рдЬрд░ рддреЗ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд░реНрдпрд╛рджреЗрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕реЗрд▓ рддрд░ рдореА рдЖрд╡реЗрдЧрд╛рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рдореЛрдЬрддреЛ. рд╕рдВрджрд░реНрдн рдирд╛рдбреА рд╕рд╛рдкрдбрд▓реА рдирд╛рд╣реА рддрд░ рдХрд╛рдп рдХрд░рд╛рдпрдЪреЗ рд╣рд╛рд╣реА рдкреНрд░рд╢реНрди рдЖрд╣реЗ. рддреЗрдереЗ 2 рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд: рдПрдХрддрд░ рдбреЗрдЯрд╛ рд╕рдВрдкрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рд╢рд╛рдВрддрддрд╛ рдЖрд╣реЗ, рдХрд┐рдВрд╡рд╛ рд╣реА рд╡рд╛рдЪрди рддреНрд░реБрдЯреА рдорд╛рдирд▓реА рдкрд╛рд╣рд┐рдЬреЗ. рддрдерд╛рдкрд┐, рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд╣реЗ рд╡рдЧрд│реВ;
  6. рдкреБрдвреАрд▓ рдкрд╛рдпрд░реАрд╡рд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдбреЗрдЯрд╛ рдкрд▓реНрд╕рдЪреА рдЙрдкрд╕реНрдерд┐рддреА (рдмрд┐рдЯ 0 рдХрд┐рдВрд╡рд╛ 1) рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдпрд╛рд╕рд╛рдареА рдЖрдкрдг рд╕реЗрдЧрдореЗрдВрдЯрдЪреНрдпрд╛ рдордзреНрдпрднрд╛рдЧреА (prev_pos;pos) Middle_pos рд╕рдорд╛рди рдордзреНрдп_pos := (prev_pos+pos)/2 рдШреЗрддреЛ рдЖрдгрд┐ рд╕реЗрдЧрдореЗрдВрдЯрд╡рд░ рдордзреНрдп_рдкреЛрд╕рдЪреНрдпрд╛ рдХрд╛рд╣реА рдкрд░рд┐рд╕рд░рд╛рдд (middle_pos-8;middle_pos +8) рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдЖрдгрд┐ рдХрд┐рдорд╛рди рдореЛрдареЗрдкрдгрд╛ рдореЛрдЬреВ. рдЬрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдлрд░рдХ 10 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕реЗрд▓, рддрд░ рдЖрдореНрд╣реА рдкрд░рд┐рдгрд╛рдорд╛рдордзреНрдпреЗ рдмрд┐рдЯ 1 рд▓рд┐рд╣реВ, рдЕрдиреНрдпрдерд╛ 0. 10 рд╣рд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдЖрд╣реЗ;
  7. рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА prev_pos рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХрд░рд╛ (prev_pos := pos)
  8. рдЖрдореНрд╣реА рд╕рдВрдкреВрд░реНрдг рдлрд╛рдЗрд▓ рд╡рд╛рдЪрдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд рдкрд╛рдпрд░реА 3 рдкрд╛рд╕реВрди рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рд╛;
  9. рдкрд░рд┐рдгрд╛рдореА рдмрд┐рдЯ рдЕреЕрд░реЗ рдмрд╛рдЗрдЯреНрд╕рдЪрд╛ рд╕рдВрдЪ рдореНрд╣рдгреВрди рдЬрддрди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╡рд╛рдЪрддрд╛рдирд╛ рдЖрдореНрд╣реА рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдмрд╛рдЗрдЯ рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд▓реНрдпрд╛рдиреЗ, рдмрд┐рдЯреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ 8 рдЪреНрдпрд╛ рдкрдЯреАрдд рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдмрд┐рдЯ рдСрдлрд╕реЗрдЯ рджреЗрдЦреАрд▓ рдЕрдЬреНрдЮрд╛рдд рдЖрд╣реЗ. рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ, рдорд▓рд╛ рд╕рд┐рдВрдХ рдмрд╛рдЗрдЯрдЪреНрдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рдд рдирд╡реНрд╣рддреЗ рдЖрдгрд┐ рдореНрд╣рдгреВрди рдореА рдлрдХреНрдд рдСрдлрд╕реЗрдЯ рдмрд┐рдЯреНрд╕рдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╕рд╣ 8 рдлрд╛рдпрд▓реА рдЬрддрди рдХреЗрд▓реНрдпрд╛. рддреНрдпрд╛рдкреИрдХреА рдПрдХрд╛рдордзреНрдпреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рд╣реЛрддрд╛. рдЕрдВрддрд┐рдо рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреНрдпреЗ, рдореА рдлрдХреНрдд A5h рдкрд░реНрдпрдВрддрдЪреЗ рд╕рд░реНрд╡ рдмрд┐рдЯреНрд╕ рдХрд╛рдвреВрди рдЯрд╛рдХрддреЛ, рдЬреНрдпрд╛рдореБрд│реЗ рдорд▓рд╛ рддреНрд╡рд░рд┐рдд рдпреЛрдЧреНрдп рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдорд┐рд│реВ рд╢рдХрддреЗ.

рд░реБрдмреА рдордзреАрд▓ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо, рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА
рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдореА рд░реБрдмреА рд╣реА рднрд╛рд╖рд╛ рдирд┐рд╡рдбрд▓реА, рдХрд╛рд░рдг... рдореА рдмрд╣реБрддреЗрдХ рд╡реЗрд│рд╛ рддреНрдпрд╛рд╡рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд░рддреЛ. рдкрд░реНрдпрд╛рдп рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╡рд╛рдЪрди рдЧрддреА рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЬрд▓рдж рдмрдирд╡рд┐рдгреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рдлрд╛рдпрджреЗрд╢реАрд░ рдирд╛рд╣реА.

# ╨Ш╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╨╝ gem 'wavefile'
require 'wavefile'

reader = WaveFile::Reader.new('input.wav')
samples = []
format = WaveFile::Format.new(:mono, :pcm_8, 44100)

# ╨з╨╕╤В╨░╨╡╨╝ WAV ╤Д╨░╨╣╨╗, ╨║╨╛╨╜╨▓╨╡╤А╤В╨╕╤А╤Г╨╡╨╝ ╨▓ ╤Д╨╛╤А╨╝╨░╤В Mono, 8 bit 
# ╨Ь╨░╤Б╤Б╨╕╨▓ samples ╨▒╤Г╨┤╨╡╤В ╤Б╨╛╤Б╤В╨╛╤П╤В╤М ╨╕╨╖ ╨▒╨░╨╣╤В ╤Б╨╛ ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П╨╝╨╕ 0-255
reader.each_buffer(10000) do |buffer|
  samples += buffer.convert(format).samples
end

# ╨Я╨╛╨╖╨╕╤Ж╨╕╤П ╨┐╨╡╤А╨▓╨╛╨│╨╛ ╨╕╨╝╨┐╤Г╨╗╤М╤Б╨░ (╨▓╨╝╨╡╤Б╤В╨╛ 0)
prev_pos = 0
# ╨а╨░╤Б╤Б╤В╨╛╤П╨╜╨╕╨╡ ╨╝╨╡╨╢╨┤╤Г ╨╕╨╝╨┐╤Г╨╗╤М╤Б╨░╨╝╨╕
distance = 48
# ╨Ч╨╜╨░╤З╨╡╨╜╨╕╨╡ ╤А╨░╤Б╤Б╤В╨╛╤П╨╜╨╕╤П ╨┤╨╗╤П ╨╛╨║╤А╨╡╤Б╤В╨╜╨╛╤Б╤В╨╕ ╨┐╨╛╨╕╤Б╨║╨░ ╨╗╨╛╨║╨░╨╗╤М╨╜╨╛╨│╨╛ ╨╝╨░╨║╤Б╨╕╨╝╤Г╨╝╨░
delta = (distance / 6).floor
# ╨С╨╕╤В╤Л ╨▒╤Г╨┤╨╡╨╝ ╤Б╨╛╤Е╤А╨░╨╜╤П╤В╤М ╨▓ ╨▓╨╕╨┤╨╡ ╤Б╤В╤А╨╛╨║╨╕ ╨╕╨╖ "0" ╨╕ "1"
bits = ""

loop do
  # ╨а╨░╤Б╤Б╤З╨╕╤В╤Л╨▓╨░╨╡╨╝ ╨┐╨╛╨╖╨╕╤Ж╨╕╤О ╤Б╨╗╨╡╨┤╤Г╤О╤Й╨╡╨│╨╛ ╨╕╨╝╨┐╤Г╨╗╤М╤Б╨░
  pos = prev_pos + distance
  
  # ╨Т╤Л╤Е╨╛╨┤╨╕╨╝ ╨╕╨╖ ╤Ж╨╕╨║╨╗╨░ ╨╡╤Б╨╗╨╕ ╨┤╨░╨╜╨╜╤Л╨╡ ╨╖╨░╨║╨╛╨╜╤З╨╕╨╗╨╕╤Б╤М 
  break if pos + delta >= samples.size

  # ╨Ъ╨╛╤А╤А╨╡╨║╤В╨╕╤А╤Г╨╡╨╝ ╨┐╨╛╨╖╨╕╤Ж╨╕╤О pos ╨╛╨▒╨╜╨░╤А╤Г╨╢╨╡╨╜╨╕╨╡╨╝ ╨╝╨░╨║╤Б╨╕╨╝╤Г╨╝╨░ ╨╜╨░ ╨╛╤В╤А╨╡╨╖╨║╨╡ [pos - delta;pos + delta]
  (pos - delta..pos + delta).each { |p| pos = p if samples[p] > samples[pos] }

  # ╨Э╨░╤Е╨╛╨┤╨╕╨╝ ╤Б╨╡╤А╨╡╨┤╨╕╨╜╤Г ╨╛╤В╤А╨╡╨╖╨║╨░ [prev_pos;pos]
  middle_pos = ((prev_pos + pos) / 2).floor

  # ╨С╨╡╤А╨╡╨╝ ╨╛╨║╤А╨╡╤Б╤В╨╜╨╛╤Б╤В╤М ╨▓ ╤Б╨╡╤А╨╡╨┤╨╕╨╜╨╡ 
  sample = samples[middle_pos - delta..middle_pos + delta]

  # ╨Ю╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╨╝ ╨▒╨╕╤В ╨║╨░╨║ "1" ╨╡╤Б╨╗╨╕ ╤А╨░╨╖╨╜╨╕╤Ж╨░ ╨╝╨╡╨╢╨┤╤Г ╨╝╨░╨║╤Б╨╕╨╝╨░╨╗╤М╨╜╤Л╨╝ ╨╕ ╨╝╨╕╨╜╨╕╨╝╨░╨╗╤М╨╜╤Л╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡╨╝ ╨╜╨░ ╨╛╤В╤А╨╡╨╖╨║╨╡ ╨┐╤А╨╡╨▓╤Л╤И╨░╨╡╤В 10
  bit = sample.max - sample.min > 10
  bits += bit ? "1" : "0"
end

# ╨Ю╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╨╝ ╤Б╨╕╨╜╤Е╤А╨╛-╨▒╨░╨╣╤В ╨╕ ╨╖╨░╨╝╨╡╨╜╤П╨╡╨╝ ╨▓╤Б╨╡ ╨┐╤А╨╡╨┤╤И╨╡╤Б╤В╨▓╤Г╤О╤Й╨╕╨╡ ╨▒╨╕╤В╤Л ╨╜╨░ 256 ╨▒╨╕╤В ╨╜╤Г╨╗╨╡╨╣ (╤Б╨╛╨│╨╗╨░╤Б╨╜╨╛ ╤Б╨┐╨╡╤Ж╨╕╤Д╨╕╨║╨░╤Ж╨╕╨╕ ╤Д╨╛╤А╨╝╨░╤В╨░) 
bits.gsub! /^[01]*?10100101/, ("0" * 256) + "10100101"

# ╨б╨╛╤Е╤А╨░╨╜╤П╨╡╨╝ ╨▓╤Л╤Е╨╛╨┤╨╜╨╛╨╣ ╤Д╨░╨╣╨╗, ╤Г╨┐╨░╨║╨╛╨▓╤Л╨▓╨░╤П ╨▒╨╕╤В╤Л ╨▓ ╨▒╨░╨╣╤В╤Л
File.write "output.cas", [bits].pack("B*")

рдкрд░рд┐рдгрд╛рдо

рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрдгрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХрд╛рдВрдЪреЗ рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд░реВрди рдкрд╛рд╣рд┐рд▓реНрдпрд╛рдирдВрддрд░, рдореА рдЕрддреНрдпрдВрдд рдордиреЛрд░рдВрдЬрдХ рдХрд╛рд╣реАрддрд░реА рдорд┐рд│рд╡рдгреНрдпрд╛рдд рднрд╛рдЧреНрдпрд╡рд╛рди рд╣реЛрддреЛ:

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

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

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

рдореА рддреНрдпрд╛ рдХрд╛рд│рд╛рддреАрд▓ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдЯрд╛рд░реА, рдХрдореЛрдбреЛрд░ 64 рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ рд╕рдВрдЧрдгрдХрд╛рдВрдЪреЗ рдореВрд▓рднреВрдд рдХреАрд╡рд░реНрдб рджреЗрдЦреАрд▓ рддрдкрд╛рд╕рд▓реЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдореА рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рд╢реЛрдзрдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рд╣реЛрддреЛ, рдкрд░рдВрддреБ рдпрд╢ рди рдорд┐рд│рд╛рд▓реНрдпрд╛рдиреЗ - рд░реЗрдЯреНрд░реЛ рд╕рдВрдЧрдгрдХрд╛рдВрдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрдмрджреНрджрд▓рдЪреЗ рдорд╛рдЭреЗ рдЬреНрдЮрд╛рди рдЗрддрдХреЗ рд╡рд┐рд╕реНрддреГрдд рдирд╡реНрд╣рддреЗ.

рдордЧ рдореА рдЬрд╛рдпрдЪреЗ рдард░рд╡рд▓реЗ рдпрд╛рджреА, рдЖрдгрд┐ рдордЧ рдорд╛рдЭреА рдирдЬрд░ рдирд┐рд░реНрдорд╛рддрд╛ рд░реЗрдбрд┐рдУ рд╢реЕрдХ рдЖрдгрд┐ TRS-80 рд╕рдВрдЧрдгрдХрд╛рдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╡рд░ рдкрдбрд▓реА. рдорд╛рдЭреНрдпрд╛ рдЯреЗрдмрд▓рд╛рд╡рд░ рдкрдбрд▓реЗрд▓реНрдпрд╛ рдХреЕрд╕реЗрдЯрдЪреНрдпрд╛ рд▓реЗрдмрд▓рд╡рд░ рд╣реА рддреАрдЪ рдирд╛рд╡реЗ рд▓рд┐рд╣рд┐рд▓реА рд╣реЛрддреА! рдорд▓рд╛ рд╣реА рдирд╛рд╡реЗ рдЖрдзреА рдорд╛рд╣рд┐рдд рдирд╡реНрд╣рддреА рдЖрдгрд┐ TRS-80 рд╕рдВрдЧрдгрдХрд╛рд╢реА рдкрд░рд┐рдЪрд┐рдд рдирд╡реНрд╣рддрд╛, рддреНрдпрд╛рдореБрд│реЗ рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрд▓реЗ рдХреА рд░реЗрдбрд┐рдУ рд╢реЕрдХ рд╣реА BASF, Sony рдХрд┐рдВрд╡рд╛ TDK рд╕рд╛рд░рдЦреА рдСрдбрд┐рдУ рдХреЕрд╕реЗрдЯ рдирд┐рд░реНрдорд╛рддрд╛ рдЖрд╣реЗ рдЖрдгрд┐ TRS-80 рд╣рд╛ рдкреНрд▓реЗрдмреЕрдХрдЪрд╛ рдХрд╛рд│ рд╣реЛрддрд╛. рдХрд╛ рдирд╛рд╣реА?

рд╕рдВрдЧрдгрдХ рдЯрдБрдбреА/рд░реЗрдбрд┐рдУ рд╢реЕрдХ TRS-80

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

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рд╣рд╛ рд╕рдВрдЧрдгрдХ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдкреНрд░рдХрд╛рд░ (рдореЙрдбреЗрд▓ I/рдореЙрдбреЗрд▓ III/рдореЙрдбреЗрд▓ IV, рдЗ.) рдПрдХрд╛ рд╡реЗрд│реА рдЦреВрдк рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрддреЗ (рдЕрд░реНрдерд╛рддрдЪ, рд░рд╢рд┐рдпрд╛рдордзреНрдпреЗ рдирд╛рд╣реА). рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ рдХреА рддреНрдпрд╛рдВрдиреА рд╡рд╛рдкрд░рд▓реЗрд▓рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреЗрдЦреАрд▓ Z80 рд╣реЛрддрд╛. рдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╕рд╛рдареА рдЖрдкрдг рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рд╢реЛрдзреВ рд╢рдХрддрд╛ рдмрд░реАрдЪ рдорд╛рд╣рд┐рддреА. 80 рдЪреНрдпрд╛ рджрд╢рдХрд╛рдд, рд╕рдВрдЧрдгрдХ рдорд╛рд╣рд┐рддреА рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдорд╛рд╕рд┐рдХреЗ. рдпрд╛рдХреНрд╖рдгреА рдЕрдиреЗрдХ рдЖрд╣реЗрдд рдЕрдиреБрдХрд░рдгрдХрд░реНрддреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдВрдЧрдгрдХ.

рдореА рдПрдореБрд▓реЗрдЯрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗ trs80gp рдЖрдгрд┐ рд╣рд╛ рд╕рдВрдЧрдгрдХ рдХрд╕рд╛ рдХрд╛рдо рдХрд░рддреЛ рд╣реЗ рдореА рдкреНрд░рдердордЪ рдкрд╛рд╣реВ рд╢рдХрд▓реЛ. рдЕрд░реНрдерд╛рдд, рд╕рдВрдЧрдгрдХ рд░рдВрдЧ рдЖрдЙрдЯрдкреБрдЯрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА; рд╕реНрдХреНрд░реАрди рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рдлрдХреНрдд 128x48 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рд╕реНрдХреНрд░реАрди рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рд╡рд╛рдврд╡рдгрд╛рд░реЗ рдмрд░реЗрдЪ рд╡рд┐рд╕реНрддрд╛рд░ рдЖрдгрд┐ рдмрджрд▓ рд╣реЛрддреЗ. рдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╕рд╛рдареА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╛рдареА рдЕрдиреЗрдХ рдкрд░реНрдпрд╛рдп рдЖрдгрд┐ рдореВрд▓рднреВрдд рднрд╛рд╖рд╛ (рдЬреЗ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдордЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдХрд╛рд╣реА рдореЙрдбреЗрд▓реНрд╕рдордзреНрдпреЗ рд░реЙрдордордзреНрдпреЗ "рдлреНрд▓реЕрд╢" рджреЗрдЦреАрд▓ рдирд╡реНрд╣рддреЗ рдЖрдгрд┐ рдлреНрд▓реЙрдкреА рдбрд┐рд╕реНрдХрд╡рд░реВрди рдХреЛрдгрддрд╛рд╣реА рдкрд░реНрдпрд╛рдп рд▓реЛрдб рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЕрд╕реЗ рдЕрдиреЗрдХ рдкрд░реНрдпрд╛рдп рд╣реЛрддреЗ. рдУрдПрд╕ рд╕реНрд╡рддрдГ)

рдорд▓рд╛рд╣реА рд╕рд╛рдкрдбрд▓реЗ рдЙрдкрдпреБрдХреНрддрддрд╛ рдСрдбрд┐рдУ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧреНрд╕ рд╕реАрдПрдПрд╕ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬреЗ рдПрдореБрд▓реЗрдЯрд░рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рддреЗ рд╡рд╛рдкрд░реВрди рдорд╛рдЭреНрдпрд╛ рдХреЕрд╕реЗрдЯрдордзреАрд▓ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рд╡рд╛рдЪрдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ рдирд╛рд╣реА.

рд╕реАрдПрдПрд╕ рдлрд╛рдИрд▓ рдлреЙрд░рдореЕрдЯ рд╢реЛрдзреВрди рдХрд╛рдврд▓реНрдпрд╛рдирдВрддрд░ (рдЬреЗ рд╕рд┐рдВрдХ рдмрд╛рдЗрдЯрдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрд╕рд╣ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╡рдЧрд│рддрд╛ рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЯреЗрдкрдордзреАрд▓ рдбреЗрдЯрд╛рдЪреА рдлрдХреНрдд рдПрдХ рдмрд┐рдЯ-рдмрд╛рдп-рдмрд┐рдЯ рдХреЙрдкреА рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рджрд┐рд╕реВрди рдЖрд▓реЗ), рдореА рддрдпрд╛рд░ рдХреЗрд▓реЗ рдорд╛рдЭреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреНрдпреЗ рдХрд╛рд╣реА рдмрджрд▓ рдХреЗрд▓реЗ рдЖрдгрд┐ рдПрдореБрд▓реЗрдЯрд░ (TRS-80 рдореЙрдбреЗрд▓ III) рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгрд╛рд░реА рдХрд╛рд░реНрдпрд░рдд CAS рдлрд╛рдЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рд╣реЛрддреЗ:

рдореА рдЪреБрдВрдмрдХреАрдп рдЯреЗрдкрдордзреВрди рдЕрдЬреНрдЮрд╛рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛

рдореА рд░реВрдкрд╛рдВрддрд░рдг рдЙрдкрдпреБрдХреНрддрддреЗрдЪреА рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреА рдкреНрд░рдердо рдкрд▓реНрд╕рдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдирд┐рд░реНрдзрд╛рд░рдг рдЖрдгрд┐ GEM рдкреЕрдХреЗрдЬ рдореНрд╣рдгреВрди рд╕рдВрджрд░реНрдн рдбрд╛рд│реАрдВрдордзреАрд▓ рдЕрдВрддрд░рд╛рд╕рд╣ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реА рдЖрд╣реЗ, рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдпреЗрдереЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ рдЬрд┐рдереВрдм.

рдирд┐рд╖реНрдХрд░реНрд╖

рдЖрдореНрд╣реА рдЬреНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдиреЗ рдкреНрд░рд╡рд╛рд╕ рдХреЗрд▓рд╛ рддреЛ рднреВрддрдХрд╛рд│рд╛рддреАрд▓ рдПрдХ рдЖрдХрд░реНрд╖рдХ рдкреНрд░рд╡рд╛рд╕ рдард░рд▓рд╛ рдЖрдгрд┐ рдорд▓рд╛ рдЖрдирдВрдж рдЭрд╛рд▓рд╛ рдХреА рд╢реЗрд╡рдЯреА рдорд▓рд╛ рдЙрддреНрддрд░ рд╕рд╛рдкрдбрд▓реЗ. рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдмрд░реЛрдмрд░рдЪ, рдореА:

  • рдореА ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдордордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕реЗрд╡реНрд╣ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдлреЙрд░рдореЕрдЯ рд╢реЛрдзрд▓рд╛ рдЖрдгрд┐ рдСрдбрд┐рдУ рдХреЕрд╕реЗрдЯрдордзреВрди рдбреЗрдЯрд╛ рд╡рд╛рдЪрд╡рдгреНрдпрд╛рд╕рд╛рдареА/рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рд░реЙрдо рд░реВрдЯреАрдирдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓рд╛.
  • рдореА TRS-80 рд╕рдВрдЧрдгрдХ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдгрд╛рдВрд╢реА рдкрд░рд┐рдЪрд┐рдд рдЭрд╛рд▓реЛ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓рд╛, рдирдореБрдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╛рд╣рд┐рд▓рд╛ рдЖрдгрд┐ рдорд╢реАрди рдХреЛрдбрдордзреНрдпреЗ рдбреАрдмрдЧрд┐рдВрдЧ рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рджреЗрдЦреАрд▓ рдорд┐рд│рд╛рд▓реА (рддрд░реАрд╣реА, рд╕рд░реНрд╡ Z80 рдиреЗрдореЛрдирд┐рдХреНрд╕ рдорд▓рд╛ рдкрд░рд┐рдЪрд┐рдд рдЖрд╣реЗрдд)
  • рдСрдбрд┐рдУ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рд╕реАрдПрдПрд╕ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдкреВрд░реНрдг рдЙрдкрдпреБрдХреНрддрддрд╛ рд▓рд┐рд╣рд┐рд▓реА, рдЬреА "рдЕрдзрд┐рдХреГрдд" рдпреБрдЯрд┐рд▓рд┐рдЯреАрджреНрд╡рд╛рд░реЗ рдУрд│рдЦрд▓реА рдЬрд╛рдд рдирд╕рд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рд╡рд╛рдЪреВ рд╢рдХрддреЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛