| 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 |