Subversion Repositories Kolibri OS

Rev

Rev 465 | Rev 472 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 465 Rev 469
Line 52... Line 52...
52
;;
52
;;
53
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
53
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 54... Line 54...
54
 
54
 
Line 55... Line 55...
55
include 'macros.inc'
55
include 'macros.inc'
Line 56... Line 56...
56
 
56
 
57
$Revision: 465 $
57
$Revision: 469 $
58
 
58
 
Line 498... Line 498...
498
        mov     [graph_data_l+2],ax
498
        mov     [graph_data_l+2],ax
499
        shr     eax,16
499
        shr     eax,16
500
        mov     [graph_data_l+4],al
500
        mov     [graph_data_l+4],al
501
        mov     [graph_data_l+7],ah
501
        mov     [graph_data_l+7],ah
Line 502... Line -...
502
 
-
 
503
 
502
 
504
        mov [CURRENT_TASK],dword 1
503
        mov [CURRENT_TASK],dword 1
505
        mov [TASK_COUNT],dword 1
504
        mov [TASK_COUNT],dword 1
506
        mov [TASK_BASE],dword TASK_DATA
505
        mov [TASK_BASE],dword TASK_DATA
Line -... Line 506...
-
 
506
        mov [current_slot], SLOT_BASE+256
-
 
507
 
-
 
508
; set background
-
 
509
        xor  eax,eax
-
 
510
        inc  eax
-
 
511
        mov   [display_data-12],eax
-
 
512
        mov   [display_data-8],eax
-
 
513
        mov   [display_data-4],eax
-
 
514
        mov    [mem_BACKGROUND],4095
-
 
515
        stdcall kernel_alloc, [mem_BACKGROUND]
-
 
516
        mov [img_background], eax
507
        mov [current_slot], SLOT_BASE+256
517
 
508
 
518
 
509
;!!!!!!!!!!!!!!!!!!!!!!!!!!
519
;!!!!!!!!!!!!!!!!!!!!!!!!!!
Line 510... Line 520...
510
include 'detect/disks.inc'
520
include 'detect/disks.inc'
Line 2294... Line 2304...
2294
    cmp   ecx,0
2304
    cmp   ecx,0
2295
    je    sbgrr
2305
    je    sbgrr
2296
    mov   [display_data-8],ebx
2306
    mov   [display_data-8],ebx
2297
    mov   [display_data-4],ecx
2307
    mov   [display_data-4],ecx
2298
;    mov   [bgrchanged],1
2308
;    mov   [bgrchanged],1
-
 
2309
 
-
 
2310
    pushad
-
 
2311
; return memory for old background
-
 
2312
    stdcall kernel_free, [img_background]
-
 
2313
; calculate RAW size
-
 
2314
    xor  eax,eax
-
 
2315
    inc  eax
-
 
2316
    cmp  [display_data-8],eax
-
 
2317
    jae   @f
-
 
2318
    mov [display_data-8],eax
-
 
2319
@@:
-
 
2320
    cmp  [display_data-4],eax
-
 
2321
    jae   @f
-
 
2322
    mov [display_data-4],eax
-
 
2323
@@:
-
 
2324
    mov  eax,[display_data-8]
-
 
2325
    imul eax,[display_data-4]
-
 
2326
    inc  eax
-
 
2327
    imul eax,3
-
 
2328
    mov  [mem_BACKGROUND],eax
-
 
2329
; get memory for new background
-
 
2330
    stdcall kernel_alloc, [mem_BACKGROUND]
-
 
2331
    test eax, eax
-
 
2332
    jz .exit_mem
-
 
2333
    mov [img_background], eax
-
 
2334
.exit_mem:
-
 
2335
    popad
-
 
2336
 
2299
  sbgrr:
2337
  sbgrr:
2300
    ret
2338
    ret
-
 
2339
 
2301
  nosb1:
2340
  nosb1:
Line 2302... Line 2341...
2302
 
2341
 
2303
    cmp   eax,2                            ; SET PIXEL
2342
    cmp   eax,2                            ; SET PIXEL
2304
    jnz   nosb2
2343
    jnz   nosb2
Line 2307... Line 2346...
2307
    jbe   nosb2
2346
    jbe   nosb2
2308
    mov   edx,[ebx]
2347
    mov   edx,[ebx]
2309
    and   edx,0xFF000000 ;255*256*256*256
2348
    and   edx,0xFF000000 ;255*256*256*256
2310
    and   ecx,0x00FFFFFF ;255*256*256+255*256+255
2349
    and   ecx,0x00FFFFFF ;255*256*256+255*256+255
