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

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

рд░реЗрдЯреНрд░реЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рдХреЛ рдкреНрд░реЗрдореА рднрдПрдХреЛ рдХрд╛рд░рдг, рдореИрд▓реЗ рдПрдХ рдкрдЯрдХ рдпреБрдХреЗрдорд╛ рдмрд┐рдХреНрд░реЗрддрд╛рдмрд╛рдЯ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо+ рдЦрд░рд┐рдж рдЧрд░реЗрдВред рдХрдореНрдкреНрдпреВрдЯрд░рдорд╛ рдиреИ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ, рдореИрд▓реЗ рдЦреЗрд▓рд╣рд░реВрд╕рдБрдЧ рдзреЗрд░реИ рдЕрдбрд┐рдпреЛ рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдВ (рдореВрд▓ рдкреНрдпрд╛рдХреЗрдЬрд┐рдЩрдорд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ), рд╕рд╛рдереИ рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВрдорд╛ рд╡рд┐рд╢реЗрд╖ рдЪрд┐рдиреНрд╣рд╣рд░реВ рдмрд┐рдирд╛ рд░реЗрдХрд░реНрдб рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВред рдЕрдЪрдореНрдордХреЛ рдХреБрд░рд╛, 40-рд╡рд░реНрд╖ рдкреБрд░рд╛рдиреЛ рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВрдХреЛ рдбрд╛рдЯрд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдкрдвреНрди рдпреЛрдЧреНрдп рдерд┐рдпреЛ рд░ рдореИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рд▓рдЧрднрдЧ рд╕рдмреИ рдЦреЗрд▓ рд░ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рд╕рдХреНрд╖рдо рдерд┐рдПрдБред

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

рдЬреЗ рд╣реЛрд╕реН, рдХреЗрд╣реА рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВрдорд╛ рдореИрд▓реЗ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗ рдЬреБрди рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХрдореНрдкреНрдпреБрдЯрд░рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдЗрдПрдХреЛ рдерд┐рдПрдиред рддрд┐рдиреАрд╣рд░реВ рдкреВрд░реНрдгрддрдпрд╛ рдлрд░рдХ рджреЗрдЦрд┐рдиреНрдереЗ рд░, рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдХрдореНрдкреНрдпреБрдЯрд░рдмрд╛рдЯ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВрдХреЛ рд╡рд┐рдкрд░реАрдд, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдЫреЛрдЯреЛ рдмреЗрд╕рд┐рдХ рдмреБрдЯрд▓реЛрдбрд░рдХреЛ рд╕рд╛рде рд╕реБрд░реБ рдЧрд░реЗрдирдиреН, рдЬреБрди рдкреНрд░рд╛рдп: рд╕рдмреИ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рд░ рдЦреЗрд▓рд╣рд░реВрдХреЛ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВрдорд╛ рдЙрдкрд╕реНрдерд┐рдд рд╣реБрдиреНрдЫред

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

рдЕрдм рдЬрдм рдо рд╕рдмреИ рдмрд╛рдЯреЛ рдЧрдПрдХреЛ рдЫреБ рд░ рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВрдХреЛ рд▓реЗрдмрд▓рд╣рд░реВ рд╣реЗрд░реНрдЫреБ, рдо рдореБрд╕реНрдХреБрд░рд╛рдЙрдБрдЫреБ

рдЬрд╡рд╛рдл рдореЗрд░реЛ рдЖрдБрдЦрд╛ рдЕрдЧрд╛рдбрд┐ рдерд┐рдпреЛ
рдмрд╛рдпрд╛рдБ рдХреНрдпрд╛рд╕реЗрдЯрдХреЛ рд▓реЗрдмрд▓рдорд╛ TRS-80 рдХрдореНрдкреНрдпреБрдЯрд░рдХреЛ рдирд╛рдо рдЫ, рд░ рдирд┐рд░реНрдорд╛рддрд╛рдХреЛ рдирд╛рдордХреЛ рдареАрдХ рддрд▓: "рд╕рдВрдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛рдорд╛ рд░реЗрдбрд┐рдпреЛ рд╢реНрдпрд╛рдХрджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд"

(рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╖рдбреНрдпрдиреНрддреНрд░рд▓рд╛рдИ рдЕрдиреНрддреНрдп рд╕рдореНрдо рд░рд╛рдЦреНрди рдЪрд╛рд╣рд╛рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдмрд┐рдЧрд╛рд░реНрдирдХрд░реНрддрд╛ рдЕрдиреНрддрд░реНрдЧрдд рдирдЬрд╛рдиреБрд╣реЛрд╕реН)

