⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newgfxwn.mac

📁 linux下的任天堂模拟器代码。供大家参考。
💻 MAC
📖 第 1 页 / 共 2 页
字号:
    add bl,dl    mov [edi+288*2],bl    mov bl,[ecx+8*4]    add bl,dl    mov [edi+288*3],bl    mov bl,[ecx+8*3]    add bl,dl    mov [edi+288*4],bl    mov bl,[ecx+8*2]    add bl,dl    mov [edi+288*5],bl    mov bl,[ecx+8]    add bl,dl    mov [edi+288*6],bl    mov bl,[ecx]    add bl,dl    mov [edi+288*7],bl%%nodrawc    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfc    sub edi,8    jmp %%end%%flipxyfull    mov dword[tleftnb],8    add ecx,7%%loopfd    dec dword[ngcpixleft]    jnz %%notzerod    call Nextwinmode%%notzerod    cmp dword[ngcwinmode],1    je %%nodrawd    mov bl,[ecx+8*7]    add bl,dl    mov [edi],bl    mov bl,[ecx+8*6]    add bl,dl    mov [edi+288],bl    mov bl,[ecx+8*5]    add bl,dl    mov [edi+288*2],bl    mov bl,[ecx+8*4]    add bl,dl    mov [edi+288*3],bl    mov bl,[ecx+8*3]    add bl,dl    mov [edi+288*4],bl    mov bl,[ecx+8*2]    add bl,dl    mov [edi+288*5],bl    mov bl,[ecx+8]    add bl,dl    mov [edi+288*6],bl    mov bl,[ecx]    add bl,dl    mov [edi+288*7],bl%%nodrawd    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfd    sub edi,8    jmp %%end%%parttile    %2    ; start drawing from ecx    test dword[vrama+eax],8000h    jnz near %%flipyfullp    test dword[vrama+eax],4000h    jnz near %%flipxfullp    mov dword[tleftnb],8%%loopfap    dec dword[ngcpixleft]    jnz %%notzerop    call Nextwinmode%%notzerop    parttilewin 0,0    parttilewin 1,1    parttilewin 2,2    parttilewin 3,3    parttilewin 4,4    parttilewin 5,5    parttilewin 6,6    parttilewin 7,7    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfap    sub edi,8    jmp %%end%%flipxfullp    mov dword[tleftnb],8    add ecx,7%%loopfbp    dec dword[ngcpixleft]    jnz %%notzerobp    call Nextwinmode%%notzerobp    parttilewin 0,0    parttilewin 1,1    parttilewin 2,2    parttilewin 3,3    parttilewin 4,4    parttilewin 5,5    parttilewin 6,6    parttilewin 7,7    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfbp    sub edi,8    jmp %%end%%flipyfullp    test word[vrama+eax],4000h    jnz near %%flipxyfullp    mov dword[tleftnb],8%%loopfcp    dec dword[ngcpixleft]    jnz %%notzerocp    call Nextwinmode%%notzerocp    parttilewin 7,0    parttilewin 6,1    parttilewin 5,2    parttilewin 4,3    parttilewin 3,4    parttilewin 2,5    parttilewin 1,6    parttilewin 0,7    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfcp    sub edi,8    jmp %%end%%flipxyfullp    mov dword[tleftnb],8    add ecx,7%%loopfdp    dec dword[ngcpixleft]    jnz %%notzerodp    call Nextwinmode%%notzerodp    parttilewin 7,0    parttilewin 6,1    parttilewin 5,2    parttilewin 4,3    parttilewin 3,4    parttilewin 2,5    parttilewin 1,6    parttilewin 0,7    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfdp    sub edi,8    jmp %%end%5    processwinpixel    processwinpixel    processwinpixel    processwinpixel%%end    mov ebx,[ng16bbgval]    add ax,2    inc dword[bg1totng+ebx*4]    add edi,8    test eax,03Fh    jz %%tileadd%%next    dec byte[tleftn]    jnz near %4    pop ebx    ret%%docache    call %3    jmp %%returnfromcache%%tileadd    add ax,[bgtxadd]    jmp %%next%endmacro%macro drawtileng16x16win 8    ; tile value : bit 15 = flipy, bit 14 = flipx, bit 13 = priority value    ;              bit 10-12 = palette, 0-9=tile#    mov ebx,[ng16bbgval]    mov dl,ch    inc dword[bg1drwng+ebx*4]    and ecx,3FFh    and edx,1Fh    add ecx,[ngptrdat2]    add cx,[taddnfy16x16]    test dword[vrama+eax],8000h    jz %%noflipy    add cx,[taddfy16x16]%%noflipy    test dword[vrama+eax],4000h    jz %%noflipx    inc cx%%noflipx%%nexttile    push ecx    push edx    mov edx,[%6+edx*4]    %7    jnz near %%docache%%returnfromcache    cmp byte[%1+ecx],2    je near %%skip    cmp byte[%1+ecx],0    je near %%parttile    %2    ; start drawing from ecx    test dword[vrama+eax],8000h    jnz near %%flipyfull    test dword[vrama+eax],4000h    jnz near %%flipxfull    mov dword[tleftnb],8%%loopfa    dec dword[ngcpixleft]    jnz %%notzero    call Nextwinmode%%notzero    cmp dword[ngcwinmode],1    je %%nodraw    mov bl,[ecx]    add bl,dl    mov [edi],bl    mov bl,[ecx+8]    add bl,dl    mov [edi+288],bl    mov bl,[ecx+8*2]    add bl,dl    mov [edi+288*2],bl    mov bl,[ecx+8*3]    add bl,dl    mov [edi+288*3],bl    mov bl,[ecx+8*4]    add bl,dl    mov [edi+288*4],bl    mov bl,[ecx+8*5]    add bl,dl    mov [edi+288*5],bl    mov bl,[ecx+8*6]    add bl,dl    mov [edi+288*6],bl    mov bl,[ecx+8*7]    add bl,dl    mov [edi+288*7],bl%%nodraw    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfa    sub edi,8    jmp %%end%%flipxfull    mov dword[tleftnb],8    add ecx,7%%loopfb    dec dword[ngcpixleft]    jnz %%notzerob    call Nextwinmode%%notzerob    cmp dword[ngcwinmode],1    je %%nodrawb    mov bl,[ecx]    add bl,dl    mov [edi],bl    mov bl,[ecx+8]    add bl,dl    mov [edi+288],bl    mov bl,[ecx+8*2]    add bl,dl    mov [edi+288*2],bl    mov bl,[ecx+8*3]    add bl,dl    mov [edi+288*3],bl    mov bl,[ecx+8*4]    add bl,dl    mov [edi+288*4],bl    mov bl,[ecx+8*5]    add bl,dl    mov [edi+288*5],bl    mov bl,[ecx+8*6]    add bl,dl    mov [edi+288*6],bl    mov bl,[ecx+8*7]    add bl,dl    mov [edi+288*7],bl%%nodrawb    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfb    sub edi,8    jmp %%end%%flipyfull    test word[vrama+eax],4000h    jnz near %%flipxyfull    mov dword[tleftnb],8%%loopfc    dec dword[ngcpixleft]    jnz %%notzeroc    call Nextwinmode%%notzeroc    cmp dword[ngcwinmode],1    je %%nodrawc    mov bl,[ecx+8*7]    add bl,dl    mov [edi],bl    mov bl,[ecx+8*6]    add bl,dl    mov [edi+288],bl    mov bl,[ecx+8*5]    add bl,dl    mov [edi+288*2],bl    mov bl,[ecx+8*4]    add bl,dl    mov [edi+288*3],bl    mov bl,[ecx+8*3]    add bl,dl    mov [edi+288*4],bl    mov bl,[ecx+8*2]    add bl,dl    mov [edi+288*5],bl    mov bl,[ecx+8]    add bl,dl    mov [edi+288*6],bl    mov bl,[ecx]    add bl,dl    mov [edi+288*7],bl%%nodrawc    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfc    sub edi,8    jmp %%end%%flipxyfull    mov dword[tleftnb],8    add ecx,7%%loopfd    dec dword[ngcpixleft]    jnz %%notzerod    call Nextwinmode%%notzerod    cmp dword[ngcwinmode],1    je %%nodrawd    mov bl,[ecx+8*7]    add bl,dl    mov [edi],bl    mov bl,[ecx+8*6]    add bl,dl    mov [edi+288],bl    mov bl,[ecx+8*5]    add bl,dl    mov [edi+288*2],bl    mov bl,[ecx+8*4]    add bl,dl    mov [edi+288*3],bl    mov bl,[ecx+8*3]    add bl,dl    mov [edi+288*4],bl    mov bl,[ecx+8*2]    add bl,dl    mov [edi+288*5],bl    mov bl,[ecx+8]    add bl,dl    mov [edi+288*6],bl    mov bl,[ecx]    add bl,dl    mov [edi+288*7],bl%%nodrawd    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfd    sub edi,8    jmp %%end%%parttile    %2    ; start drawing from ecx    test dword[vrama+eax],8000h    jnz near %%flipyfullp    test dword[vrama+eax],4000h    jnz near %%flipxfullp    mov dword[tleftnb],8%%loopfap    dec dword[ngcpixleft]    jnz %%notzerop    call Nextwinmode%%notzerop    parttilewin 0,0    parttilewin 1,1    parttilewin 2,2    parttilewin 3,3    parttilewin 4,4    parttilewin 5,5    parttilewin 6,6    parttilewin 7,7    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfap    sub edi,8    jmp %%end%%flipxfullp    mov dword[tleftnb],8    add ecx,7%%loopfbp    dec dword[ngcpixleft]    jnz %%notzerobp    call Nextwinmode%%notzerobp    parttilewin 0,0    parttilewin 1,1    parttilewin 2,2    parttilewin 3,3    parttilewin 4,4    parttilewin 5,5    parttilewin 6,6    parttilewin 7,7    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfbp    sub edi,8    jmp %%end%%flipyfullp    test word[vrama+eax],4000h    jnz near %%flipxyfullp    mov dword[tleftnb],8%%loopfcp    dec dword[ngcpixleft]    jnz %%notzerocp    call Nextwinmode%%notzerocp    parttilewin 7,0    parttilewin 6,1    parttilewin 5,2    parttilewin 4,3    parttilewin 3,4    parttilewin 2,5    parttilewin 1,6    parttilewin 0,7    inc ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfcp    sub edi,8    jmp %%end%%flipxyfullp    mov dword[tleftnb],8    add ecx,7%%loopfdp    dec dword[ngcpixleft]    jnz %%notzerodp    call Nextwinmode%%notzerodp    parttilewin 7,0    parttilewin 6,1    parttilewin 5,2    parttilewin 4,3    parttilewin 3,4    parttilewin 2,5    parttilewin 1,6    parttilewin 0,7    dec ecx    inc edi    dec dword[tleftnb]    jnz near %%loopfdp    sub edi,8    jmp %%end%%skip    processwinpixel    processwinpixel    processwinpixel    processwinpixel%%end    pop edx    pop ecx    inc cx    test dword[vrama+eax],4000h    jz %%noflipxb    sub cx,2%%noflipxb    add edi,8    xor dword[switch16x16],1    jnz near %%nexttile%%ntile    mov ebx,[ng16bbgval]    add ax,2    inc dword[bg1totng+ebx*4]    test eax,03Fh    jz near %%tileadd%%next    dec byte[tleftn]    jnz near %4    pop ebx    ret%%done%5    processwinpixel    processwinpixel    processwinpixel    processwinpixel    processwinpixel    processwinpixel    processwinpixel    processwinpixel    add edi,16    jmp %%ntile%%docache    call %3    jmp %%returnfromcache%%tileadd    add ax,[bgtxadd]    jmp %%next%endmacro

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -