рдореЗрдорд░реА рдбреЗрдореЛ 256 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдХреИрд╕реЗ рдлрд┐рдЯ рд╣реЛрддрд╛ рд╣реИ


рдкрд░рд┐рдЪрдп


рдирдорд╕реНрдХрд╛рд░! рдореЗрд░рд╛ рдирд╛рдо рд╣реЗрд▓рдореВрдб рд╣реИ, рдФрд░ рдпрд╣ рд▓реЗрдЦ рдПрдХ рдЫреЛрдЯреЗ рдПрдордПрд╕ рдбреЙрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╛рджреЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ 256 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЖрдХрд╛рд░ рд╣реИ, рдпрд╣ 2020 рдореЗрдВ ┬лрдкреАрд╕реА 256 рдмрд╛рдЗрдЯ┬╗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдбреЗрдореЛрд╕рд┐рди ┬лрд╕рдВрд╢реЛрдзрди┬╗ рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЬреАрддрд╛ , рдФрд░ рдСрдбрд┐рдпрдВрд╕ рдЕрд╡рд╛рд░реНрдб рднреА рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдЖрдк рдпрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ , рдФрд░ рдСрдирд▓рд╛рдЗрди рджрд░реНрд╢рдХреЛрдВ рдФрд░ рдордзреНрдпрд╕реНрдереЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╡реАрдбрд┐рдпреЛ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред рд░рд┐рд▓реАрдЬ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЫреЛрдбрд╝реЗрдВред рдпрд╣ рд▓реЗрдЦ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЧрд╣рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдЧрд╛, рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╕рдВрджрд░реНрднреЛрдВ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдЦ рд╕рд┐рдЬрд╝рдХреЛрдбрд┐рдВрдЧ рд╡рд┐рдХреА рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рди рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдпрд╛рджреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдмрд▓реНрдХрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдорд╛рди рдмрдирд╛рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛ред рдЗрд╕реЗ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░реЗрдВ! рдпрджрд┐ рдЖрдк рд╕рд┐рдЬрд╝рдХреЛрдбрд┐рдВрдЧ (рд╡рд╛рдВрдЫрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рднреАрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛) рдпрд╛ x86 рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рдХреА рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ ред рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдореАрдХреНрд╖рд╛


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо DosBox (256 рдмрд╛рдЗрдЯреНрд╕) рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдлреНрд░реАрдбреЛрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА рдбреЙрд╕ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИрдВ, рдЬреЛ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рдереЗред рдЗрди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдкреНрд░рдорд╛рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗрд╡рд▓ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред 2020 рдХреЗ "рд╕рдВрд╢реЛрдзрди" рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА "рдкреАрд╕реА 256 рдмрд╛рдЗрдЯреНрд╕" рд╢реНрд░реЗрдгреА рдореЗрдВ, "рдлреНрд░реАрдбреЛрд╕" рдпрд╛ "рдбреЙрд╕рдмреЙрдХреНрд╕" рдХреЛ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ (рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз)ред рдЬреИрд╕рд╛ рдХрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рд╛рдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк DosBox рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ FreeDos, MS DOS, WinXP рдФрд░ Win98 рдореЗрдВ рдХрд╛рдо рдХрд░реЗ, рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

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

рдЫреЛрдЯреЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕



Http://www.pouet.net рдкрд░ рдЖрдпрд╛рдо рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ

рд╣рдо, рд╕рд╛рдЗрдЬрд╝рдХреЛрдбрд░реНрд╕, рдЖрдХрд╛рд░ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рд░рдгред рдПрдордПрд╕ рдбреЙрд╕ рдХреЗ рд▓рд┐рдП, рдпреЗ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ 256 рдмреА, 128 рдмреА, 64 рдмреА рдФрд░ 32 рдмреА рд╣реИрдВред рдпреЗ рдбреЗрдореЛ рджреГрд╢реНрдп www.pouet.net рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдорд╛рдирдХ рд╣реИрдВред рдХреЛрдИ 16 рдмреА рд╢реНрд░реЗрдгреА рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдИ рдЫреЛрдЯреЗ рдкреНрд░рднрд╛рд╡ 16 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред "рдпрд╛рджреЗрдВ" рд╕реЗ рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░рднрд╛рд╡ рдкрд╣рд▓реЗ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдирдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рднрд╛рд╡ рдХреЗ рдореМрдЬреВрджрд╛ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ, рдпрд╛ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХрд╛, рд▓реЗрдХрд┐рди рдЫреЛрдЯрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рдерд╛ред рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рд╕реЗ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдХрдореА рдХрд░рдирд╛ рд╣реИ 2 ^ Nред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкреНрд░рднрд╛рд╡ 33-64 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдпрд╣ 32 рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдПрдХ рдирд┐рдЪрд▓реА рд╢реНрд░реЗрдгреА рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ "рдХрдо" рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рддреЛ рдореИрдВрдиреЗ рдкрд░рд┐рдгрд╛рдореА рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдбреЗрдореЛрд╕рд┐рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рджреВрд░рджрд░рд╛рдЬ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рд╢реНрд░реЗрдгреА 256 рдмреА рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ, рдФрд░ www.pouet.net рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛редред рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдкреНрд░рднрд╛рд╡реЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдКрдВрдЧрд╛, рд╕рд╛рде рд╣реА рдЙрдирдХреЗ рдореВрд▓ рдФрд░ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рд╢рддрд░рдВрдЬ рдХреА рдмрд┐рд╕рд╛рдд



kasparov, 16 рдмрд╛рдЗрдЯреНрд╕ред

рдЗрд╕ рдЖрд╢рдп рдХрд╛ рд╕реНрд░реЛрдд 2018 рдХрд╛ рдореЗрд░рд╛ рдЦреБрдж рдХрд╛ "Kasparov 16b" ( рд▓рд┐рдВрдХ ) рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ (рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рд╕реЗ рдЙрджреНрдзрд░рдг), рдореИрдВрдиреЗ "рдмрд╕ рдЗрд╕ рдмреЛрд░реНрдб рдХреЛ рдмрдирд╛рдпрд╛, рдЗрд╕реЗ 17 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдлрд┐рдЯ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдПрдХ рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖрдпрд╛ ..."ред рдкрд╣рд▓реЗ, 32 рдмрд╛рдЗрдЯреНрд╕: 2003 рдИрд╡ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рд╣реЗрдбрдХреНрд░реИрд╢ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдерд╛ред ( рд▓рд┐рдВрдХ ) рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ 8x8 рд╡рд░реНрдЧ рдФрд░ рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде "рдЕрд╕рд▓реА" рд╢рддрд░рдВрдЬ рдХреЗ рдмреЛрд░реНрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╕рд╛рде рд╣реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢рддрд░рдВрдЬ рдХреЗ рд╕рд╣реА рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕, рдпрд╛рдиреА рдирд┐рдЪрд▓реЗ рджрд╛рдПрдВ рдХреЛрдиреЗ (рдПрдЪ 1) рдХреЛ рд╕рдлреЗрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПредред рдЗрд╕ рдЖрд╢рдп рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рд╕реНрдореГрддрд┐рдпреЛрдВ" рдореЗрдВ рдЗрд╕реЗ рджреВрд╕рд░реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдкрдбрд╝рд╛: рд╕реНрдХреНрд░реАрди рдкрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреА рджрд┐рд╢рд╛ рдмрджрд▓ рджреА рдЧрдИ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ "рд╕реНрдХреНрд░реЙрд▓ рдЭреБрдХрд╛ рд╣реБрдЖ рд╡рд┐рдорд╛рди" рдкреНрд░рднрд╛рд╡ рд╕реЗ рдЕрд▓рдЧ рд╣реЛред