рдЕрдбрд┐рдпреЛ рд╕рдВрдХреЗрддрд╣рд░реВрдХреЛ рддреБрд▓рдирд╛

рд╕рдмреИрднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдЕрдбрд┐рдпреЛ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВ рдбрд┐рдЬрд┐рдЯрд▓рд╛рдЗрдЬ рдЧрд░реМрдВред рддрдкрд╛рдИрдВ рдпреЛ рдХрд╕реНрддреЛ рдЖрд╡рд╛рдЬ рд╕реБрдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:


рд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХрдореНрдкреНрдпреБрдЯрд░рдмрд╛рдЯ рд░реЗрдХрд░реНрдбрд┐рдЩ рдзреНрд╡рдирд┐:


рджреБрд╡реИ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд░реЗрдХрд░реНрдбрд┐рдЩ рдХреЛ рд╢реБрд░реБрд╡рд╛рдд рдорд╛ рдПрдХ рддрдерд╛рдХрдерд┐рдд рдЫ рдкрд╛рдпрд▓рдЯ рдЯреЛрди - рдПрдЙрдЯреИ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрдХреЛ рдЖрд╡рд╛рдЬ (рдкрд╣рд┐рд▓реЛ рд░реЗрдХрд░реНрдбрд┐рдЩрдорд╛ рдпреЛ рдзреЗрд░реИ рдЫреЛрдЯреЛ рдЫ <1 рд╕реЗрдХреЗрдиреНрдб, рддрд░ рдлрд░рдХ рдЫ)ред рдкрд╛рдпрд▓рдЯ рдЯреЛрдирд▓реЗ рдХрдореНрдкреНрдпреБрдЯрд░рд▓рд╛рдИ рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рддрдпрд╛рд░реА рдЧрд░реНрди рд╕рдВрдХреЗрдд рдЧрд░реНрдЫред рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рдкреНрд░рддреНрдпреЗрдХ рдХрдореНрдкреНрдпреВрдЯрд░рд▓реЗ рд╕рд┐рдЧреНрдирд▓рдХреЛ рдЖрдХрд╛рд░ рд░ рдпрд╕рдХреЛ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрджреНрд╡рд╛рд░рд╛ рдорд╛рддреНрд░ рдпрд╕рдХреЛ "рдЖрдлреНрдиреИ" рдкрд╛рдпрд▓рдЯ рдЯреЛрди рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрджрдЫред

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

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

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

рд╕рд┐рдВрдХ рдкрд▓реНрд╕ рдкреНрд░рд╛рдкреНрдд рднрдПрдкрдЫрд┐, рдХрдореНрдкреНрдпреБрдЯрд░рд▓реЗ рдпрд╕рдХреЛ рдЕрд╡рдзрд┐ рдирд╛рдкреНрджреИ, рд╕рд┐рдЧреНрдирд▓рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡реГрджреНрдзрд┐/рдкрддрди рд░реЗрдХрд░реНрдб рдЧрд░реНрджрдЫред рдпрджрд┐ рдЕрд╡рдзрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рднрдиреНрджрд╛ рдХрдо рдЫ рднрдиреЗ, рдмрд┐рдЯ 1 рдореЗрдореЛрд░реАрдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рдЕрдиреНрдпрдерд╛ 0ред рдмрд┐рдЯрд╣рд░реВ рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░рд┐рдиреНрдЫ рд░ N рдмрд╛рдЗрдЯрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдирднрдПрд╕рдореНрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЛрд╣реЛрд░реНрдпрд╛рдЗрдиреНрдЫред рдирдореНрдмрд░ N рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдлрд╛рдЗрд▓рдХреЛ рд╣реЗрдбрд░рдмрд╛рдЯ рд▓рд┐рдЗрдиреНрдЫред рд▓реЛрдбрд┐рдЩ рдЕрдиреБрдХреНрд░рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫ:

  1. рдкрд╛рдпрд▓рдЯ рдЯреЛрди
  2. рд╣реЗрдбрд░ (рдирд┐рд╢реНрдЪрд┐рдд рд▓рдореНрдмрд╛рдЗ), рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛рдХреЛ рд╕рд╛рдЗрдЬ (N), рдлрд╛рдЗрд▓ рдирд╛рдо рд░ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ
  3. рдкрд╛рдпрд▓рдЯ рдЯреЛрди
  4. рдбрд╛рдЯрд╛ рдЖрдлреИрдВ

