Diff for /np2/i286x/Attic/egcmem.x86 between versions 1.4 and 1.5

version 1.4, 2004/02/02 01:40:59 version 1.5, 2004/02/18 02:03:36
Line 609  eosb_callsub: jmp  dword [egcsft_proc +  Line 609  eosb_callsub: jmp  dword [egcsft_proc + 
 egc_mod:                mov             ax, [_egc + egc_t.mask]  egc_mod:                mov             ax, [_egc + egc_t.mask]
                                 mov             [_egc + egc_t.mask2], ax                                  mov             [_egc + egc_t.mask2], ax
                                 mov             al, [_egc + egc_t.ope + 1]                                  mov             al, [_egc + egc_t.ope + 1]
                                   mov             ah, al
                                 and             al, 18h                                  and             al, 18h
                                 jpe             short eow_setdat                                  jpe             short eow_setdat
                                 cmp             al, 10h                                  cmp             al, 10h
                                 je              short eow_setpat                                  je              short eow_setpat
   
 eow_setsrc:             mov             al, [_egc + egc_t.ope + 1]  eow_setsrc:             test    ah, 4
                                 test    al, 4  
                                 je              short eow_srcnf                                  je              short eow_srcnf
                                 call    egcope_shift                                  call    egcope_shift
 eow_srcnf:              mov             ax, [_egc + egc_t.srcmask]  eow_srcnf:              mov             ax, [_egc + egc_t.srcmask]
Line 635  eow_setpat:  mov  al, [_egc + egc_t.fgbg Line 635  eow_setpat:  mov  al, [_egc + egc_t.fgbg
                                 mov             edx, _egc + egc_t.fgc                                  mov             edx, _egc + egc_t.fgc
                                 jmp             short eow_store                                  jmp             short eow_store
   
 eow_setpatsft:  call    egcope_shift  eow_setpatsft:  test    ah, 4
                                 mov             ax, [_egc + egc_t.srcmask]                                  je              short eow_patnf
                                   call    egcope_shift
   eow_patnf:              mov             ax, [_egc + egc_t.srcmask]
                                 and             [_egc + egc_t.mask2], ax                                  and             [_egc + egc_t.mask2], ax
                                 mov             edx, _egc_src                                  mov             edx, _egc_src
 eow_store:              mov             esi, [edx + 0]  eow_store:              mov             esi, [edx + 0]
Line 676  eo_opesrc:  mov  al, [_egc + egc_t.ope + Line 678  eo_opesrc:  mov  al, [_egc + egc_t.ope +
                                 je              short eo_loadvram                                  je              short eo_loadvram
                                 mov             edx, _egc + egc_t.patreg                                  mov             edx, _egc + egc_t.patreg
   
 eo_loadvram:    mov             eax, [edx + 0]  eo_loadvram:    mov             ax, [VIDEOMEMORY + ebp + VRAM_R]
                                 mov             [_egc_pat + 0], eax  
                                 mov             eax, [edx + 4]  
                                 mov             [_egc_pat + 4], eax  
   
                                 and             ebp, 0fffffffeh  
                                 mov             ax, [VIDEOMEMORY + ebp + VRAM_R]  
                                 shl             eax, 16                                  shl             eax, 16
                                 mov             ax, [VIDEOMEMORY + ebp + VRAM_B]                                  mov             ax, [VIDEOMEMORY + ebp + VRAM_B]
                                 mov             [_egc_dst + 0], eax                                  mov             [_egc_dst + 0], eax
Line 900  egcw_setpat: mov  al, [_egc + egc_t.ope  Line 896  egcw_setpat: mov  al, [_egc + egc_t.ope 
                                 mov             [_egc + egc_t.patreg + ebx + 6], al                                  mov             [_egc + egc_t.patreg + ebx + 6], al
 egcw_calc:              mov             esi, [_egc + egc_t.func]  egcw_calc:              mov             esi, [_egc + egc_t.func]
                                 add             esi, byte 6                                  add             esi, byte 6
                                   sub             ebp, ebx
                                 call    egc_mod                                  call    egc_mod
                                 mov             ah, [_egc + egc_t.mask2 + ebx]                                  mov             ah, [_egc + egc_t.mask2 + ebx]
                                 test    ah, ah                                  test    ah, ah
Line 907  egcw_calc:  mov  esi, [_egc + egc_t.func Line 904  egcw_calc:  mov  esi, [_egc + egc_t.func
                                 mov             dh, ah                                  mov             dh, ah
                                 not             dh                                  not             dh
                                 add             ecx, ebx                                  add             ecx, ebx
                                   add             ebp, ebx
                                 mov             dl, [_egc + egc_t.access]                                  mov             dl, [_egc + egc_t.access]
 egcw_wb:                shr             dl, 1  egcw_wb:                shr             dl, 1
                                 jc              short egcw_wr                                  jc              short egcw_wr
                                 and             [VIDEOMEMORY + ebx + VRAM_B], dh                                  and             [VIDEOMEMORY + ebp + VRAM_B], dh
                                 mov             al, [ecx]                                  mov             al, [ecx]
                                 and             al, ah                                  and             al, ah
                                 or              [VIDEOMEMORY + ebx + VRAM_B], al                                  or              [VIDEOMEMORY + ebp + VRAM_B], al
 egcw_wr:                shr             dl, 1  egcw_wr:                shr             dl, 1
                                 jc              short egcw_wg                                  jc              short egcw_wg
                                 and             [VIDEOMEMORY + ebx + VRAM_R], dh                                  and             [VIDEOMEMORY + ebp + VRAM_R], dh
                                 mov             al, [ecx + 2]                                  mov             al, [ecx + 2]
                                 and             al, ah                                  and             al, ah
                                 or              [VIDEOMEMORY + ebx + VRAM_R], al                                  or              [VIDEOMEMORY + ebp + VRAM_R], al
 egcw_wg:                shr             dl, 1  egcw_wg:                shr             dl, 1
                                 jc              short egcw_we                                  jc              short egcw_we
                                 and             [VIDEOMEMORY + ebx + VRAM_G], dh                                  and             [VIDEOMEMORY + ebp + VRAM_G], dh
                                 mov             al, [ecx + 4]                                  mov             al, [ecx + 4]
                                 and             al, ah                                  and             al, ah
                                 or              [VIDEOMEMORY + ebx + VRAM_G], al                                  or              [VIDEOMEMORY + ebp + VRAM_G], al
 egcw_we:                shr             dl, 1  egcw_we:                shr             dl, 1
                                 jc              short egcw_ed                                  jc              short egcw_ed
                                 and             [VIDEOMEMORY + ebx + VRAM_E], dh                                  and             [VIDEOMEMORY + ebp + VRAM_E], dh
                                 mov             al, [ecx + 6]                                  mov             al, [ecx + 6]
                                 and             al, ah                                  and             al, ah
                                 or              [VIDEOMEMORY + ebx + VRAM_E], al                                  or              [VIDEOMEMORY + ebp + VRAM_E], al
 egcw_ed:                popad  egcw_ed:                popad
                                 ret                                  ret
   

Removed from v.1.4  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>