рдЬреВрдорд┐рдВрдЧ рд╕рд░реНрдХрд▓


рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕рд░реНрдХрд▓ (рдЬрд╝реВрдорд┐рдВрдЧ рд╕рд░реНрдХрд▓) 32 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдЗрдВрдЯреНрд░реЛ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдореЛрдкрд╛рддреА рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдереЗ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдореЗрдВ 64 рдмрд╛рдЗрдЯ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 64 рдмреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рднрд╛рд╡ рд╕рдВрднрд╡ рд╣реИред рдЬрд╝реВрдорд┐рдВрдЧ рд╕рд░реНрдХрд▓ рдПрдХ рдЧреЛрд▓ "рд╕реБрд░рдВрдЧ" рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгреА 32 рдмреА рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╣рддрд╛рд╢ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдереЗ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд┐рдХреЙрд░реНрдб рдЕрднреА рднреА 52 рдмрд╛рдЗрдЯреНрд╕ ("рдиреЙрдирдЯреНрдпреВрдм" - 2016) ( рд▓рд┐рдВрдХ ) рдерд╛, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рд╕рд┐рдХ 64 рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдмрди рдЧрдпрд╛ред -рдмреЗрдЯреЗ рдкреНрд░рднрд╛рд╡ "рдирд┐рд░рдВрддрд░ рд╡рд┐рдХрд╛рд╕" рдбреЗрд╡рд▓рдкрд░реНрд╕ ryg / Farbrausch (2003) ( рд▓рд┐рдВрдХ )ред рдЬреВрдорд┐рдВрдЧ рд╕рд░реНрдХрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рджреВрд░реА рдФрд░ рдХреЛрдг рдХреЛ рд╕рдорд╛рдкреНрдд / рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╢реНрд░реЗрдгреА 32 рдмреА рдореЗрдВ рдЧрд┐рд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред

рдЭреБрдХрд╛ рд╣реБрдЖ рд╡рд┐рдорд╛рди рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛



рдлрд╝реНрд▓реЛрд░рдХрд╛рд╕реНрдЯ, рдПрдХ 32-рдмрд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдг,

рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдЭреБрдХреЗ рд╣реБрдП рд╡рд┐рдорд╛рди рдХреА рднрд┐рдиреНрдирддрд╛ , рдореЗрд░реА рдЕрдкрдиреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, 2018 рдлрд╝реНрд▓реЛрд░рдХрд╛рд╕реНрдЯ 32 рдмреАред "рдлрд╝реНрд▓реЛрд░рд┐рдВрдЧ" рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рд╕рд┐рдЬрд╝рдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдЕрдкрдирд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реИ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ 256 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдШрдЯрдХрд░ 32 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдХреБрдЫ рджреЛ рд╡рд┐рдорд╛рдиреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдиреНрдп рдореЗрдВ - рдХреЗрд╡рд▓ рдПрдХред "рдлрд╝реНрд▓реЛрд░рдХрд╛рд╕реНрдЯ 32 рдмреА" рд░рд┐рд▓реАрдЬ рдореЗрдВ, рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "рдПрдХреНрд╕рдУрдЖрд░" рдмрдирд╛рд╡рдЯ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ "рдпрд╛рджреЗрдВ" рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рдЗрд╕реЗ "рдПрдВрдб" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдВрддрд┐рдо рд╕реНрдкрд░реНрд╢ рдХреЗ рд╕рд╛рде рдорд╛рд╕реНрдХрд┐рдВрдЧ рдХрд┐рдпрд╛ред

  • 2008 рдмрд╛рд░рд┐рд╢_рд╕реНрдЯреЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдг - 256 рдмрд╛рдЗрдЯреНрд╕ - рд▓рд┐рдВрдХ
  • 2008 рдХрд╛ org_100h рд╕рдВрд╕реНрдХрд░рдг - 128 рдмрд╛рдЗрдЯреНрд╕ - рд▓рд┐рдВрдХ
  • 2013 рдмреЙрдбреНрд╕рдлрд░ рд╕рдВрд╕реНрдХрд░рдг - 86 рдмрд╛рдЗрдЯреНрд╕ - рд▓рд┐рдВрдХ
  • 2014 рдмреЙрдбреНрд╕рдлрд░ рд╕рдВрд╕реНрдХрд░рдг - 64 рдмрд╛рдЗрдЯреНрд╕ - рд▓рд┐рдВрдХ
  • 2018 рд╣реЗрд▓рдореВрдб рд╕рдВрд╕реНрдХрд░рдг - 32 рдмрд╛рдЗрдЯреНрд╕ - рд▓рд┐рдВрдХ

рд▓рдВрдмрди рдмрд┐рд╕рд╛рдд



Projektbeschreibung, 32 рдмрд╛рдЗрдЯреНрд╕

