FPDoom – ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Doom, Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ³ΡΡ Π½Π° ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΠΌ Π½Π° Π΄Π΅ΡΠ΅Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ ΡΠΈΠΏΠ΅ Spreadtrum SC6531 ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ . ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΡΡΡ Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Doom, Π° ΡΠ°ΠΊΠΆΠ΅ Duke3D, Shadow Warrior, Blood, Wolfenstein 3D ΠΈ ΠΏΠΎΡΡ InfoNES.
ΠΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ bare-metal, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ (Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΡ, Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΠ³ΡΡ Ρ SD-ΠΊΠ°ΡΡΡ). Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΎΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Spreadtrum SC6530/SC6531, ΡΡΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΌ ΡΡΠ½ΠΊΠ΅. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² Readme.
ΠΠ»Π°Π²Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° – ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ½ΠΎΡ ΡΠΎΠΌΠ½ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ (128×64, 96×68). ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΆΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π»ΡΠ΄Π΅ΠΉ ΠΏΡΠ³Π°ΡΡ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π³ΠΎΠ΄Π°. ΠΡΠΈ ΡΠΊΡΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ 1 Π±ΠΈΡ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»Ρ, Π½ΠΎ ΠΏΡΠΈ Π±ΡΡΡΡΠΎΠΌ ΠΌΠΈΠ³Π°Π½ΠΈΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ΅Π½ΠΊΠΈ ΡΠ΅ΡΠΎΠ³ΠΎ. ΠΠ΅ΡΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ temporal dithering, ΡΡΠΎ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ Π¨ΠΠ (PWM). ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ. ΠΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΈΠ³ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Doom Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° 35 ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ), ΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠΌΠΈΡ.
ΠΠ²ΡΠΎΡΡ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΎΡΡ 3 Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΊΡΠ°Π½ΠΎΠ²:
- 128×64 ST7567A: Π‘Π°ΠΌΡΠΉ Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎ 300 ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ ΡΡΠΌ Π΅Π΄Π²Π° Π²ΠΈΠ΄Π΅Π½ Π³Π»Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΌΠ΅ΡΠ° ΡΠΌΠ°ΡΡΡΠΎΠ½Π° ΡΡΠΌ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π΅Ρ. ΠΠΊΡΠ°Π½Ρ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ 128×64 ΠΈΠΌΠ΅ΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½ Π½Π΅ 2:1, Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 7:5, ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Π²ΡΡΡΠ½ΡΡΡΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ.
- 96×68 HX1230: ΠΡΠΎ Π΄Π΅ΡΠ΅Π²Π°Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΡ ΡΠΊΡΠ°Π½ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΡ Π² ΡΡΠ°ΡΡΡ Nokia. ΠΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ ΡΠΊΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ, ΠΈ ΠΎΠ½ΠΎ Π·Π°Π²ΡΡΠ΅Π½Π½ΠΎΠ΅, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ ΡΠΊΡΠ°Π½ ΡΠ΅ΡΠ½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄ΠΈΡΠ°ΡΡ Π³Π°ΠΌΠΌΡ Π² ΠΈΠ³ΡΠ°Ρ . ΠΠΊΡΠ°Π½ ΡΡΠΎΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· GPIO, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π΄Π΅ΡΠ³Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. Π§Π°ΡΡΠΎΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠΊΠΎΠ»ΠΎ 75 ΠΊΠ°Π΄ΡΠΎΠ², Π·Π°ΠΌΠ΅ΡΠ½ΡΠΉ ΡΡΠΌ.
- 128×64 ST7565R: ΠΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΎΠΊΠΎΠ»ΠΎ 77. ΠΡΠ»ΠΈ ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΡΡ Π² ΡΠ°ΡΡΠΎΡΡ, ΡΠΎ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΎΡΠ½ΠΎ, ΡΠΎ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΠ±Π΅Π³Π°Π΅Ρ Π»ΡΠ³ΠΊΠΈΠΉ ΡΡΠΌ (Π²ΡΠ±ΡΠ°Π½ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ).
Π£ Π²ΡΠ΅Ρ ΡΠΊΡΠ°Π½ΠΎΠ² ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΡΠ΅ΠΊΡΡ motion-blur. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ-ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ (Π²ΠΈΠ΄Π΅ΠΎ).
Π’Π°ΠΊΠΆΠ΅ Π² ΡΡΠΎΠΌ ΡΠ΅Π»ΠΈΠ·Π΅:
- Π£ΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° 50 ΠΌΠΎΠ΄Π΅Π»ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ².
- ΠΠ°ΠΏΠΈΡΠ°Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠΈΠΏ LZMA-Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΎΡΠ°, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΡΠΆΠ°ΡΠ°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. Π Π°Π½Π΅Π΅ Π΄Π»Ρ 40% ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΡΡΠ½ΡΡ Π΄ΠΎΡΡΠ°Π²Π°ΡΡ ΠΈΠ· ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ³ΡΡ.
- ΠΠ»Ρ ΠΏΠΎΡΡΠΎΠ² Doom ΠΈ Wolf3D Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡ Π½Π° Π½Π΅ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru