Code optimisations
This commit is contained in:
@@ -283,7 +283,8 @@ void sw_drawwin()
|
|||||||
" movl (%%ebx, %%eax, 4), %%edx\n" \
|
" movl (%%ebx, %%eax, 4), %%edx\n" \
|
||||||
" movl %%edx, (%%edi)\n" \
|
" movl %%edx, (%%edi)\n" \
|
||||||
" addl $4, %%edi\n" \
|
" addl $4, %%edi\n" \
|
||||||
" loop CopyLoop32b\n" \
|
" decl ecx\n" \
|
||||||
|
" jnz CopyLoop32b\n" \
|
||||||
" popl %%eax\n" \
|
" popl %%eax\n" \
|
||||||
" incl %%eax\n" \
|
" incl %%eax\n" \
|
||||||
" addl pitch, %%edi\n" \
|
" addl pitch, %%edi\n" \
|
||||||
|
|||||||
@@ -196,7 +196,8 @@ NEWSYM dsp1teststuff
|
|||||||
.cvloop
|
.cvloop
|
||||||
mov byte[eax],0
|
mov byte[eax],0
|
||||||
inc eax
|
inc eax
|
||||||
loop .cvloop
|
dec ecx
|
||||||
|
jnz .cvloop
|
||||||
pop ecx
|
pop ecx
|
||||||
pop eax
|
pop eax
|
||||||
ret
|
ret
|
||||||
|
|||||||
@@ -1169,28 +1169,32 @@ NEWSYM drawhline
|
|||||||
.loop
|
.loop
|
||||||
mov byte[esi],al
|
mov byte[esi],al
|
||||||
inc esi
|
inc esi
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
NEWSYM drawhline16b
|
NEWSYM drawhline16b
|
||||||
.loop
|
.loop
|
||||||
mov [esi],ax
|
mov [esi],ax
|
||||||
add esi,2
|
add esi,2
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
NEWSYM drawvline
|
NEWSYM drawvline
|
||||||
.loop
|
.loop
|
||||||
mov byte[esi],al
|
mov byte[esi],al
|
||||||
add esi,288
|
add esi,288
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
NEWSYM drawvline16b
|
NEWSYM drawvline16b
|
||||||
.loop
|
.loop
|
||||||
mov [esi],ax
|
mov [esi],ax
|
||||||
add esi,288*2
|
add esi,288*2
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%macro determinenewhelp 2
|
%macro determinenewhelp 2
|
||||||
@@ -1291,7 +1295,8 @@ NEWSYM CapturePicture
|
|||||||
mov [edi],ax
|
mov [edi],ax
|
||||||
add esi,8
|
add esi,8
|
||||||
add edi,2
|
add edi,2
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
pop edx
|
pop edx
|
||||||
pop esi
|
pop esi
|
||||||
add esi,288*2*4
|
add esi,288*2*4
|
||||||
@@ -1312,7 +1317,8 @@ NEWSYM CapturePicture
|
|||||||
or bx,ax
|
or bx,ax
|
||||||
mov [edx],bx
|
mov [edx],bx
|
||||||
add edx,2
|
add edx,2
|
||||||
loop .loop2
|
dec ecx
|
||||||
|
jnz .loop2
|
||||||
.noneweng
|
.noneweng
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
@@ -1329,7 +1335,8 @@ GetPicture:
|
|||||||
.loop
|
.loop
|
||||||
mov byte[edx],0
|
mov byte[edx],0
|
||||||
inc edx
|
inc edx
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
mov edx,fnamest+1
|
mov edx,fnamest+1
|
||||||
call Open_File
|
call Open_File
|
||||||
jc near .nodraw2
|
jc near .nodraw2
|
||||||
@@ -1377,7 +1384,8 @@ GetPicture:
|
|||||||
or bx,ax
|
or bx,ax
|
||||||
mov [edx],bx
|
mov [edx],bx
|
||||||
add edx,2
|
add edx,2
|
||||||
loop .loop2
|
dec ecx
|
||||||
|
jnz .loop2
|
||||||
.noneweng
|
.noneweng
|
||||||
; draw border
|
; draw border
|
||||||
mov esi,75*2+9*288*2
|
mov esi,75*2+9*288*2
|
||||||
@@ -1389,7 +1397,8 @@ GetPicture:
|
|||||||
.ploopb
|
.ploopb
|
||||||
mov word[esi],0FFFFh
|
mov word[esi],0FFFFh
|
||||||
add esi,2
|
add esi,2
|
||||||
loop .ploopb
|
dec ecx
|
||||||
|
jnz .ploopb
|
||||||
pop esi
|
pop esi
|
||||||
add esi,288*2
|
add esi,288*2
|
||||||
dec edx
|
dec edx
|
||||||
@@ -1407,7 +1416,8 @@ GetPicture:
|
|||||||
mov word[esi],ax
|
mov word[esi],ax
|
||||||
add esi,2
|
add esi,2
|
||||||
add edi,2
|
add edi,2
|
||||||
loop .ploopb2
|
dec ecx
|
||||||
|
jnz .ploopb2
|
||||||
pop esi
|
pop esi
|
||||||
add esi,288*2
|
add esi,288*2
|
||||||
dec edx
|
dec edx
|
||||||
@@ -1610,7 +1620,8 @@ NEWSYM saveselect
|
|||||||
.loop
|
.loop
|
||||||
mov byte[esi],144
|
mov byte[esi],144
|
||||||
inc esi
|
inc esi
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
add esi,288-150
|
add esi,288-150
|
||||||
dec al
|
dec al
|
||||||
mov ecx,150
|
mov ecx,150
|
||||||
@@ -1797,7 +1808,8 @@ NEWSYM saveselect
|
|||||||
mov byte[eax],2
|
mov byte[eax],2
|
||||||
.notpr
|
.notpr
|
||||||
inc eax
|
inc eax
|
||||||
loop .looppr
|
dec ecx
|
||||||
|
jnz .looppr
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
mov byte[pressed+1],0
|
mov byte[pressed+1],0
|
||||||
%endif
|
%endif
|
||||||
@@ -1835,7 +1847,8 @@ NEWSYM saveselect
|
|||||||
shr dx,1
|
shr dx,1
|
||||||
mov [esi],dx
|
mov [esi],dx
|
||||||
add esi,2
|
add esi,2
|
||||||
loop .loop16b2
|
dec ecx
|
||||||
|
jnz .loop16b2
|
||||||
add esi,288*2-150*2
|
add esi,288*2-150*2
|
||||||
dec al
|
dec al
|
||||||
mov ecx,150
|
mov ecx,150
|
||||||
@@ -1881,7 +1894,8 @@ NEWSYM saveselect
|
|||||||
.loop16b
|
.loop16b
|
||||||
mov [esi],dx
|
mov [esi],dx
|
||||||
add esi,2
|
add esi,2
|
||||||
loop .loop16b
|
dec ecx
|
||||||
|
jnz .loop16b
|
||||||
add esi,288*2-150*2
|
add esi,288*2-150*2
|
||||||
dec ah
|
dec ah
|
||||||
jnz .nocolinc16b
|
jnz .nocolinc16b
|
||||||
@@ -2115,7 +2129,8 @@ NEWSYM saveselect
|
|||||||
mov byte[eax],2
|
mov byte[eax],2
|
||||||
.notpr2
|
.notpr2
|
||||||
inc eax
|
inc eax
|
||||||
loop .looppr2
|
dec ecx
|
||||||
|
jnz .looppr2
|
||||||
.prwin
|
.prwin
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
mov byte[pressed+1],0
|
mov byte[pressed+1],0
|
||||||
@@ -2243,7 +2258,8 @@ NEWSYM doveg
|
|||||||
mov eax,[cgram+ebx]
|
mov eax,[cgram+ebx]
|
||||||
mov [cgramback+ebx],eax
|
mov [cgramback+ebx],eax
|
||||||
add ebx,4
|
add ebx,4
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[coladdr]
|
mov al,[coladdr]
|
||||||
add al,[coladdg]
|
add al,[coladdg]
|
||||||
@@ -2298,7 +2314,8 @@ NEWSYM dovegrest
|
|||||||
mov eax,[cgramback+ebx]
|
mov eax,[cgramback+ebx]
|
||||||
mov [cgram+ebx],eax
|
mov [cgram+ebx],eax
|
||||||
add ebx,4
|
add ebx,4
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -2724,7 +2741,8 @@ NEWSYM ClockOutput
|
|||||||
.loop
|
.loop
|
||||||
mov dword[esi],0C0C0C0C0h
|
mov dword[esi],0C0C0C0C0h
|
||||||
add esi,4
|
add esi,4
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
add esi,288-48
|
add esi,288-48
|
||||||
dec ebx
|
dec ebx
|
||||||
jnz .loop2
|
jnz .loop2
|
||||||
@@ -2741,7 +2759,8 @@ NEWSYM ClockOutput
|
|||||||
mov dword[esi],0
|
mov dword[esi],0
|
||||||
mov dword[esi+75036*4],0
|
mov dword[esi+75036*4],0
|
||||||
add esi,4
|
add esi,4
|
||||||
loop .loopb
|
dec ecx
|
||||||
|
jnz .loopb
|
||||||
add esi,288*2-48*2
|
add esi,288*2-48*2
|
||||||
dec ebx
|
dec ebx
|
||||||
jnz .loop2b
|
jnz .loop2b
|
||||||
@@ -2871,7 +2890,8 @@ NEWSYM ClockOutputB
|
|||||||
.loop
|
.loop
|
||||||
mov dword[esi],0C0C0C0C0h
|
mov dword[esi],0C0C0C0C0h
|
||||||
add esi,4
|
add esi,4
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
add esi,288-48
|
add esi,288-48
|
||||||
dec ebx
|
dec ebx
|
||||||
jnz .loop2
|
jnz .loop2
|
||||||
@@ -2888,7 +2908,8 @@ NEWSYM ClockOutputB
|
|||||||
mov dword[esi],0
|
mov dword[esi],0
|
||||||
mov dword[esi+75036*4],0
|
mov dword[esi+75036*4],0
|
||||||
add esi,4
|
add esi,4
|
||||||
loop .loopb
|
dec ecx
|
||||||
|
jnz .loopb
|
||||||
add esi,288*2-48*2
|
add esi,288*2-48*2
|
||||||
dec ebx
|
dec ebx
|
||||||
jnz .loop2b
|
jnz .loop2b
|
||||||
@@ -3059,7 +3080,8 @@ NEWSYM hextestoutput
|
|||||||
.loop
|
.loop
|
||||||
; mov word[esi],ax
|
; mov word[esi],ax
|
||||||
add esi,2
|
add esi,2
|
||||||
loop .loop
|
dec ecx
|
||||||
|
jnz .loop
|
||||||
inc word[blahrnr]
|
inc word[blahrnr]
|
||||||
mov esi,216*288+32
|
mov esi,216*288+32
|
||||||
add esi,[vidbuffer]
|
add esi,[vidbuffer]
|
||||||
@@ -3686,7 +3708,8 @@ NEWSYM Clear2xSaIBuffer
|
|||||||
.nextb
|
.nextb
|
||||||
mov dword[ebx],0FFFFFFFFh
|
mov dword[ebx],0FFFFFFFFh
|
||||||
add ebx,4
|
add ebx,4
|
||||||
loop .nextb
|
dec ecx
|
||||||
|
jnz .nextb
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2151,7 +2151,8 @@ void drawscreenwin(void)
|
|||||||
mov edx,[ebx+eax*4]
|
mov edx,[ebx+eax*4]
|
||||||
mov [edi],edx
|
mov [edi],edx
|
||||||
add edi,4
|
add edi,4
|
||||||
loop CopyLoop32b
|
dec ecx
|
||||||
|
jnz CopyLoop32b
|
||||||
pop eax
|
pop eax
|
||||||
inc eax
|
inc eax
|
||||||
add edi,Temp1
|
add edi,Temp1
|
||||||
|
|||||||
Reference in New Issue
Block a user