рдореИрдВрдиреЗ 2018 рдореЗрдВ 32-рдмрд╛рдЗрдЯ Projektbeschreibung рдкреНрд░рднрд╛рд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдВрдмрди рдЪреЗрд╕рдмреЛрд░реНрдб рдЬрд╛рд░реА рдХрд┐рдПред рдЗрд╕рдореЗрдВ, рдореИрдВрдиреЗ "рдбрд┐рдЧрд┐рдорд╛рдЗрдВрдб" (2006) рдпрд╛ "рдореЗрд░реА" рд▓реБрд╕реА "(2014) ( рд▓рд┐рдВрдХ ) рд╕реЗ 32 рдмрд╛рдЗрдЯреНрд╕ рддрдХ" рдлреЙрд▓реЛ рдж рд▓рд╛рдЗрдЯ "( рд▓рд┐рдВрдХ ) рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА ред рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕реНрд░реЛрдд рд░рд╛рд░рд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рдкреИрд░рд╛рд▓реИрдХреНрд╕рд╛ (32 рдмрд╛рдЗрдЯреНрд╕, 2007, рд▓рд┐рдВрдХ ) рдФрд░ рд╕реЗрдВрд╕реЗрдВрд╕реНрдЯрд╣рд▓ (2013) рджреНрд╡рд╛рд░рд╛ рдмрд╛рдЗрдЯрд░реЛрдкреЛрд▓рд┐рд╕ ( рд▓рд┐рдВрдХ ) рдереЗред) Rrrolas рд░реЗрдВрдбрд░рд┐рдВрдЧ рддрдХрдиреАрдХ рдореЗрд░реЗ рдЕрдВрддрд┐рдо рдирд┐рд░реНрдгрдп рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рдереА, рд╡рд┐рдорд╛рдиреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреНрд░рд┐рдХреЛрдгреЛрдВ рдХреЛ рдЪреЗрд╕рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдореГрддрд┐рдпреЛрдВ рдиреЗ Digimind рд╕рдВрд╕реНрдХрд░рдг рдХреА рд░рдВрдЧ рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдХреГрддрд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡ рдХреЛ рдЕрдзрд┐рдХрддрдо рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Sierpinski rotozoomer



colpinski, 16 рдмрд╛рдЗрдЯреНрд╕


рд░реЛрдЯрд╕реНрдЯрд┐рдХ, 32 рдмрд╛рдЗрдЯреНрд╕

рдЗрд╕рдореЗрдВ рджреЛ рдкреНрд░рднрд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВ: рдПрдХ рдмрдирд╛рд╡рдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░реЛрдЯреЛрдЬрд╝реВрдорд░ рдФрд░ рд╕реАрд░рдкрд┐рдиреНрд╕реНрдХреА рдкреНрд░рднрд╛рд╡ред Sierpinski рдкреНрд░рднрд╛рд╡ рдореЗрд░реЗ рдЕрдкрдиреЗ 2013 рдХреЗ Colpinski 16b рдкреНрд░рднрд╛рд╡ ( рд▓рд┐рдВрдХ ) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ , рдЬрд╣рд╛рдВ рдореИрдВ рдлрдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди fsqrt рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдЗрд╕ рдЖрд╢рдп рдХрд╛ рдХреЛрдИ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ Iterated рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдСрдЯреЛрдореЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп X рдФрд░ Y рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рд╕реАрдзреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред "рд░реЛрдЯреЗрд╢рди рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ" (рд░реЛрдЯреЛрдЬрд╝реВрдорд░) 2017 рдореЗрдВ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ 32 рдмреА рдЗрдВрдЯреНрд░реЛ "рд░реЛрдЯрд╛рд╕реНрдЯрд┐рдХ" ( рд▓рд┐рдВрдХ ) рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдлрд░рдмреНрд░реБрд╢ (51 рдмрд╛рдЗрдЯреНрд╕, 2002, рд▓рд┐рдВрдХ ) рдФрд░ рд╕рдореВрд╣ рдХреЗ "рдЧрд░реНрдЧрд╛рдЬ" рджреНрд╡рд╛рд░рд╛ "рд░реЗрд╕реНрдкрд┐рд░реЗрд╕реА" рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред "(49 рдмрд╛рдЗрдЯреНрд╕, 2002, рд▓рд┐рдВрдХ )ред

рд░реЗрд╕реНрдЯрдХрд╛рд╕реНрдЯ рдЯрдирд▓



рдПрдХ рдирдП рдпреБрдЧ рдореЗрдВ, 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг

рд░реЗрдХрд╛рд╕реНрдЯ рдмреЗрдВрдЯ рдЯрдирд▓ рдореЗрд░реЗ рдЕрдкрдиреЗ 64-рдмрд╛рдЗрдЯ рд░рд┐рд▓реАрдЬрд╝, "рдЗрдирдЯреВ рдП рдиреНрдпреВ рдПрд░рд╛" (2018, рд▓рд┐рдВрдХ ) рдХрд╛ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ ред рдореВрд▓ рд░рдВрдЧреЛрдВ рдХреЛ рдорд╛рдирдХ рдкреИрд▓реЗрдЯ рдХреЗ рд░рдВрдЧреЛрдВ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреНрдпрд╛рдорд┐рддрд┐ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЧрдгрдирд╛рдУрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдмрдирд╛рд╡рдЯ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд╣рд░рд╛рдИ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рдЖрд╢рдп рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдЖрдХрд╛рд░ рдореЗрдВ 50 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред 64-рдмрд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рджреЛ 128-рдмрд╛рдЗрдЯ рдЗрдВрдЯреНрд░реЛ рдереЗ: рдЯреАрдмреАрд╕реА (2009, рд▓рд┐рдВрдХ ) рджреНрд╡рд╛рд░рд╛ рд╕реНрдкреЙрдиреНрдЬреА рдФрд░ рдмреЙрдбреНрд╕рдлрд░ (2014, рд▓рд┐рдВрдХ ) рджреНрд╡рд╛рд░рд╛ рд╡реБрд▓реНрдл128 , рдФрд░ рдореИрдВрдиреЗ рдЦреБрдж рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред

рд╕рд╛рдЧрд░ рд░рд╛рдд рджрд┐рди



рдорд╣рд╛рд╕рд╛рдЧрд░, рд╕рдВрд╕реНрдХрд░рдг 64b

рдорд╣рд╛рд╕рд╛рдЧрд░ рдкреНрд░рднрд╛рд╡ "рдорд╣рд╛рд╕рд╛рдЧрд░" 2016 ( рд▓рд┐рдВрдХ ) рдХреА рдореЗрд░реА 64-рдмрд╛рдЗрдЯ рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ ред рдореВрд▓ рдХреЗ рд░рдВрдЧреЛрдВ рдФрд░ рд╕рдВрдЧреАрдд рдХреА рдПрдХ рдЕрд▓рдЧ рдкреАрдврд╝реА рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рджреЛрдиреЛрдВ рдЬрдирд░реЗрдЯрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдвреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдореБрдЦреНрдп рдпрд╛рджреЗрдВ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рдереЗред "рднреЛрд░" рдХрд╛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рднрд╛рд╡ рд░реВрдкрд░реЗрдЦрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрд╛рд░рдг рд╣реИред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рд▓реБрдкреНрдд рд╣реЛрддреА рдкреНрд░рднрд╛рд╡


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

рдореЗрд░реЗ "рдЫреЛрдЯреЗ рдореЗрдХреЛрдбреЗрдореЛ" рдХреА рд░реВрдкрд░реЗрдЦрд╛


рдХрдИ рдЫреЛрдЯреЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдПрдХ "рдореЗрдЧрд╛рдбреЗрдореЛ" рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрдо рд╕реЗ рдХрдо рдЙрдиреНрд╣реЗрдВ рдорд╛рдиреНрдпрддрд╛рдУрдВ (рд╕реНрдореГрддрд┐ рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ) рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд╕рдордп рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдХреБрд▓ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдкрд╣рд▓реЗ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрд╛, рдФрд░ рдкрд╣рд▓реЗ рддреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рдиред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреБрдЫ рдЕрддреНрдпрдзрд┐рдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкреНрд░рднрд╛рд╡реЛрдВ (рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рджрд░реНрд╢рдХреЛрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП) рдХреЛ рд╣реНрдпреВрдЧ рдЕрддреНрдпрдзрд┐рдХ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдбреЗрдореЛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рднреА рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рддрдп рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдмрд╛рд░-рдмрд╛рд░ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЧрдгрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ "рдмреНрд░реИрдХреЗрдЯрд┐рдВрдЧ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЬреЛ рдХреБрдЫ рдФрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛редрдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ:



org 100h
s:
	mov al,0x13				; set AL to mode 320*200 in 256 colors
	int 0x10	 			; call BIOS to set mode
	xchg bp,ax				; set timing value to 0x13 
	push 0xa000-10			; write the screen adress to register ES
	pop es					; works in conjunction with Rrrola trick
	mov ax,0x251c			; parameter for changing timer interrupt
	mov dl,timer			; adress of timer routine, assume DH=1
	int 0x21				; install timer routine
top:
	mov ax,0xcccd			; load magic Rrrola constant
	mul di					; transform screen pointer to X, Y
	add al,ah				; use transformation garbage as
	xor ah,ah				; pseudorandom value and clear AH
	add ax,bp				; add time value to random value
	shr ax,9				; divide by 512 (basically the speed)
	and al,15				; filter effect number
	xchg bx,ax				; move effect number to BX
	mov bh,1				; reset BH to align with start of code
	mov bl,[byte bx+table]	; read the effect address from the table
	call bx					; call the effect
	stosb					; write the return value and advance
	inc di					; triple interlace trick for after
	inc di					; effect and smoothing the animation
	jnz top					; repeat until the frame is complete
	mov al,tempo			; set AL to divider for timer
	out 40h,al				; set timing (dual pass)
	in al,0x60				; read keyboard
	dec al					; quit on ESC
	jnz top					; otherwise repeat loop
sounds: db 0xc3, 11, 0x93; 0xc3 is MIDI/RET; fx2-s is used as volume
table: 	db fx2-s,fx1-s,fx0-s,fx3-s,fx4-s,fx5-s,fx6-s,sounds-s,stop-s


рд╢рддрд░рдВрдЬ рдХреА рдмрд┐рд╕рд╛рдд



рд╢рддрд░рдВрдЬ

рдХреА рд╕рд░рдгреА рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдкреНрд░рднрд╛рд╡ рд╣реИред рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрд▓рд╛рд╕рд┐рдХ XOR рдкреИрдЯрд░реНрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╢рддрд░рдВрдЬ рдХреА рдмрд┐рд╕рд╛рдд рдХреА рдЫрд╛рдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рджреЛ рдмрд┐рдЯреНрд╕ рд░рдВрдЧ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЕрд╕рд▓реА рдЪрд╛рд▓ рдкреИрд▓реЗрдЯ рдХреЗ "рдЕрдЪреНрдЫреЗ" рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдлрд╝реНрд░реЗрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЬрд┐рд╕реЗ рдХрд╛рд▓рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдирдХ рд╡реАрдЬреАрдП рдкреИрд▓реЗрдЯ рдХрд╛ рдХрд╛рд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ ред рдпрд╣ рдкрд╛рд░реА рдЖрдкрдХреЛ рдЕрдВрдзреЗрд░реЗ рдФрд░ рдкреНрд░рдХрд╛рд╢ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдПрдХ рдкреНрд░рд╛рдЪреАрди рдмрд┐рд╕рд╛рдд рдХрд╛ рдПрд╣рд╕рд╛рд╕ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

	xchg dx,ax		; get XY into AX
	sub ax,bp		; subtract time from row
	xor al,ah		; XOR pattern (x xor y)
	or al,0xDB		; pattern for array of boards
	add al,13h		; shift to good palette spot

рдЬреВрдорд┐рдВрдЧ рд╕рд░реНрдХрд▓



рдЬрд╝реВрдорд┐рдВрдЧ рд╕рд░реНрдХрд▓

рдмрд┐рдВрджреБ (X, Y) рд╕реЗ рдХреЗрдВрджреНрд░ (0,0) рдХреА рджреВрд░реА D рд╣реИ sqrt (X┬▓ + Y D)ред рдкреВрд░реНрд╡ рдореЗрдВ рдХрд┐рдП рдЧрдП рдврд╛рдБрдЪреЗ рдореЗрдВ рдбреАрдПрд▓ рдХреЗрдиреНрджреНрд░рд┐рдд рд╕рдордиреНрд╡рдп X рд╣реЛрддрд╛ рд╣реИ, рдФрд░ DH = Y рдХреЛ рдХреЛрдб рдореЗрдВ рдХреЗрдиреНрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред X86 рдореЗрдВ рд╡рд░реНрдЧрдореВрд▓ рдЧрдгрдирд╛ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдлреА рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд░рдВрдЧреЛрдВ рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде, рдПрдХ рд╡рд░реНрдЧрдореВрд▓ рдХреЗ рдмрд┐рдирд╛ рд╣рд▓рдХреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рднрд╛рд╡рдирд╛ рдХрд╛рдлреА рдареЛрд╕ рд╣реИред

	mov al,dh		; get Y in AL
	sub al,100		; align Y vertically
	imul al			; AL = Y┬▓
	xchg dx,ax		; Y┬▓/256 in DH, X in AL
	imul al			; AL = X┬▓
	add dh,ah		; DH = (X┬▓ + Y┬▓)/256
	mov al,dh		; AL = (X┬▓ + Y┬▓)/256
	add ax,bp		; offset color by time
	and al,8+16		; select special rings

рдЭреБрдХрд╛ рд╣реБрдЖ рд╡рд┐рдорд╛рди рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛



рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдП рдЧрдП рд╡рд┐рдорд╛рди рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛

рдпрд╣ рдкреНрд░рднрд╛рд╡ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рджреВрд░реА рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрдбрд╝реЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рд▓рд╛рдЗрди рдирдВрдмрд░ Y рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдп рдХрд╛ рджреЛ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдП) рдФрд░ рдмреА рдХреЗ рдХреЗрдВрджреНрд░рд┐рдд рдореВрд▓реНрдп рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ рдСрдлрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВред рдлрд┐рд░ рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХреНрд╕рдУрдЖрд░ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреИрдЯрд░реНрди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

	mov ax,0x1329	; initialize with constant
	add dh,al		; preventing divide overflow
	div dh			; reverse divide AL = C/Y'
	xchg dx,ax		; DL = C/Y', AL = X
	imul dl			; AH = CX/Y'
	sub dx,bp		; DL = C/Y'-T 	
	xor ah,dl		; AH = (CX/Y') ^ (C/Y'-T)
	mov al,ah		; move to AL
	and al,4+8+16	; select special pattern

