Code optimisation
This commit is contained in:
@@ -415,7 +415,8 @@ NEWSYM InitFxTables
|
||||
mov [eax],edx
|
||||
inc ebx
|
||||
add eax,4
|
||||
loop .loopat
|
||||
dec ecx
|
||||
jnz .loopat
|
||||
; bit tables
|
||||
mov eax,fxbit01
|
||||
mov ecx,256
|
||||
|
||||
@@ -442,7 +442,8 @@ NEWSYM initSPC7110regs
|
||||
add eax,10000h
|
||||
add ebx,4
|
||||
add edx,4
|
||||
loop .mmaploop2
|
||||
dec ecx
|
||||
jnz .mmaploop2
|
||||
pop eax
|
||||
pop edx
|
||||
pop ecx
|
||||
@@ -717,7 +718,8 @@ SPC4806w:
|
||||
je .found
|
||||
.notfound
|
||||
add eax,12
|
||||
loop .loopc
|
||||
dec ecx
|
||||
jnz .loopc
|
||||
jmp .noentries
|
||||
.found
|
||||
xor word[CurPtrLen],0FFFFh
|
||||
@@ -733,7 +735,8 @@ SPC4806w:
|
||||
mov [edx],al
|
||||
inc ebx
|
||||
inc edx
|
||||
loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
pop eax
|
||||
mov ebx,[eax+4]
|
||||
mov edx,[lastentry]
|
||||
@@ -781,7 +784,8 @@ SPC4806w:
|
||||
mov [edx],bl
|
||||
inc edx
|
||||
shl eax,4
|
||||
loop .sploop2
|
||||
dec ecx
|
||||
jnz .sploop2
|
||||
|
||||
mov edx,SPC7110nfname
|
||||
call Open_File
|
||||
@@ -1692,7 +1696,8 @@ NEWSYM UpdateBanksSDD1
|
||||
mov [ebx],eax
|
||||
add eax,8000h
|
||||
add ebx,4
|
||||
loop .mmaploop
|
||||
dec ecx
|
||||
jnz .mmaploop
|
||||
pop eax
|
||||
add eax,[romdata]
|
||||
mov ecx,10h
|
||||
@@ -1704,7 +1709,8 @@ NEWSYM UpdateBanksSDD1
|
||||
add eax,10000h
|
||||
add ebx,4
|
||||
add edx,4
|
||||
loop .mmaploop2
|
||||
dec ecx
|
||||
jnz .mmaploop2
|
||||
pop eax
|
||||
pop edx
|
||||
pop ecx
|
||||
@@ -1737,7 +1743,8 @@ NEWSYM sa12223w
|
||||
add eax,10000h
|
||||
add ebx,4
|
||||
add edx,4
|
||||
loop .mmaploop2
|
||||
dec ecx
|
||||
jnz .mmaploop2
|
||||
pop eax
|
||||
pop edx
|
||||
pop ecx
|
||||
@@ -2344,7 +2351,8 @@ executesa1dma:
|
||||
mov [edx],al
|
||||
inc ebx
|
||||
inc edx
|
||||
loop .loop
|
||||
dec ecx
|
||||
jnz .loop
|
||||
.notransfer
|
||||
pop ecx
|
||||
pop eax
|
||||
@@ -2474,7 +2482,8 @@ sa1chconv:
|
||||
mov [edx],al
|
||||
inc ebx
|
||||
inc edx
|
||||
loop .next4b
|
||||
dec ecx
|
||||
jnz .next4b
|
||||
|
||||
popad
|
||||
ret
|
||||
@@ -2539,7 +2548,8 @@ sa1chconv:
|
||||
mov [edx],al
|
||||
inc ebx
|
||||
inc edx
|
||||
loop .next
|
||||
dec ecx
|
||||
jnz .next
|
||||
|
||||
popad
|
||||
ret
|
||||
@@ -2570,7 +2580,8 @@ NEWSYM initSA1regs
|
||||
.loopr
|
||||
mov [edi],eax
|
||||
add edi,4
|
||||
loop .loopr
|
||||
dec ecx
|
||||
jnz .loopr
|
||||
ret
|
||||
|
||||
NEWSYM initSA1regsw
|
||||
@@ -2636,7 +2647,8 @@ NEWSYM initSA1regsw
|
||||
.loopw
|
||||
mov [edi],eax
|
||||
add edi,4
|
||||
loop .loopw
|
||||
dec ecx
|
||||
jnz .loopw
|
||||
setregw 3000h*4,IRamWrite2
|
||||
ret
|
||||
|
||||
|
||||
@@ -661,7 +661,6 @@ NEWSYM getstring
|
||||
.nz
|
||||
mov [edi],al
|
||||
inc edi
|
||||
; loop .nz
|
||||
dec ecx
|
||||
jnz .nz
|
||||
xor ebx,ebx
|
||||
@@ -714,7 +713,6 @@ NEWSYM getstring
|
||||
dec esi
|
||||
mov [es:edi],al
|
||||
sub edi,2
|
||||
; loop .okloop
|
||||
dec ecx
|
||||
jnz .okloop
|
||||
inc bl
|
||||
@@ -739,7 +737,6 @@ NEWSYM getstring
|
||||
dec esi
|
||||
mov [es:edi],al
|
||||
sub edi,2
|
||||
; loop .okloop2
|
||||
dec ecx
|
||||
jnz .okloop2
|
||||
.noloop
|
||||
@@ -780,7 +777,6 @@ NEWSYM modify
|
||||
sub byte[wx],4
|
||||
add byte[wx2],4
|
||||
pop ecx
|
||||
; loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
push es
|
||||
@@ -793,7 +789,6 @@ NEWSYM modify
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
mov edi,12*160+29*2
|
||||
@@ -803,7 +798,6 @@ NEWSYM modify
|
||||
.loopc
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopc
|
||||
dec ecx
|
||||
jnz .loopc
|
||||
mov edi,14*160+29*2
|
||||
@@ -813,7 +807,6 @@ NEWSYM modify
|
||||
.loopd
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopd
|
||||
dec ecx
|
||||
jnz .loopd
|
||||
; set cursor to (10,50)
|
||||
@@ -961,7 +954,6 @@ NEWSYM SPCmodify
|
||||
sub byte[wx],4
|
||||
add byte[wx2],4
|
||||
pop ecx
|
||||
; loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
push es
|
||||
@@ -974,7 +966,6 @@ NEWSYM SPCmodify
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
mov edi,12*160+30*2
|
||||
@@ -984,7 +975,6 @@ NEWSYM SPCmodify
|
||||
.loopc
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopc
|
||||
dec ecx
|
||||
jnz .loopc
|
||||
mov edi,14*160+30*2
|
||||
@@ -994,7 +984,6 @@ NEWSYM SPCmodify
|
||||
.loopd
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopd
|
||||
dec ecx
|
||||
jnz .loopd
|
||||
; set cursor to (10,50)
|
||||
@@ -1139,7 +1128,6 @@ NEWSYM SPCbreakpoint
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
; set cursor to (10,50)
|
||||
@@ -1266,7 +1254,6 @@ NEWSYM breakpoint
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
; set cursor to (10,50)
|
||||
@@ -1371,7 +1358,6 @@ NEWSYM trace
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
mov edi,12*160+52*2
|
||||
@@ -1462,7 +1448,6 @@ NEWSYM traceops
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
xor eax,eax
|
||||
@@ -1558,7 +1543,6 @@ NEWSYM SPCbreakops
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
xor eax,eax
|
||||
@@ -1656,7 +1640,6 @@ NEWSYM breakatsign
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
xor eax,eax
|
||||
@@ -1760,7 +1743,6 @@ NEWSYM breakatsignlog
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
|
||||
@@ -2113,7 +2095,6 @@ NEWSYM breakops
|
||||
.loopb
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
xor eax,eax
|
||||
@@ -3631,7 +3612,6 @@ SECTION .text
|
||||
stosb
|
||||
pop ax
|
||||
shl ax,4
|
||||
; loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
pop ecx
|
||||
@@ -3651,7 +3631,6 @@ SECTION .text
|
||||
stosb
|
||||
pop ax
|
||||
shl ax,4
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
pop ecx
|
||||
@@ -3850,7 +3829,6 @@ NEWSYM showdd
|
||||
.loopa
|
||||
lodsb
|
||||
stosw
|
||||
; loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
add edi,6
|
||||
@@ -4234,7 +4212,6 @@ NEWSYM nextspcopcode
|
||||
stosb
|
||||
pop ax
|
||||
shl ax,4
|
||||
; loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
pop ecx
|
||||
@@ -4255,7 +4232,6 @@ NEWSYM nextspcopcode
|
||||
stosb
|
||||
pop ax
|
||||
shl ax,4
|
||||
; loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
pop ecx
|
||||
|
||||
@@ -596,7 +596,6 @@ NEWSYM Get_Dir
|
||||
.noslash
|
||||
mov [eax],dl
|
||||
inc eax
|
||||
; loop .loop
|
||||
dec ecx
|
||||
jnz .loop
|
||||
popad
|
||||
@@ -1001,7 +1000,6 @@ NEWSYM vidpastecopyscr ; GUI screen render
|
||||
mov bx,[GUICPC+ebx*2]
|
||||
mov [eax+edx*2],bx
|
||||
dec edx
|
||||
; loop .loop
|
||||
dec ecx
|
||||
jnz .loop
|
||||
.no16bconv
|
||||
|
||||
@@ -178,7 +178,6 @@ NEWSYM GetCoords
|
||||
jz .XAxis
|
||||
inc dword[JoyX]
|
||||
inc dword[JoyY]
|
||||
; loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
mov byte [JoyExists], 0
|
||||
@@ -209,7 +208,6 @@ NEWSYM GetCoords
|
||||
nop
|
||||
inc dword[JoyX]
|
||||
nop
|
||||
; loop .XAxis
|
||||
dec ecx
|
||||
jnz .XAxis
|
||||
mov byte [JoyExists], 0
|
||||
|
||||
@@ -141,7 +141,6 @@ NEWSYM ModemSendChar
|
||||
in al,dx
|
||||
test al,00100000b
|
||||
jnz .transokay
|
||||
; loop .loop
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor al,al
|
||||
|
||||
@@ -143,7 +143,8 @@ NEWSYM init
|
||||
.looppal
|
||||
mov dword[eax],cpalval
|
||||
add eax,4
|
||||
loop .looppal
|
||||
dec ecx
|
||||
jnz .looppal
|
||||
|
||||
; Initialize snow stuff
|
||||
mov ecx,400
|
||||
@@ -156,7 +157,8 @@ NEWSYM init
|
||||
or byte[SnowVelDist+edx],08h
|
||||
.skip
|
||||
inc edx
|
||||
loop .snowloop
|
||||
dec ecx
|
||||
jnz .snowloop
|
||||
|
||||
call BackupSystemVars
|
||||
|
||||
@@ -180,7 +182,8 @@ NEWSYM init
|
||||
mov [eax],dl
|
||||
inc ebx
|
||||
inc eax
|
||||
loop .rbackupl
|
||||
dec ecx
|
||||
jnz .rbackupl
|
||||
mov byte[virqnodisable],0
|
||||
call clearmem
|
||||
call inittable
|
||||
@@ -1930,7 +1933,8 @@ NEWSYM init65816
|
||||
mov [edi],al
|
||||
inc esi
|
||||
inc edi
|
||||
loop .looprn
|
||||
dec ecx
|
||||
jnz .looprn
|
||||
mov dword[CSStatus+25],'NRM '
|
||||
cmp byte[SA1Enable],0
|
||||
je .nosa1
|
||||
@@ -2024,7 +2028,8 @@ NEWSYM init65816
|
||||
.spc7110clear
|
||||
mov dword[eax],0
|
||||
add eax,4
|
||||
loop .spc7110clear
|
||||
dec ecx
|
||||
jnz .spc7110clear
|
||||
.nospc7110init
|
||||
mov byte[cycpb268],115
|
||||
mov byte[cycpb358],127
|
||||
@@ -2279,7 +2284,8 @@ NEWSYM init65816
|
||||
inc ebx
|
||||
dec edi
|
||||
jnz .loopbsx2
|
||||
loop .loopbsx
|
||||
dec ecx
|
||||
jnz .loopbsx
|
||||
.skipbsxmove
|
||||
popad
|
||||
.notbsx
|
||||
@@ -2420,13 +2426,15 @@ NEWSYM initsnes
|
||||
.loopa
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov ecx,40h
|
||||
.loopb
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
cmp byte[lorommapmode2],0
|
||||
@@ -2438,7 +2446,8 @@ NEWSYM initsnes
|
||||
.loopc
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopc
|
||||
dec ecx
|
||||
jnz .loopc
|
||||
cmp byte[lorommapmode2],0
|
||||
je .notlorommode2b
|
||||
sub eax,200000h
|
||||
@@ -2447,13 +2456,15 @@ NEWSYM initsnes
|
||||
.loopclr
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopclr
|
||||
dec ecx
|
||||
jnz .loopclr
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov ecx,40h
|
||||
.loopd
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopd
|
||||
dec ecx
|
||||
jnz .loopd
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2461,7 +2472,8 @@ NEWSYM initsnes
|
||||
mov ecx,40h
|
||||
.loopa2
|
||||
stosd
|
||||
loop .loopa2
|
||||
dec ecx
|
||||
jnz .loopa2
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,200000h
|
||||
@@ -2469,13 +2481,15 @@ NEWSYM initsnes
|
||||
.loopb2
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopb2
|
||||
dec ecx
|
||||
jnz .loopb2
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov ecx,40h
|
||||
.loopc2
|
||||
stosd
|
||||
loop .loopc2
|
||||
dec ecx
|
||||
jnz .loopc2
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,200000h
|
||||
@@ -2483,7 +2497,8 @@ NEWSYM initsnes
|
||||
.loopd2
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopd2
|
||||
dec ecx
|
||||
jnz .loopd2
|
||||
; set bank 70
|
||||
mov eax,[sram]
|
||||
xor ebx,ebx
|
||||
@@ -2513,13 +2528,15 @@ NEWSYM initsnes
|
||||
.loopas
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopas
|
||||
dec ecx
|
||||
jnz .loopas
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov ecx,40h
|
||||
.loopbs
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopbs
|
||||
dec ecx
|
||||
jnz .loopbs
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
sub eax,8000h
|
||||
@@ -2527,7 +2544,8 @@ NEWSYM initsnes
|
||||
.loopcs
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopcs
|
||||
dec ecx
|
||||
jnz .loopcs
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,8000h
|
||||
@@ -2535,7 +2553,8 @@ NEWSYM initsnes
|
||||
.loopds
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopds
|
||||
dec ecx
|
||||
jnz .loopds
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2543,7 +2562,8 @@ NEWSYM initsnes
|
||||
mov ecx,40h
|
||||
.loopa2s
|
||||
stosd
|
||||
loop .loopa2s
|
||||
dec ecx
|
||||
jnz .loopa2s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,200000h
|
||||
@@ -2551,13 +2571,15 @@ NEWSYM initsnes
|
||||
.loopb2s
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopb2s
|
||||
dec ecx
|
||||
jnz .loopb2s
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov ecx,40h
|
||||
.loopc2s
|
||||
stosd
|
||||
loop .loopc2s
|
||||
dec ecx
|
||||
jnz .loopc2s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,8000h
|
||||
@@ -2565,7 +2587,8 @@ NEWSYM initsnes
|
||||
.loopd2s
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopd2s
|
||||
dec ecx
|
||||
jnz .loopd2s
|
||||
; set bank 70
|
||||
mov eax,[sram]
|
||||
xor ebx,ebx
|
||||
@@ -2616,7 +2639,8 @@ NEWSYM initsnes
|
||||
.loopa3
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopa3
|
||||
dec ecx
|
||||
jnz .loopa3
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
sub eax,8000h
|
||||
@@ -2624,7 +2648,8 @@ NEWSYM initsnes
|
||||
.loopb32
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopb32
|
||||
dec ecx
|
||||
jnz .loopb32
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
sub eax,8000h
|
||||
@@ -2632,7 +2657,8 @@ NEWSYM initsnes
|
||||
.loopc3
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopc3
|
||||
dec ecx
|
||||
jnz .loopc3
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,200000h
|
||||
@@ -2640,7 +2666,8 @@ NEWSYM initsnes
|
||||
.loopd3
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd3
|
||||
dec ecx
|
||||
jnz .loopd3
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2648,7 +2675,8 @@ NEWSYM initsnes
|
||||
mov ecx,40h
|
||||
.loopa23
|
||||
stosd
|
||||
loop .loopa23
|
||||
dec ecx
|
||||
jnz .loopa23
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,100000h
|
||||
@@ -2656,13 +2684,15 @@ NEWSYM initsnes
|
||||
.loopb3
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopb3
|
||||
dec ecx
|
||||
jnz .loopb3
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov ecx,40h
|
||||
.loopc23
|
||||
stosd
|
||||
loop .loopc23
|
||||
dec ecx
|
||||
jnz .loopc23
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,200000h
|
||||
@@ -2670,7 +2700,8 @@ NEWSYM initsnes
|
||||
.loopd23
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd23
|
||||
dec ecx
|
||||
jnz .loopd23
|
||||
; set bank 70
|
||||
mov eax,[sram]
|
||||
xor ebx,ebx
|
||||
@@ -2700,28 +2731,32 @@ NEWSYM initsnes
|
||||
.loopab
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopab
|
||||
dec ecx
|
||||
jnz .loopab
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
mov ecx,40h
|
||||
.loopbb
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopbb
|
||||
dec ecx
|
||||
jnz .loopbb
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
mov ecx,40h
|
||||
.loopcb
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopcb
|
||||
dec ecx
|
||||
jnz .loopcb
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
mov ecx,40h
|
||||
.loopdb
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopdb
|
||||
dec ecx
|
||||
jnz .loopdb
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2729,27 +2764,31 @@ NEWSYM initsnes
|
||||
mov ecx,40h
|
||||
.loopa2b
|
||||
stosd
|
||||
loop .loopa2b
|
||||
dec ecx
|
||||
jnz .loopa2b
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
mov cx,40h
|
||||
.loopb2b
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopb2b
|
||||
dec ecx
|
||||
jnz .loopb2b
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov cx,40h
|
||||
.loopc2b
|
||||
stosd
|
||||
loop .loopc2b
|
||||
dec ecx
|
||||
jnz .loopc2b
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
mov cx,40h
|
||||
.loopd2b
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd2b
|
||||
dec ecx
|
||||
jnz .loopd2b
|
||||
; set bank 70
|
||||
mov eax,[sram]
|
||||
xor ebx,ebx
|
||||
@@ -2785,7 +2824,8 @@ NEWSYM initsnes
|
||||
.loopa3s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopa3s
|
||||
dec ecx
|
||||
jnz .loopa3s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
; add eax,200000h
|
||||
@@ -2794,7 +2834,8 @@ NEWSYM initsnes
|
||||
.loopb3s
|
||||
stosd
|
||||
add eax,20000h
|
||||
loop .loopb3s
|
||||
dec ecx
|
||||
jnz .loopb3s
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
; sub eax,8000h
|
||||
@@ -2802,7 +2843,8 @@ NEWSYM initsnes
|
||||
.loopc3s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopc3s
|
||||
dec ecx
|
||||
jnz .loopc3s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
; add eax,200000h
|
||||
@@ -2811,7 +2853,8 @@ NEWSYM initsnes
|
||||
.loopd3s
|
||||
stosd
|
||||
add eax,20000h
|
||||
loop .loopd3s
|
||||
dec ecx
|
||||
jnz .loopd3s
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2819,7 +2862,8 @@ NEWSYM initsnes
|
||||
mov ecx,40h
|
||||
.loopa23s
|
||||
stosd
|
||||
loop .loopa23s
|
||||
dec ecx
|
||||
jnz .loopa23s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,8000h
|
||||
@@ -2827,13 +2871,15 @@ NEWSYM initsnes
|
||||
.loopb23s
|
||||
stosd
|
||||
add eax,20000h
|
||||
loop .loopb23s
|
||||
dec ecx
|
||||
jnz .loopb23s
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov ecx,40h
|
||||
.loopc23s
|
||||
stosd
|
||||
loop .loopc23s
|
||||
dec ecx
|
||||
jnz .loopc23s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,8000h
|
||||
@@ -2841,7 +2887,8 @@ NEWSYM initsnes
|
||||
.loopd23s
|
||||
stosd
|
||||
add eax,20000h
|
||||
loop .loopd23s
|
||||
dec ecx
|
||||
jnz .loopd23s
|
||||
; set bank 70
|
||||
mov eax,[sram]
|
||||
mov [snesmap2+78h*4],eax
|
||||
@@ -2881,7 +2928,8 @@ SA1memmap:
|
||||
.loopa3s
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopa3s
|
||||
dec ecx
|
||||
jnz .loopa3s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
; add eax,400000h
|
||||
@@ -2889,7 +2937,8 @@ SA1memmap:
|
||||
.loopb3s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopb3s
|
||||
dec ecx
|
||||
jnz .loopb3s
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
add eax,200000h
|
||||
@@ -2898,7 +2947,8 @@ SA1memmap:
|
||||
.loopc3s
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopc3s
|
||||
dec ecx
|
||||
jnz .loopc3s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,00000h
|
||||
@@ -2906,7 +2956,8 @@ SA1memmap:
|
||||
.loopd3s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd3s
|
||||
dec ecx
|
||||
jnz .loopd3s
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2914,7 +2965,8 @@ SA1memmap:
|
||||
mov ecx,40h
|
||||
.loopa23s
|
||||
stosd
|
||||
loop .loopa23s
|
||||
dec ecx
|
||||
jnz .loopa23s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,400000h
|
||||
@@ -2922,13 +2974,15 @@ SA1memmap:
|
||||
.loopb23s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopb23s
|
||||
dec ecx
|
||||
jnz .loopb23s
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov ecx,40h
|
||||
.loopc23s
|
||||
stosd
|
||||
loop .loopc23s
|
||||
dec ecx
|
||||
jnz .loopc23s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,00000h
|
||||
@@ -2936,7 +2990,8 @@ SA1memmap:
|
||||
.loopd23s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd23s
|
||||
dec ecx
|
||||
jnz .loopd23s
|
||||
; set bank 7E
|
||||
mov eax,[wramdata]
|
||||
mov [snesmmap+7Eh*4],eax
|
||||
@@ -2963,7 +3018,8 @@ SDD1memmap:
|
||||
.loopa3s
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopa3s
|
||||
dec ecx
|
||||
jnz .loopa3s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
; add eax,400000h
|
||||
@@ -2971,7 +3027,8 @@ SDD1memmap:
|
||||
.loopb3s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopb3s
|
||||
dec ecx
|
||||
jnz .loopb3s
|
||||
; set banks 80-BF (40h x 32KB ROM banks @ 8000h)
|
||||
mov eax,[romdata]
|
||||
; add eax,200000h
|
||||
@@ -2980,7 +3037,8 @@ SDD1memmap:
|
||||
.loopc3s
|
||||
stosd
|
||||
add eax,8000h
|
||||
loop .loopc3s
|
||||
dec ecx
|
||||
jnz .loopc3s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,00000h
|
||||
@@ -2988,7 +3046,8 @@ SDD1memmap:
|
||||
.loopd3s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd3s
|
||||
dec ecx
|
||||
jnz .loopd3s
|
||||
; set addresses 0000-7FFF (01h x 32KB WRAM @ 0000h)
|
||||
; set banks 00-3F
|
||||
mov edi,snesmap2
|
||||
@@ -2996,7 +3055,8 @@ SDD1memmap:
|
||||
mov ecx,40h
|
||||
.loopa23s
|
||||
stosd
|
||||
loop .loopa23s
|
||||
dec ecx
|
||||
jnz .loopa23s
|
||||
; set banks 40-6F (30h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,400000h
|
||||
@@ -3004,13 +3064,15 @@ SDD1memmap:
|
||||
.loopb23s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopb23s
|
||||
dec ecx
|
||||
jnz .loopb23s
|
||||
; set banks 80-BF (01h x 32KB WRAM @ 0000h)
|
||||
mov eax,[wramdata]
|
||||
mov ecx,40h
|
||||
.loopc23s
|
||||
stosd
|
||||
loop .loopc23s
|
||||
dec ecx
|
||||
jnz .loopc23s
|
||||
; set banks C0-FF (40h x 64KB ROM banks @ 0000h)
|
||||
mov eax,[romdata]
|
||||
add eax,00000h
|
||||
@@ -3018,7 +3080,8 @@ SDD1memmap:
|
||||
.loopd23s
|
||||
stosd
|
||||
add eax,10000h
|
||||
loop .loopd23s
|
||||
dec ecx
|
||||
jnz .loopd23s
|
||||
; set bank 7E
|
||||
mov eax,[wramdata]
|
||||
mov [snesmmap+7Eh*4],eax
|
||||
@@ -3082,7 +3145,8 @@ UnInterleave48mbit:
|
||||
mov [esi+40h],al
|
||||
inc al
|
||||
inc esi
|
||||
loop .loop
|
||||
dec ecx
|
||||
jnz .loop
|
||||
mov esi,mode7tab+256
|
||||
mov ecx,40h
|
||||
mov al,40h+1
|
||||
@@ -3090,7 +3154,8 @@ UnInterleave48mbit:
|
||||
mov [esi+80h],al
|
||||
add al,2
|
||||
inc esi
|
||||
loop .loop2
|
||||
dec ecx
|
||||
jnz .loop2
|
||||
mov esi,mode7tab+256
|
||||
mov ecx,20h
|
||||
mov al,40h
|
||||
@@ -3100,7 +3165,8 @@ UnInterleave48mbit:
|
||||
mov [esi],al
|
||||
add al,2
|
||||
inc esi
|
||||
loop .loop3
|
||||
dec ecx
|
||||
jnz .loop3
|
||||
call SwapTable256
|
||||
popad
|
||||
ret
|
||||
@@ -3233,7 +3299,8 @@ NEWSYM preparesfx
|
||||
mov [edi+32768],al
|
||||
inc esi
|
||||
inc edi
|
||||
loop .swaploop
|
||||
dec ecx
|
||||
jnz .swaploop
|
||||
sub edi,65536+32768
|
||||
sub esi,65536
|
||||
dec dl
|
||||
@@ -3474,7 +3541,8 @@ NEWSYM printhex
|
||||
call Output_Text
|
||||
pop ax
|
||||
shl ax,4
|
||||
loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
ret
|
||||
|
||||
.hexdat db '0123456789ABCDEF'
|
||||
@@ -3492,7 +3560,8 @@ NEWSYM printhex8
|
||||
call Output_Text
|
||||
pop ax
|
||||
shl ax,4
|
||||
loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
ret
|
||||
|
||||
.hexdat db '0123456789ABCDEF'
|
||||
@@ -4055,7 +4124,8 @@ ZipDeleteRecurse:
|
||||
mov [esi],al
|
||||
inc edi
|
||||
inc esi
|
||||
loop .loop
|
||||
dec ecx
|
||||
jnz .loop
|
||||
mov edx,DTALoc+1Eh
|
||||
call Change_Single_Dir
|
||||
|
||||
@@ -4217,7 +4287,8 @@ NEWSYM SPC7110Load
|
||||
.sdd1loop
|
||||
add [eax+4],ebx
|
||||
add eax,12
|
||||
loop .sdd1loop
|
||||
dec ecx
|
||||
jnz .sdd1loop
|
||||
pop ebx
|
||||
.notfoundb
|
||||
call Close_File
|
||||
@@ -4334,7 +4405,8 @@ NEWSYM SPC7110Load
|
||||
jmp .foundaddr
|
||||
.notaddress
|
||||
add edx,12
|
||||
loop .patloop
|
||||
dec ecx
|
||||
jnz .patloop
|
||||
; not found
|
||||
pushad
|
||||
mov edx,[SPC7110CPtr2]
|
||||
@@ -4362,7 +4434,8 @@ NEWSYM SPC7110Load
|
||||
.sdd1loopb
|
||||
sub [eax+4],ebx
|
||||
add eax,12
|
||||
loop .sdd1loopb
|
||||
dec ecx
|
||||
jnz .sdd1loopb
|
||||
|
||||
mov edx,SDD1ifname
|
||||
call Create_File
|
||||
@@ -4390,7 +4463,8 @@ NEWSYM SPC7110Load
|
||||
.sdd1loopc
|
||||
add [eax+4],ebx
|
||||
add eax,12
|
||||
loop .sdd1loopc
|
||||
dec ecx
|
||||
jnz .sdd1loopc
|
||||
.nosavedatafile
|
||||
|
||||
mov edx,PrevDir
|
||||
@@ -4865,7 +4939,8 @@ NEWSYM loadfileGUI
|
||||
popad
|
||||
.no
|
||||
add esi,8000h
|
||||
loop .loopcheck
|
||||
dec ecx
|
||||
jnz .loopcheck
|
||||
.skipall
|
||||
|
||||
; mirror image
|
||||
@@ -5147,7 +5222,8 @@ NEWSYM showinfo
|
||||
lodsb
|
||||
mov dl,al
|
||||
call Output_Text
|
||||
loop .loopa
|
||||
dec ecx
|
||||
jnz .loopa
|
||||
mov edx,.ret
|
||||
mov ah,9
|
||||
call Output_Text
|
||||
@@ -5242,7 +5318,8 @@ NEWSYM showinfo
|
||||
mov dl,al
|
||||
mov ah,2
|
||||
call Output_Text
|
||||
loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
inc esi
|
||||
mov edx,.ret
|
||||
|
||||
@@ -5664,7 +5741,8 @@ NEWSYM CheckROMType
|
||||
inc al
|
||||
.noletter
|
||||
inc esi
|
||||
loop .nextletter
|
||||
dec ecx
|
||||
jnz .nextletter
|
||||
cmp al,12
|
||||
jna .checkhiromletter
|
||||
mov byte[romtype],1
|
||||
@@ -5693,7 +5771,8 @@ NEWSYM CheckROMType
|
||||
inc al
|
||||
.noletterb
|
||||
inc esi
|
||||
loop .nextletterb
|
||||
dec ecx
|
||||
jnz .nextletterb
|
||||
cmp al,12
|
||||
jna .notfound
|
||||
mov byte[romtype],2
|
||||
|
||||
@@ -1122,7 +1122,8 @@ NEWSYM converthex
|
||||
mov [esi],dl
|
||||
inc esi
|
||||
shl eax,4
|
||||
loop .loopb
|
||||
dec ecx
|
||||
jnz .loopb
|
||||
mov byte[esi],0
|
||||
ret
|
||||
|
||||
@@ -1177,7 +1178,8 @@ NEWSYM makeextension
|
||||
mov [fnamest+ebx],al
|
||||
inc ebx
|
||||
inc ah
|
||||
loop .loopc
|
||||
dec ecx
|
||||
jnz .loopc
|
||||
; find for '.' or '\'
|
||||
mov cl,dl
|
||||
mov edx,ebx
|
||||
|
||||
@@ -2318,7 +2318,7 @@ NEWSYM ConvertToAFormat
|
||||
movq [esi],mm0
|
||||
add esi,8
|
||||
dec ecx
|
||||
loop .crgbloop2m
|
||||
jnz .crgbloop2m
|
||||
add esi,64
|
||||
dec dl
|
||||
jnz .crgbloopm
|
||||
|
||||
Reference in New Issue
Block a user