рдбрд╛рдЯрд╛ рд╕рд╣реА рд░реВрдкрдорд╛ рд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди, ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рддрдерд╛рдХрдерд┐рдд рдкрдвреНрдЫ рд╕рдорд╛рдирддрд╛ рдмрд╛рдЗрдЯ (parity byte), рдЬреБрди рд▓рд┐рдЦрд┐рдд рдбрд╛рдЯрд╛рдХрд╛ рд╕рдмреИ рдмрд╛рдЗрдЯрд╣рд░реВ XOR рдЧрд░реЗрд░ рдлрд╛рдЗрд▓ рдмрдЪрдд рдЧрд░реНрджрд╛ рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫред рдлрд╛рдЗрд▓ рдкрдвреНрджрд╛, рдХрдореНрдкреНрдпреБрдЯрд░рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЯрд╛рдмрд╛рдЯ рд╕рдорд╛рдирддрд╛ рдмрд╛рдЗрдЯ рдЧрдгрдирд╛ рдЧрд░реНрджрдЫ рд░, рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдмрдЪрдд рдЧрд░рд┐рдПрдХреЛ рднрдиреНрджрд╛ рдлрд░рдХ рдЫ рднрдиреЗ, рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢ "R рдЯреЗрдк рд▓реЛрдбрд┐рдЩ рддреНрд░реБрдЯрд┐" рджреЗрдЦрд╛рдЙрдБрдЫред рдХрдбрд╛ рд╢рдмреНрджрдорд╛ рднрдиреНрдиреБрдкрд░реНрджрд╛, рдХрдореНрдкреНрдпреБрдЯрд░рд▓реЗ рдпреЛ рд╕рдиреНрджреЗрд╢ рдкрд╣рд┐рд▓реЗ рдЬрд╛рд░реА рдЧрд░реНрди рд╕рдХреНрдЫ рдпрджрд┐, рдкрдвреНрджрд╛, рдпрд╕рд▓реЗ рдкрд▓реНрд╕ рдЪрд┐рдиреНрди рд╕рдХреНрджреИрди (рдЫреБрдЯреЗрдХреЛ рд╡рд╛ рдпрд╕рдХреЛ рдЕрд╡рдзрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛рд╣рд░реВрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрди)ред

рддреНрдпрд╕реЛрднрдП, рдЕрдм рдЕрдЬреНрдЮрд╛рдд рд╕рдВрдХреЗрдд рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рд╣реЗрд░реМрдВ:

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

рдпреЛ рдкрд╛рдпрд▓рдЯ рдЯреЛрди рд╣реЛред рд╕рдВрдХреЗрдд рдХреЛ рдЖрдХрд╛рд░ рдПрдХрджрдо рдлрд░рдХ рдЫ, рддрд░ рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫ рдХрд┐ рд╕рдВрдХреЗрдд рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдЫреЛрдЯреЛ рдкрд▓реНрд╕ рджреЛрд╣реЛрд░рд┐рдиреЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред 44100 Hz рдХреЛ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐рдорд╛, "рдЪреБрд░реЛрд╣рд░реВ" рдмреАрдЪрдХреЛ рджреВрд░реА рд▓рдЧрднрдЧ 48 рдирдореВрдирд╛рд╣рд░реВ (рдЬрд╕рд▓реЗ ~ 918 Hz рдХреЛ рдЖрд╡реГрддреНрддрд┐рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ) рд╣реЛред рдпреЛ рдЖрдВрдХрдбрд╛рд▓рд╛рдИ рд╕рдореНрдЭреМрдВред

рдЕрдм рдбрд╛рдЯрд╛ рдЯреБрдХреНрд░рд╛ рд╣реЗрд░реМрдВ:

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

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рджрд╛рд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рджреВрд░реА рдирд╛рдкреНрдпреМрдВ рднрдиреЗ, рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдЫ рдХрд┐ "рд▓рд╛рдореЛ" рджрд╛рд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рджреВрд░реА рдЕрдЭреИ ~ 48 рдирдореВрдирд╛рд╣рд░реВ, рд░ рдЫреЛрдЯреЛрд╣рд░реВ рдмреАрдЪрдХреЛ - ~ 24 рдЫред рдЕрд▓рд┐ рдЕрдЧрд╛рдбрд┐ рд╣реЗрд░реНрджреИ, рдо рднрдиреНрдЫреБ рдХрд┐ рдЕрдиреНрддрдорд╛ рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ 918 рд╣рд░реНрдЯреНрдЬрдХреЛ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрдХреЛ рд╕рд╛рде "рд╕рдиреНрджрд░реНрдн" рдкрд▓реНрд╕рд╣рд░реВ рдлрд╛рдЗрд▓рдХреЛ рд╕реБрд░реБрджреЗрдЦрд┐ рдЕрдиреНрддреНрдпрд╕рдореНрдо рд▓рдЧрд╛рддрд╛рд░ рдкрдЫреНрдпрд╛рдЙрдБрдЫрдиреНред рдпреЛ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫ рдХрд┐ рдбрд╛рдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рдЯ рдЧрд░реНрджрд╛, рдпрджрд┐ рд╕рдиреНрджрд░реНрдн рдкрд▓реНрд╕рд╣рд░реВ рдмреАрдЪ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд▓реНрд╕ рд╕рд╛рдордирд╛ рднрдпреЛ рднрдиреЗ, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдмрд┐рдЯ 1, рдЕрдиреНрдпрдерд╛ реж рдорд╛рдиреНрдЫреМрдВред

рд╕рд┐рдВрдХ рдкрд▓реНрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ? рдбрд╛рдЯрд╛рдХреЛ рд╕реБрд░реБрдорд╛ рд╣реЗрд░реМрдВ:

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

рдкрд╛рдпрд▓рдЯ рдЯреЛрди рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫ рд░ рдбрд╛рдЯрд╛ рддреБрд░реБрдиреНрддреИ рд╕реБрд░реБ рд╣реБрдиреНрдЫред рдХреЗрд╣реА рд╕рдордп рдкрдЫрд┐, рдзреЗрд░реИ рдлрд░рдХ рдЕрдбрд┐рдпреЛ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдХреНрд╖рдо рднрдпреМрдВ рдХрд┐ рдбреЗрдЯрд╛рдХреЛ рдкрд╣рд┐рд▓реЛ рдмрд╛рдЗрдЯ рд╕рдзреИрдВ рдЙрд╕реНрддреИ рд╣реБрдиреНрдЫ (10100101b, A5h)ред рдХрдореНрдкреНрдпреБрдЯрд░рд▓реЗ рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдкрдЫрд┐ рдкрдвреНрди рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдЫред

рддрдкрд╛рдЗрдБ рд╕рд┐рдВрдХ рдмрд╛рдЗрдЯрдорд╛ рдЕрдиреНрддрд┐рдо 1st рдкрдЫрд┐ рддреБрд░реБрдиреНрддреИ рдкрд╣рд┐рд▓реЛ рд╕рдиреНрджрд░реНрдн рдкрд▓реНрд╕рдХреЛ рд╢рд┐рдлреНрдЯрдорд╛ рдзреНрдпрд╛рди рджрд┐рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдзреЗрд░реИ рдкрдЫрд┐ рдбрд╛рдЯрд╛ рдкрд╣рд┐рдЪрд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдХрд╛рд╕рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ, рдЬрдм рдлрд╛рдЗрд▓рдХреЛ рд╕реБрд░реБрдорд╛ рдбрд╛рдЯрд╛ рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдкрдвреНрди рд╕рдХрд┐рдБрджреИрдиред

рдЕрдм рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ рдЬрд╕рд▓реЗ рдЕрдбрд┐рдпреЛ рдлрд╛рдЗрд▓ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрдЫ рд░ рдбрд╛рдЯрд╛ рд▓реЛрдб рдЧрд░реНрджрдЫред

рдбрд╛рдЯрд╛ рд▓реЛрдб рдЧрд░реНрджреИ