рд▓рдВрдмрди рдмрд┐рд╕рд╛рдд



рд▓рдВрдмрди рдЪреЗрдХрд░ рдмреЛрд░реНрдб

рдпрд╣ рдЧрддрд┐рд╢реАрд▓ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реЗрдХрд┐рдВрдЧ (рдЙрддреНрд╕рд░реНрдЬрдХ рдХрд┐рд░рдгреЗрдВ) рд╣реИред рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдорд╛рди рдХреЛ рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде 16-рдмрд┐рдЯ рдЧреБрдгрд╛ рдФрд░ рд╕реНрддрдВрдн рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрд░реНрдХ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдХрд╛рд░рдг рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рдХреГрддрд┐ рдХреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореЗрд╖ (4 "рдареЛрд╕" рдХреНрд╖реЗрддреНрд░реЛрдВ, 4 "рдкрд╛рд░рджрд░реНрд╢реА" рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ) рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдмреАрдо рдареЛрд╕ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд░рдВрдЧ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИ (+ рдзреВрд╕рд░ рд░рдВрдЧреЛрдВ рдореЗрдВ рдСрдлрд╕реЗрдЯ), рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╡рд┐рдорд╛рди рд╕реНрдХреНрд░реАрди рдкреЙрдЗрдВрдЯрд░ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАред

	mov cx,bp		; set inital point to time
	mov bx,-16		; limit to 16 iterations
fx3L:
	add cx,di		; offset point by screenpointer
	mov ax,819		; magic, related to Rrrola constant
	imul cx			; get X',Y' in DX
	ror dx,1		; set carry flag on "hit"
	inc bx			; increment iteration count
	ja fx3L			; loop until "hit" or "iter=max"
	lea ax,[bx+31]	; map value to standard gray scale

Sierpinski rotozoomer



Sierpinski rotozoomer


рдЧреНрд░рд╛рдл 1 / cos (atan (x)), www.google.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐

рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдпрд╛ рдЙрдирдХреЗ рдЕрдЪреНрдЫреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдШреВрдордиреЗ рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред рдЖрдЗрдП рд╕рд╛рдорд╛рдиреНрдп 2D рд░реЛрдЯреЗрд╢рди рд╕рдореАрдХрд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдЧрдгрдирд╛ рдореЗрдВ рддреНрд░рд┐рдХреЛрдгрдорд┐рддрд┐ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ:

x' = x*cos(a) - y*sin(a)
y' = x*sin(a) + y*cos(a)

рдпрджрд┐ рд╣рдо рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

x' = z * (x*cos(a) - y*sin(a))
y' = z * (x*sin(a) + y*cos(a))

рдЕрдм рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо z рдХреЛ рд╕реНрд╡рдпрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреЛрд╖реНрдардХ рд╕реЗ 1 / cos (a) рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ:

x' = 1/cos(a) * (x - y*tan(a))
y' = 1/cos(a) * (x*tan(a) + y)

рдЕрдм рд╣рдо рдЯреИрди (рдП) рдХреЛ рдЯрд╛рдЗрдо рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдлрд╝рдВрдХреНрд╢рди рдЕрдирдВрдд рддрдХ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 180 ┬░ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ:

x' = 1/cos(atan(T)) * (x - y*T)
y' = 1/cos(atan(T)) * (x*T + y)

рдпрджрд┐ рд╣рдо рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд╛рд░рдХ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рд╕реАрдзреЗ рдХреЛрдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдм рд╣рдо рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ -180 ┬░ рд╕реЗ + 180 ┬░ рддрдХ рдШреВрдо рд╕рдХрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд╛рд░рдХ рд╕рдордп рдЯреА рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЧреБрдгрд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдПрдХ рдЕрд╕реАрдо рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдПрдХ (рдореВрд▓ рдЖрдХрд╛рд░) рддрдХ рд╣реЛрддреА рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ infitesitesimal рд╣реЛрддреА рд╣реИред рдЗрд╕ рдЖрд╢рдп рдХреЛ рд╕рдЬрд╛рдиреЗ, рд╕рдордп рдХреЛ рдареАрдХ рдХрд░рдиреЗ, рдПрдирд┐рдореЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ, рд╕рд╛рдЗрд░рдкрд┐рдиреНрд╕реНрдХреА рдХреЗ рддреНрд░рд┐рдХреЛрдг рдХреЗ рдкрд┐рдХреНрд╕рд▓ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рд╕реБрдВрджрд░ рд░рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдерд╛ред

	lea cx,[bp-2048]; center time to pass zero
	sal cx,3		; speed up by factor 8!
	movzx ax,dh		; get X into AL
	movsx dx,dl		; get Y int DL
	mov bx,ax		; save X in BX
	imul bx,cx		; BX = X*T
	add bh,dl		; BH = X*T/256+Y
	imul dx,cx		; DX = Y*T
	sub al,dh		; AL = X-Y*T/256
	and al,bh		; AL = (X-Y*T/256)&(X*T/256+Y)
	and al,252		; thicker sierpinski
	salc			; set pixel value to black
	jnz fx4q		; leave black if not sierpinski
	mov al,0x2A		; otherwise: a nice orange
	fx4q:

рд░реЗрд╕реНрдЯрдХрд╛рд╕реНрдЯ рдЯрдирд▓



рд░реЗрдХрд╛рд╕реНрдЯ рдмреЗрдВрдЯ рдЯрдирд▓

рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдВрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ "рдирдП рдпреБрдЧ рдореЗрдВ" (рдКрдкрд░ рджреЗрдЦреЗрдВ) рд╕реЗ рд░реИрд╕реНрдЯрд┐рдВрдЧ рд╣реЛрддреА рд╣реИ ред рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рд╛рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЖрд╢рдп рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд░реЗрдбрд┐рдЯ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдиреВрдареЗ рд░рдВрдЧреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛, рдЭреБрдХрд╛рд╡ рдХреА рджрд┐рд╢рд╛ рдмрджрд▓ рджреА, рдФрд░ рдкреБрд░рд╛рдиреЗ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдФрд░ рдбреЙрд╕рдмреЙрдХреНрд╕ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рдорд┐рддрд┐ рдЕрдзрд┐рдХ рдмрдВрдж рд╣реЛ рдЧрдИред

	mov cl,-9		; start with depth 9 (moves backwards)
	fx5L: 
	push dx			; save DX, destroyed inside the loop
		mov al,dh	; Get Y into AL
		sub al,100	; Centering Y has to be done "manually".
		imul cl		; Multiply AL=Y by the current distance, to get a projection(1)
		xchg ax,dx	; Get X into AL, while saving the result in DX (DH)
		add al,cl	; add distance to projection, (bend to the right)
		imul cl		; Multiply AL=X by the current distance, to get a projection(2)
		mov al,dh	; Get projection(1) in AL
		xor al,ah	; combine with projection(2)
		add al,4	; center the walls around 0
		test al,-8	; check if the wall is hit
	pop dx			; restore DX
	loopz fx5L		; repeat until "hit" or "iter=max"
	sub cx,bp		; offset depth by time
	xor al,cl		; XOR pattern for texture 
	aam 6			; irregular pattern with MOD 6
	add al,20		; offset into grayscale palette

рд╕рд╛рдЧрд░ рд░рд╛рдд рджрд┐рди



oceannight


рдорд╣рд╛рд╕рд╛рдЧрд░реАрдп

рдорд╣рд╛рд╕рд╛рдЧрд░ рдкреНрд░рднрд╛рд╡ " рд╕рдирдХ " рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрджрд┐ рд╣рдо рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдлрдкреАрдпреВ рдореЗрдВ рдореВрд▓реНрдп рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдкреИрдЯрд░реНрди рдорд┐рд▓рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реБрдВрджрд░ рддрд░рдВрдЧ рдкреНрд░рднрд╛рд╡ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рдбреАрдПрдХреНрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдПрдХ рд╕рдВрдХреЗрдд рдЙрд▓рдЯ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЖрдХрд╛рд╢ рдХреЛ рд╕рдореБрджреНрд░ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдВрддрд┐рдо рд╕реНрдкрд░реНрд╢ рд░рдВрдЧ рд╣реИред рд╡реИрд╢реНрд╡рд┐рдХ рдврд╛рдВрдЪреЗ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдПрд▓ рдХрд╛ рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдкреНрд░рднрд╛рд╡ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИред рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдлреЗрд░рдмрджрд▓ рдХрд░рдХреЗ, рдЖрдк рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдХрд╛рд╢ рд░рдВрдЧ рдХреЛ "рдореБрдлреНрдд рдореЗрдВ" рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ "рд╕рдВрдХреНрд░рдордг рдХреЗ рджрд┐рди" рдХрд╛ рд░рдВрдЧ, рдЬреЛ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдкрддрд╛ рднреА рд╣реИред рдФрд░ рдпрд╣ рдПрдХ рдЦреБрд╢ рд╕рдВрдпреЛрдЧ рдирд╣реАрдВ рд╣реИред DosBox рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ,рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдЖрдХрд╛рд╢ рдХрд╛ рд░рдВрдЧ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

	sub dh,120			; check if pixel is in the sky
	js fx6q				; quit if that's the case
	mov [bx+si],dx		; move XY to a memory location
	fild word [bx+si]	; read memory location as integer
	fidivr dword [bx+si]; reverse divide by constant
	fstp dword [bx+si-1]; store result as floating point
	mov ax,[bx+si]		; get the result into AX
	add ax,bp			; modify color by time
	and al,128			; threshold into two bands
	dec ax				; beautify colors to blue/black

рд▓реБрдкреНрдд рд╣реЛрддреА рдкреНрд░рднрд╛рд╡


рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдкреНрд░рднрд╛рд╡ рд╡реИрд╢реНрд╡рд┐рдХ рдврд╛рдВрдЪреЗ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕реНрдХреНрд░реАрди рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рдПрдХ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреЗ рд╕реНрдХреЗрд▓ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдп рд╕реЗ рдПрдХ рд╕рдордп рдСрдлрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

	mov ax,0xcccd			; load magic Rrrola constant
	mul di					; transform screen pointer to X, Y
	add al,ah				; use transformation garbage as
	xor ah,ah				; pseudorandom value and clear AH
	add ax,bp				; add time value to random value
	shr ax,9				; divide by 512 (basically the speed)
	and al,15				; filter effect number
	xchg bx,ax				; move effect number to BX
	mov bh,1				; reset BH to align with start of code
	mov bl,[byte bx+table]	; read the effect address from the table

рдорд┐рдбреА рд╕рдВрдЧреАрдд


рдХреЛрдб рдХрд╛ рдпрд╣ рдЦрдВрдб рд╕рдордп рдорд╛рди рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдзреНрд╡рдирд┐ рдмрдирд╛рддрд╛ рд╣реИред рдЪреИрдирд▓ 3 рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ, рд╣рдо "RET" рдХреЗ рд░реВрдк рдореЗрдВ "рдкрд░рд┐рд╡рд░реНрддрди рдЙрдкрдХрд░рдг рдЪреИрдирд▓" рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рднрд╛рд╡ рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ, рдЖрдк рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдорд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдФрд░ рдмрд╛рдЗрдЯ рдмрдЪрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреЛрдб рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм MIDI рдбрд┐рд╡рд╛рдЗрд╕ рдкрд╣рд▓реЗ рд╕реЗ UART рдореЛрдб рдореЗрдВ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЛ рдЕрдиреНрдп рддреАрди рдмрд╛рдЗрдЯреНрд╕ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХрдИ рджрд░реНрд╢рдХреЛрдВ рдФрд░ рдЖрдпреЛрдЬрдХреЛрдВ рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЯреНрдпреВрди рдорд╛рдЗрдХ рдУрд▓реНрдбрдлреАрд▓реНрдб рдХреЗ рдЕрд╡рддрд╛рд░реЛрдВ рдХреА рддрд░рд╣ рдПрдХ рд╕рд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред Hypnoteye 2015 рдХреЗ рдмрд╛рдж рд╕реЗ , рдореИрдВрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ MIDI рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдЕрдВрддрддрдГ рдПрдХ рдЫреЛрдЯрд╛ MIDI рдлреНрд░реЗрдорд╡рд░реНрдХ (64 рдмрд╛рдЗрдЯреНрд╕) рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рдореБрдЦреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдЯреЛрди рд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд┐рдЪ рдХреЗ рд╕рд╛рде рдХреВрджрдирд╛ рдФрд░ рдЙрдЪреНрдЪ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рдЪрд▓реЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реИ (рдбрд┐рд╡реАрдЬрди рдореЛрдбреБрд▓реЛ рджреНрд╡рд╛рд░рд╛)ред рдЪрд░рдгрдмрджреНрдзрддрд╛ рдФрд░ рдиреНрдпреВрдирд╛рдзрд┐рдХрддрд╛ рдХреЗ рд╕рд░рд▓ рд╕рдВрдпреЛрдЬрди рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реМрддреЗрд▓рд╛рдкрди = 3 рдЖрдкрдХреЛ рдПрдХ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдХрдо рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЫреЛрдЯреА рд░рд╛рдЧ рдФрд░ рдЪрд░рдгрд╛рд╡рдзрд┐ = 4 рдпрд╛ рдЪрд░рдгрдмрджреНрдзрддрд╛ = 6 - рддреНрд░рд┐рдХреЛрдгреАрдп рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪреБрдиреЗ рдЧрдП рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде, рдпреЗ рдкреИрдЯрд░реНрди рдЕрдиреБрдХреНрд░рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ рдЙрдЪрд┐рдд рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕реНрд╡рд░ рдХреЗ рд╕реНрдерд╛рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдзреНрд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ред

