Diff for /np2/win9x/x64/makegrph.x64 between versions 1.1.2.2 and 1.1.2.3

version 1.1.2.2, 2006/12/30 17:33:26 version 1.1.2.3, 2007/01/08 06:28:58
Line 126  makegrph:  sub   rsp, byte 40 Line 126  makegrph:  sub   rsp, byte 40
                                 mov                     [GRP_LR], eax                                  mov                     [GRP_LR], eax
   
                                 mov                     ebx, [dsync + dsync_t.grph_vbp]                                  mov                     ebx, [dsync + dsync_t.grph_vbp]
 .drawlp:                movzx           esi, word [GDC_S_SCROLL+ 0+0]  .drawlp:                mov                     esi, [GDC_S_SCROLL+ 0]
                                 movzx           ecx, word [GDC_S_SCROLL+ 0+2]  
                                 call            .grphputlines                                  call            .grphputlines
                                 movzx           esi, word [GDC_S_SCROLL+ 4+0]                                  mov                     esi, [GDC_S_SCROLL+ 4]
                                 movzx           ecx, word [GDC_S_SCROLL+ 4+2]  
                                 call            .grphputlines                                  call            .grphputlines
                                 cmp                     byte [np2cfg + np2cfg_t.uPD72020], 0                                  cmp                     byte [np2cfg + np2cfg_t.uPD72020], 0
                                 jne                     short .drawlp                                  jne                     short .drawlp
                                 movzx           esi, word [GDC_S_SCROLL+ 8+0]                                  mov                     esi, [GDC_S_SCROLL+ 8]
                                 movzx           ecx, word [GDC_S_SCROLL+ 8+2]  
                                 call            .grphputlines                                  call            .grphputlines
                                 movzx           esi, word [GDC_S_SCROLL+12+0]                                  mov                     esi, [GDC_S_SCROLL+12]
                                 movzx           ecx, word [GDC_S_SCROLL+12+2]  
                                 call            .grphputlines                                  call            .grphputlines
                                 jmp                     short .drawlp                                  jmp                     short .drawlp
   
 .grphputlines:          movzx           eax, byte [GDC_S_PITCH]  .grphputlines:          movzx           eax, byte [GDC_S_PITCH]
                                         test            ecx, 4000h                                          test            esi, 40000000h
                                         jne                     short .storewidth                                          jne                     short .storewidth
                                         add                     eax, eax                                          add                     eax, eax
 .storewidth:            and                     eax, 0000feh                            ; uPD72020で確認…  .storewidth:            mov                     ecx, esi
                                         mov                     [LINE_WIDTH+8], eax                                          and                     eax, 0000feh                            ; uPD72020で確認…
                                           shr                     ecx, 4+16
                                         and                     esi, 3fffh                                          and                     esi, 3fffh
                                         add                     esi, esi                                          mov                     [LINE_WIDTH+8], eax
                                         shr                     ecx, 4  
                                         and                     ecx, 03ffh                                          and                     ecx, 03ffh
                                         jne                     short .grphlineputst                                          jne                     short .grphlineputst
                                         mov                     ecx, 0400h                                          mov                     ecx, 0400h
 .grphlineputst:         push            rcx  .grphlineputst:         add                     esi, esi
                                           push            rcx
   
 .grphlineput_lp:        mov                     ecx, [GRP_LR+16]  .grphlineput_lp:        mov                     ecx, [GRP_LR+16]
 .grphline1_lp:          mov                     ebp, 79*2  .grphline1_lp:          mov                     ebp, 79*2
Line 173  makegrph:  sub   rsp, byte 40 Line 169  makegrph:  sub   rsp, byte 40
 .linelp:                        test            [vramupdate + rsi], dl  .linelp:                        test            [vramupdate + rsi], dl
                                         je                      short .nodirty                                          je                      short .nodirty
                                         movzx           eax, byte [r8 + rsi + VRAM0_B]                                          movzx           eax, byte [r8 + rsi + VRAM0_B]
                                         movq            mm0, [grph_table + rax*8 + 0*0x800]                                          movzx           r9d, byte [r8 + rsi + VRAM0_R]
                                         movzx           eax, byte [r8 + rsi + VRAM0_R]                                          mov                     r10, [grph_table + rax*8 + 0*0x800]
                                         por                     mm0, [grph_table + rax*8 + 1*0x800]  
                                         movzx           eax, byte [r8 + rsi + VRAM0_G]                                          movzx           eax, byte [r8 + rsi + VRAM0_G]
                                         por                     mm0, [grph_table + rax*8 + 2*0x800]                                          or                      r10, [grph_table + r9*8 + 1*0x800]
                                         movzx           eax, byte [r8 + rsi + VRAM0_E]                                          movzx           r9d, byte [r8 + rsi + VRAM0_E]
                                         por                     mm0, [grph_table + rax*8 + 3*0x800]                                          or                      r10, [grph_table + rax*8 + 2*0x800]
                                           or                      r10, [grph_table + r9*8 + 3*0x800]
                                         or                      ebp, byte 1                                          or                      ebp, byte 1
                                         movq            [rdi], mm0                                          mov                     [rdi], r10
 .nodirty:                       inc                     esi  .nodirty:                       inc                     esi
                                         and                     esi, 07fffh                                          and                     esi, 07fffh
                                         add                     rdi, byte 8                                          add                     rdi, byte 8
Line 189  makegrph:  sub   rsp, byte 40 Line 185  makegrph:  sub   rsp, byte 40
                                         jns                     short .linelp                                          jns                     short .linelp
                                         pop                     rsi                                          pop                     rsi
   
                                         test            ebp, 1                                          test            bpl, 1
                                         je                      short .putlineskip                                          je                      short .putlineskip
 .linedirtyon:           or                      [renewal_line + rbx], dl  .linedirtyon:           or                      [renewal_line + rbx], dl
   
Line 242  makegrph:  sub   rsp, byte 40 Line 238  makegrph:  sub   rsp, byte 40
                                 mov                     rdi, [rsp+24]                                  mov                     rdi, [rsp+24]
                                 mov                     rbp, [rsp+32]                                  mov                     rbp, [rsp+32]
                                 add                     rsp, byte 40                                  add                     rsp, byte 40
                                 emms  
                                 ret                                  ret
   
         ends          ends

Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.3


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