рдкрд╣рд┐рд▓реЗ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рд░рд╛рдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рдзрд╛рд░рдгрд╛рд╣рд░реВ рд╣реЗрд░реМрдВ:

  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) рд░ рдпрд╕рдорд╛ рдЕрдзрд┐рдХрддрдо рдПрдореНрдкреНрд▓рд┐рдЪреНрдпреБрдб рдорд╛рди рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реНред рдЕрдзрд┐рдХрддрдо рдЕрдиреБрд░реВрдкрдХреЛ рд╕реНрдерд┐рддрд┐ рдкреЛрдЬрдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдиреЗрдЫред рдпрд╣рд╛рдБ 8 = 48/6 рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдкрдорд╛ рдкреНрд░рд╛рдкреНрдд рд╕реНрдерд┐рд░ рдЫ, рдЬрд╕рд▓реЗ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рджрд┐рдиреНрдЫ рдХрд┐ рд╣рд╛рдореА рд╕рд╣реА рдЕрдзрд┐рдХрддрдо рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рдирдЬрд┐рдХреИ рд╣реБрди рд╕рдХреНрдиреЗ рдЕрдиреНрдп рдЖрд╡реЗрдЧрд╣рд░реВрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрджреИрдиред рдзреЗрд░реИ рдирд░рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдЬрдм рджрд╛рд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рджреВрд░реА 48 рднрдиреНрджрд╛ рдХрдо рд╡рд╛ рдмрдвреА рд╣реБрдиреНрдЫ, рддрдкрд╛рдИрд▓реЗ рдкрд▓реНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЬрдмрд░рдЬрд╕реНрддреА рдЦреЛрдЬ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рд▓реЗрдЦрдХреЛ рджрд╛рдпрд░рд╛ рднрд┐рддреНрд░ рдо рдпрд╕рд▓рд╛рдИ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордорд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫреИрди;
  5. рдЕрдШрд┐рд▓реНрд▓реЛ рдЪрд░рдгрдорд╛, рдпреЛ рдкрдирд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫ рдХрд┐ рд╕рдиреНрджрд░реНрдн рдкрд▓реНрд╕ рд╕рдмреИ рдлреЗрд▓рд╛ рдкрд░реНрдпреЛред рддреНрдпреЛ рд╣реЛ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХрддрдо рдЦреЛрдЬреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрд╕рд▓реЗ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЧрд░реНрджреИрди рдХрд┐ рдЖрд╡реЗрдЧ рдпрд╕ рдЦрдгреНрдбрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫред рдкрдвреНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рдореЗрд░реЛ рдкрдЫрд┐рд▓реНрд▓реЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛, рдо рдЦрдгреНрдбрдорд╛ рдЕрдзрд┐рдХрддрдо рд░ рдиреНрдпреВрдирддрдо рдЖрдпрд╛рдо рдорд╛рдирд╣рд░реВ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреБ, рд░ рдпрджрд┐ рдпреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рдирд╛рдШреНрдпреЛ рднрдиреЗ, рдо рдЖрд╡реЗрдЧрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЧрдгрдирд╛ рдЧрд░реНрдЫреБред рд╕рдиреНрджрд░реНрдн рдкрд▓реНрд╕ рдлреЗрд▓рд╛ рдкрд░реЗрди рднрдиреЗ рдХреЗ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдкреНрд░рд╢реНрди рдкрдирд┐ рдЫред рддреНрдпрд╣рд╛рдБ 2 рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН: рдпрд╛ рдд рдбрд╛рдЯрд╛ рд╕рдорд╛рдкреНрдд рднрдПрдХреЛ рдЫ рд░ рдореМрдирддрд╛ рдкрдЫреНрдпрд╛рдЙрдБрдЫ, рд╡рд╛ рдпрд╕рд▓рд╛рдИ рдкрдвреНрдиреЗ рддреНрд░реБрдЯрд┐ рдорд╛рдиреНрдиреБ рдкрд░реНрдЫред рдпрджреНрдпрдкрд┐, рд╣рд╛рдореА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рдмрдирд╛рдЙрди рдпрд╕рд▓рд╛рдИ рдЫреЛрдбреНрдиреЗрдЫреМрдВ;
  6. рдЕрд░реНрдХреЛ рдЪрд░рдгрдорд╛, рд╣рд╛рдореАрд▓реЗ рдбреЗрдЯрд╛ рдкрд▓реНрд╕ (рдмрд┐рдЯ реж рд╡рд╛ рез) рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд▓реЗ рдЦрдгреНрдбрдХреЛ рдмреАрдЪрдорд╛ (prev_pos;pos) Middle_pos рдмрд░рд╛рдмрд░ рдордзреНрдп_pos := (prev_pos+pos)/0 рд░ рдХреЗрд╣реА рдЫрд┐рдореЗрдХрдорд╛ рдордзреНрдп_рдкреЛрд╕ рдЦрдгреНрдбрдорд╛ (middle_pos-1;middle_pos +2) рдЕрдзрд┐рдХрддрдо рд░ рдиреНрдпреВрдирддрдо рдПрдореНрдкреНрд▓рд┐рдЪреНрдпреБрдб рдЧрдгрдирд╛ рдЧрд░реМрдВред рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ 8 рднрдиреНрджрд╛ рдмрдвреА рдЫ рднрдиреЗ, рд╣рд╛рдореА рдирддрд┐рдЬрд╛рдорд╛ рдмрд┐рдЯ 8 рд▓реЗрдЦреНрдЫреМрдВ, рдЕрдиреНрдпрдерд╛ 10ред 1 рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдкрдорд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░рд┐рдПрдХреЛ рд╕реНрдерд┐рд░ рд╣реЛ;
  7. prev_pos (prev_pos := pos) рдорд╛ рд╣рд╛рд▓рдХреЛ рд╕реНрдерд┐рддрд┐ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
  8. рд╣рд╛рдореАрд▓реЗ рдкреВрд░реИ рдлрд╛рдЗрд▓ рдирдкрдвреЗрд╕рдореНрдо рдЪрд░рдг 3 рдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реЗрд░ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдиреБрд╣реЛрд╕реН;
  9. рдкрд░рд┐рдгрд╛рдорд┐рдд рдмрд┐рдЯ рдПрд░реЗ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рд╕реЗрдЯрдХреЛ рд░реВрдкрдорд╛ рдмрдЪрдд рд╣реБрдиреБрдкрд░реНрдЫред рд╣рд╛рдореАрд▓реЗ рдкрдвреНрджрд╛ рд╕рд┐рдЩреНрдХ рдмрд╛рдЗрдЯрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рдирд░рд╛рдЦреЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рдмрд┐рдЯреНрд╕рдХреЛ рд╕рдВрдЦреНрдпрд╛ рео рдХреЛ рдЧреБрдгрди рдирд╣реБрди рд╕рдХреНрдЫ, рд░ рдЖрд╡рд╢реНрдпрдХ рдмрд┐рдЯ рдЕрдлрд╕реЗрдЯ рдкрдирд┐ рдЕрдЬреНрдЮрд╛рдд рдЫред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рдкрд╣рд┐рд▓реЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛, рдорд▓рд╛рдИ рд╕рд┐рдЩреНрдХ рдмрд╛рдЗрдЯрдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ рдмрд╛рд░реЗрдорд╛ рдерд╛рд╣рд╛ рдерд┐рдПрди рд░ рддреНрдпрд╕реИрд▓реЗ рдЕрдлрд╕реЗрдЯ рдмрд┐рдЯрд╣рд░реВрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЦреНрдпрд╛рдХрд╛ рд╕рд╛рде 8 рдлрд╛рдЗрд▓рд╣рд░реВ рдорд╛рддреНрд░ рдмрдЪрдд рдЧрд░реЗрдВред рддреА рдордзреНрдпреЗ рдПрдХ рд╕рд╣реА рдбрд╛рдЯрд╛ рд╕рдорд╛рд╡реЗрд╢ рдерд┐рдпреЛред рдЕрдиреНрддрд┐рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордорд╛, рдо рдХреЗрд╡рд▓ A8h рд╕рдореНрдордХрд╛ рд╕рдмреИ рдмрд┐рдЯрд╣рд░реВ рд╣рдЯрд╛рдЙрдБрдЫреБ, рдЬрд╕рд▓реЗ рдорд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рд╕рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

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