sounds: db 0xc3, 11, 0x93, fx2-s
...
		inc bp				; increment timing value
		test bp, 7			; play a note every 8th step
		jnz nomuse			; quit if in between
		mov dx,0x330		; port number for MIDI
		mov si,sounds		; adress for sound data
		outsb				; change instrument of channel 3
		outsb				; to vibraphone
		outsb				; play a note on channel 3
		imul ax,bp,-19*32*4	; the magic melody constant
		shr ax,10			; scale down and implicit "and 63"
		add al,22			; pitch base is 22
		out dx,al			; play THIS note on channel 3
		outsb				; play it with THIS volume

рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬ рдХреЛрдб


; "memories" by HellMood/DESiRE
; the tiny megademo, 256 byte msdos intro
; shown in April 2020 @ REVISION
;
;   (= WILL BE COMMENTED IN DETAIL LATER =)
;
; create : nasm.exe memories.asm -fbin -o memories.com
; CHOOSE YOUR TARGET PLATFORM (compo version is dosbox)
; be sure to use the dosbox.conf from this archive!
; only ONE of the defines should be active!
%define dosbox			; size : 256 bytes
;%define freedos		; size : 230 bytes
;%define winxpdos		; size : 263 bytes

; DON'T TOUCH THESE UNLESS YOU KNOW WHAT YOU'RE DOING
%ifdef winxpdos
	%define music
	%define switch_uart
	%define safe_dx
	%define safe_segment
%endif
%ifdef freedos
	%define safe_dx
%endif
%ifdef dosbox
	%define music
	;%define safe_dx ; sometimes needed
%endif

; GLOBAL PARAMETERS, TUNE WITH CARE!
%define volume 127	; not used on dosbox (optimization)
%define instrument 11
%define scale_mod -19*32*4; 
%define time_mask 7
%define targetFPS 35
%define tempo 1193182/256/targetFPS		
%define sierp_color 0x2A
%define tunnel_base_color 20
%define tunnel_pattern 6
%define tilt_plate_pattern 4+8+16
%define circles_pattern 8+16

org 100h
s:
%ifdef freedos
	mov fs,ax
	mov [fs:0x46c],ax
%endif
	mov al,0x13
	int 0x10	 
	xchg bp,ax
	push 0xa000-10
	pop es
%ifndef freedos
	mov ax,0x251c
	%ifdef safe_dx	
		mov dx,timer	
	%else ; assume DH=1, mostly true on DosBox
		mov dl,timer
	%endif
	int 0x21
%endif
top:
%ifdef freedos
	mov bp,[fs:0x46c]
%endif	
	mov ax,0xcccd
	mul di
	add al,ah
	xor ah,ah
	add ax,bp
	shr ax,9
	and al,15
	xchg bx,ax
	mov bh,1
	mov bl,[byte bx+table]
	call bx
	stosb
	inc di
	inc di
	jnz top
	mov al,tempo
	out 40h,al
	in al,0x60
	dec al
	jnz top
sounds:
	db 0xc3	; is MIDI/RET
%ifdef music
	db instrument,0x93
	%ifdef switch_uart
		db volume		; without switch, volume is in table
		db 0x3f 
	%endif
%endif
table: ; first index is volume, change order with care!		    					
	db fx2-s,fx1-s,fx0-s,fx3-s,fx4-s,fx5-s,fx6-s,sounds-s,stop-s
stop:
	pop ax
	ret
timer:
%ifndef freedos
	%ifdef safe_segment
		push cs
		pop ds
	%endif
		inc bp
	%ifdef music	
		test bp, time_mask
		jnz nomuse
		mov dx,0x330
		mov si,sounds
		outsb
		outsb
		outsb
		imul ax,bp,scale_mod
		shr ax,10
		add al,22
		out dx,al
		outsb
		%ifdef switch_uart
			inc dx
			outsb
		%endif
	%endif
nomuse:
	iret
%endif	
fx0: ; tilted plane, scrolling
	mov ax,0x1329
	add dh,al
	div dh
	xchg dx,ax
	imul dl
	sub dx,bp
	xor ah,dl
	mov al,ah
	and al,tilt_plate_pattern
ret
fx2: ; board of chessboards
	xchg dx,ax
	sub ax,bp
	xor al,ah
	or al,0xDB
	add al,13h
ret
fx1: ; circles, zooming
	mov al,dh
	sub al,100
	imul al
	xchg dx,ax
	imul al
	add dh,ah
	mov al,dh
	add ax,bp
	and al,circles_pattern
ret
fx3: ; parallax checkerboards
	mov cx,bp
	mov bx,-16
fx3L:
	add cx,di
	mov ax,819
	imul cx	 
	ror dx,1	 
	inc bx	 
	ja fx3L
	lea ax,[bx+31]	 
ret
fx4: ; sierpinski rotozoomer	
	lea cx,[bp-2048]
	sal cx,3
	movzx ax,dh
	movsx dx,dl
	mov bx,ax
	imul bx,cx
	add bh,dl
	imul dx,cx
	sub al,dh
	and al,bh
	and al,0b11111100
	salc				; VERY slow on dosbox, but ok
	jnz fx4q
	mov al,sierp_color
	fx4q:
ret
fx5: ; raycast bent tunnel
	mov cl,-9
	fx5L: 
	push dx
		mov al,dh
		sub al,100
		imul cl
		xchg ax,dx	
		add al,cl
		imul cl
		mov al,dh
		xor al,ah
		add al,4
		test al,-8
	pop dx
	loopz fx5L
	sub cx,bp
	xor al,cl
	aam tunnel_pattern; VERY slow on dosbox, but ok
	add al,tunnel_base_color
ret
fx6: ; ocean night / to day sky
	sub dh,120
	js fx6q
	mov [bx+si],dx
	fild word [bx+si]
	fidivr dword [bx+si]
	fstp dword [bx+si-1]
	mov ax,[bx+si]
	add ax,bp
	and al,128
	dec ax
