Rev 2435 | Rev 2438 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2435 | Rev 2436 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | ;; ;; |
15 | ;; ;; |
16 | ;; See file COPYING for details ;; |
16 | ;; See file COPYING for details ;; |
17 | ;; ;; |
17 | ;; ;; |
18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 19... | Line 19... | ||
19 | 19 | ||
Line 20... | Line 20... | ||
20 | $Revision: 2435 $ |
20 | $Revision: 2436 $ |
21 | 21 | ||
Line 450... | Line 450... | ||
450 | ;-------------------------------------- |
450 | ;-------------------------------------- |
451 | align 4 |
451 | align 4 |
452 | .finish: |
452 | .finish: |
453 | add esp, putimg.stack_data |
453 | add esp, putimg.stack_data |
454 | popad |
454 | popad |
- | 455 | cmp [SCR_MODE], dword 0x12 |
|
- | 456 | jne @f |
|
455 | call VGA__putimage |
457 | call VGA__putimage |
- | 458 | ;-------------------------------------- |
|
- | 459 | align 4 |
|
- | 460 | @@: |
|
456 | mov [EGA_counter], 1 |
461 | mov [EGA_counter], 1 |
457 | ret |
462 | ret |
458 | ;-------------------------------------- |
463 | ;-------------------------------------- |
459 | align 4 |
464 | align 4 |
460 | put_image_end_32_new: |
465 | put_image_end_32_new: |
Line 598... | Line 603... | ||
598 | mov eax, [esp+32-8+4] |
603 | mov eax, [esp+32-8+4] |
599 | ;-------------------------------------- |
604 | ;-------------------------------------- |
600 | ; check mouse area for putpixel |
605 | ; check mouse area for putpixel |
601 | test eax, 0x04000000 |
606 | test eax, 0x04000000 |
602 | jnz @f |
607 | jnz @f |
603 | call [_display.check_mouse] |
608 | call check_mouse_area_for_putpixel |
604 | ;-------------------------------------- |
609 | ;-------------------------------------- |
605 | align 4 |
610 | align 4 |
606 | @@: |
611 | @@: |
607 | ; store to real LFB |
612 | ; store to real LFB |
608 | mov [LFB_BASE+ebx+edi], ax |
613 | mov [LFB_BASE+ebx+edi], ax |
609 | shr eax, 16 |
614 | shr eax, 16 |
610 | mov [LFB_BASE+ebx+edi+2], al |
615 | mov [LFB_BASE+ebx+edi+2], al |
- | 616 | ret |
|
- | 617 | ;----------------------------------------------------------------------------- |
|
- | 618 | align 4 |
|
- | 619 | Vesa20_putpixel24_new: |
|
- | 620 | ; eax = x |
|
- | 621 | ; ebx = y |
|
- | 622 | mov ecx, eax |
|
- | 623 | shl ecx, 16 |
|
- | 624 | mov cx, bx |
|
- | 625 | ||
- | 626 | imul ebx, [BytesPerScanLine] ; ebx = y * y multiplier |
|
- | 627 | lea edi, [eax+eax*2]; edi = x*3 |
|
- | 628 | mov eax, [esp+32-8+4] |
|
- | 629 | ;-------------------------------------- |
|
- | 630 | ; check mouse area for putpixel |
|
- | 631 | test eax, 0x04000000 |
|
- | 632 | jnz @f |
|
- | 633 | ;-------------------------------------- |
|
- | 634 | ; check for Y |
|
- | 635 | cmp cx, [Y_UNDER_subtraction_CUR_hot_y] |
|
- | 636 | jb @f |
|
- | 637 | ||
- | 638 | cmp cx, [Y_UNDER_sub_CUR_hot_y_add_curh] |
|
- | 639 | jae @f |
|
- | 640 | ||
- | 641 | rol ecx, 16 |
|
611 | ;-------------------------------------- |
642 | ;-------------------------------------- |
- | 643 | ; check for X |
|
- | 644 | cmp cx, [X_UNDER_subtraction_CUR_hot_x] |
|
- | 645 | jb @f |
|
- | 646 | ||
- | 647 | cmp cx, [X_UNDER_sub_CUR_hot_x_add_curh] |
|
- | 648 | jae @f |
|
- | 649 | ||
- | 650 | call check_mouse_area_for_putpixel_new.1 |
|
- | 651 | ;-------------------------------------- |
|
- | 652 | align 4 |
|
- | 653 | @@: |
|
- | 654 | ; store to real LFB |
|
- | 655 | mov [LFB_BASE+ebx+edi], ax |
|
- | 656 | shr eax, 16 |
|
- | 657 | mov [LFB_BASE+ebx+edi+2], al |
|
612 | ret |
658 | ret |
613 | ;----------------------------------------------------------------------------- |
659 | ;----------------------------------------------------------------------------- |
614 | align 4 |
660 | align 4 |
615 | Vesa20_putpixel32: |
661 | Vesa20_putpixel32: |
616 | ; eax = x |
662 | ; eax = x |
Line 624... | Line 670... | ||
624 | mov eax, [esp+32-8+4]; eax = color |
670 | mov eax, [esp+32-8+4]; eax = color |
625 | ;-------------------------------------- |
671 | ;-------------------------------------- |
626 | ; check mouse area for putpixel |
672 | ; check mouse area for putpixel |
627 | test eax, 0x04000000 |
673 | test eax, 0x04000000 |
628 | jnz @f |
674 | jnz @f |
629 | call [_display.check_mouse] |
675 | call check_mouse_area_for_putpixel |
630 | ;-------------------------------------- |
676 | ;-------------------------------------- |
631 | align 4 |
677 | align 4 |
632 | @@: |
678 | @@: |
633 | and eax, 0xffffff |
679 | and eax, 0xffffff |
634 | ; store to real LFB |
680 | ; store to real LFB |
635 | mov [LFB_BASE+edi], eax |
681 | mov [LFB_BASE+edi], eax |
- | 682 | ret |
|
- | 683 | ;----------------------------------------------------------------------------- |
|
- | 684 | align 4 |
|
- | 685 | Vesa20_putpixel32_new: |
|
- | 686 | ; eax = x |
|
- | 687 | ; ebx = y |
|
- | 688 | mov ecx, eax |
|
- | 689 | shl ecx, 16 |
|
- | 690 | mov cx, bx |
|
- | 691 | ||
- | 692 | imul ebx, [BytesPerScanLine] ; ebx = y * y multiplier |
|
- | 693 | lea edi, [ebx+eax*4]; edi = x*4+(y*y multiplier) |
|
- | 694 | mov eax, [esp+32-8+4]; eax = color |
|
- | 695 | ;-------------------------------------- |
|
- | 696 | ; check mouse area for putpixel |
|
- | 697 | test eax, 0x04000000 |
|
- | 698 | jnz @f |
|
- | 699 | ;-------------------------------------- |
|
- | 700 | ; check for Y |
|
- | 701 | cmp cx, [Y_UNDER_subtraction_CUR_hot_y] |
|
- | 702 | jb @f |
|
- | 703 | ||
- | 704 | cmp cx, [Y_UNDER_sub_CUR_hot_y_add_curh] |
|
- | 705 | jae @f |
|
- | 706 | ||
- | 707 | rol ecx, 16 |
|
636 | ;-------------------------------------- |
708 | ;-------------------------------------- |
- | 709 | ; check for X |
|
- | 710 | cmp cx, [X_UNDER_subtraction_CUR_hot_x] |
|
- | 711 | jb @f |
|
- | 712 | ||
- | 713 | cmp cx, [X_UNDER_sub_CUR_hot_x_add_curh] |
|
- | 714 | jae @f |
|
- | 715 | ||
- | 716 | call check_mouse_area_for_putpixel_new.1 |
|
- | 717 | ;-------------------------------------- |
|
- | 718 | align 4 |
|
- | 719 | @@: |
|
- | 720 | and eax, 0xffffff |
|
- | 721 | ; store to real LFB |
|
- | 722 | mov [LFB_BASE+edi], eax |
|
637 | ret |
723 | ret |
638 | ;----------------------------------------------------------------------------- |
724 | ;----------------------------------------------------------------------------- |
639 | align 4 |
725 | align 4 |
640 | calculate_edi: |
726 | calculate_edi: |
641 | mov edi, ebx |
727 | mov edi, ebx |
Line 1206... | Line 1292... | ||
1206 | ;-------------------------------------- |
1292 | ;-------------------------------------- |
1207 | align 4 |
1293 | align 4 |
1208 | .end: |
1294 | .end: |
1209 | add esp, drbar.stack_data |
1295 | add esp, drbar.stack_data |
1210 | popad |
1296 | popad |
- | 1297 | cmp [SCR_MODE], dword 0x12 |
|
- | 1298 | jne @f |
|
1211 | call VGA_draw_bar |
1299 | call VGA_draw_bar |
- | 1300 | ;-------------------------------------- |
|
- | 1301 | align 4 |
|
- | 1302 | @@: |
|
1212 | xor eax, eax |
1303 | xor eax, eax |
1213 | mov [EGA_counter], 1 |
1304 | mov [EGA_counter], 1 |
1214 | ret |
1305 | ret |
1215 | ;-------------------------------------- |
1306 | ;-------------------------------------- |
1216 | align 4 |
1307 | align 4 |
Line 1389... | Line 1480... | ||
1389 | inc ebx |
1480 | inc ebx |
1390 | cmp ebx, [draw_data+32+RECT.bottom] |
1481 | cmp ebx, [draw_data+32+RECT.bottom] |
1391 | jbe dp2 |
1482 | jbe dp2 |
1392 | popad |
1483 | popad |
1393 | mov [EGA_counter], 1 |
1484 | mov [EGA_counter], 1 |
- | 1485 | cmp [SCR_MODE], dword 0x12 |
|
- | 1486 | jne @f |
|
1394 | call VGA_drawbackground |
1487 | call VGA_drawbackground |
- | 1488 | ;-------------------------------------- |
|
- | 1489 | align 4 |
|
- | 1490 | @@: |
|
1395 | ret |
1491 | ret |
1396 | ;------------------------------------------------------------------------------ |
1492 | ;------------------------------------------------------------------------------ |
1397 | align 4 |
1493 | align 4 |
1398 | vesa20_drawbackground_stretch: |
1494 | vesa20_drawbackground_stretch: |
1399 | pushad |
1495 | pushad |
Line 1596... | Line 1692... | ||
1596 | align 4 |
1692 | align 4 |
1597 | sdpdone: |
1693 | sdpdone: |
1598 | add esp, 44 |
1694 | add esp, 44 |
1599 | popad |
1695 | popad |
1600 | mov [EGA_counter], 1 |
1696 | mov [EGA_counter], 1 |
- | 1697 | cmp [SCR_MODE], dword 0x12 |
|
- | 1698 | jne @f |
|
1601 | call VGA_drawbackground |
1699 | call VGA_drawbackground |
- | 1700 | ;-------------------------------------- |
|
- | 1701 | align 4 |
|
- | 1702 | @@: |
|
1602 | ret |
1703 | ret |
Line 1603... | Line 1704... | ||
1603 | 1704 | ||
1604 | uglobal |
1705 | uglobal |
1605 | ;-------------------------------------- |
1706 | ;-------------------------------------- |