# ╨Ш╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╨╝ 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)ред рдЕрдм рд╣рд╛рдореАрд▓реЗ рдпреЛ рдврд╛рдБрдЪрд╛рдорд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рдмрдЪрдд рдЧрд░реНрди рд╕рдХреНрдиреЗ 80s рдмрд╛рдЯ рдХреБрди рдХрдореНрдкреНрдпреБрдЯрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред

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

рдореИрд▓реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдЯрд╛рд░реА, рдХрдореЛрдбреЛрд░ 64 рд░ рддреНрдпрд╕ рд╕рдордпрдХрд╛ рдзреЗрд░реИ рдЕрдиреНрдп рдХрдореНрдкреНрдпреВрдЯрд░рд╣рд░реВрдХреЛ рдЖрдзрд╛рд░рднреВрдд рдХреБрдЮреНрдЬреА рд╢рдмреНрджрд╣рд░реВ рдкрдирд┐ рдЬрд╛рдБрдЪ рдЧрд░реЗрдВ, рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдореИрд▓реЗ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрд╖рдо рдерд┐рдПрдБ, рддрд░ рд╕рдлрд▓рддрд╛ рдмрд┐рдирд╛ - рд░реЗрдЯреНрд░реЛ рдХрдореНрдкреНрдпреБрдЯрд░рд╣рд░реВрдХреЛ рдкреНрд░рдХрд╛рд░рд╣рд░реВрдХреЛ рдореЗрд░реЛ рдЬреНрдЮрд╛рди рдпрддрд┐ рдлрд░рд╛рдХрд┐рд▓реЛ рднрдПрдиред

