Subversion Repositories Kolibri OS

Rev

Rev 31 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ;--------------------------------------------------------------
  2. ; DRAW_TABLE
  3. ;--------------------------------------------------------------
  4. draw_table:     mov esi,table_tetris+LEN_X*BORDER_TOP+BORDER_LEFT
  5.  
  6.                 mov ebx,X_LOCATION*65536+ADOBE_SIZE
  7.                 mov ecx,Y_LOCATION*65536+ADOBE_SIZE
  8.                 mov edi,LEN_Y-BORDER_TOP-BORDER_BOTTOM
  9. y_draw:         push edi
  10.  
  11.                 mov edi,LEN_X-BORDER_LEFT-BORDER_RIGHT
  12. x_draw:         push edi
  13.                 mov ax,13
  14.                 movzx edx,byte [esi]
  15.                 mov edx,[color_table+edx*4]
  16.                 int 0x40
  17.                 call draw_frames
  18.                 inc esi
  19.                 add ebx,65536*ADOBE_SIZE
  20.                 pop edi
  21.                 dec edi
  22.                 jnz x_draw
  23.  
  24.                 add esi,BORDER_LEFT+BORDER_RIGHT
  25.                 mov ebx,X_LOCATION*65536+ADOBE_SIZE
  26.                 add ecx,65536*ADOBE_SIZE
  27.                 pop edi
  28.                 dec edi
  29.                 jnz y_draw
  30.  
  31.                 ret
  32.  
  33. ;--------------------------------------------------------------
  34.  
  35. clear_table_tetris:
  36.                 cld
  37.                 mov al,1
  38.                 mov edi,table_tetris
  39.                 mov ecx,LEN_X*BORDER_TOP
  40.                 rep stosb
  41.  
  42.                 mov edx,LEN_Y-BORDER_TOP-BORDER_BOTTOM
  43. adr300:         mov cl,BORDER_LEFT
  44.                 rep stosb
  45.                 dec ax  ;AL=0
  46.                 mov cl,LEN_X-BORDER_LEFT-BORDER_RIGHT
  47.                 rep stosb
  48.                 inc ax  ;AL=1
  49.                 mov cl,BORDER_RIGHT
  50.                 rep stosb
  51.                 dec dx
  52.                 jne adr300
  53.  
  54.                 mov ecx,LEN_X*BORDER_BOTTOM
  55.                 rep stosb
  56.                 ret
  57.