2311
    add   edx,ecx
2350
    add   edx,ecx
-
 
2351
 
2312
    mov   [ebx+IMG_BACKGROUND],edx
2352
;    mov   [ebx+IMG_BACKGROUND],edx
-
 
2353
    push  eax
-
 
2354
    mov   eax,[img_background]
-
 
2355
    mov   [ebx+eax],edx
-
 
2356
    pop   eax
2313
;    mov   [bgrchanged],1
2357
;    mov   [bgrchanged],1
2314
    ret
2358
    ret
2315
  nosb2:
2359
  nosb2:
Line 2316... Line 2360...
2316
 
2360
 
Line 2340... Line 2384...
2340
    cmp   eax,5                            ; BLOCK MOVE TO BGR
2384
    cmp   eax,5                            ; BLOCK MOVE TO BGR
2341
    jnz   nosb5
2385
    jnz   nosb5
2342
  ; bughere
2386
  ; bughere
2343
    mov   edi, [TASK_BASE]
2387
    mov   edi, [TASK_BASE]
2344
    add   ebx, [edi+TASKDATA.mem_start]
2388
    add   ebx, [edi+TASKDATA.mem_start]
2345
 ;   mov   esi, ebx
-
 
2346
 ;   mov   edi, ecx
-
 
2347
    mov   eax, ebx
2389
    mov   eax, ebx
2348
    mov   ebx, ecx
2390
    mov   ebx, ecx
2349
    add   ecx, edx
2391
    add   ecx, edx
2350
    cmp   ecx, 0x160000-16
-
 
2351
    ja    .fin
-
 
2352
 ;   add   edi, 0x300000
-
 
2353
    add   ebx, IMG_BACKGROUND
2392
    add   ebx, [img_background]   ;IMG_BACKGROUND
2354
    mov   ecx, edx
2393
    mov   ecx, edx
2355
    cmp   ecx, 0x160000-16
-
 
2356
    ja    .fin
-
 
2357
;    mov   [bgrchanged],1
-
 
2358
  ;  cld
-
 
2359
  ;  rep   movsb
-
 
2360
    call  memmove
2394
    call  memmove
2361
  .fin:
2395
  .fin:
2362
    ret
2396
    ret
2363
  nosb5:
2397
  nosb5:
2364
 
-
 
2365
    ret
2398
    ret
Line 2366... Line -...
2366
 
-
 
2367
 
2399
 
Line 2368... Line 2400...
2368
align 4
2400
align 4
Line 2369... Line 2401...
2369
 
2401
 
Line 2378... Line 2410...
2378
    ret
2410
    ret
2379
  nogb1:
2411
  nogb1:
Line 2380... Line 2412...
2380
 
2412
 
2381
    cmp   eax,2                                  ; PIXEL
2413
    cmp   eax,2                                  ; PIXEL
2382
    jnz   nogb2
2414
    jnz   nogb2
2383
    mov   edx,0x160000-16
2415
;    mov   edx,0x160000-16
2384
    cmp   edx,ebx
2416
;    cmp   edx,ebx
2385
    jbe   nogb2
2417
;    jbe   nogb2
-
 
2418
;    mov   eax, [ebx+IMG_BACKGROUND]
-
 
2419
    mov   eax,[img_background]
-
 
2420
    mov   eax,[ebx+eax]
2386
    mov   eax, [ebx+IMG_BACKGROUND]
2421
 
2387
    and   eax, 0xFFFFFF
2422
    and   eax, 0xFFFFFF
2388
    mov   [esp+36],eax
2423
    mov   [esp+36],eax
2389
    ret
2424
    ret
Line 3531... Line 3566...
3531
 
3566
 
Line 3532... Line 3567...
3532
calculatebackground:   ; background
3567
calculatebackground:   ; background
Line 3533... Line 3568...
3533
 
3568
 
3534
        ; all black
3569
        ; all black
Line 3535... Line 3570...
3535
 
3570
 
3536
        mov   [display_data-8],dword 4      ; size x
3571
;        mov   [display_data-8],dword 4      ; size x
3537
        mov   [display_data-4],dword 2      ; size y
3572
;        mov   [display_data-4],dword 2      ; size y
3538
 
3573
 
3539
        mov   edi, IMG_BACKGROUND                 ; set background to black
3574
        mov   edi, [img_background]  ;IMG_BACKGROUND                 ; set background to black
Line 3540... Line 3575...
3540
        xor   eax, eax
3575
        xor   eax, eax
3541
        mov   ecx, 0x0fff00 / 4
3576
        mov   ecx, 1023    ;0x0fff00 / 4