рддреНрдпрд╕рдкрдЫрд┐ рдореИрд▓реЗ рдЬрд╛рдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ рд╕реВрдЪреА, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдореЗрд░реЛ рдирдЬрд░ рдирд┐рд░реНрдорд╛рддрд╛ рд░реЗрдбрд┐рдпреЛ рд╢реЗрдХ рд░ TRS-80 рдХрдореНрдкреНрдпреБрдЯрд░рдХреЛ рдирд╛рдордорд╛ рдкрд░реНрдпреЛред рдореЗрд░реЛ рдЯреЗрдмреБрд▓рдорд╛ рдкрд▓реНрдЯрд┐рдПрдХрд╛ рдХреНрдпрд╛рд╕реЗрдЯрдХреЛ рд▓реЗрдмрд▓рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдирд╛рдорд╣рд░реВ рдпреА рд╣реБрдиреН ! рдорд▓рд╛рдИ рдпреА рдирд╛рдорд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдерд╛рд╣рд╛ рдерд┐рдПрди рд░ TRS-80 рдХрдореНрдкреНрдпреБрдЯрд░рд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рдерд┐рдПрди, рддреНрдпрд╕реИрд▓реЗ рдорд▓рд╛рдИ рд░реЗрдбрд┐рдпреЛ рд╢реИрдХ BASF, Sony рд╡рд╛ TDK рдЬрд╕реНрддрд╛ рдЕрдбрд┐рдпреЛ рдХреНрдпрд╛рд╕реЗрдЯ рдирд┐рд░реНрдорд╛рддрд╛ рдерд┐рдпреЛ рд░ TRS-80 рдкреНрд▓реЗрдмреНрдпрд╛рдХ рд╕рдордп рдерд┐рдпреЛред рдХрд┐рди рдирдЧрд░реНрдиреЗ ?

рдХрдореНрдкреНрдпреБрдЯрд░ рдЯреНрдпрд╛рдиреНрдбреА/рд░реЗрдбрд┐рдпреЛ рд╢реЗрдХ TRS-80

рдпреЛ рдзреЗрд░реИ рд╕рдореНрднрд╡ рдЫ рдХрд┐ рдкреНрд░рд╢реНрдирдорд╛ рдЕрдбрд┐рдпреЛ рд░реЗрдХрд░реНрдбрд┐рдЩ, рдЬреБрди рдореИрд▓реЗ рд▓реЗрдЦрдХреЛ рд╕реБрд░реБрдорд╛ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рджрд┐рдПрдБ, рдпреЛ рдХрдореНрдкреНрдпреБрдЯрд░рдорд╛ рдмрдирд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ:

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

рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ рдпреЛ рдХрдореНрдкреНрдпреБрдЯрд░ рд░ рдпрд╕рдХреЛ рдХрд┐рд╕реНрдорд╣рд░реВ (рдореЛрдбреЗрд▓ I/Model III/Model IV, рдЖрджрд┐) рдПрдХ рдкрдЯрдХ рдзреЗрд░реИ рд▓реЛрдХрдкреНрд░рд┐рдп рдерд┐рдП (рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд░реВрд╕рдорд╛ рд╣реЛрдЗрди)ред рдпреЛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫ рдХрд┐ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрдирд┐ Z80 рдерд┐рдпреЛред рдпреЛ рдХрдореНрдкреНрдпреБрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдзреЗрд░реИ рдЬрд╛рдирдХрд╛рд░реАред 80 рдХреЛ рджрд╢рдХ рдорд╛, рдХрдореНрдкреНрдпреБрдЯрд░ рдЬрд╛рдирдХрд╛рд░реА рд╡рд┐рддрд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рдкрддреНрд░рд┐рдХрд╛рд╣рд░реВред рд╣рд╛рд▓ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЫрдиреН рдЗрдореБрд▓реЗрдЯрд░рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдореНрдкреНрдпреБрдЯрд░ред

рдореИрд▓реЗ рдЗрдореБрд▓реЗрдЯрд░ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реЗрдВ trs80gp рд░ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рдореИрд▓реЗ рдпреЛ рдХрдореНрдкреНрдпреБрдЯрд░рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреЗрд░ рд╣реЗрд░реНрди рд╕рдХреНрд╖рдо рднрдПрдБред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдХрдореНрдкреНрдпреБрдЯрд░рд▓реЗ рд░рдЩ рдЖрдЙрдЯрдкреБрдЯрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрди; рд╕реНрдХреНрд░рд┐рди рд░рд┐рдЬреЛрд▓реБрд╕рди рдорд╛рддреНрд░ 128x48 рдкрд┐рдХреНрд╕реЗрд▓ рдерд┐рдпреЛ, рддрд░ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рд░ рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ рдерд┐рдП рдЬрд╕рд▓реЗ рд╕реНрдХреНрд░рд┐рди рд░рд┐рдЬреЛрд▓реНрдпреБрд╕рди рдмрдврд╛рдЙрди рд╕рдХреНрдЫред рдпрд╕ рдХрдореНрдкреНрдпреВрдЯрд░рдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВ рд░ рдЖрдзрд╛рд░рднреВрдд рднрд╛рд╖рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкрдирд┐ рдзреЗрд░реИ рдерд┐рдП (рдЬреБрди ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдордХреЛ рд╡рд┐рдкрд░реАрдд, рдХреЗрд╣рд┐ рдореЛрдбреЗрд▓рд╣рд░реВрдорд╛ рд░реЛрдордорд╛ "рдлреНрд▓реНрдпрд╛рд╢" рдкрдирд┐ рдерд┐рдПрди рд░ рдХреБрдиреИ рдкрдирд┐ рд╡рд┐рдХрд▓реНрдк рдлреНрд▓рдкреА рдбрд┐рд╕реНрдХрдмрд╛рдЯ рд▓реЛрдб рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕реНрддреИред OS рдЖрдлреИ)

