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 |