ΠΡΠ΅Π΄ΠΈΡΡΠΎΡΠΈΡ
ΠΠ°ΡΠΎ Π»ΡΠ±ΠΈΡΠ΅Π» Π½Π° ΡΠ΅ΡΡΠΎ ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΡΠ°, ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π·Π°ΠΊΡΠΏΠΈΡ ZX Spectrum+ ΠΎΡ ΠΏΡΠΎΠ΄Π°Π²Π°Ρ Π²ΡΠ² ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΡ. ΠΠ°Π΅Π΄Π½ΠΎ Ρ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π°ΡΠ΄ΠΈΠΎΠΊΠ°ΡΠ΅ΡΠΈ Ρ ΠΈΠ³ΡΠΈ (Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠ°ΡΠ΅ΡΠΈ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ. Π£ΡΡΠ΄Π²Π°ΡΠΎ, Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΠΊΠ°ΡΠ΅ΡΠΈΡΠ΅ Π½Π° 40 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π±ΡΡ Π° Π΄ΠΎΠ±ΡΠ΅ ΡΠ΅ΡΠΈΠΌΠΈ ΠΈ ΡΡΠΏΡΡ Π΄Π° Π·Π°ΡΠ΅Π΄Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ³ΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΎΡ ΡΡΡ .

ΠΠ±Π°ΡΠ΅, Π½Π° Π½ΡΠΊΠΎΠΈ ΠΊΠ°ΡΠ΅ΡΠΈ ΠΎΡΠΊΡΠΈΡ
Π·Π°ΠΏΠΈΡΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ²Π½ΠΎ Π½Π΅ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡ ZX Spectrum. Π’Π΅ Π·Π²ΡΡΠ°Ρ
Π° ΡΡΠ²ΡΠ΅ΠΌ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ ΠΈ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΡ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΡ, Π½Π΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ
Π° Ρ ΠΊΡΠ°ΡΠΊΠΈΡ BASIC bootloader, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΡΠΈΡΡΡΡΠ²Π° Π² Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ ΠΈΠ³ΡΠΈ.
ΠΡΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΎΠ²Π° Π½Π΅ ΠΌΠΈ Π΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠΊΠΎΠΉ β ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°Ρ
Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΡΠΊΡΠΈΡΠΎ Π² ΡΡΡ
. ΠΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ΅ Π°ΡΠ΄ΠΈΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅, ΠΌΠΎΠΆΠ΅Ρ
Π΄Π° ΠΏΠΎΡΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠΊΠ°Π·Π²Π° Π½Π° ΠΏΡΠΎΠΈΠ·Ρ
ΠΎΠ΄Π° Π½Π° ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΎ-Π°ΡΡ
Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ.
Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ
ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΡΠΎΠ·ΠΈ ΠΏΡΡ ΠΈ Π³Π»Π΅Π΄Π°ΠΌ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΈΡΠ΅ ΠΊΠ°ΡΠ΅ΡΠΈ, ΡΠ΅ ΡΡΠΌΠΈΡ
Π²Π°ΠΌ, Π·Π°ΡΠΎΡΠΎ
ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π±Π΅ΡΠ΅ ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄ ΠΎΡΠΈΡΠ΅ ΠΌΠΈ ΠΏΡΠ΅Π· Π²ΡΠΈΡΠΊΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅
ΠΠ° Π΅ΡΠΈΠΊΠ΅ΡΠ° Π½Π° Π»ΡΠ²Π°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠ° β ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° TRS-80, Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ: βManufactured by Radio Shack in USAβ
(ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ ΠΈΠ½ΡΡΠΈΠ³Π°ΡΠ° Π΄ΠΎ ΠΊΡΠ°Ρ, Π½Π΅ Π²Π»ΠΈΠ·Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΡΠΏΠΎΠΉΠ»Π΅ΡΠ°)
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°ΡΠ΄ΠΈΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈΡΠ΅
ΠΡΡΠ²ΠΎΡΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ, Π΅ Π΄Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡΠΈΡΠ΅. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ΅ ΠΊΠ°ΠΊ Π·Π²ΡΡΠΈ:
Π ΠΊΠ°ΠΊ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π²ΡΡΠΈ Π·Π°ΠΏΠΈΡΡΡ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡ ZX Spectrum:
Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ° ΠΏΡΠΈΡΡΡΡΠ²Π° Ρ. Π½Π°Ρ. ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½ β Π·Π²ΡΠΊ Ρ Π΅Π΄Π½Π° ΡΠ΅ΡΡΠΎΡΠ° (Π² ΠΏΡΡΠ²ΠΈΡ Π·Π°ΠΏΠΈΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡΠ°ΡΡΠΊ <1 ΡΠ΅ΠΊ, Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠΌ). ΠΠΈΠ»ΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ½ ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠ³Π½Π°Π» Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π° ΡΠ°ΠΌΠΎ βΡΠ²ΠΎΡβ ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½ ΠΏΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»Π° ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅ΡΡΠΎΡΠ°.
Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π° ΠΈ ΡΠ°ΠΌΠ°ΡΠ° ΡΠΎΡΠΌΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ZX Spectrum ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΡ Π΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°:

ΠΡΠΈ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΏΠΈΠ»ΠΎΡΠ½ΠΈΡ ΡΠΎΠ½, ZX Spectrum ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅Π΄ΡΠ²Π°ΡΠΈ ΡΠ΅ ΡΠ΅ΡΠ²Π΅Π½ΠΎ-ΡΠΈΠ½ΠΈ ΠΈΠ²ΠΈΡΠΈ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½Π°, ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ, ΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΡΡ Π΅ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Ρ. ΠΠΈΠ»ΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ½ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π° Ρ ΡΠΈΠ½Ρ
ΡΠΎ-ΠΈΠΌΠΏΡΠ»Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠΉ ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠ° Ρ ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠ° (Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΈΠ»ΠΎΡΠ½ΠΈΡ ΡΠΎΠ½ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ) ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ (Π²ΠΆ. ΡΠΈΠ³ΡΡΠ°ΡΠ°)
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΈΠ½Ρ ΡΠΎ-ΠΈΠΌΠΏΡΠ»ΡΡΡ Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½, ΠΊΠΎΠΌΠΏΡΡΡΡΡΡ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΡΠΊΠΎ ΠΏΠΎΠ²Π΄ΠΈΠ³Π°Π½Π΅/ΡΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»Π°, ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΠΉΠΊΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠΊΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°, Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π±ΠΈΡ 1, ΠΈΠ½Π°ΡΠ΅ 0. ΠΠΈΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΡ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ N Π±Π°ΠΉΡΠ°. Π§ΠΈΡΠ»ΠΎΡΠΎ N ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΎΡ Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ». ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ°:
- ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½
- Π·Π°Π³Π»Π°Π²ΠΈΠ΅ (Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°), ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ (N), ΠΈΠΌΠ΅ ΠΈ ΡΠΈΠΏ Π½Π° ΡΠ°ΠΉΠ»Π°
- ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΡΠΎΠ½
- ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈ, ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ZX Spectrum ΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π±Π°ΠΉΡ, ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΡΠΎ Π±Π°ΠΉΡ Π½Π° ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° Β (parity byte), ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ 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 Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΏΠ°Π΄Π½Π΅ΠΌ Π² ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ΅Π½ ΠΈΠΌΠΏΡΠ»Ρ (Π΄Π΅ΡΠ΅ΠΊΡΠΈ Π½Π° Π»Π΅Π½ΡΠ°ΡΠ°, Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π»Π΅Π½ΡΠΈ ΠΈ Π΄Ρ.), Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΠΈΠΌΠΏΡΠ»ΡΠ° pos. ΠΠ° ΡΠ΅Π»ΡΠ° ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΌΠ°Π»ΡΠΊ ΡΡΠ°ΡΡΡΠΊ ΠΎΡ Π΄Π°Π½Π½ΠΈ (pos-8;pos+8) ΠΈ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π°ΡΠ°. ΠΠΎΠ·ΠΈΡΠΈΡΡΠ°, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°, ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈΠΌ Π² pos. Π’ΡΠΊ 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 ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΡΠ³ΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΡΠΏΡΡ Π΄Π° Π½Π°ΠΌΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½ΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ β Π·Π½Π°Π½ΠΈΠ΅ΡΠΎ ΠΌΠΈ Π·Π° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΎ-ΠΊΠΎΠΌΠΏΡΡΡΠΈ Π½Π΅ Π±Π΅ΡΠ΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠΈΡΠΎΠΊΠΎ.
Π’ΠΎΠ³Π°Π²Π° ΡΠ΅ΡΠΈΡ Π΄Π° ΠΏΠΎΠ΅ΠΌΠ° ΠΏΠΎ , ΠΈ ΡΡΠΊ ΠΏΠΎΠ³Π»Π΅Π΄ΡΡ ΠΌΠΈ ΠΏΠΎΠΏΠ°Π΄Π° Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Radio Shack ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° TRS-80. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π·ΠΈ ΠΈΠΌΠ΅Π½Π° Π±ΡΡ Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π»Π΅ΠΆΠ°Ρ Π° Π½Π° ΠΌΠ°ΡΠ°ΡΠ° ΠΌΠΈ! Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅Π·ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈ Π½Π΅ Π±ΡΡ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° TRS-80, ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π°ΡΠ΅, ΡΠ΅ Radio Shack Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° Π°ΡΠ΄ΠΈΠΎΠΊΠ°ΡΠ΅ΡΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° BASF, Sony ΠΈΠ»ΠΈ TDK, Π° TRS-80 Π΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅. ΠΠ°ΡΠΎ Π½Π΅?
ΠΠΎΠΌΠΏΡΡΡΡΡΡ Tandy/Radio Shack TRS-80
ΠΠ½ΠΎΠ³ΠΎ Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π°ΡΠ° Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°, Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ Π½Π° ΡΠ°ΠΊΡΠ² ΠΊΠΎΠΌΠΏΡΡΡΡ:

Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΠ΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ (Model I/Model III/Model IV ΠΈ Ρ.Π½.) ΡΠ° Π±ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ Π² ΡΠ²ΠΎΠ΅ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ (ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ Π² Π ΡΡΠΈΡ). ΠΠ°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΡΡΡ
, ΡΡΡΠΎ Π΅ Z80. Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ . ΠΡΠ΅Π· 80-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π² . Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
Π‘Π²Π°Π»ΠΈΡ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° ΠΈ Π·Π° ΠΏΡΡΠ²ΠΈ ΠΏΡΡ ΡΡΠΏΡΡ Π΄Π° Π²ΠΈΠ΄Ρ ΠΊΠ°ΠΊ Π΅ ΡΠ°Π±ΠΎΡΠΈΠ» ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΊΠΎΠΌΠΏΡΡΡΡΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄, ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½Π° Π±Π΅ΡΠ΅ ΡΠ°ΠΌΠΎ 128x48 ΠΏΠΈΠΊΡΠ΅Π»Π°, Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠ°Ρ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½Π°. ΠΠΌΠ°ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° BASIC (ΠΊΠΎΠΉΡΠΎ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ZX Spectrum, Π² Π½ΡΠΊΠΎΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΡΠΈ Π½Π΅ Π±Π΅ΡΠ΅ "Π²Π³ΡΠ°Π΄Π΅Π½" Π² ΠΠΠ£ ΠΈ Π²ΡΠ΅ΠΊΠΈ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΎΡ ΡΠ»ΠΎΠΏΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°ΠΌΠ°ΡΠ° ΠΠ‘)
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΠΌΠ΅ΡΠΈΡ Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡΠΈ Π² ΡΠΎΡΠΌΠ°Ρ CAS, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈΡΠ΅, Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ ΡΡΠΏΡΡ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΊΠ°ΡΠ΅ΡΠΈΡΠ΅ ΡΠΈ Ρ ΡΡΡ .
Π Π°Π·Π±ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π° CAS (ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ±ΠΈΡΠΎΠ²Π° ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ Π»Π΅Π½ΡΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ , Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎ-Π±ΠΈΡΠ°), Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠΈ ΠΈ ΡΡΠΏΡΡ Π΄Π° ΠΏΠΎΠ»ΡΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π½ CAS ΡΠ°ΠΉΠ» Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π°, ΠΊΠΎΠΉΡΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠΈ Π² Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° (TRS-80 Model III):

ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΈΠΌΠΏΡΠ»Ρ ΠΈ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠΎΡΠ½ΠΈΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΠΈ ΠΎΡΠΎΡΠΌΡΡ
Π² Π²ΠΈΠ΄ GEM ΠΏΠ°ΠΊΠ΅Ρ, ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π½Π° .
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΈΠ½Π°Π»ΠΈΡΡ ΠΏΡΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π²ΡΠ»Π½ΡΠ²Π°ΡΠΎ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ Π² ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ, ΠΈ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ, ΡΠ΅ Π½Π°ΠΊΡΠ°Ρ Π½Π°ΠΌΠ΅ΡΠΈΡ ΡΠ°Π·Π³Π°Π΄Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°:
- Π Π°Π·Π±ΡΠ°Ρ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ZX Spectrum ΠΈ ΠΈΠ·ΡΡΠΈΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π² ΠΠΠ£ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅/ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π°ΡΠ΄ΠΈΠΎΠΊΠ°ΡΠ΅ΡΠΈ
- Π‘Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ ΠΊΠΎΠΌΠΏΡΡΡΡΠ° TRS-80 ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ, ΠΈΠ·ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΡΠΈ ΠΈΠΌΠ°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ (Π²ΡΠ΅ ΠΏΠ°ΠΊ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ Z80 ΠΌΠΈ ΡΠ° Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈ)
- Π‘ΡΠ·Π΄Π°Π΄ΠΎΡ ΡΡΠ»ΠΎΡΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΠ΄ΠΈΠΎΠ·Π°ΠΏΠΈΡΠΈ Π² CAS ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π½Π΅ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈ ΠΎΡ "ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ" ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