fx6q:
ret

рдмреЛрдирд╕ - NFO / ASCII
                                                             art : hammerfist
         тИВ#MW%e                              _d$Ng,
         'B,  тИВb                   _jM@$QZb,cQ"  )@
  ,edRB$b,l@   Wk,yGR$KM&$b,     ,dP"     Wl ]bsd%UR8BG6&$@DSyG#ZKM&$b,
,dP      "T%L  'MGF      "*тИВR_   Tg    "*4Zk,#I  YP   W"    7P      "*тИВR
4M   gd@    ^   тИВ@   d@b   dQ$#@Z@R3L_    "*GMj  'W      ,gd$   d@b   9Q$#%b
W#,  `M          Wb  `*  _4P   `Qk  *#N8L   `H5   @b   'QR7YK   `*  _4F"   Qk
`6@L             dML            '@          ,BK   'M    тИВB  *b,            '#L
  ^QBb,_     _,4&MтИЮтИВ@=,_       _dGL       _gQKM    GL    @k  'Mg,_         _dG,
    "*BN5W$2#MNP"   "*G3WRM8&B5P"`Y@QNW3Z5P" тИВ#$W8BRM3XZN87    "*GW38M%EBDW5P"`


                              p r e s e n t s

            4
           d@,
         _& `Wl
      _,aP   "#baedM$#@@K JP*"?ML
 ,ad@$#P"         ,d@NEWVB"     X,aQPYb,_
V@Mm,_          ,d@MW#BW'      EMP"   '┬╢R ,ngBP^fML
 ┬╢M@N@y        Y#BNW#M"       J9"      `MQ9"      "MgRBq  ,QBMg,
  VN#P` ,d@@    `WM@^                   7f         ┬╢F` 7kY"   ^G  _.eQNE1.
   ]B _G@MWN$,   `P                     '     4b       QP      ┬╢w@F*^  ^Qb
   ]O@NRM#W@MNB,         ;                    ^`      j        JP^       Yl
  J#NRNWM@#BcT"^        ,A  _J                     _q@                   `X
 '┬╢WM#B@WdY`,7        _G#YN#PM                 _,gG"                      M,
  *BN#WP"  dK       ,Q@NRMB"]9       ,      _,M@Q*                        #A
   "U^      V@h,   iNBW#NT  J'      J9     s@QN"         _;               'D,
             ┬╢RMBv&NMQR@9  .W      .K'     "9`         ,6BA   _JL          ]l
              Y#NE@W#NRP   #[      `┬╢8               _d@MW#B_jW#W          BN
               "GQ@MR#W    QL_      *B            _,p#NBW#NQMG@WY          3Q
                  "Y@F     ,XW@M%im,_Yb_     _,g5@#MW@QMNE@E@NRMB         ,WM
                    `  _,gP*"#REM#GB@N#MQbnd@N#M@MW#R8QSB^'WQERM@        ;4NB,
                     ,GYKL    ┬╢E#B8R8QSB@M@#BM#W@MNB"`_  ,  "^` N       ,dW@Ql
                   _Q`'W`*t    '┬╢@GS#MBQ#E@W#NQBW[     'LvQ_   ,K    _dNABGM#N
                  ,F   '          `^WAB@QGE9*"9^*@L    jP7FY,  ┬╢h,_.jWM#BR#GBM,
                 J;    ,   _                  '       '   "LL  YxE#B8R8QSBNW@W;
                AP   _,Ag6^          _   J                  ┬╢A  `"Q#M@MW#R8E#P
               j@   `"XQW[            'LvK,_      'L_,/      @t    Y#NE@WNR"
              :M/     9^*@L           jP7F"       _PYKL     _,A;     ┬╢RSNQ"
              dKL     '     `        '   "L      "`'W`*t   `"XQb      `W^
              Q`8t            'L_,/         ,   _   '        9^Q
             ,W               _PYKL       _,Ag6^             ' W,     _ ,#N&
             !N  _   J       "`'W`*t     `"XQW[       _  J     N!_JG9^RwQ' *t
             `W,  'LvK,_        '        _gGB8@L   _   'LvK,_ ,WgB'    V    7L
         _.,gm&@B&wBZF"                j@'`  "WL _gML  jZd7Yb lN"          dBWl
      ,g&QB*"^`    `"*G@g, .gR&k,_   ,N"      '@QF  ┬╢k;gMF  *QvQ     jQ, ,@N@B#,
   .eQF*`              `Yb@"  "*6Qg,gF     ,   7     XMN"    'MNB,    ^┬╢QWSER@N;
 ,gP"           qy,      W'       ^Q'     &L      ,g@W'       `QMEL     `"WBNWP
g7              ┬╢9      ,X         M?     9"   _q8MSK           ┬╢EMt       *@K
Vh   _,m#L             _AH        le         ,GBDNE9^A,          *@F        NMg
 ┬╢L,qQ@ND           _.m@Bl        We      ,gM@B8#Q'   ┬╢h_                   lWE,
  W9NHW@`          JWM#B@]        @e     4WR@NGF^      'QL                  dRWl
   VMd*            "@BE@PM        'N      *UP"           VW,               JRSB;
  ,@F       j       `┬╢WK W,        ┬╢t                     XNt            _A@E#N
_JP       ,6&         "GLdM         XD,               _.g8NMA@k,_    _,gG#NMGR;
"Z      .JRER           'VMi     _jNB#W&_         _,j@E@W#Nl ┬╢MBGMNQGNQMG@QBW9
 ┬╢h   ,G@NRMBl            `"   ,d#R@M$F ┬╢Mg,_.gp&@@NEWVBWBMG  *QMN8R8SBN$E@WF
  Vb dW#R8QSRb,                 *YM@EQ,_ 'MENBW#NQMG#B@R@MW#l   "BM@QNENRQG'
   *WGS#MBMNEYL                    `^"*8M@Q@NRM#W@BWSNW@QBF"`     `^*@QBF^ [HFT]
    ^M@MW#Q9 ^Wt                           `^┬╢RQ@W8NQGP*`
     ┬╢Q#@P     Vk                            lA `"^`
      Y"       `MA                           J#,
                *R@,                        ,MQl
                 Y#Wk,                      GWM8L
                  W8RQSt,_                 AQ@MR#,
                  `@M@#SB@Mbm.,_          QNBW#NW
                    ┬╢QB8R8SBN$WNRM@#GNtwg@NMQR@B'
                     *MBQ#8R8QS@NE@WNBW#NQMG@NR;
                      `WGS#MBQ#R8QSB@NE@W#NQBW9
                        *OMW@QMNE@E@NRMW@QMB@*
                          `^"YQW@Q#SB#NE@EGP
                               `^"*8R@GBQF`


All Articles