рдорд╛рди рд╕рдореНрдорд╛рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдФрд░ рднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рд╕рдореНрдорд╛рдиред рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЖрдкрдХреЛ рд▓реЛрдХрддрдВрддреНрд░ рдХреА рдЖрдХрд░реНрд╖рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдбреБрдмреЛ рджреЗрдВрдЧреЗред рдЖрдЬ рд╣рдо рд╕рд┐рдЬрд╝рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рд░рд┐рд▓реАрдЬ рди рдХреЗрд╡рд▓ рд╕рдВрдХреАрд░реНрдг рджрд╛рдпрд░реЗ рдореЗрдВ рдПрдХ рдкрдВрде рдХреА рд╕реНрдерд┐рддрд┐ рдереА - рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реАрдзреЗ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рджрд┐рдорд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ рдЖрдИрдбреАрдП рдкреНрд░реЛ рд╕реАрдЦрдиреЗ, рдХреЛрдб рджреЗрдЦрдиреЗ рдФрд░ рд╕рднреА рдЫреЛрдЯреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдШреБрд╕рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рдерд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬрд╛рджреВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВредрдпрд╣ рдХреНрдпреВ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдХреНрд░реЙрд╕ рд╣реИ - рджреВрд░ 1996 рд╕реЗ рдкреАрд╕реА рдХреЗ рд▓рд┐рдП 128 рдмрд╛рдЗрдЯреНрд╕ рдкрд░рд┐рдЪрдп: рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд╛ рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╣реИ:
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рджрд╛рджрд╛ рдХреИрд╕реЗ рд▓рдбрд╝рддреЗ рдереЗ ... FIDO- рд╕рдореНрдореЗрд▓рди DEMO.DESIGN рдореЗрдВ Enlight'95 рдХреА рд╕рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж, рдкреАрд╕реА рдХреЗ рд▓рд┐рдП 128-рдмрд╛рдЗрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрднрд╛рд╕реА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереАред рд╡рд╣ рдХрдИ рдорд╣реАрдиреЛрдВ рддрдХ рдЪрд▓рд╛, рдЖрдпреЛрдЬрдХреЛрдВ рдиреЗ рдкрд░рд┐рдгрд╛рдо рдПрдХрддреНрд░ рдХрд┐рдП, рдорддрджрд╛рди рдХрд┐рдпрд╛ рдФрд░ рд╡рд┐рдЬреЗрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рд░рд┐рд╣рд╛рдИ рд╕рдВрдЧреНрд░рд╣ рдбреЗрдореЛ design'96 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ Pouet рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдПред рд╡рд┐рдЬреЗрддрд╛ рдореИрдб рдореИрдХреНрд╕ / рдХрддрд╛рд░ рд╕рджрд╕реНрдп рд╕рдореВрд╣ рд╕реЗ рдПрдХ рдХреНрд░реЙрд╕ рдерд╛ ред рдХреНрдпреВрдПрдордЬреА рд╕рдореВрд╣ рд╕рдорд╛рд░рд╛ рд╕реЗ рд╣реИ, рдЙрд╕ рд╕рдордп рд▓реЛрдЧ рддрдХрдиреАрдХреА рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЫрд╛рддреНрд░ рдереЗ, рдФрд░ рдореИрдб рдореИрдХреНрд╕ рдЦреБрдж рдкреВрд░реА рдЯреАрдо рдХреЗ рдиреЗрддрд╛ рдереЗредрдЗрд╕ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдиреЗ рдкреВрд░реЗ рджреЗрд╢ рдореЗрдВ рдпреБрд╡рд╛ рджрд┐рдорд╛рдЧ рдХреЛ рдЗрддрдирд╛ "рд╣рд┐рд▓рд╛" рджрд┐рдпрд╛ рдХрд┐ Enlight'96 рдХреЗ рдЖрдпреЛрдЬрдХреЛрдВ рдиреЗ рдЕрдкрдиреА рдкреАрда рдкрд░ рдХреНрд░реЙрд╕ рдбрдВрдк рдкреНрд░рд┐рдВрдЯрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдЯреА-рд╢рд░реНрдЯ рдХрд╛ рдкреНрд░рд┐рдВрдЯ рдЫрдкрд╡рд╛рдпрд╛ред рдпрд╣рд╛рдБ рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣ рддрд╕реНрд╡реАрд░реЗрдВ рд╣реИрдВ:

рдФрд░ Enlight'96 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╕реЗ рдПрдХ рд╢реЙрдЯ :
рдорд╛рд░реНрдЪ 2020 рдореЗрдВ, рд╕рдореВрд╣ = рдЖрд░ рдПрдордбреАрдП = (рдЬреЛ рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдпрд╣рд╛рдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реВрдВ) рдиреЗ рдЗрд╕ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдмрдирд╛рдХрд░ рд╢реБрд░реБрдЖрдд рдХреА ... рд╣рд╛рдБ, рдПрдХ рд╡реАрдбрд┐рдпреЛ, рдЬреЛ рдмрд╛рдж рдореЗрдВ YouTube рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╣рд▓реЗ, 25 рд╡рд░реНрд╖реЛрдВ рдХреЗ рджреМрд░рд╛рди, рдХреНрд░реЙрд╕ рдХрд╛ рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╕рдВрд╕реНрдХрд░рдг рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛, рдФрд░ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рд╢рд╛рд▓реА DosBox рдХреБрдВрдЧ рдлреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИредрдЕрдЧрд▓рд╛, рд╣рдордиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреНрд░реЙрд╕ рд╕рд╣рд┐рдд рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд▓реЗрдЦрдХ рдиреЗ рдЙрд╕ рд╕рдордп рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдирдХреЗ рд╢рдмреНрджреЛрдВ рд╕реЗ, рдХрд╛рдо рдХреЗ рдирд╡реАрдирддрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддрджрдиреБрд╕рд╛рд░, рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рд╣рдорд╛рд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореВрд▓ рдХрд╛ рдЙрд▓реНрдЯрд╛ рд╣реИ:; NASM or FASM
org 100h
mov bx,es
add bh,10h ; bx = cs + 1000h
mov es,bx ; es = segment behind 64k of our code (extra video buffer)
mov ds,bx ; ds = es
xor ax,ax
mov cx,ax
dec cx ; cx = -1
rep stosb ; clear extra video buffer
dec ax ; ax = -1
mov di,0A2D0h ; set pointer to pixel at 130,80 (col,row)
mov cl,80
rep stosw ; fill 80*2 = 160 pixels by 0FFh color (draw horizontal line)
mov bx,19A0h ; set pointer to pixel at 20,160 (col,row)
v: mov [bx],ax ; draw vertical line...
add bx,320
ja v ; ...until bottom
mov ax,13h
int 10h ; set 320x200 (256 colors) graphical video mode
mov dx,3C8h
xor al,al
out dx,al ; start palette set from 0 color
inc dx
mov cx,0C0h*3
rep outsb ; set first 0C0h (192) colors to black
p:
out dx,al ; red component
outsb ; green = 0
outsb ; blue = 0
inc ax ; increase color (1, 2, 3..63)
cmp al,64
jb p ; set colors 0C0h..0FFh to red gradient (from dark to saturated)
mov ch,0A0h
mov ds,cx ; ds = 0A000h = vedeo segment
l: ; bx = pixel pointer, dx = pixel pointer delta value (initial values doesn't matter)
cmp bh,0FAh
jae s ; jump if current pixel is out of screen
mov al,[bx] ; else get color of pixel
cmp al,0C0h
jb s ; jump if pixel color is out of red gradient range (0C0h..0FFh)
; flame effect
dec ax ; else decrase color by 1 (make it darker)
mov [bx+1],al
mov [bx-1],al
mov [bx+320],al ; di = 320
mov [bx-320],al ; and fill pixels around the current by new color
mov si,-640 ; position delta: 2 lines up
test dh,80h
jnz n ; jump if dx is negative (poor pseudorandom boolean check)
add si,2 ; wind effect
n: mov [bx+si],al ; add pixel 2 lines higher than current pixel considering possible wind
s:
; restore cross
mov al,[es:bx] ; get color from extra video buffer
or [bx],al ; replace pixel on screen by 0FFh is al = 0FFh (slow cross redraw)
add bx,dx ; increase pixel pointer by (pseudorandom) delta value
inc dx ; increase delta value
or bx,bx
jnz l ; loop until full screen will be processed
in al,60h ; read keyboard scan code
cmp al,1
jnz l ; repeat if Esc key is not pressed
mov al,3
int 10h ; set text video mode
ret ; return to DOS
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдХреЛ рдХреЛрдб рдХреЛ рдЙрд▓рдЯрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдХреБрдВрдЬреА x86 рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдорд┐рд▓рд╛ред рдпрд╣ рдХреИрд╕реЗ рдХреНрд░реЙрд╕ 2 рдирд┐рдХрд▓рд╛ - рдпрд╣ 1 рдмрд╛рдЗрдЯ рдЕрдзрд┐рдХ рд▓реЗрддрд╛ рд╣реИ (126 рдХреЗ рдмрдЬрд╛рдп 127), рд▓реЗрдХрд┐рди рдЬреЛ рдХреБрдЫ рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд╣ рдкрд╛рда рдФрд░ рдзреНрд╡рдирд┐ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдордиреЗ рд░рдВрдЧ рдХреЛ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рди рдХрд░реЗрдВ:рдпрд╣рд╛рдВ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдзрд░реЛрд╣рд░реЛрдВ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрдИ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдХрдИ рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдордп рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмреАрдд рдЧрдпрд╛, рд▓рдЧрднрдЧ 30 рд╕рд╛рд▓, рдФрд░ рдЕрдиреБрдХреВрд▓рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛ - 20 рдмрд╛рдЗрдЯреНрд╕ (рд▓рдЧрднрдЧ 16% рдХреЛрдб)ред рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдореВрд▓ рд╕реЗ рдПрдХ рдмрд╛рдЗрдЯ рдЕрдзрд┐рдХ рд╣реИ (рдкрд╛рда рдХреЗ 13 рдмрд╛рдЗрдЯреНрд╕ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗ, рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП 6 рдмрд╛рдЗрдЯреНрд╕ рдХреЛрдб, 2 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддрд┐ рдзреНрд╡рдирд┐ = 21, рдорд╛рдЗрдирд╕ 1 рдмрд╛рдЗрдЯ рдЖрдХрд╛рд░ рдЕрдВрддрд░ рдореЗрдВ)редрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫ! рд╕реНрд░реЛрдд cross2 рдкрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ Pouet рдФрд░ рдиреЗрддреНрд░рд╣реАрди рдореВрд▓ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рд▓рд╛рд╣ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдкреАрдЯрд░ [рдореЗрдВрдврдХ] рд╕реЛрдмреЛрд▓реЗрд╡ рдФрд░ рдорд╛рдЗрдХ [рдореИрдб рдореИрдХреНрд╕] рд╢рд┐рд░реЛрдмреЛрдХреЛрд╡ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж ред--- рдИрдУрдПрдл ---# рдПрдлрдПрдл - рдФрд░ рдПрдХ рдкреВрд░реА рдмрд╛рдЗрдЯ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ ... | рдкрд╛рдпрд▓рдЯ)# 00 - рдПрдордмреАрдПрдо ... | рд╕рдВрд╢реЛрдзрди рдХрд╛ рдирд┐рдордВрддреНрд░рдг рдСрдирд▓рд╛рдЗрди 2020# 01 - IBMP ... | рдкрд░рд┐рдЪрдп рдХреНрдпрд╛ рд╣реИрдВ?# 02 - рдПрдордмреАрдПрдо ... | рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкрд╛рд░# 03 - IBMP ... | 2B рдпрд╛ рдирд╣реАрдВ 2B# 04 - IBMP ... | рд╣рдо рд╕реАрдВрдЧреЛрдВ рд╕реЗ рдмреАрд╕реА рд▓реЗрддреЗ рд╣реИрдВ# 05 - ICBM ... | рдПрдиреАрдореЗ# 06 - IBMP ... | рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВрджрд╛рджрд╛ рджрд╛рджреА рдХрд╛ рдордиреЛрд░рдВрдЬрди рдЪреИрдирд▓:teleg.run/borndedрдЪреИрдирд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдЪреИрдЯ рд╣реИред рдЗрд╕рдореЗрдВ, рдЖрдк рдбрд┐рдореЛрд╕рд┐рди, рдЕрд╕реЗрдВрдмрд▓рд░, рдкрд┐рдХреНрд╕реЗрд▓ рдЖрд░реНрдЯ, рдЯреНрд░реИрдХрд░ рд╕рдВрдЧреАрдд рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЕрдиреНрдп рдкрд╣рд▓реБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╡рд╛рд▓ рдЙрдард╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдиреНрдп, рдЕрдзрд┐рдХ рд╡рд┐рд╖рдпрдЧрдд рдЪреИрдЯ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдЗрд╕рд▓рд┐рдП рд╡реЗ рдЬреАрдд рдЧрдП - рдЗрд╕рд▓рд┐рдП рд╣рдо рдЬреАрдд рдЧрдП!