рдореИрд▓реЗ рдкрдирд┐ рдлреЗрд▓рд╛ рдкрд╛рд░реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЕрдбрд┐рдпреЛ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВрд▓рд╛рдИ CAS рдврд╛рдБрдЪрд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди, рдЬреБрди рдЗрдореБрд▓реЗрдЯрд░рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдЫ, рддрд░ рдХреЗрд╣реА рдХрд╛рд░рдгрд▓реЗ рдореЗрд░реЛ рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░реЗрдХрд░реНрдбрд┐рдЩрд╣рд░реВ рдкрдвреНрди рд╕рдореНрднрд╡ рднрдПрдиред

CAS рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрд░ (рдЬреБрди рдЯреЗрдкрдмрд╛рдЯ рдбрд╛рдЯрд╛рдХреЛ рдПрдХ рдмрд┐рдЯ-рдмрд╛рдЗ-рдмрд┐рдЯ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдиреНрдпреЛ рдЬреБрди рдорд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рд╣рд╛рддрдорд╛ рдерд┐рдпреЛ, рд╕рд┐рдЩреНрдХ рдмрд╛рдЗрдЯрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдХреЛ рд╕рд╛рде рд╣реЗрдбрд░ рдмрд╛рд╣реЗрдХ), рдореИрд▓реЗ рдПрдЙрдЯрд╛ рдмрдирд╛рдПрдХреЛ рдЫреБред рдореЗрд░реЛ рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рдХреЗрд╣рд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд░ рдЗрдореБрд▓реЗрдЯрд░ (TRS-80 рдореЛрдбреЗрд▓ III) рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХрд╛рдо рдЧрд░реНрдиреЗ CAS рдлрд╛рдЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрд╖рдо рдерд┐рдП:

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

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

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

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

  • рдореИрд▓реЗ ZX рд╕реНрдкреЗрдХреНрдЯреНрд░рдордорд╛ рдбрд╛рдЯрд╛ рдмрдЪрдд рдЧрд░реНрдиреЗ рдврд╛рдБрдЪрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрдБ рд░ рдЕрдбрд┐рдпреЛ рдХреНрдпрд╛рд╕реЗрдЯрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдмрдЪрдд/рдкрдвреНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдорд┐рдд ROM рджрд┐рдирдЪрд░реНрдпрд╛рд╣рд░реВ рдЕрдзреНрдпрдпрди рдЧрд░реЗрдВред
  • рдореИрд▓реЗ TRS-80 рдХрдореНрдкреНрдпреБрдЯрд░ рд░ рдпрд╕рдХреЛ рдХрд┐рд╕реНрдорд╣рд░реВрд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рднрдПрдБ, рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордХреЛ рдЕрдзреНрдпрдпрди рдЧрд░реЗрдВ, рдирдореВрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рд╣реЗрд░реЗрдБ рд░ рдореЗрд╕рд┐рди рдХреЛрдбрд╣рд░реВрдорд╛ рдбрд┐рдмрдЧ рдЧрд░реНрдиреЗ рдЕрд╡рд╕рд░ рдкрдирд┐ рдкрд╛рдПрдХреЛ рдерд┐рдПрдБ (рдмрд╛рджрдорд╛, рд╕рдмреИ Z80 рдирд┐рдореЛрдирд┐рдХреНрд╕рд╣рд░реВ рдорд▓рд╛рдИ рдкрд░рд┐рдЪрд┐рдд рдЫрдиреН)ред
  • рдЕрдбрд┐рдпреЛ рд░реЗрдХрд░реНрдбрд┐рдЩрд▓рд╛рдИ CAS рдврд╛рдБрдЪрд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓реЗрдЦрд┐рдпреЛ, рдЬрд╕рд▓реЗ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рдЙрдкрдпреЛрдЧрд┐рддрд╛рджреНрд╡рд╛рд░рд╛ рдкрд╣рд┐рдЪрд╛рди рдирднрдПрдХреЛ рдбрд╛рдЯрд╛ рдкрдвреНрди рд╕рдХреНрдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди