forked from KolibriOS/kolibrios
630234432f
git-svn-id: svn://kolibrios.org@109 a494cfbc-eb01-0410-851d-a64ba20cac60
57 lines
1.1 KiB
PHP
57 lines
1.1 KiB
PHP
;--------------------------------------------------------------
|
|
; DRAW_TABLE
|
|
;--------------------------------------------------------------
|
|
draw_table: mov esi,table_tetris+LEN_X*BORDER_TOP+BORDER_LEFT
|
|
|
|
mov ebx,X_LOCATION*65536+ADOBE_SIZE
|
|
mov ecx,Y_LOCATION*65536+ADOBE_SIZE
|
|
mov edi,LEN_Y-BORDER_TOP-BORDER_BOTTOM
|
|
y_draw: push edi
|
|
|
|
mov edi,LEN_X-BORDER_LEFT-BORDER_RIGHT
|
|
x_draw: push edi
|
|
mov ax,13
|
|
movzx edx,byte [esi]
|
|
mov edx,[color_table+edx*4]
|
|
int 0x40
|
|
call draw_frames
|
|
inc esi
|
|
add ebx,65536*ADOBE_SIZE
|
|
pop edi
|
|
dec edi
|
|
jnz x_draw
|
|
|
|
add esi,BORDER_LEFT+BORDER_RIGHT
|
|
mov ebx,X_LOCATION*65536+ADOBE_SIZE
|
|
add ecx,65536*ADOBE_SIZE
|
|
pop edi
|
|
dec edi
|
|
jnz y_draw
|
|
|
|
ret
|
|
|
|
;--------------------------------------------------------------
|
|
|
|
clear_table_tetris:
|
|
cld
|
|
mov al,1
|
|
mov edi,table_tetris
|
|
mov ecx,LEN_X*BORDER_TOP
|
|
rep stosb
|
|
|
|
mov edx,LEN_Y-BORDER_TOP-BORDER_BOTTOM
|
|
adr300: mov cl,BORDER_LEFT
|
|
rep stosb
|
|
dec ax ;AL=0
|
|
mov cl,LEN_X-BORDER_LEFT-BORDER_RIGHT
|
|
rep stosb
|
|
inc ax ;AL=1
|
|
mov cl,BORDER_RIGHT
|
|
rep stosb
|
|
dec dx
|
|
jne adr300
|
|
|
|
mov ecx,LEN_X*BORDER_BOTTOM
|
|
rep stosb
|
|
ret
|