Subversion Repositories Kolibri OS

Rev

Rev 6357 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. mem_screen equ 1200*1000*3 ;à §¬¥à ¯ ¬ï⨠¤«ï ®¡« á⨠íªà ­ 
  3. mem_panel_but equ 50*(20*20*3) ;¯ ¬ïâì ¤«ï ¯ ­¥«¨ ¨­áâà㬥­â®¢
  4. mem_panel_zoom equ 6*(18*21*3) ;¯ ¬ïâì ¤«ï ¯ ­¥«¨ á ª­®¯ª ¬¨ ¬ áèâ ¡®¢
  5. mem_panel_all equ mem_panel_but+mem_panel_zoom ;à §¬¥à ¯ ¬ï⨠¤«ï
  6.         ;¢á¥å ¯ ­¥«¥© ¨­áâà㬥­â®¢
  7. mem_flood_f equ 500000 ;à §¬¥à ¡ãä¥à  ¤«ï § «¨¢ª¨,   â ª¦¥ ¤«ï ¯ «¨âàë
  8. mem_offs_shape equ 4807*4 ;ᬥ饭¨¥ ¤«ï à §¤¥«¥­¨ï ¬ áᨢ  ReserveArray
  9.  
  10. ; ”®à¬ã«ë ¯à¨¬¥à­®£® ¢ëç¨á«¥­¨ï ¯ ¬ï⨠¤«ï । ªâ¨à®¢ ­¨ï:
  11. ;
  12. ; mem_flood_f ¯à¨¬¥à­® à ¢­® 4*((1200^2+1000^2)^0.5)*3*(1+5*5)
  13. ;   ’.¥. 4 ¤¨ £®­ «¨ íªà ­  1200 ­  1000 㬭®¦¥­­ëå ­  26.
  14. ;     ª ¦¤ë© ¯¨ªá¥«ì à¨á㥬®© 䨣ãàë ¯à¨å®¤¨âáï â ª¦¥ ®¡« áâì
  15. ;   ¯ ¬ï⨠¤«ï § ¯®¬¨­ ­¨ï ä®­®¢®£® ¨§®¡à ¦¥­¨ï, á ãç¥â®¬ ⮣®
  16. ;   çâ® ¬ ªá¨¬ «ì­ë© à §¬¥à ª¨á⨠5*5 ¯®«ãç ¥¬ 26 = 1 + 5*5.
  17. ;
  18. ;  ¬ïâì ReserveArray ¤¥«¨âáï ­  2 ®¡« áâ¨: 1-ï ¤«ï â®ç¥ª
  19. ;   à¨á㥬®© 䨣ãàë, 2-ï ¤«ï § ¯®¬¨­ ­¨ï ãç á⪮¢ ä®­  5*5
  20. ;   ¯à¨ªà¥¯«¥­­ëå ª ª ¦¤®© â®çª¥ à¨á㥬®© 䨣ãàë.
  21. ;    §¤¥«¥­¨¥ í⮩ ¯ ¬ï⨠¯à®¨á室¨â ¢ ¯à®¯®à樨 1 ª 26,
  22. ;   çâ® ¯à¨¬¥à­® à ¢­®: mem_flood_f / (1+5*5) ¨«¨ 4807*4.
  23.  
  24. ;----------------------------------------------------------
  25. ;--------change size of memory which use program-----------
  26. ;----------------------------------------------------------
  27. GetMemory:
  28.         pusha
  29.         mov     ecx,[Picture_SizeX]
  30.         mov     edx,[Picture_SizeY]
  31.         imul ecx,edx
  32.         lea     ecx,[ecx+ecx*2]
  33.         lea     ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5
  34.         add     ecx,mem_screen+mem_panel_all+mem_flood_f
  35.         mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
  36.         test eax,eax
  37.         jnz     .have_new_memory
  38.         ;mov esi,sound_havent_memory
  39.         ;call sound
  40.         notify_window_run txt_not_memory
  41.         popa
  42.         add     esp,4
  43.         jmp     still
  44.  
  45. .have_new_memory:
  46.         mov     [ScreenPointer],eax
  47.         call prepare_data_pointers
  48.         popa
  49.         ret
  50. ;---------------------------------------------------------
  51. prepare_data_pointers:
  52.         mov     eax,[Picture_SizeX]
  53.         mov     ebx,[Picture_SizeY]
  54.         imul    eax,ebx
  55.         lea     eax,[eax+eax*2]
  56.         mov     ebx,[ScreenPointer]
  57.         add     ebx,mem_screen+mem_panel_all+mem_flood_f
  58.  
  59.         mov     [PointerToPicture],ebx
  60.         mov     [PointerToCopyPicture],ebx
  61.         mov     [PointerToCopyPicture2],ebx
  62.         mov     [PointerToEditBufer],ebx
  63.         mov     [PointerToSpriteBufer],ebx
  64.  
  65.         add     [PointerToCopyPicture],eax
  66.  
  67.         add     [PointerToCopyPicture2],eax
  68.         add     [PointerToCopyPicture2],eax
  69.  
  70.         add     [PointerToEditBufer],eax
  71.         add     [PointerToEditBufer],eax
  72.         add     [PointerToEditBufer],eax
  73.  
  74.         shl eax,2
  75.         add     [PointerToSpriteBufer],eax
  76.  
  77.         mov     eax,[ScreenPointer]
  78.         add     eax,mem_screen+mem_panel_all
  79.         mov     [PointerToPalette],eax
  80.         mov     [ReserveArray],eax
  81.  
  82.         call scrollbar_move_00 ;®¡­ã«¥­¨¥ áªà®««¨­£ 
  83.         ret
  84. ;---------------------------------------------------------