diff --git a/zsnes/src/dos/debug.asm b/zsnes/src/dos/debug.asm index 7eba0e89..70ee274d 100644 --- a/zsnes/src/dos/debug.asm +++ b/zsnes/src/dos/debug.asm @@ -661,7 +661,9 @@ NEWSYM getstring .nz mov [edi],al inc edi - loop .nz +; loop .nz + dec ecx + jnz .nz xor ebx,ebx .tryinputagain ; input string @@ -712,7 +714,9 @@ NEWSYM getstring dec esi mov [es:edi],al sub edi,2 - loop .okloop +; loop .okloop + dec ecx + jnz .okloop inc bl jmp .tryinputagain .trybackspace @@ -735,7 +739,9 @@ NEWSYM getstring dec esi mov [es:edi],al sub edi,2 - loop .okloop2 +; loop .okloop2 + dec ecx + jnz .okloop2 .noloop mov dl,[clearchar] mov byte[es:edi],dl @@ -774,7 +780,9 @@ NEWSYM modify sub byte[wx],4 add byte[wx2],4 pop ecx - loop .loopa +; loop .loopa + dec ecx + jnz .loopa push es mov ax,[selcB800] mov es,ax @@ -785,7 +793,9 @@ NEWSYM modify .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb mov edi,12*160+29*2 mov esi,.message2 mov ecx,18 @@ -793,7 +803,9 @@ NEWSYM modify .loopc lodsb stosw - loop .loopc +; loop .loopc + dec ecx + jnz .loopc mov edi,14*160+29*2 mov esi,.message3 mov ecx,18 @@ -801,7 +813,9 @@ NEWSYM modify .loopd lodsb stosw - loop .loopd +; loop .loopd + dec ecx + jnz .loopd ; set cursor to (10,50) mov ah,02h mov bl,0 @@ -947,7 +961,9 @@ NEWSYM SPCmodify sub byte[wx],4 add byte[wx2],4 pop ecx - loop .loopa +; loop .loopa + dec ecx + jnz .loopa push es mov ax,[selcB800] mov es,ax @@ -958,7 +974,9 @@ NEWSYM SPCmodify .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb mov edi,12*160+30*2 mov esi,.message2 mov ecx,18 @@ -966,7 +984,9 @@ NEWSYM SPCmodify .loopc lodsb stosw - loop .loopc +; loop .loopc + dec ecx + jnz .loopc mov edi,14*160+30*2 mov esi,.message3 mov ecx,18 @@ -974,7 +994,9 @@ NEWSYM SPCmodify .loopd lodsb stosw - loop .loopd +; loop .loopd + dec ecx + jnz .loopd ; set cursor to (10,50) mov ah,02h mov bl,0 @@ -1117,7 +1139,9 @@ NEWSYM SPCbreakpoint .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb ; set cursor to (10,50) mov ah,02h mov bl,0 @@ -1242,7 +1266,9 @@ NEWSYM breakpoint .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb ; set cursor to (10,50) mov ah,02h mov bl,0 @@ -1345,7 +1371,9 @@ NEWSYM trace .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb mov edi,12*160+52*2 mov al,32 mov ah,79 @@ -1434,7 +1462,9 @@ NEWSYM traceops .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb xor eax,eax xor ebx,ebx xor ecx,ecx @@ -1528,7 +1558,9 @@ NEWSYM SPCbreakops .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb xor eax,eax xor ebx,ebx xor ecx,ecx @@ -1624,7 +1656,9 @@ NEWSYM breakatsign .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb xor eax,eax xor ebx,ebx xor ecx,ecx @@ -1726,7 +1760,9 @@ NEWSYM breakatsignlog .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb pushad mov ax,ds @@ -2077,7 +2113,9 @@ NEWSYM breakops .loopb lodsb stosw - loop .loopb +; loop .loopb + dec ecx + jnz .loopb xor eax,eax xor ebx,ebx xor ecx,ecx @@ -3593,7 +3631,9 @@ SECTION .text stosb pop ax shl ax,4 - loop .loopa +; loop .loopa + dec ecx + jnz .loopa pop ecx ret @@ -3611,7 +3651,9 @@ SECTION .text stosb pop ax shl ax,4 - loop .loopb +; loop .loopb + dec ecx + jnz .loopb pop ecx ret @@ -3808,7 +3850,9 @@ NEWSYM showdd .loopa lodsb stosw - loop .loopa +; loop .loopa + dec ecx + jnz .loopa add edi,6 ; check if exceeded limit inc dx @@ -4190,7 +4234,9 @@ NEWSYM nextspcopcode stosb pop ax shl ax,4 - loop .loopa +; loop .loopa + dec ecx + jnz .loopa pop ecx sub ecx,2 ret @@ -4209,7 +4255,9 @@ NEWSYM nextspcopcode stosb pop ax shl ax,4 - loop .loopb +; loop .loopb + dec ecx + jnz .loopb pop ecx ret diff --git a/zsnes/src/dos/dosintrf.asm b/zsnes/src/dos/dosintrf.asm index 91992580..7e83e82a 100644 --- a/zsnes/src/dos/dosintrf.asm +++ b/zsnes/src/dos/dosintrf.asm @@ -596,7 +596,9 @@ NEWSYM Get_Dir .noslash mov [eax],dl inc eax - loop .loop +; loop .loop + dec ecx + jnz .loop popad push edx mov ah,19h @@ -999,7 +1001,9 @@ NEWSYM vidpastecopyscr ; GUI screen render mov bx,[GUICPC+ebx*2] mov [eax+edx*2],bx dec edx - loop .loop +; loop .loop + dec ecx + jnz .loop .no16bconv popad jmp DosDrawScreenB diff --git a/zsnes/src/dos/joy.asm b/zsnes/src/dos/joy.asm index 5ac29f23..9191ccbf 100644 --- a/zsnes/src/dos/joy.asm +++ b/zsnes/src/dos/joy.asm @@ -178,7 +178,9 @@ NEWSYM GetCoords jz .XAxis inc dword[JoyX] inc dword[JoyY] - loop .loopa +; loop .loopa + dec ecx + jnz .loopa mov byte [JoyExists], 0 mov dword[JoyX],0 mov dword[JoyY],0 @@ -191,7 +193,9 @@ NEWSYM GetCoords nop inc dword[JoyY] nop - loop .YAxis +; loop .YAxis + dec ecx + jnz .YAxis mov byte [JoyExists], 0 mov dword[JoyX],0 mov dword[JoyY],0 @@ -205,7 +209,9 @@ NEWSYM GetCoords nop inc dword[JoyX] nop - loop .XAxis +; loop .XAxis + dec ecx + jnz .XAxis mov byte [JoyExists], 0 mov dword[JoyX],0 mov dword[JoyY],0 diff --git a/zsnes/src/dos/modemrtn.asm b/zsnes/src/dos/modemrtn.asm index 42f31d57..2c8423a0 100644 --- a/zsnes/src/dos/modemrtn.asm +++ b/zsnes/src/dos/modemrtn.asm @@ -141,7 +141,9 @@ NEWSYM ModemSendChar in al,dx test al,00100000b jnz .transokay - loop .loop +; loop .loop + dec ecx + jnz .loop xor al,al pop ebx pop edx diff --git a/zsnes/src/video/copyvid.inc b/zsnes/src/video/copyvid.inc index 5451ef4c..8d3fe60d 100644 --- a/zsnes/src/video/copyvid.inc +++ b/zsnes/src/video/copyvid.inc @@ -259,13 +259,13 @@ NEWSYM DosDrawScreenB ScreenShow: cmp byte[debugdisble],0 je .debug + cmp byte[cvidmode],2 + je near copymodeq +.debug cmp byte[cvidmode],0 je near copymodeq224 cmp byte[cvidmode],1 je near copymodeq240 - cmp byte[cvidmode],2 - je near copymodeq -.debug cmp byte[cvidmode],3 je near copymodex cmp byte[cvidmode],4 @@ -1620,7 +1620,9 @@ NEWSYM draweagle mov [es:edi],eax add edx,4 add edi,4 - loop .copyloop +; loop .copyloop + dec ecx + jnz .copyloop xor eax,eax ; process EAGLE on the upper line @@ -1694,7 +1696,9 @@ NEWSYM draweagle mov [es:edi],eax add edx,4 add edi,4 - loop .copyloop2 +; loop .copyloop2 + dec ecx + jnz .copyloop2 xor eax,eax sub esi,256 ; move esi back to left side of the line @@ -2295,7 +2299,9 @@ NEWSYM ConvertToAFormat or ebx,eax mov [esi],ebx add esi,4 - loop .crgbloop2 +; loop .crgbloop2 + dec ecx + jnz .crgbloop2 add esi,64 dec dl jnz .crgbloop @@ -2314,6 +2320,8 @@ NEWSYM ConvertToAFormat por mm0,mm1 movq [esi],mm0 add esi,8 +; loop .crgbloop2m + dec ecx loop .crgbloop2m add esi,64 dec dl @@ -2339,7 +2347,9 @@ NEWSYM UnConvertToAFormat or ebx,eax mov [esi],ebx add esi,4 - loop .crgbloop2 +; loop .crgbloop2 + dec ecx + jnz .crgbloop2 add esi,64 dec dl jnz .crgbloop @@ -3871,6 +3881,8 @@ Process2xSaI: .nextb mov dword[ebx],0FFFFFFFFh add ebx,4 +; loop .nextb + dec ecx loop .nextb pop ebx jmp .returninterp @@ -3935,7 +3947,9 @@ Process2xSaI: movq [es:eax],mm0 add edx,8 add eax,8 - loop .s2xsailoop +; loop .s2xsailoop + dec ecx + jnz .s2xsailoop mov edx,[spritetablea] add edx,512+1280 add eax,128*2 @@ -3945,7 +3959,9 @@ Process2xSaI: movq [es:eax],mm0 add edx,8 add eax,8 - loop .s2xsailoop2 +; loop .s2xsailoop2 + dec ecx + jnz .s2xsailoop2 jmp .dones2xsai %endif @@ -3964,7 +3980,9 @@ Process2xSaI: .loop mov dword[es:edi],0 add edi,4 - loop .loop +; loop .loop + dec ecx + jnz .loop emms pop es ret @@ -4682,7 +4700,9 @@ NEWSYM interpolate640x480x16b add esi,2 add edi,4 add edx,4 - loop .a +; loop .a + dec ecx + jnz .a add esi,66 add edi,130*2 .loopb @@ -4713,7 +4733,9 @@ NEWSYM interpolate640x480x16b add esi,2 add edi,4 add edx,4 - loop .c +; loop .c + dec ecx + jnz .c add edi,130*2 mov edx,[spritetablea] mov ecx,255 @@ -4722,7 +4744,9 @@ NEWSYM interpolate640x480x16b mov [es:edi],eax add edx,4 add edi,4 - loop .d +; loop .d + dec ecx + jnz .d inc dword[InterPtr] add esi,66 add edi,130*2 @@ -5708,7 +5732,9 @@ NEWSYM getcopyvesa2320x240x16b mov [esi],ax add edi,2 add esi,2 - loop .loop +; loop .loop + dec ecx + jnz .loop add edi,128 add esi,64 mov ecx,256 @@ -5737,7 +5763,9 @@ ConvertImageDatared10: or ax,dx mov [esi],ax add esi,2 - loop .loop +; loop .loop + dec ecx + jnz .loop add esi,64 mov ecx,256 dec ebx