ΠΏΡΠ°ΠΈΡΡΠΎΡΠΈΡ
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠΌ Π»ΡΠ±ΠΈΡΠ΅Π» Π½Π° ΡΠ΅ΡΡΠΎ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°, Π²Π΅Π΄Π½ΡΠΆ Π·Π°ΠΊΡΠΏΠΈΡ ZX Spectrum+ ΠΎΡ ΠΏΡΠΎΠ΄Π°Π²Π°Ρ Π² ΠΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΎΡΠΎ ΠΊΡΠ°Π»ΡΡΠ²ΠΎ. Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΡΡ ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π°ΡΠ΄ΠΈΠΎ ΠΊΠ°ΡΠ΅ΡΠΈ Ρ ΠΈΠ³ΡΠΈ (Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠ°ΡΠ΅ΡΠΈ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ·Π½Π΅Π½Π°Π΄Π²Π°ΡΠΎ, Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ 40-Π³ΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΊΠ°ΡΠ΅ΡΠΈ ΡΠ΅ ΡΠ΅ΡΡΡ Π΄ΠΎΠ±ΡΠ΅ ΠΈ ΡΡΠΏΡΡ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ³ΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΎΡ ΡΡΡ .
ΠΠ° Π½ΡΠΊΠΎΠΈ ΠΊΠ°ΡΠ΅ΡΠΈ ΠΎΠ±Π°ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡ
Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° ZX Spectrum. Π’Π΅ Π·Π²ΡΡΠ°Ρ
Π° ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΡ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΡ Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ
Π° Ρ ΠΊΡΠ°ΡΡΠΊ BASIC Π±ΡΡΡΠ»ΠΎΡΠ΄ΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΡΠΈΡΡΡΡΠ²Π° Π² Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ ΠΈΠ³ΡΠΈ.
ΠΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΎΠ²Π° ΠΌΠ΅ ΠΏΡΠ΅ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ - ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°Ρ
Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΡΠΈΠ΅ Π² ΡΡΡ
. ΠΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π°ΡΠ΄ΠΈΠΎΡΠΈΠ³Π½Π°Π»Π° ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΡΡΠΈΡΠ΅ Π·Π½Π°ΡΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠΎΠΈΠ·Ρ
ΠΎΠ΄Π° Π½Π° ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ΄ΠΈΠ½ Π²ΠΈΠ΄ ΡΠ΅ΡΡΠΎΠ°ΡΡ
Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ.
Π‘Π΅Π³Π°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ·Π²ΡΡΠ²ΡΡ
ΡΠ΅Π»ΠΈΡ ΠΏΡΡ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ
Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΈΡΠ΅ ΠΊΠ°ΡΠ΅ΡΠΈ, ΡΠ΅ ΡΡΠΌΠΈΡ
Π²Π°ΠΌ, Π·Π°ΡΠΎΡΠΎ
ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π±Π΅ΡΠ΅ ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄ ΠΎΡΠΈΡΠ΅ ΠΌΠΈ ΠΏΡΠ΅Π· ΡΡΠ»ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅
ΠΠ° Π΅ΡΠΈΠΊΠ΅ΡΠ° Π½Π° Π»ΡΠ²Π°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠ° Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° TRS-80 ΠΈ ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ: βΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΎΡ Radio Shack Π² Π‘ΠΠ©β
(ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ ΠΈΠ½ΡΡΠΈΠ³Π°ΡΠ° Π΄ΠΎ ΠΊΡΠ°Ρ, Π½Π΅ ΠΌΠΈΠ½Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΡΠΏΠΎΠΉΠ»Π΅ΡΠ°)
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°ΡΠ΄ΠΈΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈ
ΠΡΡΠ²ΠΎ, Π½Π΅ΠΊΠ° Π΄ΠΈΠ³ΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡΠΈΡΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Π·Π²ΡΡΠΈ:
Π ΠΊΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π²ΡΡΠΈ Π·Π°ΠΏΠΈΡΡΡ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° ZX Spectrum:
Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ° ΠΈΠΌΠ° Ρ.Π½Π°Ρ ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½ - Π·Π²ΡΠΊ ΡΡΡ ΡΡΡΠ°ΡΠ° ΡΠ΅ΡΡΠΎΡΠ° (Π² ΠΏΡΡΠ²ΠΈΡ Π·Π°ΠΏΠΈΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡΠ°ΡΡΠΊ <1 ΡΠ΅ΠΊΡΠ½Π΄Π°, Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°). ΠΠΈΠ»ΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ½ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π° ΡΠ°ΠΌΠΎ ΡΠ²ΠΎΡ βΡΠΎΠ±ΡΡΠ²Π΅Π½β ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½ ΠΏΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»Π° ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅ΡΡΠΎΡΠ°.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅ Π½Π΅ΡΠΎ Π·Π° ΡΠ°ΠΌΠ°ΡΠ° ΡΠΎΡΠΌΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ZX Spectrum ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΡ Π΅ ΠΏΡΠ°Π²ΠΎΡΠ³ΡΠ»Π½Π°:
ΠΠΎΠ³Π°ΡΠΎ Π±ΡΠ΄Π΅ ΠΎΡΠΊΡΠΈΡ ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½, ZX Spectrum ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅Π΄ΡΠ²Π°ΡΠΈ ΡΠ΅ ΡΠ΅ΡΠ²Π΅Π½ΠΈ ΠΈ ΡΠΈΠ½ΠΈ Π»Π΅Π½ΡΠΈ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½Π°, Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅, ΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΡΡ Π΅ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Ρ. ΠΠΈΠ»ΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ½ ΡΠ²ΡΡΡΠ²Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½Π΅Π½ ΠΈΠΌΠΏΡΠ»Ρ, ΠΊΠΎΠ΅ΡΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π΄Π°Π½Π½ΠΈ. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠ° ΡΠ΅ Ρ ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ (Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΈΠ»ΠΎΡΠ½ΠΈΡ ΡΠΎΠ½ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ) (Π²ΠΈΠΆ ΡΠΈΠ³ΡΡΠ°ΡΠ°)
Π‘Π»Π΅Π΄ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ ΠΊΠΎΠΌΠΏΡΡΡΡΡΡ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΡΠΊΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅/ΡΠΏΠ°Π΄Π°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»Π°, ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΠΉΠΊΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠΊΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Π±ΠΈΡ 1 ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ 0. ΠΠΈΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΡ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ N Π±Π°ΠΉΡΠ°. Π§ΠΈΡΠ»ΠΎΡΠΎ N ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΎΡ Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ». ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ°:
- ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½
- Π·Π°Π³Π»Π°Π²ΠΊΠ° (ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°), ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ (N), ΠΈΠΌΠ΅ΡΠΎ ΠΈ ΡΠΈΠΏΠ° Π½Π° ΡΠ°ΠΉΠ»Π°
- ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½
- ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ
ΠΠ° Π΄Π° Π΅ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ZX Spectrum ΡΠ΅ΡΠ΅ Ρ.Π½Π°Ρ ΠΏΠ°ΡΠΈΡΠ΅ΡΠ΅Π½ Π±Π°ΠΉΡ (ΠΏΠ°ΡΠΈΡΠ΅ΡΠ΅Π½ Π±Π°ΠΉΡ), ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΡΠ°ΠΉΠ» ΡΡΠ΅Π· XOR Π½Π° Π²ΡΠΈΡΠΊΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅ ΠΎΡ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ», ΠΊΠΎΠΌΠΏΡΡΡΡΡΡ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΠΏΠ°ΡΠΈΡΠ΅ΡΠ½ΠΈΡ Π±Π°ΠΉΡ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ Π°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ° βR Tape loading errorβ. Π‘ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°ΡΠΎ, ΠΊΠΎΠΌΠΏΡΡΡΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π΄Π°Π΄Π΅ ΡΠΎΠ²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΡΠ°Π½ΠΎ, Π°ΠΊΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π΅ ΠΈΠΌΠΏΡΠ»Ρ (ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΌΡ Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π³ΡΠ°Π½ΠΈΡΠΈ)
Π ΡΠ°ΠΊΠ°, Π½Π΅ΠΊΠ° ΡΠ΅Π³Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΈΠ³Π½Π°Π»:
Π’ΠΎΠ²Π° Π΅ ΠΏΠΈΠ»ΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ½. Π€ΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»Π° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π°, Π½ΠΎ Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΡΡ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΊΡΠ°ΡΠΊΠΈ ΠΈΠΌΠΏΡΠ»ΡΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠΈ ΡΠ΅ΡΡΠΎΡΠ° Π½Π° ΡΠ΅ΠΌΠΏΠ»ΠΈΡΠ°Π½Π΅ ΠΎΡ 44100 Hz, ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ "ΠΏΠΈΠΊΠΎΠ²Π΅ΡΠ΅" Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 48 ΡΠ΅ΠΌΠΏΠ»ΠΈΡΠ°Π½Π΅ (ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΡΠ΅ΡΡΠΎΡΠ° ΠΎΡ ~918 Hz) ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ°.
ΠΠ΅ΠΊΠ° ΡΠ΅Π³Π° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ:
ΠΠΊΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΠΈ, ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ βΠ΄ΡΠ»Π³ΠΈΡΠ΅β ΠΈΠΌΠΏΡΠ»ΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ~48 ΠΏΡΠΎΠ±ΠΈ, Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΡΡΠΈΡΠ΅ - ~24. ΠΠ»Π΅Π΄Π°ΠΉΠΊΠΈ ΠΌΠ°Π»ΠΊΠΎ Π½Π°ΠΏΡΠ΅Π΄, ΡΠ΅ ΠΊΠ°ΠΆΠ°, ΡΠ΅ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΡΠ΅ βΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΠ΅β ΠΈΠΌΠΏΡΠ»ΡΠΈ Ρ ΡΠ΅ΡΡΠΎΡΠ° 918 Hz ΡΠ»Π΅Π΄Π²Π°Ρ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ, ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π΄ΠΎ ΠΊΡΠ°Ρ Π½Π° ΡΠ°ΠΉΠ»Π°. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈ, ΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΈΠΌΠΏΡΠ»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΠΈ, Π½ΠΈΠ΅ Π³ΠΎ ΡΡΠΈΡΠ°ΠΌΠ΅ Π·Π° Π±ΠΈΡ 1, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ 0.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ? ΠΠ΅ΠΊΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅:
ΠΠΈΠ»ΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ½ ΡΠ²ΡΡΡΠ²Π° ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π²Π΅Π΄Π½Π°Π³Π°. ΠΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ
ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡΠ°, ΡΡΠΏΡΡ
ΠΌΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ, ΡΠ΅ ΠΏΡΡΠ²ΠΈΡΡ Π±Π°ΠΉΡ Π΄Π°Π½Π½ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ (10100101b, A5h). ΠΠΎΠΌΠΏΡΡΡΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΏΠΎΠ»ΡΡΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ΅Π½ ΠΈΠΌΠΏΡΠ»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ»Π΅Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ 1-Π²ΠΈ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠΈΡ Π±Π°ΠΉΡ. ΠΡΠΊΡΠΈΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ.
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ Π°ΡΠ΄ΠΈΠΎ ΡΠ°ΠΉΠ» ΠΈ ΡΠ΅ Π·Π°ΡΠ΅Π΄ΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΡΡΠ²ΠΎ, Π½Π΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ, Π·Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° ΠΏΡΠΎΡΡ:
- Π©Π΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ WAV;
- ΠΡΠ΄ΠΈΠΎ ΡΠ°ΠΉΠ»ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ²Π° Ρ ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½ ΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΄ΡΡΠΆΠ° ΡΠΈΡΠΈΠ½Π° Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ
- ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΡΠ΅ΡΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ 44100 Hz. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΠΈ Π½Π° 48 ΠΏΡΠΎΠ±ΠΈ Π²Π΅ΡΠ΅ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π³ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ;
- ΠΡΠΈΠΌΠ΅ΡΠ½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ (8/16 Π±ΠΈΡΠ°/ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ) - ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΠΌΠ΅ Π² ΠΆΠ΅Π»Π°Π½ΠΈΡ;
- ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅, ΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π΅ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΠΎ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°;
ΠΠ»Π³ΠΎΡΠΈΡΡΠΌΡΡ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
- ΠΡΠΎΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π² 8 Π±ΠΈΡΠ°;
- ΠΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ Π² Π°ΡΠ΄ΠΈΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅ Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΠ±Π°ΡΠ° Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π°. ΠΠ° ΠΏΡΠΎΡΡΠΎΡΠ° ΡΠ΅ Π³ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ Π²Π΅Π΄Π½ΡΠΆ ΡΡΡΠ½ΠΎ. ΠΠ΅ΠΊΠ° Π³ΠΎ Π·Π°ΠΏΠ°Π·ΠΈΠΌ Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° prev_pos;
- ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ 48 ΠΊΡΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ (pos := prev_pos + 48)
- Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Ρ 48 Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΡΠ΅ ΡΡΠΈΠ³Π½Π΅ΠΌ Π΄ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ΅Π½ ΠΈΠΌΠΏΡΠ»Ρ (Π΄Π΅ΡΠ΅ΠΊΡΠΈ Π½Π° Π»Π΅Π½ΡΠ°ΡΠ°, Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° Π»Π΅Π½ΡΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Ρ.Π½.), ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠ° ΡΠ°ΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΈΡΠ΅ (ΠΏΠΎΠ·-8;ΠΏΠΎΠ·+8) ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π° Π²ΡΡΡ Ρ ΡΡΡ . ΠΠΎΠ·ΠΈΡΠΈΡΡΠ°, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°, ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½Π° Π² ΠΏΠΎΠ·. Π’ΡΠΊ 8 = 48/6 Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, ΠΊΠΎΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ΠΌ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΈΠΌΠΏΡΠ»ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π½Π°Π±Π»ΠΈΠ·ΠΎ. Π ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΡΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠΌΠΏΡΠ»ΡΠΈΡΠ΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠΎ ΠΎΡ 48, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΈΠΌΠΏΡΠ»Ρ, Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π½ΡΠΌΠ° Π΄Π° ΠΎΠΏΠΈΡΠ²Π°ΠΌ ΡΠΎΠ²Π° Π² Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°;
- Π ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΡΠΏΠΊΠ° ΡΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ Π΄Π°Π»ΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΡ ΠΈΠΌΠΏΡΠ»Ρ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½. Π’ΠΎΠ΅ΡΡ, Π°ΠΊΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠΈΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°, ΡΠΎΠ²Π° Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΡ ΠΏΡΠΈΡΡΡΡΠ²Π° Π² ΡΠΎΠ·ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Ρ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π°ΡΠ° Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΈ Π°ΠΊΠΎ Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°, ΠΎΡΡΠΈΡΠ°ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠΌΠΏΡΠ»Ρ. ΠΡΠΏΡΠΎΡΡΡ Π΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ, Π°ΠΊΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΡ ΠΈΠΌΠΏΡΠ»Ρ Π½Π΅ Π±ΡΠ΄Π΅ ΠΎΡΠΊΡΠΈΡ. ΠΠΌΠ° 2 Π²Π°ΡΠΈΠ°Π½ΡΠ°: ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° ΠΏΡΠΈΠΊΠ»ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠ»Π΅Π΄Π²Π° ΠΌΡΠ»ΡΠ°Π½ΠΈΠ΅, ΠΈΠ»ΠΈ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅. ΠΠΈΠ΅ ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΏΡΡΠ½Π΅ΠΌ ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°;
- ΠΠ° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΡΠΏΠΊΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠΌΠΏΡΠ»Ρ Π·Π° Π΄Π°Π½Π½ΠΈ (Π±ΠΈΡ 0 ΠΈΠ»ΠΈ 1), Π·Π° ΡΠΎΠ²Π° Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° (prev_pos;pos) middle_pos ΡΠ°Π²Π½Π° Π½Π° middle_pos := (prev_pos+pos)/2 ΠΈ Π² Π½ΡΠΊΠ°ΠΊΡΠ² ΠΊΠ²Π°ΡΡΠ°Π» Π½Π° middle_pos Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° (middle_pos-8;middle_pos +8) Π½Π΅ΠΊΠ° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π°. ΠΠΊΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 10, Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π±ΠΈΡ 1 Π² ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ 0. 10 Π΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ;
- ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² prev_pos (prev_pos := pos)
- ΠΠΎΠ²ΡΠΎΡΠ΅ΡΠ΅, ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΠΎΡ ΡΡΡΠΏΠΊΠ° 3, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΡ ΡΠ°ΠΉΠ»;
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΡΡ Π±ΠΈΡΠΎΠ² ΠΌΠ°ΡΠΈΠ² ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ Π½Π°Π±ΠΎΡ ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π²Π·Π΅Ρ ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠΈΡ Π±Π°ΠΉΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅, Π±ΡΠΎΡΡ Π½Π° Π±ΠΈΡΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ ΠΊΡΠ°ΡΠ΅Π½ Π½Π° 8 ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ Π±ΠΈΡΠΎΠ²ΠΎ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΡΡΡΠΎ Π΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ. ΠΡΠΈ ΠΏΡΡΠ²ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π½Π΅ Π·Π½Π°Π΅Ρ Π·Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠΈΡ Π±Π°ΠΉΡ ΠΈ Π·Π°ΡΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠ°Π·ΠΈΡ 8 ΡΠ°ΠΉΠ»Π° Ρ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΠΎΡΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π±ΠΈΡΠΎΠ²Π΅. ΠΠ΄ΠΈΠ½ ΠΎΡ ΡΡΡ ΡΡΠ΄ΡΡΠΆΠ°ΡΠ΅ Π²Π΅ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. Π ΠΊΡΠ°ΠΉΠ½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΠΌ Π²ΡΠΈΡΠΊΠΈ Π±ΠΈΡΠΎΠ²Π΅ Π΄ΠΎ A5h, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΡΠ°ΠΉΠ»
ΠΠ»Π³ΠΎΡΠΈΡΡΠΌ Π² Ruby, Π·Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅
ΠΠ·Π±ΡΠ°Ρ
Ruby ΠΊΠ°ΡΠΎ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π·Π°ΡΠΎΡΠΎ... ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΠΌ Π½Π° Π½Π΅Π³ΠΎ ΠΏΡΠ΅Π· ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΏΡΠΈΡΡΠ° Π½Π΅ Π΅ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Π½ΠΎ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±ΡΡΠ·Π° Π½Π΅ ΡΠΈ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π°.
# ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ 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-ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² ΡΠΎΠ·ΠΈ ΡΠΎΡΠΌΠ°Ρ.
ΠΡΡΡΠ½ΠΎΡΡ ΡΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° BASIC ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. ΠΠΎΠΌΠΏΡΡΡΡΡΡ ZX Spectrum ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π³ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° Π½Π° Π»Π΅Π½ΡΠ°. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ²Π΅ΡΠΈΡ
ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠΌΠΈ
ΠΡΠΎΠ²Π΅ΡΠΈΡ ΠΈ BASIC ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠΌΠΈ Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ Atari, Commodore 64 ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° ΠΎΡ ΠΎΠ½ΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΡΠΏΡΡ Π΄Π° Π½Π°ΠΌΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½ΠΎ Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ - ΠΏΠΎΠ·Π½Π°Π½ΠΈΡΡΠ° ΠΌΠΈ Π·Π° Π²ΠΈΠ΄ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠΈ ΡΠ΅ ΠΎΠΊΠ°Π·Π°Ρ Π° Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠΈΡΠΎΠΊΠΈ.
Π’ΠΎΠ³Π°Π²Π° ΡΠ΅ΡΠΈΡ
Π΄Π° ΠΎΡΠΈΠ΄Π°
ΠΠΎΠΌΠΏΡΡΡΡ Tandy/Radio Shack TRS-80
ΠΠ½ΠΎΠ³ΠΎ Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π²ΡΠΏΡΠΎΡΠ½ΠΈΡΡ Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π΄Π°Π΄ΠΎΡ Π·Π° ΠΏΡΠΈΠΌΠ΅Ρ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°, Π΄Π° Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΊΠ°ΡΠΎ ΡΠΎΠ·ΠΈ:
ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ (ΠΠΎΠ΄Π΅Π» I/ΠΠΎΠ΄Π΅Π» III/ΠΠΎΠ΄Π΅Π» IV ΠΈ Ρ.Π½.) ΡΠ° Π±ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΠΎ Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ Π² Π ΡΡΠΈΡ). ΠΡΠ°Π²ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
Π°, ΡΡΡΠΎ Π±Π΅ΡΠ΅ Z80. ΠΠ° ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ
ΠΠ·ΡΠ΅Π³Π»ΠΈΡ
Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ°
ΠΠ· ΡΡΡΠΎ Π½Π°ΠΌΠ΅ΡΠΈΡ
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΡΠΎΡΠΌΠ°Ρ CAS (ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΏΡΠΎΡΡΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ Π±ΠΈΡΠΎΠ²ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ Π»Π΅Π½ΡΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠ°, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Ρ Π±Π°ΠΉΡ), Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠΎΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈ ΡΡΠΏΡΡ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π° ΡΠ°Π±ΠΎΡΠ΅Ρ CAS ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π² Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° (TRS-80 Model III):
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠ°Ρ
Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ ΠΈ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΠΈ ΠΊΠ°ΡΠΎ GEM ΠΏΠ°ΠΊΠ΅Ρ, ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π°
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅, ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ Π² ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ ΠΈ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ, ΡΠ΅ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°. ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ Π°Π·:
- Π Π°Π·Π±ΡΠ°Ρ ΡΠΎΡΠΌΠ°ΡΠ° Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ZX Spectrum ΠΈ ΠΏΡΠΎΡΡΠΈΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ ROM ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ Π·Π° Π·Π°ΠΏΠΈΡ/ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π°ΡΠ΄ΠΈΠΎ ΠΊΠ°ΡΠ΅ΡΠΈ
- ΠΠ°ΠΏΠΎΠ·Π½Π°Ρ ΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° TRS-80 ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ, ΠΏΡΠΎΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΡΠΈ ΠΈΠΌΠ°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠ°Π²Ρ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ (Π² ΠΊΡΠ°Ρ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ Π½Π° Z80 ΡΠ° ΠΌΠΈ ΠΏΠΎΠ·Π½Π°ΡΠΈ)
- ΠΠ°ΠΏΠΈΡΠ° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΠ΄ΠΈΠΎ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ CAS, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Ρ ΠΎΡ βΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ°β ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com