New tool used. Also, silly variable names removed from source. ^^
This commit is contained in:
@@ -220,7 +220,7 @@ NEWSYM DSP1Write8b
|
||||
mov bl,al
|
||||
mov byte[DSPFuncUsed+ebx],1
|
||||
pop ebx
|
||||
mov byte[DSP1COp],al
|
||||
mov [DSP1COp],al
|
||||
mov byte[DSP1CPtrW],0
|
||||
DSP1WriteInit 00h, 2 ; 16-bit multiply
|
||||
DSP1WriteInit 10h, 2 ; Inverse
|
||||
@@ -574,11 +574,11 @@ DSP1_06: ; Object Projection Calculation
|
||||
call DSPOp06
|
||||
popad
|
||||
mov ax,[Op06H]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op06V]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op06S]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -611,9 +611,9 @@ DSP1_0E: ; Coordinate Calculation of a point onscreen
|
||||
call DSPOp0E
|
||||
popad
|
||||
mov ax,[Op0EX]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op0EY]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov byte[DSP1RLeft],2
|
||||
pop eax
|
||||
ret
|
||||
@@ -678,11 +678,11 @@ DSP1_0D: ; Convert from global to object coords Matrix A
|
||||
call DSPOp0D
|
||||
popad
|
||||
mov ax,[Op0DF]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op0DL]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op0DU]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -694,7 +694,7 @@ DSP1_0F: ; DSP RAM Test
|
||||
call DSPOp0F
|
||||
popad
|
||||
mov ax,[Op0FPass]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov byte[DSP1RLeft],1
|
||||
pop eax
|
||||
ret
|
||||
@@ -711,11 +711,11 @@ DSP1_1D: ; Convert from global to object coords Matrix B
|
||||
call DSPOp1D
|
||||
popad
|
||||
mov ax,[Op1DF]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op1DL]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op1DU]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -732,11 +732,11 @@ DSP1_2D: ; Convert from global to object coords Matrix C
|
||||
call DSPOp2D
|
||||
popad
|
||||
mov ax,[Op2DF]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op2DL]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op2DU]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -753,11 +753,11 @@ DSP1_03: ; Convert from object to global coords Matrix A
|
||||
call DSPOp03
|
||||
popad
|
||||
mov ax,[Op03X]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op03Y]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op03Z]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -774,11 +774,11 @@ DSP1_13: ; Convert from object to global coords Matrix B
|
||||
call DSPOp13
|
||||
popad
|
||||
mov ax,[Op13X]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op13Y]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op13Z]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -795,11 +795,11 @@ DSP1_23: ; Convert from object to global coords Matrix C
|
||||
call DSPOp23
|
||||
popad
|
||||
mov ax,[Op23X]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op23Y]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op23Z]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
@@ -816,7 +816,7 @@ DSP1_0B: ; Calculation of inner product Matrix A
|
||||
call DSPOp0B
|
||||
popad
|
||||
mov ax,[Op0BS]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov byte[DSP1RLeft],1
|
||||
pop eax
|
||||
ret
|
||||
@@ -833,7 +833,7 @@ DSP1_1B: ; Calculation of inner product Matrix B
|
||||
call DSPOp1B
|
||||
popad
|
||||
mov ax,[Op1BS]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov byte[DSP1RLeft],1
|
||||
pop eax
|
||||
ret
|
||||
@@ -850,7 +850,7 @@ DSP1_2B: ; Calculation of inner product Matrix C
|
||||
call DSPOp2B
|
||||
popad
|
||||
mov ax,[Op2BS]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov byte[DSP1RLeft],1
|
||||
pop eax
|
||||
ret
|
||||
@@ -873,11 +873,11 @@ DSP1_14: ; 3D angle rotation
|
||||
call DSPOp14
|
||||
popad
|
||||
mov ax,[Op14Zrr]
|
||||
mov word[DSP1RET],ax
|
||||
mov [DSP1RET],ax
|
||||
mov ax,[Op14Xrr]
|
||||
mov word[DSP1RET+2],ax
|
||||
mov [DSP1RET+2],ax
|
||||
mov ax,[Op14Yrr]
|
||||
mov word[DSP1RET+4],ax
|
||||
mov [DSP1RET+4],ax
|
||||
mov byte[DSP1RLeft],3
|
||||
pop eax
|
||||
ret
|
||||
|
||||
@@ -194,7 +194,7 @@ NEWSYM DSP2Read8b
|
||||
jnz .undef
|
||||
|
||||
and ecx,255
|
||||
mov al,byte[dsp2buffer+ecx]
|
||||
mov al,[dsp2buffer+ecx]
|
||||
xor ecx,ecx
|
||||
|
||||
test byte[dsp2state],DSP2F_AUTO_BUFFER_SHIFT
|
||||
@@ -248,7 +248,7 @@ NEWSYM DSP2Write8b
|
||||
jnz near .halt
|
||||
|
||||
; *** Locates current predicator store
|
||||
mov byte[dsp2input],al
|
||||
mov [dsp2input],al
|
||||
mov eax,[dsp2enforcerReaderCursor]
|
||||
lea ebx,[dsp2enforcerQueue+8*eax]
|
||||
; *** Copies inside command box into box in order to spare indirection cost
|
||||
@@ -296,7 +296,7 @@ NEWSYM DSP2Write8b
|
||||
|
||||
mov al,[dsp2input]
|
||||
sar al,1
|
||||
mov byte[dsp2f0dSizeNew],al
|
||||
mov [dsp2f0dSizeNew],al
|
||||
|
||||
test al,al
|
||||
jz near .gohalt
|
||||
@@ -328,7 +328,7 @@ NEWSYM DSP2Write8b
|
||||
|
||||
mov al,[dsp2input]
|
||||
sar al,1
|
||||
mov byte[dsp2f0dSizeOrg],al
|
||||
mov [dsp2f0dSizeOrg],al
|
||||
|
||||
test al,al
|
||||
jz near .gohalt
|
||||
@@ -365,7 +365,7 @@ NEWSYM DSP2Write8b
|
||||
rol cl,4
|
||||
xor eax,eax
|
||||
mov al,[dsp2enforcer+1]
|
||||
mov byte[dsp2buffer+eax],cl
|
||||
mov [dsp2buffer+eax],cl
|
||||
|
||||
jmp .done
|
||||
|
||||
|
||||
@@ -38,17 +38,17 @@ SECTION .text
|
||||
|
||||
NEWSYM DSP4Read8b
|
||||
RouteAccess regaccessbankr8
|
||||
mov word[dsp4_address],cx
|
||||
mov [dsp4_address],cx
|
||||
pushad
|
||||
call DSP4GetByte
|
||||
popad
|
||||
mov al,byte[dsp4_byte]
|
||||
mov al,[dsp4_byte]
|
||||
ret
|
||||
|
||||
NEWSYM DSP4Write8b
|
||||
RouteAccess regaccessbankw8
|
||||
mov word[dsp4_address],cx
|
||||
mov byte[dsp4_byte],al
|
||||
mov [dsp4_address],cx
|
||||
mov [dsp4_byte],al
|
||||
pushad
|
||||
call DSP4SetByte
|
||||
popad
|
||||
@@ -56,27 +56,27 @@ NEWSYM DSP4Write8b
|
||||
|
||||
NEWSYM DSP4Read16b
|
||||
RouteAccess regaccessbankr16
|
||||
mov word[dsp4_address],cx
|
||||
mov [dsp4_address],cx
|
||||
pushad
|
||||
call DSP4GetByte
|
||||
mov al,byte[dsp4_byte]
|
||||
mov byte[dsp4temp],al
|
||||
mov al,[dsp4_byte]
|
||||
mov [dsp4temp],al
|
||||
inc word[dsp4_address]
|
||||
call DSP4GetByte
|
||||
popad
|
||||
mov al,byte[dsp4temp]
|
||||
mov ah,byte[dsp4_byte]
|
||||
mov al,[dsp4temp]
|
||||
mov ah,[dsp4_byte]
|
||||
ret
|
||||
|
||||
NEWSYM DSP4Write16b
|
||||
RouteAccess regaccessbankw16
|
||||
mov word[dsp4_address],cx
|
||||
mov byte[dsp4_byte],al
|
||||
mov byte[dsp4temp],ah
|
||||
mov [dsp4_address],cx
|
||||
mov [dsp4_byte],al
|
||||
mov [dsp4temp],ah
|
||||
pushad
|
||||
call DSP4SetByte
|
||||
mov ah,byte[dsp4temp]
|
||||
mov byte[dsp4_byte],ah
|
||||
mov ah,[dsp4temp]
|
||||
mov [dsp4_byte],ah
|
||||
inc word[dsp4_address]
|
||||
call DSP4SetByte
|
||||
popad
|
||||
|
||||
@@ -174,7 +174,7 @@ NEWSYM FxOp02 ; CACHE reintialize GSU cache
|
||||
je .SkipUpdate
|
||||
cmp byte[SfxCacheActive],1
|
||||
je .SkipUpdate
|
||||
mov dword[SfxCBR],eax
|
||||
mov [SfxCBR],eax
|
||||
mov dword[SfxCacheActive],1
|
||||
call FlushCache
|
||||
.SkipUpdate
|
||||
@@ -190,7 +190,7 @@ NEWSYM FxOp03 ; LSR logic shift right ; Verified.
|
||||
shr ax,1 ; logic shift right
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
@@ -524,7 +524,7 @@ NEWSYM FxOp3C ; LOOP decrement loop counter, and branch on not zero ; V
|
||||
mov [SfxSignZero],eax
|
||||
or eax,eax
|
||||
jz .NoBranch
|
||||
mov eax,dword[SfxR13]
|
||||
mov eax,[SfxR13]
|
||||
mov ebp,[SfxCPB]
|
||||
add ebp,eax
|
||||
CLRFLAGS
|
||||
@@ -1097,7 +1097,7 @@ NEWSYM FxOp4EA1 ; CMODE set plot option register ; V
|
||||
FETCHPIPE
|
||||
mov eax,[esi] ; Read Source
|
||||
inc ebp ; Increase program counter
|
||||
mov dword[SfxPOR],eax
|
||||
mov [SfxPOR],eax
|
||||
|
||||
test byte[SfxPOR],10h
|
||||
jnz .objmode
|
||||
@@ -1132,10 +1132,10 @@ NEWSYM FxOp4EA1 ; CMODE set plot option register ; V
|
||||
or al,bl
|
||||
mov ebx,[PLOTJmpb+eax*4]
|
||||
mov eax,[PLOTJmpa+eax*4]
|
||||
mov dword[FxTable+4Ch*4],eax
|
||||
mov dword[FxTableb+4Ch*4],eax
|
||||
mov dword[FxTablec+4Ch*4],eax
|
||||
mov dword[FxTabled+4Ch*4],ebx
|
||||
mov [FxTable+4Ch*4],eax
|
||||
mov [FxTableb+4Ch*4],eax
|
||||
mov [FxTablec+4Ch*4],eax
|
||||
mov [FxTabled+4Ch*4],ebx
|
||||
pop ebx
|
||||
|
||||
CLRFLAGS
|
||||
@@ -1480,8 +1480,8 @@ NEWSYM FxOp70 ; MERGE R7 as upper byte, R8 as lower byte (used for texture
|
||||
; V
|
||||
xor eax,eax
|
||||
FETCHPIPE
|
||||
mov ah,byte[SfxR7+1]
|
||||
mov al,byte[SfxR8+1]
|
||||
mov ah,[SfxR7+1]
|
||||
mov al,[SfxR8+1]
|
||||
inc ebp
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],0001h
|
||||
@@ -1541,7 +1541,7 @@ NEWSYM FxOp7F ; AND RN register & register
|
||||
sub ebx,[SfxCPB]
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
ret
|
||||
@@ -1582,7 +1582,7 @@ NEWSYM FxOp7FA1 ; BIC RN register & ~register
|
||||
xor ebx,0FFFFh
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
ret
|
||||
@@ -1682,7 +1682,7 @@ NEWSYM FxOp8E ; MULTRN 8 bit to 16 bit signed multiply, register * register
|
||||
NEWSYM FxOp8F ; MULTRN 8 bit to 16 bit signed multiply, register * register
|
||||
FETCHPIPE
|
||||
mov ebx,ebp
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
sub ebx,[SfxCPB]
|
||||
imul bl
|
||||
inc ebp
|
||||
@@ -1725,7 +1725,7 @@ NEWSYM FxOp8EA1 ; UMULRN 8 bit to 16 bit unsigned multiply, register * regist
|
||||
NEWSYM FxOp8FA1 ; UMULRN 8 bit to 16 bit unsigned multiply, register * register
|
||||
FETCHPIPE
|
||||
mov ebx,ebp
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
sub ebx,[SfxCPB]
|
||||
mul bl
|
||||
inc ebp
|
||||
@@ -1841,7 +1841,7 @@ NEWSYM FxOp96 ; ASR aritmethic shift right by one ; V
|
||||
sar ax,1 ; logic shift right
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
@@ -1855,7 +1855,7 @@ NEWSYM FxOp96A1 ; DIV2 aritmethic shift right by one ; V
|
||||
sar ax,1 ; logic shift right
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
ret
|
||||
.minusone
|
||||
@@ -1863,7 +1863,7 @@ NEWSYM FxOp96A1 ; DIV2 aritmethic shift right by one ; V
|
||||
xor eax,eax
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
@@ -1912,7 +1912,7 @@ NEWSYM FxOp9E ; LOB set upper byte to zero (keep low byte) ; V
|
||||
inc ebp
|
||||
mov [edi],eax ; Write Destination
|
||||
shl eax,8
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
@@ -2026,7 +2026,7 @@ NEWSYM FxOpAEA1 ; LMS rn,(yy) load word from RAM (short address)
|
||||
inc ebp
|
||||
add eax,[SfxRAMMem]
|
||||
mov cl,[ebp]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
mov ebx,[eax] ; Read word from ram
|
||||
inc ebp
|
||||
mov [SfxR0+14*4],bx ; Write data
|
||||
@@ -2040,7 +2040,7 @@ NEWSYM FxOpAFA1 ; LMS rn,(yy) load word from RAM (short address)
|
||||
inc ebp
|
||||
add eax,[SfxRAMMem]
|
||||
mov cl,[ebp]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
mov ebx,[eax] ; Read word from ram
|
||||
and ebx,0FFFFh
|
||||
mov ebp,[SfxCPB]
|
||||
@@ -2087,7 +2087,7 @@ NEWSYM FxOpAFA2 ; SMS (yy),rn store word in RAM (short address)
|
||||
add eax,eax
|
||||
FETCHPIPE
|
||||
add eax,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
inc ebp
|
||||
mov [eax],bx ; Write word to ram
|
||||
CLRFLAGS
|
||||
@@ -2138,7 +2138,7 @@ NEWSYM FxOpC0 ; HIB move high-byte to low-byte ; V
|
||||
mov eax,[esi] ; Read Source
|
||||
FETCHPIPE
|
||||
and eax,0FF00h
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
shr eax,8
|
||||
inc ebp
|
||||
mov [edi],eax
|
||||
@@ -2382,10 +2382,10 @@ NEWSYM FxOpDFA2 ; RAMB set current RAM bank ; Verified
|
||||
FETCHPIPE
|
||||
dec ebx
|
||||
and eax,ebx
|
||||
mov dword[SfxRAMBR],eax
|
||||
mov [SfxRAMBR],eax
|
||||
shl eax,16
|
||||
add eax,[sfxramdata]
|
||||
mov dword[SfxRAMMem],eax
|
||||
mov [SfxRAMMem],eax
|
||||
CLRFLAGS
|
||||
inc ebp
|
||||
ret
|
||||
@@ -2394,7 +2394,7 @@ NEWSYM FxOpDFA3 ; ROMB set current ROM bank ; Verified
|
||||
mov eax,[esi] ; Read Source
|
||||
and eax,07Fh
|
||||
FETCHPIPE
|
||||
mov dword[SfxROMBR],eax
|
||||
mov [SfxROMBR],eax
|
||||
mov eax,[SfxMemTable+eax*4]
|
||||
mov [SfxCROM],eax
|
||||
CLRFLAGS
|
||||
@@ -2575,7 +2575,7 @@ NEWSYM FxOpFEA1 ; LM RN,(XX) load word from RAM
|
||||
xor eax,1
|
||||
add ebp,3
|
||||
mov dh,[eax+ebx]
|
||||
mov word[SfxR0+14*4],dx ; Store Word
|
||||
mov [SfxR0+14*4],dx ; Store Word
|
||||
UpdateR14
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
%macro STWRN 1 ; V
|
||||
mov eax,[SfxR0+%1*4] ; Read register
|
||||
mov ebx,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
add dword[SfxLastRamAdr],ebx ; Save last ram address
|
||||
mov edx,[esi] ; Read Source
|
||||
FETCHPIPE
|
||||
@@ -92,9 +92,9 @@
|
||||
mov eax,[SfxR0+%1*4] ; Read register
|
||||
FETCHPIPE
|
||||
add eax,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
mov ebx,[esi] ; Read Source
|
||||
mov byte[eax],bl ; Store Byte
|
||||
mov [eax],bl ; Store Byte
|
||||
CLRFLAGS
|
||||
inc ebp ; Increase program counter
|
||||
ret
|
||||
@@ -103,7 +103,7 @@
|
||||
%macro LDWRN 1 ; V
|
||||
mov eax,[SfxR0+%1*4] ; Read register
|
||||
mov ebx,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
FETCHPIPE
|
||||
mov dl,[ebx+eax] ; Store Word
|
||||
add dword[SfxLastRamAdr],ebx ; Save last ram address
|
||||
@@ -121,7 +121,7 @@
|
||||
FETCHPIPE
|
||||
add eax,[SfxRAMMem]
|
||||
xor ebx,ebx
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
mov bl,[eax] ; Read Byte
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],ebx ; Store Result
|
||||
@@ -516,7 +516,7 @@
|
||||
FETCHPIPE
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
ret
|
||||
@@ -529,7 +529,7 @@
|
||||
FETCHPIPE
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
ret
|
||||
@@ -540,7 +540,7 @@
|
||||
FETCHPIPE
|
||||
and eax,%1
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
ret
|
||||
@@ -551,15 +551,15 @@
|
||||
FETCHPIPE
|
||||
and eax,%1
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
ret
|
||||
%endmacro
|
||||
|
||||
%macro MULTRN 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov bl,byte[SfxR0+%1*4] ; Read RN
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,[SfxR0+%1*4] ; Read RN
|
||||
FETCHPIPE
|
||||
imul bl
|
||||
inc ebp
|
||||
@@ -571,8 +571,8 @@
|
||||
%endmacro
|
||||
|
||||
%macro UMULTRN 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov bl,byte[SfxR0+%1*4] ; Read RN
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,[SfxR0+%1*4] ; Read RN
|
||||
FETCHPIPE
|
||||
mul bl
|
||||
inc ebp
|
||||
@@ -584,7 +584,7 @@
|
||||
%endmacro
|
||||
|
||||
%macro MULTIRN 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,%1 ; Read RN
|
||||
FETCHPIPE
|
||||
imul bl
|
||||
@@ -597,7 +597,7 @@
|
||||
%endmacro
|
||||
|
||||
%macro UMULTIRN 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,%1 ; Read RN
|
||||
FETCHPIPE
|
||||
mul bl
|
||||
@@ -614,7 +614,7 @@
|
||||
sub eax,[SfxCPB]
|
||||
add eax,%1
|
||||
FETCHPIPE
|
||||
mov word[SfxR11],ax
|
||||
mov [SfxR11],ax
|
||||
CLRFLAGS
|
||||
inc ebp
|
||||
ret
|
||||
@@ -633,7 +633,7 @@
|
||||
FETCHPIPE
|
||||
mov eax,[SfxR0+%1*4]
|
||||
and eax,07Fh
|
||||
mov byte[SfxPBR],al
|
||||
mov [SfxPBR],al
|
||||
; mov byte[fxtrace+eax],1
|
||||
mov eax,[SfxMemTable+eax*4]
|
||||
mov [SfxCPB],eax
|
||||
@@ -663,7 +663,7 @@
|
||||
inc ebp
|
||||
add eax,[SfxRAMMem]
|
||||
mov cl,[ebp]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
mov ebx,[eax] ; Read word from ram
|
||||
inc ebp
|
||||
mov [SfxR0+%1*4],bx ; Write data
|
||||
@@ -679,7 +679,7 @@
|
||||
mov cl,[ebp]
|
||||
add eax,[SfxRAMMem]
|
||||
mov ebx,[SfxR0+%1*4] ; Read data
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
inc ebp
|
||||
mov [eax],bx ; Write word to ram
|
||||
CLRFLAGS
|
||||
@@ -783,7 +783,7 @@
|
||||
xor eax,1
|
||||
add ebp,3
|
||||
mov dh,[eax+ebx]
|
||||
mov word[SfxR0+%1*4],dx ; Store Word
|
||||
mov [SfxR0+%1*4],dx ; Store Word
|
||||
CLRFLAGS
|
||||
ret
|
||||
%endmacro
|
||||
@@ -817,7 +817,7 @@
|
||||
mov eax,[SfxRAMBR]
|
||||
shl eax,16
|
||||
add eax,[sfxramdata]
|
||||
mov dword[SfxRAMMem],eax
|
||||
mov [SfxRAMMem],eax
|
||||
%endmacro
|
||||
|
||||
%macro UnPackEsiEdi 0
|
||||
|
||||
@@ -343,7 +343,7 @@ NEWSYM FxOpbBF ; FROM rn set source register
|
||||
mov [edi],eax ; Write Destination
|
||||
mov [SfxSignZero],eax
|
||||
shr al,7
|
||||
mov byte[SfxOverflow],al
|
||||
mov [SfxOverflow],al
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
@@ -611,7 +611,7 @@ NEWSYM FxOpcBF ; FROM rn set source register
|
||||
mov [edi],eax ; Write Destination
|
||||
mov [SfxSignZero],eax
|
||||
shr al,7
|
||||
mov byte[SfxOverflow],al
|
||||
mov [SfxOverflow],al
|
||||
CLRFLAGS
|
||||
ret
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
mov [edi],eax ; Write Destination
|
||||
mov [SfxSignZero],eax
|
||||
shr al,7
|
||||
mov byte[SfxOverflow],al
|
||||
mov [SfxOverflow],al
|
||||
CLRFLAGS
|
||||
ret
|
||||
%endmacro
|
||||
@@ -85,7 +85,7 @@
|
||||
mov [edi],eax ; Write Destination
|
||||
mov [SfxSignZero],eax
|
||||
shr al,7
|
||||
mov byte[SfxOverflow],al
|
||||
mov [SfxOverflow],al
|
||||
CLRFLAGS
|
||||
ret
|
||||
%endmacro
|
||||
|
||||
@@ -75,7 +75,7 @@ NEWSYM FxOpd02 ; CACHE reintialize GSU cache
|
||||
je .SkipUpdate
|
||||
cmp byte[SfxCacheActive],1
|
||||
je .SkipUpdate
|
||||
mov dword[SfxCBR],eax
|
||||
mov [SfxCBR],eax
|
||||
mov dword[SfxCacheActive],1
|
||||
call FlushCache
|
||||
.SkipUpdate
|
||||
@@ -91,7 +91,7 @@ NEWSYM FxOpd03 ; LSR logic shift right ; Verified.
|
||||
shr ax,1 ; logic shift right
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
|
||||
@@ -425,7 +425,7 @@ NEWSYM FxOpd3C ; LOOP decrement loop counter, and branch on not zero ; V
|
||||
mov [SfxSignZero],eax
|
||||
or eax,eax
|
||||
jz .NoBranch
|
||||
mov eax,dword[SfxR13]
|
||||
mov eax,[SfxR13]
|
||||
mov ebp,[SfxCPB]
|
||||
add ebp,eax
|
||||
CLRFLAGS
|
||||
@@ -998,7 +998,7 @@ NEWSYM FxOpd4EA1 ; CMODE set plot option register ; V
|
||||
FETCHPIPE
|
||||
mov eax,[esi] ; Read Source
|
||||
inc ebp ; Increase program counter
|
||||
mov dword[SfxPOR],eax
|
||||
mov [SfxPOR],eax
|
||||
|
||||
test byte[SfxPOR],10h
|
||||
jnz .objmode
|
||||
@@ -1034,10 +1034,10 @@ NEWSYM FxOpd4EA1 ; CMODE set plot option register ; V
|
||||
mov ebx,[PLOTJmpb+eax*4]
|
||||
mov eax,[PLOTJmpa+eax*4]
|
||||
|
||||
mov dword[FxTable+4Ch*4],eax
|
||||
mov dword[FxTableb+4Ch*4],eax
|
||||
mov dword[FxTablec+4Ch*4],eax
|
||||
mov dword[FxTabled+4Ch*4],ebx
|
||||
mov [FxTable+4Ch*4],eax
|
||||
mov [FxTableb+4Ch*4],eax
|
||||
mov [FxTablec+4Ch*4],eax
|
||||
mov [FxTabled+4Ch*4],ebx
|
||||
pop ebx
|
||||
|
||||
CLRFLAGS
|
||||
@@ -1382,8 +1382,8 @@ NEWSYM FxOpd70 ; MERGE R7 as upper byte, R8 as lower byte (used for textur
|
||||
; V
|
||||
xor eax,eax
|
||||
FETCHPIPE
|
||||
mov ah,byte[SfxR7+1]
|
||||
mov al,byte[SfxR8+1]
|
||||
mov ah,[SfxR7+1]
|
||||
mov al,[SfxR8+1]
|
||||
inc ebp
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],0001h
|
||||
@@ -1443,7 +1443,7 @@ NEWSYM FxOpd7F ; AND RN register & register
|
||||
sub ebx,[SfxCPB]
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
@@ -1484,7 +1484,7 @@ NEWSYM FxOpd7FA1 ; BIC RN register & ~register
|
||||
xor ebx,0FFFFh
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
@@ -1584,7 +1584,7 @@ NEWSYM FxOpd8E ; MULTRNc 8 bit to 16 bit signed multiply, register * regist
|
||||
NEWSYM FxOpd8F ; MULTRNc 8 bit to 16 bit signed multiply, register * register
|
||||
FETCHPIPE
|
||||
mov ebx,ebp
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
sub ebx,[SfxCPB]
|
||||
imul bl
|
||||
inc ebp
|
||||
@@ -1627,7 +1627,7 @@ NEWSYM FxOpd8EA1 ; UMULRN 8 bit to 16 bit unsigned multiply, register * regis
|
||||
NEWSYM FxOpd8FA1 ; UMULRN 8 bit to 16 bit unsigned multiply, register * register
|
||||
FETCHPIPE
|
||||
mov ebx,ebp
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
sub ebx,[SfxCPB]
|
||||
mul bl
|
||||
inc ebp
|
||||
@@ -1743,7 +1743,7 @@ NEWSYM FxOpd96 ; ASR aritmethic shift right by one ; V
|
||||
sar ax,1 ; logic shift right
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
|
||||
@@ -1757,7 +1757,7 @@ NEWSYM FxOpd96A1 ; DIV2 aritmethic shift right by one ; V
|
||||
sar ax,1 ; logic shift right
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
.minusone
|
||||
@@ -1765,7 +1765,7 @@ NEWSYM FxOpd96A1 ; DIV2 aritmethic shift right by one ; V
|
||||
xor eax,eax
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],eax ; Write Destination
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
|
||||
@@ -1814,7 +1814,7 @@ NEWSYM FxOpd9E ; LOB set upper byte to zero (keep low byte) ; V
|
||||
inc ebp
|
||||
mov [edi],eax ; Write Destination
|
||||
shl eax,8
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
|
||||
@@ -1928,7 +1928,7 @@ NEWSYM FxOpdAEA1 ; LMS rn,(yy) load word from RAM (short address)
|
||||
inc ebp
|
||||
add eax,[SfxRAMMem]
|
||||
mov cl,[ebp]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
mov ebx,[eax] ; Read word from ram
|
||||
inc ebp
|
||||
mov [SfxR0+14*4],bx ; Write data
|
||||
@@ -1942,7 +1942,7 @@ NEWSYM FxOpdAFA1 ; LMS rn,(yy) load word from RAM (short address)
|
||||
inc ebp
|
||||
add eax,[SfxRAMMem]
|
||||
mov cl,[ebp]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
mov ebx,[eax] ; Read word from ram
|
||||
and ebx,0FFFFh
|
||||
mov ebp,[SfxCPB]
|
||||
@@ -1989,7 +1989,7 @@ NEWSYM FxOpdAFA2 ; SMS (yy),rn store word in RAM (short address)
|
||||
add eax,eax
|
||||
FETCHPIPE
|
||||
add eax,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
inc ebp
|
||||
mov [eax],bx ; Write word to ram
|
||||
CLRFLAGS
|
||||
@@ -2040,7 +2040,7 @@ NEWSYM FxOpdC0 ; HIB move high-byte to low-byte ; V
|
||||
mov eax,[esi] ; Read Source
|
||||
FETCHPIPE
|
||||
and eax,0FF00h
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
shr eax,8
|
||||
inc ebp
|
||||
mov [edi],eax
|
||||
@@ -2284,10 +2284,10 @@ NEWSYM FxOpdDFA2 ; RAMB set current RAM bank ; Verified
|
||||
FETCHPIPE
|
||||
dec ebx
|
||||
and eax,ebx
|
||||
mov dword[SfxRAMBR],eax
|
||||
mov [SfxRAMBR],eax
|
||||
shl eax,16
|
||||
add eax,[sfxramdata]
|
||||
mov dword[SfxRAMMem],eax
|
||||
mov [SfxRAMMem],eax
|
||||
CLRFLAGS
|
||||
inc ebp
|
||||
FXReturn
|
||||
@@ -2296,7 +2296,7 @@ NEWSYM FxOpdDFA3 ; ROMB set current ROM bank ; Verified
|
||||
mov eax,[esi] ; Read Source
|
||||
and eax,07Fh
|
||||
FETCHPIPE
|
||||
mov dword[SfxROMBR],eax
|
||||
mov [SfxROMBR],eax
|
||||
mov eax,[SfxMemTable+eax*4]
|
||||
mov [SfxCROM],eax
|
||||
CLRFLAGS
|
||||
@@ -2480,7 +2480,7 @@ NEWSYM FxOpdFEA1 ; LM RN,(XX) load word from RAM
|
||||
xor eax,1
|
||||
add ebp,3
|
||||
mov dh,[eax+ebx]
|
||||
mov word[SfxR0+14*4],dx ; Store Word
|
||||
mov [SfxR0+14*4],dx ; Store Word
|
||||
UpdateR14
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
%macro STWRNc 1 ; V
|
||||
mov eax,[SfxR0+%1*4] ; Read register
|
||||
mov ebx,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
add dword[SfxLastRamAdr],ebx ; Save last ram address
|
||||
mov edx,[esi] ; Read Source
|
||||
FETCHPIPE
|
||||
@@ -83,9 +83,9 @@
|
||||
mov eax,[SfxR0+%1*4] ; Read register
|
||||
FETCHPIPE
|
||||
add eax,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
mov ebx,[esi] ; Read Source
|
||||
mov byte[eax],bl ; Store Byte
|
||||
mov [eax],bl ; Store Byte
|
||||
CLRFLAGS
|
||||
inc ebp ; Increase program counter
|
||||
FXReturn
|
||||
@@ -94,7 +94,7 @@
|
||||
%macro LDWRNc 1 ; V
|
||||
mov eax,[SfxR0+%1*4] ; Read register
|
||||
mov ebx,[SfxRAMMem]
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
FETCHPIPE
|
||||
mov dl,[ebx+eax] ; Store Word
|
||||
add dword[SfxLastRamAdr],ebx ; Save last ram address
|
||||
@@ -112,7 +112,7 @@
|
||||
FETCHPIPE
|
||||
add eax,[SfxRAMMem]
|
||||
xor ebx,ebx
|
||||
mov dword[SfxLastRamAdr],eax ; Save last ram address
|
||||
mov [SfxLastRamAdr],eax ; Save last ram address
|
||||
mov bl,[eax] ; Read Byte
|
||||
inc ebp ; Increase program counter
|
||||
mov [edi],ebx ; Store Result
|
||||
@@ -241,7 +241,7 @@
|
||||
FETCHPIPE
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
@@ -254,7 +254,7 @@
|
||||
FETCHPIPE
|
||||
and eax,ebx
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
@@ -265,7 +265,7 @@
|
||||
FETCHPIPE
|
||||
and eax,%1
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
@@ -276,15 +276,15 @@
|
||||
FETCHPIPE
|
||||
and eax,%1
|
||||
inc ebp
|
||||
mov dword[SfxSignZero],eax
|
||||
mov [SfxSignZero],eax
|
||||
mov [edi],eax ; Write Destination
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
%endmacro
|
||||
|
||||
%macro MULTRNc 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov bl,byte[SfxR0+%1*4] ; Read RN
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,[SfxR0+%1*4] ; Read RN
|
||||
FETCHPIPE
|
||||
imul bl
|
||||
inc ebp
|
||||
@@ -296,8 +296,8 @@
|
||||
%endmacro
|
||||
|
||||
%macro UMULTRNc 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov bl,byte[SfxR0+%1*4] ; Read RN
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,[SfxR0+%1*4] ; Read RN
|
||||
FETCHPIPE
|
||||
mul bl
|
||||
inc ebp
|
||||
@@ -309,7 +309,7 @@
|
||||
%endmacro
|
||||
|
||||
%macro MULTIRNc 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,%1 ; Read RN
|
||||
FETCHPIPE
|
||||
imul bl
|
||||
@@ -322,7 +322,7 @@
|
||||
%endmacro
|
||||
|
||||
%macro UMULTIRNc 1 ; V
|
||||
mov al,byte[esi] ; Read Source
|
||||
mov al,[esi] ; Read Source
|
||||
mov bl,%1 ; Read RN
|
||||
FETCHPIPE
|
||||
mul bl
|
||||
@@ -339,7 +339,7 @@
|
||||
sub eax,[SfxCPB]
|
||||
add eax,%1
|
||||
FETCHPIPE
|
||||
mov word[SfxR11],ax
|
||||
mov [SfxR11],ax
|
||||
CLRFLAGS
|
||||
inc ebp
|
||||
FXReturn
|
||||
@@ -358,7 +358,7 @@
|
||||
FETCHPIPE
|
||||
mov eax,[SfxR0+%1*4]
|
||||
and eax,07Fh
|
||||
mov byte[SfxPBR],al
|
||||
mov [SfxPBR],al
|
||||
; mov byte[fxtrace+eax],1
|
||||
mov eax,[SfxMemTable+eax*4]
|
||||
mov [SfxCPB],eax
|
||||
@@ -388,7 +388,7 @@
|
||||
inc ebp
|
||||
add eax,[SfxRAMMem]
|
||||
mov cl,[ebp]
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
mov ebx,[eax] ; Read word from ram
|
||||
inc ebp
|
||||
mov [SfxR0+%1*4],bx ; Write data
|
||||
@@ -404,7 +404,7 @@
|
||||
mov cl,[ebp]
|
||||
add eax,[SfxRAMMem]
|
||||
mov ebx,[SfxR0+%1*4] ; Read data
|
||||
mov dword[SfxLastRamAdr],eax
|
||||
mov [SfxLastRamAdr],eax
|
||||
inc ebp
|
||||
mov [eax],bx ; Write word to ram
|
||||
CLRFLAGS
|
||||
@@ -508,7 +508,7 @@
|
||||
xor eax,1
|
||||
add ebp,3
|
||||
mov dh,[eax+ebx]
|
||||
mov word[SfxR0+%1*4],dx ; Store Word
|
||||
mov [SfxR0+%1*4],dx ; Store Word
|
||||
CLRFLAGS
|
||||
FXReturn
|
||||
%endmacro
|
||||
|
||||
@@ -153,7 +153,7 @@ NEWSYM SA1Swap
|
||||
mov dword[wramdata],wramdataa
|
||||
mov esi,[SNSPtr]
|
||||
mov eax,[wramdata]
|
||||
mov dword[snesmap2],eax
|
||||
mov [snesmap2],eax
|
||||
mov edi,[prevedi]
|
||||
xor eax,eax
|
||||
add dh,11
|
||||
@@ -183,7 +183,7 @@ NEWSYM SA1Swap
|
||||
mov dword[wramdata],wramdataa
|
||||
mov esi,[SNSPtr]
|
||||
mov eax,[wramdata]
|
||||
mov dword[snesmap2],eax
|
||||
mov [snesmap2],eax
|
||||
mov edi,[prevedi]
|
||||
xor eax,eax
|
||||
add byte[CurrentExecSA1],4
|
||||
@@ -256,8 +256,8 @@ SECTION .text
|
||||
%endmacro
|
||||
|
||||
NEWSYM SA1switchtonmi
|
||||
mov al,byte[SA1Message]
|
||||
mov byte[SA1Message+2],al
|
||||
mov al,[SA1Message]
|
||||
mov [SA1Message+2],al
|
||||
mov byte[SA1IRQExec+2],1
|
||||
mov ebx,esi
|
||||
sub ebx,[initaddrl]
|
||||
@@ -311,8 +311,8 @@ NEWSYM SA1switchtonmi
|
||||
ret
|
||||
|
||||
NEWSYM SA1switchtovirq
|
||||
mov al,byte[SA1Message]
|
||||
mov byte[SA1Message+2],al
|
||||
mov al,[SA1Message]
|
||||
mov [SA1Message+2],al
|
||||
mov byte[SA1IRQExec+1],1
|
||||
mov ebx,esi
|
||||
sub ebx,[initaddrl]
|
||||
|
||||
@@ -196,7 +196,7 @@ RTC2801w:
|
||||
ret
|
||||
.notstop
|
||||
push ebx
|
||||
mov ebx,dword[RTCPtr2]
|
||||
mov ebx,[RTCPtr2]
|
||||
cmp ebx,0
|
||||
je .next
|
||||
cmp ebx,13
|
||||
@@ -767,7 +767,7 @@ SPC4806w:
|
||||
mov eax,[edx+8]
|
||||
mov [SPC7110TempLength],eax
|
||||
|
||||
mov edx,dword[SPC7110filep]
|
||||
mov edx,[SPC7110filep]
|
||||
mov eax,[SPCCompPtr]
|
||||
and eax,0FFFFFFh
|
||||
mov ecx,6
|
||||
@@ -1204,7 +1204,7 @@ SPC482E:
|
||||
xor al,al
|
||||
ret
|
||||
SPC482Ew:
|
||||
mov byte[SPCSignedVal],al
|
||||
mov [SPCSignedVal],al
|
||||
mov dword[SPCMultA],0
|
||||
mov dword[SPCMultB],0
|
||||
mov dword[SPCDivEnd],0
|
||||
@@ -1251,7 +1251,7 @@ SPC4834:
|
||||
SPC4840w:
|
||||
test al,1
|
||||
jz .notreset
|
||||
mov byte[SPC7110RTCStat],al
|
||||
mov [SPC7110RTCStat],al
|
||||
mov byte[SPC7110RTCStat+1],0FEh
|
||||
.notreset
|
||||
ret
|
||||
@@ -1279,12 +1279,12 @@ SPC4841w:
|
||||
ret
|
||||
.commandbyte
|
||||
inc byte[SPC7110RTCStat+1]
|
||||
mov byte[SPC7110RTCStat+2],al
|
||||
mov [SPC7110RTCStat+2],al
|
||||
ret
|
||||
.commandindex
|
||||
push eax
|
||||
and al,0Fh
|
||||
mov byte[SPC7110RTCStat+1],al
|
||||
mov [SPC7110RTCStat+1],al
|
||||
pop eax
|
||||
ret
|
||||
SPC4842w:
|
||||
@@ -1424,7 +1424,7 @@ SPC4841:
|
||||
ret
|
||||
.commandbyte
|
||||
inc byte[SPC7110RTCStat+1]
|
||||
mov al,byte[SPC7110RTCStat+2]
|
||||
mov al,[SPC7110RTCStat+2]
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
@@ -1580,9 +1580,9 @@ NEWSYM SA1Reset
|
||||
mov [SA1RAMArea],eax
|
||||
mov eax,[romdata]
|
||||
add eax,4096*1024-6000h
|
||||
mov dword[CurBWPtr],eax
|
||||
mov dword[SA1BWPtr],eax
|
||||
mov dword[SNSBWPtr],eax
|
||||
mov [CurBWPtr],eax
|
||||
mov [SA1BWPtr],eax
|
||||
mov [SNSBWPtr],eax
|
||||
mov dword[SA1xa],0
|
||||
mov dword[SA1xx],0
|
||||
mov dword[SA1xy],0
|
||||
@@ -1711,7 +1711,7 @@ NEWSYM sdd14807w
|
||||
NEWSYM sa12200w
|
||||
mov bl,al
|
||||
and bl,0Fh
|
||||
mov byte[SA1Message],bl
|
||||
mov [SA1Message],bl
|
||||
test al,80h
|
||||
jz .noirq
|
||||
or byte[SA1DoIRQ],1
|
||||
@@ -1744,7 +1744,7 @@ NEWSYM sa12200w
|
||||
ret
|
||||
|
||||
NEWSYM sa12201w ; IRQ Enable
|
||||
mov byte[SA1IRQEnable],al
|
||||
mov [SA1IRQEnable],al
|
||||
ret
|
||||
NEWSYM sa12202w ; IRQ Clear
|
||||
test al,80h
|
||||
@@ -1774,7 +1774,7 @@ NEWSYM sa12209w ; IRQ Stuff
|
||||
.noirq
|
||||
mov bl,al
|
||||
and bl,0Fh
|
||||
mov byte[SA1Message+1],bl
|
||||
mov [SA1Message+1],bl
|
||||
mov bx,[irqv2]
|
||||
test al,40h
|
||||
jz .noirqchange
|
||||
@@ -1818,10 +1818,10 @@ NEWSYM sa12224w ; BWRAM
|
||||
shl ebx,13
|
||||
add ebx,[romdata]
|
||||
add ebx,1024*4096-6000h
|
||||
mov dword[SNSBWPtr],ebx
|
||||
mov [SNSBWPtr],ebx
|
||||
cmp byte[SA1Status],0
|
||||
jne .nosnes
|
||||
mov dword[CurBWPtr],ebx
|
||||
mov [CurBWPtr],ebx
|
||||
.nosnes
|
||||
ret
|
||||
NEWSYM sa12225w ; BWRAM
|
||||
@@ -1834,10 +1834,10 @@ EXTSYM BWUsed2
|
||||
shl ebx,13
|
||||
add ebx,[romdata]
|
||||
add ebx,1024*4096-6000h
|
||||
mov dword[SA1BWPtr],ebx
|
||||
mov [SA1BWPtr],ebx
|
||||
cmp byte[SA1Status],0
|
||||
je .nosa1b
|
||||
mov dword[CurBWPtr],ebx
|
||||
mov [CurBWPtr],ebx
|
||||
.nosa1b
|
||||
mov byte[BWShift],0
|
||||
mov byte[BWAndAddr],0
|
||||
@@ -1865,15 +1865,15 @@ EXTSYM BWUsed2
|
||||
.4col
|
||||
add ebx,[romdata]
|
||||
add ebx,1024*4096
|
||||
mov dword[SA1BWPtr],ebx
|
||||
mov [SA1BWPtr],ebx
|
||||
cmp byte[SA1Status],0
|
||||
je .nosa1
|
||||
mov dword[CurBWPtr],ebx
|
||||
mov [CurBWPtr],ebx
|
||||
.nosa1
|
||||
; mov byte[debstop3],1
|
||||
ret
|
||||
NEWSYM sa12250w
|
||||
mov byte[SA1ARC],al
|
||||
mov [SA1ARC],al
|
||||
mov byte[SA1ARC+1],1
|
||||
test al,2
|
||||
jz .notcumul
|
||||
@@ -1883,19 +1883,19 @@ NEWSYM sa12250w
|
||||
.notcumul
|
||||
ret
|
||||
NEWSYM sa12251w
|
||||
mov byte[SA1AR1],al
|
||||
mov [SA1AR1],al
|
||||
mov byte[SA1ARC+1],1
|
||||
ret
|
||||
NEWSYM sa12252w
|
||||
mov byte[SA1AR1+1],al
|
||||
mov [SA1AR1+1],al
|
||||
mov byte[SA1ARC+1],1
|
||||
ret
|
||||
NEWSYM sa12253w
|
||||
mov byte[SA1AR2],al
|
||||
mov [SA1AR2],al
|
||||
mov byte[SA1ARC+1],1
|
||||
ret
|
||||
NEWSYM sa12254w
|
||||
mov byte[SA1AR2+1],al
|
||||
mov [SA1AR2+1],al
|
||||
mov byte[SA1ARC+1],1
|
||||
test byte[SA1ARC],2
|
||||
jnz .cumul
|
||||
@@ -2138,7 +2138,7 @@ NEWSYM sa1230Er
|
||||
NEWSYM sa12302r
|
||||
test byte[SA1TimerSet],80h
|
||||
jnz .timeron
|
||||
mov al,byte[CurrentExecSA1]
|
||||
mov al,[CurrentExecSA1]
|
||||
shl al,2
|
||||
add al,dh
|
||||
ret
|
||||
@@ -2148,7 +2148,7 @@ NEWSYM sa12302r
|
||||
NEWSYM sa12303r
|
||||
test byte[SA1TimerSet],80h
|
||||
jnz .timeron
|
||||
mov al,byte[CurrentExecSA1]
|
||||
mov al,[CurrentExecSA1]
|
||||
shr al,3
|
||||
ret
|
||||
.timeron
|
||||
|
||||
@@ -563,7 +563,7 @@ NEWSYM reg303Cw ; RAMBR (Ram bank register)
|
||||
mov bl,al
|
||||
shl ebx,16
|
||||
add ebx,[sfxramdata]
|
||||
mov dword[SfxRAMMem],ebx
|
||||
mov [SfxRAMMem],ebx
|
||||
ret
|
||||
NEWSYM reg303Dw ; Unused
|
||||
ret
|
||||
|
||||
@@ -74,7 +74,7 @@ NEWSYM setaaccessbankw16
|
||||
mov [ebx],al
|
||||
jmp short .nosetenablew16
|
||||
.nowrapw16
|
||||
mov word[ebx+ecx],ax
|
||||
mov [ebx+ecx],ax
|
||||
cmp byte[ebx+021h], 80h
|
||||
jnz .nosetenablew16
|
||||
pushad
|
||||
|
||||
@@ -417,7 +417,7 @@ NEWSYM joinflags
|
||||
or bx,word[stackor]
|
||||
mov [xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[brkv]
|
||||
@@ -563,7 +563,7 @@ BRKemulmode
|
||||
or bx,word[stackor]
|
||||
mov [xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[copv]
|
||||
|
||||
@@ -404,7 +404,7 @@ EXTSYM flagnz,flago,flagc,cpucycle,doirqnext,dmadata
|
||||
or bx,word[stackor]
|
||||
mov [xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[brkv]
|
||||
@@ -559,7 +559,7 @@ BRKemulmode
|
||||
or bx,word[stackor]
|
||||
mov [xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[copv]
|
||||
|
||||
@@ -414,7 +414,7 @@ EXTSYM flagnz,flago,flagc,cpucycle,cycpbl,cycpblt,opcjmptab,doirqnext,dmadata
|
||||
or bx,word[stackor]
|
||||
mov [xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[brkv]
|
||||
@@ -569,7 +569,7 @@ BRKemulmode
|
||||
or bx,word[stackor]
|
||||
mov [xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[copv]
|
||||
|
||||
@@ -969,7 +969,7 @@ NEWSYM dohdma
|
||||
mov cx,[edx+17]
|
||||
call dword near [memtabler8+ebx*4]
|
||||
inc word[edx+17]
|
||||
mov byte[esi+10],al
|
||||
mov [esi+10],al
|
||||
test al,0FFh
|
||||
jnz .yeszero
|
||||
xor [nexthdma],ah
|
||||
@@ -1089,7 +1089,7 @@ NEWSYM indirectaddr
|
||||
mov cx,[edx+17]
|
||||
call dword near [memtabler8+ebx*4]
|
||||
inc word[edx+17]
|
||||
mov byte[esi+10],al
|
||||
mov [esi+10],al
|
||||
push eax
|
||||
mov bl,[esi+4]
|
||||
mov cx,[edx+17]
|
||||
@@ -1180,10 +1180,10 @@ NEWSYM hdmatype2indirect
|
||||
xor ebx,ebx
|
||||
xor ecx,ecx
|
||||
xor edx,edx
|
||||
mov ax,word[spcRam+021h] ; load dest offset
|
||||
mov ax,[spcRam+021h] ; load dest offset
|
||||
mov dword[.dest],spcRam
|
||||
add [.dest],eax
|
||||
mov dl,byte[esi+10] ; number of bytes to transfer
|
||||
mov dl,[esi+10] ; number of bytes to transfer
|
||||
sub dl,80h
|
||||
.inloop
|
||||
xor ebx,ebx
|
||||
@@ -1193,7 +1193,7 @@ NEWSYM hdmatype2indirect
|
||||
inc word[esi+5]
|
||||
call dword near [memtabler8+ebx*4]
|
||||
mov ebx,[.dest]
|
||||
mov byte[ebx],al
|
||||
mov [ebx],al
|
||||
inc ebx
|
||||
mov [.dest],ebx
|
||||
xor ebx,ebx
|
||||
@@ -1203,7 +1203,7 @@ NEWSYM hdmatype2indirect
|
||||
inc word[esi+5]
|
||||
call dword near [memtabler8+ebx*4]
|
||||
mov ebx,[.dest]
|
||||
mov byte[ebx],al
|
||||
mov [ebx],al
|
||||
inc ebx
|
||||
mov [.dest],ebx
|
||||
dec edx
|
||||
|
||||
@@ -1106,7 +1106,7 @@ NEWSYM RDSPRegFF ;
|
||||
mov ebx,[DecreaseRateExp+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
shr ebx,5
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov [GainDecBendDataTime+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
@@ -1115,7 +1115,7 @@ NEWSYM RDSPRegFF ;
|
||||
mov byte[GainDecBendDataDat+%1],127
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
pop eax
|
||||
@@ -1127,12 +1127,12 @@ NEWSYM RDSPRegFF ;
|
||||
and al,1Fh
|
||||
mov ebx,[Decrease+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
pop eax
|
||||
@@ -1146,11 +1146,11 @@ NEWSYM RDSPRegFF ;
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov ebx,[Voice0Time+%1*4]
|
||||
mov eax,ebx
|
||||
shr eax,2
|
||||
@@ -1168,11 +1168,11 @@ NEWSYM RDSPRegFF ;
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
pop eax
|
||||
@@ -1182,7 +1182,7 @@ NEWSYM RDSPRegFF ;
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,7Fh
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov byte[Voice0EnvInc+%1*4+2],al
|
||||
mov [Voice0EnvInc+%1*4+2],al
|
||||
mov dword[Voice0Time+%1*4],0FFFFFFFFh
|
||||
mov dword[Voice0IncNumber+%1*4],0
|
||||
pop edx
|
||||
@@ -1207,7 +1207,7 @@ NEWSYM RDSPRegFF ;
|
||||
and al,1Fh
|
||||
mov ebx,[DecreaseRateExp+eax*4]
|
||||
shr ebx,5
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov [GainDecBendDataTime+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov dh,118
|
||||
@@ -1237,14 +1237,14 @@ NEWSYM RDSPRegFF ;
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,1Fh
|
||||
mov ebx,[Decrease+eax*4]
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
xor eax,eax
|
||||
mov al,[Voice0EnvInc+%1*4+2]
|
||||
shl eax,16
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
pop eax
|
||||
@@ -1257,7 +1257,7 @@ NEWSYM RDSPRegFF ;
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
xor eax,eax
|
||||
mov al,[Voice0EnvInc+%1*4+2]
|
||||
@@ -1269,7 +1269,7 @@ NEWSYM RDSPRegFF ;
|
||||
xor al,127
|
||||
shl eax,16
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov ebx,[Voice0Time+%1*4]
|
||||
mov eax,ebx
|
||||
shr eax,2
|
||||
@@ -1286,7 +1286,7 @@ NEWSYM RDSPRegFF ;
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
xor eax,eax
|
||||
mov al,[Voice0EnvInc+%1*4+2]
|
||||
@@ -1298,7 +1298,7 @@ NEWSYM RDSPRegFF ;
|
||||
xor al,127
|
||||
shl eax,16
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
pop eax
|
||||
@@ -1308,7 +1308,7 @@ NEWSYM RDSPRegFF ;
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,7Fh
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov byte[Voice0EnvInc+%1*4+2],al
|
||||
mov [Voice0EnvInc+%1*4+2],al
|
||||
mov dword[Voice0Time+%1*4],0FFFFFFFFh
|
||||
mov dword[Voice0IncNumber+%1*4],0
|
||||
pop edx
|
||||
@@ -1417,7 +1417,7 @@ NEWSYM RDSPRegFF ;
|
||||
add ebx,eax
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
shr ebx,5
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov [GainDecBendDataTime+%1*4],ebx
|
||||
xor edx,edx
|
||||
|
||||
@@ -2088,7 +2088,7 @@ NEWSYM WDSPReg5B ; Voice 5
|
||||
mov eax,[Voice0EnvInc+%1*4]
|
||||
shr eax,8
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],200
|
||||
mov byte[DSPMem+08h+%1*10h],0
|
||||
or byte[DSPMem+7Ch],1 << %1
|
||||
|
||||
@@ -609,7 +609,7 @@ NEWSYM AdjustFrequency
|
||||
.next
|
||||
|
||||
mov ecx,[SoundQuality]
|
||||
mov eax,dword[SBToSPCSpeeds+ecx*4]
|
||||
mov eax,[SBToSPCSpeeds+ecx*4]
|
||||
|
||||
%ifdef __MSDOS__
|
||||
; code for supporting vibra cards (coded by Peter Santing)
|
||||
@@ -619,7 +619,7 @@ NEWSYM AdjustFrequency
|
||||
cmp byte[SBHDMA],0
|
||||
je .not16bit
|
||||
.vibrafix
|
||||
mov eax,dword[SBToSPCSpeeds2+ecx*4]
|
||||
mov eax,[SBToSPCSpeeds2+ecx*4]
|
||||
.not16bit
|
||||
%endif
|
||||
mov [SBToSPC],eax
|
||||
@@ -2744,12 +2744,12 @@ SECTION .text
|
||||
and al,0Fh
|
||||
cmp eax,0Fh
|
||||
je .skipattack
|
||||
mov ebx,dword[AttackRate+eax*4]
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov ebx,[AttackRate+eax*4]
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],8
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov byte[GainDecBendDataDat+%1],7Fh
|
||||
@@ -2802,7 +2802,7 @@ SECTION .text
|
||||
mov byte[GainDecBendDataDat+%1],127
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],9
|
||||
mov byte[Voice0Status+%1],1
|
||||
jmp .finproc
|
||||
@@ -2821,7 +2821,7 @@ SECTION .text
|
||||
add ebx,eax
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
shr ebx,5
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov [GainDecBendDataTime+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
@@ -2830,7 +2830,7 @@ SECTION .text
|
||||
mov byte[GainDecBendDataDat+%1],127
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],7
|
||||
mov byte[Voice0Status+%1],1
|
||||
jmp .finproc
|
||||
@@ -2847,7 +2847,7 @@ SECTION .text
|
||||
mov ebx,[DecreaseRateExp+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
shr ebx,5
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov [GainDecBendDataTime+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
@@ -2856,7 +2856,7 @@ SECTION .text
|
||||
mov byte[GainDecBendDataDat+%1],127
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],7
|
||||
mov byte[Voice0Status+%1],1
|
||||
jmp .finproc
|
||||
@@ -2866,12 +2866,12 @@ SECTION .text
|
||||
and al,1Fh
|
||||
mov ebx,[Decrease+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],5
|
||||
mov byte[Voice0Status+%1],1
|
||||
jmp .finproc
|
||||
@@ -2883,11 +2883,11 @@ SECTION .text
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov ebx,[Voice0Time+%1*4]
|
||||
mov eax,ebx
|
||||
shr eax,2
|
||||
@@ -2903,11 +2903,11 @@ SECTION .text
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536
|
||||
div ebx
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],3
|
||||
mov byte[Voice0Status+%1],1
|
||||
jmp .finproc
|
||||
@@ -2915,7 +2915,7 @@ SECTION .text
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,7Fh
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov byte[Voice0EnvInc+%1*4+2],al
|
||||
mov [Voice0EnvInc+%1*4+2],al
|
||||
mov dword[Voice0Time+%1*4],0FFFFFFFFh
|
||||
mov dword[Voice0IncNumber+%1*4],0
|
||||
mov byte[Voice0State+%1],4
|
||||
@@ -2924,11 +2924,11 @@ SECTION .text
|
||||
.finproc
|
||||
cmp dword[spc700temp+4],0
|
||||
je .skipall
|
||||
mov eax,dword[Voice0Time+%1*4]
|
||||
mov eax,[Voice0Time+%1*4]
|
||||
mov [TimeTemp+%1*4],eax
|
||||
mov eax,dword[Voice0IncNumber+%1*4]
|
||||
mov eax,[Voice0IncNumber+%1*4]
|
||||
mov [IncNTemp+%1*4],eax
|
||||
mov eax,dword[Voice0EnvInc+%1*4]
|
||||
mov eax,[Voice0EnvInc+%1*4]
|
||||
mov [EnvITemp+%1*4],eax
|
||||
mov al,[Voice0State+%1]
|
||||
mov [StatTemp+%1],al
|
||||
@@ -2937,14 +2937,14 @@ SECTION .text
|
||||
mov dword[Voice0Time+%1*4],127
|
||||
shr eax,7
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],210
|
||||
jmp .novoice
|
||||
.skipall
|
||||
mov ax,[DSPMem+02h+%1*10h]
|
||||
cmp word[Voice0Pitch+%1*2],ax
|
||||
je .nopitchc
|
||||
mov word[Voice0Pitch+%1*2],ax
|
||||
mov [Voice0Pitch+%1*2],ax
|
||||
And EAX, 03FFFh
|
||||
Mul dword[dspPAdj]
|
||||
ShRD EAX,EDX,8
|
||||
@@ -2974,10 +2974,10 @@ SECTION .text
|
||||
add ax,dx
|
||||
xor ebx,ebx
|
||||
mov bx,[spcRam+eax]
|
||||
mov dword[Voice0Ptr+%1*4],ebx
|
||||
mov [Voice0Ptr+%1*4],ebx
|
||||
xor ebx,ebx
|
||||
mov bx,[spcRam+eax+2]
|
||||
mov dword[Voice0LoopPtr+%1*4],ebx
|
||||
mov [Voice0LoopPtr+%1*4],ebx
|
||||
pop edx
|
||||
pop ebx
|
||||
pop eax
|
||||
@@ -3047,14 +3047,14 @@ NEWSYM Voice7Start
|
||||
add ax,dx
|
||||
xor ebx,ebx
|
||||
mov bx,[spcRam+eax]
|
||||
mov dword[Voice0Ptr+%1*4],ebx
|
||||
mov [Voice0Ptr+%1*4],ebx
|
||||
xor ebx,ebx
|
||||
mov bx,[spcRam+eax+2]
|
||||
mov dword[Voice0LoopPtr+%1*4],ebx
|
||||
mov [Voice0LoopPtr+%1*4],ebx
|
||||
mov ax,[DSPMem+02h+%1*10h]
|
||||
cmp word[Voice0Pitch+%1*2],ax
|
||||
je %%nopitchc
|
||||
mov word[Voice0Pitch+%1*2],ax
|
||||
mov [Voice0Pitch+%1*2],ax
|
||||
And EAX, 03FFFh
|
||||
Mul dword[dspPAdj]
|
||||
ShRD EAX,EDX,8
|
||||
@@ -3132,7 +3132,7 @@ section .text
|
||||
shl eax,cl
|
||||
pop ecx
|
||||
%else
|
||||
mov al,byte[powhack]
|
||||
mov al,[powhack]
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -3154,12 +3154,12 @@ NEWSYM NonEchoMonoPM
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3199,12 +3199,12 @@ NEWSYM NonEchoStereoPM
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1b
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3262,12 +3262,12 @@ NEWSYM EchoMonoPM
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3328,12 +3328,12 @@ NEWSYM EchoStereoPM
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1b
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3598,12 +3598,12 @@ NEWSYM NonEchoMonoInterpolated
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3650,12 +3650,12 @@ NEWSYM EchoMonoInterpolated
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3723,12 +3723,12 @@ NEWSYM NonEchoStereoInterpolated
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1b
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3791,12 +3791,12 @@ NEWSYM EchoStereoInterpolated
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1b
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3905,12 +3905,12 @@ NEWSYM NonEchoMono
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -3949,12 +3949,12 @@ NEWSYM NonEchoStereo
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1b
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -4011,12 +4011,12 @@ NEWSYM EchoMono
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -4077,12 +4077,12 @@ NEWSYM EchoStereo
|
||||
powshithack
|
||||
test byte[DSPMem+3Dh],al
|
||||
jz .PMod
|
||||
mov eax, dword[NoiseInc]
|
||||
mov eax, [NoiseInc]
|
||||
add dword[NoisePointer],eax
|
||||
mov eax,[NoisePointer]
|
||||
shr eax,18 ; maybe will need a change
|
||||
mov ax,[NoiseData+eax*2]
|
||||
mov word[LastNoise],ax
|
||||
mov [LastNoise],ax
|
||||
jmp .AfterNoise1b
|
||||
.PMod
|
||||
ProcessPMod ebp
|
||||
@@ -4167,7 +4167,7 @@ NEWSYM EchoStereo
|
||||
mov ax,[DSPMem+02h+%1*10h]
|
||||
cmp word[Voice0Pitch+%1*2],ax
|
||||
je %%nopitchc
|
||||
mov word[Voice0Pitch+%1*2],ax
|
||||
mov [Voice0Pitch+%1*2],ax
|
||||
And EAX, 03FFFh
|
||||
Mul dword[dspPAdj]
|
||||
ShRD EAX,EDX,8
|
||||
@@ -4212,7 +4212,7 @@ NEWSYM EchoStereo
|
||||
mov al,[DSPMem+07h+%1*10h]
|
||||
and al,1Fh
|
||||
mov ebx,[Increase+eax*4]
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
shr dword[Voice0IncNumber+%1*4],2
|
||||
mov byte[Voice0State+%1],3
|
||||
pop ebx
|
||||
@@ -4264,7 +4264,7 @@ NEWSYM EchoStereo
|
||||
mov byte[GainDecBendDataDat+%1],127
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
mov byte[Voice0State+%1],9
|
||||
@@ -4284,7 +4284,7 @@ NEWSYM EchoStereo
|
||||
add ebx,eax
|
||||
mov dword[Voice0EnvInc+%1*4],007FFFFFh
|
||||
shr ebx,5
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov [GainDecBendDataTime+%1*4],ebx
|
||||
xor edx,edx
|
||||
mov eax,127*65536-118*65536
|
||||
@@ -4292,7 +4292,7 @@ NEWSYM EchoStereo
|
||||
mov byte[GainDecBendDataDat+%1],127
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
pop edx
|
||||
pop ebx
|
||||
mov byte[Voice0State+%1],7
|
||||
@@ -4373,7 +4373,7 @@ NEWSYM EchoStereo
|
||||
mov dh,[GainDecBendData+ebx]
|
||||
mov dword[Voice0EnvInc+%1*4],0
|
||||
mov al,[VolumeConvTable+edx*2]
|
||||
mov byte[Voice0EnvInc+%1*4+2],al
|
||||
mov [Voice0EnvInc+%1*4+2],al
|
||||
mov dh,[GainDecBendData+ebx+1]
|
||||
cmp dh,255
|
||||
je %%nomore
|
||||
@@ -4432,14 +4432,14 @@ NEWSYM EchoStereo
|
||||
mov dl,[DSPMem+06h+%1*10h]
|
||||
shr dl,5
|
||||
and dl,07h
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov al,[SustainValue+edx]
|
||||
xor al,7Fh
|
||||
shl eax,16
|
||||
xor edx,edx
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],2
|
||||
pop edx
|
||||
pop ebx
|
||||
@@ -4474,13 +4474,13 @@ NEWSYM EchoStereo
|
||||
jg %%sustainokay
|
||||
mov ebx,100
|
||||
%%sustainokay
|
||||
mov dword[Voice0Time+%1*4],ebx
|
||||
mov [Voice0Time+%1*4],ebx
|
||||
mov al,[Voice0EnvInc+%1*4+2]
|
||||
shl eax,16
|
||||
xor edx,edx
|
||||
div ebx
|
||||
neg eax
|
||||
mov dword[Voice0IncNumber+%1*4],eax
|
||||
mov [Voice0IncNumber+%1*4],eax
|
||||
mov byte[Voice0State+%1],4
|
||||
pop edx
|
||||
pop ebx
|
||||
@@ -4721,7 +4721,7 @@ NEWSYM EchoStereo
|
||||
%%Decode1Block
|
||||
sub dword[BRRPlace0+%1*8],10000000h
|
||||
push esi
|
||||
mov esi, dword[Voice0Ptr+%1*4]
|
||||
mov esi, [Voice0Ptr+%1*4]
|
||||
; cmp byte[Voice0Looped+%1],0
|
||||
; je %%nobrrcheck
|
||||
|
||||
@@ -4739,9 +4739,9 @@ NEWSYM EchoStereo
|
||||
add edi,[spcBuffera]
|
||||
mov eax,[Voice0Prev0+%1*4]
|
||||
mov [Voice0BufPtr+%1*4],edi
|
||||
mov dword[prev0],eax
|
||||
mov [prev0],eax
|
||||
mov eax,[Voice0Prev1+%1*4]
|
||||
mov dword[prev1],eax
|
||||
mov [prev1],eax
|
||||
mov ecx,%1
|
||||
push ebp
|
||||
call BRRDecode
|
||||
@@ -4791,9 +4791,9 @@ NEWSYM EchoStereo
|
||||
movsx eax,word[BRRreadahead+6]
|
||||
mov [PSampleBuf+22*4+%1*24*4],eax
|
||||
|
||||
mov eax,dword[prev0]
|
||||
mov eax,[prev0]
|
||||
mov [Voice0Prev0+%1*4],eax
|
||||
mov eax,dword[prev1]
|
||||
mov eax,[prev1]
|
||||
mov [Voice0Prev1+%1*4],eax
|
||||
mov al,[loopbl]
|
||||
mov [Voice0Loop+%1],al
|
||||
@@ -4936,7 +4936,7 @@ NEWSYM EchoStereo
|
||||
|
||||
%macro FiltTapProc 1
|
||||
sub edx,2
|
||||
mov eax,dword[FIRTAPVal0+%1*4]
|
||||
mov eax,[FIRTAPVal0+%1*4]
|
||||
and edx,0Fh
|
||||
mov ebx,[FiltLoop+edx*4]
|
||||
imul eax,ebx
|
||||
@@ -4946,7 +4946,7 @@ NEWSYM EchoStereo
|
||||
|
||||
%macro FiltTapProcR 1
|
||||
sub edx,2
|
||||
mov eax,dword[FIRTAPVal0+%1*4]
|
||||
mov eax,[FIRTAPVal0+%1*4]
|
||||
and edx,0Fh
|
||||
mov ebx,[FiltLoopR+edx*4]
|
||||
imul eax,ebx
|
||||
|
||||
@@ -88,7 +88,7 @@ NEWSYM ResetExecStuff
|
||||
ret
|
||||
|
||||
NEWSYM ProcessRewind
|
||||
mov eax,dword[KeyRewind]
|
||||
mov eax,[KeyRewind]
|
||||
cmp byte[pressed+eax],1
|
||||
jne near .notokay
|
||||
mov byte[pressed+eax],2
|
||||
@@ -1037,8 +1037,8 @@ NEWSYM cpuover
|
||||
test byte[SA1DoIRQ],4
|
||||
jz .nosa1
|
||||
and byte[SA1DoIRQ],0FBh
|
||||
mov al,byte[SA1Message+1]
|
||||
mov byte[SA1Message+3],al
|
||||
mov al,[SA1Message+1]
|
||||
mov [SA1Message+3],al
|
||||
or byte[SA1IRQExec],1
|
||||
; Start IRQ
|
||||
add dh,10
|
||||
@@ -1050,8 +1050,8 @@ NEWSYM cpuover
|
||||
jz .nosa1chirq
|
||||
; jmp .nosa1chirq
|
||||
and byte[SA1DoIRQ],0F7h
|
||||
mov al,byte[SA1Message+1]
|
||||
mov byte[SA1Message+3],al
|
||||
mov al,[SA1Message+1]
|
||||
mov [SA1Message+3],al
|
||||
or byte[SA1IRQExec],2
|
||||
; Start IRQ
|
||||
add dh,10
|
||||
@@ -1234,7 +1234,7 @@ NEWSYM cpuover
|
||||
.nonewgfx
|
||||
cmp byte[GUIQuit],1
|
||||
je near endprog
|
||||
mov eax,dword[KeyQuickSnapShot]
|
||||
mov eax,[KeyQuickSnapShot]
|
||||
or eax,eax
|
||||
jz .nosskey
|
||||
test byte[pressed+eax],1
|
||||
@@ -1243,7 +1243,7 @@ NEWSYM cpuover
|
||||
mov byte[pressed+eax],2
|
||||
jmp exitloop
|
||||
.nosskey
|
||||
mov eax,dword[KeyQuickClock]
|
||||
mov eax,[KeyQuickClock]
|
||||
or eax,eax
|
||||
jz .noclockkey
|
||||
test byte[pressed+eax],1
|
||||
@@ -1251,7 +1251,7 @@ NEWSYM cpuover
|
||||
xor byte[TimerEnable],1
|
||||
mov byte[pressed+eax],2
|
||||
.noclockkey
|
||||
mov eax,dword[KeyQuickSaveSPC]
|
||||
mov eax,[KeyQuickSaveSPC]
|
||||
or eax,eax
|
||||
jz .nosavespckey
|
||||
test byte[pressed+eax],1
|
||||
@@ -1260,7 +1260,7 @@ NEWSYM cpuover
|
||||
mov byte[pressed+eax],2
|
||||
jmp exitloop
|
||||
.nosavespckey
|
||||
mov eax,dword[EMUPauseKey]
|
||||
mov eax,[EMUPauseKey]
|
||||
or eax,eax
|
||||
jz .nopausekey
|
||||
test byte[pressed+eax],1
|
||||
@@ -1268,7 +1268,7 @@ NEWSYM cpuover
|
||||
xor byte[EMUPause],1
|
||||
mov byte[pressed+eax],2
|
||||
.nopausekey
|
||||
mov eax,dword[INCRFrameKey]
|
||||
mov eax,[INCRFrameKey]
|
||||
or eax,eax
|
||||
jz .noincrframekey
|
||||
test byte[pressed+eax],1
|
||||
@@ -1655,7 +1655,7 @@ NEWSYM cpuover
|
||||
push ecx
|
||||
push edx
|
||||
mov al,[NumCheats]
|
||||
mov byte[.numcheat],al
|
||||
mov [.numcheat],al
|
||||
xor edx,edx
|
||||
.anothercheat
|
||||
xor ebx,ebx
|
||||
@@ -1765,10 +1765,10 @@ NEWSYM UpdatePORSCMR
|
||||
or al,bl
|
||||
mov ebx,[PLOTJmpb+eax*4]
|
||||
mov eax,[PLOTJmpa+eax*4]
|
||||
mov dword[FxTable+4Ch*4],eax
|
||||
mov dword[FxTableb+4Ch*4],eax
|
||||
mov dword[FxTablec+4Ch*4],eax
|
||||
mov dword[FxTabled+4Ch*4],ebx
|
||||
mov [FxTable+4Ch*4],eax
|
||||
mov [FxTableb+4Ch*4],eax
|
||||
mov [FxTablec+4Ch*4],eax
|
||||
mov [FxTabled+4Ch*4],ebx
|
||||
pop eax
|
||||
pop ebx
|
||||
ret
|
||||
@@ -1914,10 +1914,10 @@ NEWSYM StartSFXdebugb
|
||||
or al,bl
|
||||
mov ebx,[PLOTJmpb+eax*4]
|
||||
mov eax,[PLOTJmpa+eax*4]
|
||||
mov dword[FxTable+4Ch*4],eax
|
||||
mov dword[FxTableb+4Ch*4],eax
|
||||
mov dword[FxTablec+4Ch*4],eax
|
||||
mov dword[FxTabled+4Ch*4],ebx
|
||||
mov [FxTable+4Ch*4],eax
|
||||
mov [FxTableb+4Ch*4],eax
|
||||
mov [FxTablec+4Ch*4],eax
|
||||
mov [FxTabled+4Ch*4],ebx
|
||||
|
||||
mov ebx,[SfxSCBR]
|
||||
shl ebx,10
|
||||
|
||||
@@ -96,7 +96,7 @@ NEWSYM switchtonmi
|
||||
mov [xs],cx
|
||||
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[nmiv]
|
||||
@@ -204,7 +204,7 @@ NEWSYM switchtovirq
|
||||
mov [xs],cx
|
||||
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[irqv]
|
||||
@@ -265,7 +265,7 @@ NEWSYM switchtovirqret
|
||||
mov [xs],cx
|
||||
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[irqv]
|
||||
@@ -374,7 +374,7 @@ NEWSYM switchtovirqdeb
|
||||
mov [xs],cx
|
||||
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[irqv]
|
||||
@@ -481,7 +481,7 @@ NEWSYM switchtonmideb
|
||||
mov [xs],cx
|
||||
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[nmiv]
|
||||
|
||||
@@ -83,7 +83,7 @@ C4ProcessVectors:
|
||||
movsx bx,byte[edi]
|
||||
.spotloop
|
||||
add ah,80h
|
||||
mov byte[esi],ah
|
||||
mov [esi],ah
|
||||
sub ah,80h
|
||||
add ax,bx
|
||||
inc esi
|
||||
@@ -137,7 +137,7 @@ C4Edit:
|
||||
cmp byte[C4ObjSelec],0FFh
|
||||
jne .notneg
|
||||
dec al
|
||||
mov byte[C4ObjSelec],al
|
||||
mov [C4ObjSelec],al
|
||||
jmp .notof
|
||||
.notneg
|
||||
cmp byte[C4ObjSelec],al
|
||||
@@ -299,7 +299,7 @@ C4Edit:
|
||||
cmp byte[C4ObjSelec],0FFh
|
||||
jne .sobjokay2
|
||||
dec cl
|
||||
mov byte[C4SObjSelec],cl
|
||||
mov [C4SObjSelec],cl
|
||||
jmp .sobjokay
|
||||
.sobjokay2
|
||||
cmp byte[C4SObjSelec],cl
|
||||
@@ -308,7 +308,7 @@ C4Edit:
|
||||
.sobjokay
|
||||
|
||||
xor ecx,ecx
|
||||
mov cl,byte[C4SObjSelec]
|
||||
mov cl,[C4SObjSelec]
|
||||
shl ecx,2
|
||||
add ebx,ecx
|
||||
add ebx,4
|
||||
@@ -442,7 +442,7 @@ C4ConvOAM:
|
||||
; Convert from esi to edi
|
||||
mov dl,0FCh
|
||||
push ecx
|
||||
mov cl,byte[C4sprites]
|
||||
mov cl,[C4sprites]
|
||||
and cl,3
|
||||
add cl,cl
|
||||
rol dl,cl
|
||||
@@ -633,10 +633,10 @@ NEWSYM C4ProcessSprites
|
||||
mov esi,[C4Ram]
|
||||
mov dword[C4count],8
|
||||
mov cl,[esi+626h]
|
||||
mov byte[C4sprites],cl
|
||||
mov [C4sprites],cl
|
||||
mov ecx,[C4sprites]
|
||||
shl ecx,2
|
||||
mov dword[C4ObjDisp],ecx
|
||||
mov [C4ObjDisp],ecx
|
||||
mov ecx,128
|
||||
; cmp byte[esi+65],50h
|
||||
; jne .noincdisp
|
||||
@@ -737,7 +737,7 @@ OBCSprites:
|
||||
mov al,[esi+10] ;2,10
|
||||
mov [edi+ebx+2],al
|
||||
mov al,[esi+0Bh]
|
||||
mov byte[edi+ebx+3],al
|
||||
mov [edi+ebx+3],al
|
||||
|
||||
xor ebx,ebx
|
||||
mov bl,[esi+6]
|
||||
@@ -749,7 +749,7 @@ OBCSprites:
|
||||
|
||||
xor al,al
|
||||
mov ah,0FCh
|
||||
mov al,byte[esi+4] ;1,4
|
||||
mov al,[esi+4] ;1,4
|
||||
and al,03h
|
||||
shl al,cl
|
||||
rol ah,cl
|
||||
@@ -838,7 +838,7 @@ OBCRegs:
|
||||
shl ebx,3
|
||||
add ecx,ebx
|
||||
add ecx,[C4Ram]
|
||||
mov byte[ecx],al
|
||||
mov [ecx],al
|
||||
; cmp dl,1
|
||||
; jne .second
|
||||
mov byte[ecx+8],0FFh
|
||||
@@ -901,7 +901,7 @@ C4ClearSpr:
|
||||
; add eax,ecx
|
||||
shl ch,3
|
||||
.scloop2
|
||||
mov cl,byte[C4SprPos]
|
||||
mov cl,[C4SprPos]
|
||||
shl cl,2
|
||||
.scloop
|
||||
mov byte[edi],0
|
||||
@@ -1031,12 +1031,12 @@ DoScaleRotate:
|
||||
mov word[C4YXScale],0
|
||||
.effect
|
||||
; Calculate Pixel Resolution
|
||||
mov cl,byte[C4SprPos]
|
||||
mov cl,[C4SprPos]
|
||||
shl cl,3
|
||||
mov byte[C4SprPos+2],cl
|
||||
mov cl,byte[C4SprPos+1]
|
||||
mov [C4SprPos+2],cl
|
||||
mov cl,[C4SprPos+1]
|
||||
shl cl,3
|
||||
mov byte[C4SprPos+3],cl
|
||||
mov [C4SprPos+3],cl
|
||||
; Calculate Positions
|
||||
; (1-scale)*(pos/2)
|
||||
xor eax,eax
|
||||
@@ -1091,7 +1091,7 @@ DoScaleRotate:
|
||||
mov ecx,[C4PCYMPos]
|
||||
mov [C4CYMPos],ecx
|
||||
mov al,[C4SprPos+2]
|
||||
mov byte[C4CXPos],al
|
||||
mov [C4CXPos],al
|
||||
.loop2
|
||||
xor eax,eax
|
||||
mov al,[C4SprPos+2]
|
||||
@@ -1545,7 +1545,7 @@ C4BitPlaneWave:
|
||||
mov dword[.temp],10h
|
||||
xor eax,eax
|
||||
mov al,[esi+1F83h]
|
||||
mov dword[.waveptr],eax
|
||||
mov [.waveptr],eax
|
||||
mov word[.temp+4],0C0C0h
|
||||
mov word[.temp+6],03F3Fh
|
||||
.bmloopb
|
||||
@@ -1644,11 +1644,11 @@ C4DrawLine:
|
||||
|
||||
; transform both coordinates
|
||||
push esi
|
||||
mov ax,word[C4X1]
|
||||
mov ax,[C4X1]
|
||||
mov [C4WFXVal],ax
|
||||
mov ax,word[C4Y1]
|
||||
mov ax,[C4Y1]
|
||||
mov [C4WFYVal],ax
|
||||
mov ax,word[C4Z1]
|
||||
mov ax,[C4Z1]
|
||||
mov [C4WFZVal],ax
|
||||
mov al,[esi+1F90h]
|
||||
mov [C4WFScale],al
|
||||
@@ -1660,21 +1660,21 @@ C4DrawLine:
|
||||
mov [C4WFDist],al
|
||||
call C4TransfWireFrame2
|
||||
mov ax,[C4WFXVal]
|
||||
mov word[C4X1],ax
|
||||
mov [C4X1],ax
|
||||
mov ax,[C4WFYVal]
|
||||
mov word[C4Y1],ax
|
||||
mov [C4Y1],ax
|
||||
|
||||
mov ax,word[C4X2]
|
||||
mov ax,[C4X2]
|
||||
mov [C4WFXVal],ax
|
||||
mov ax,word[C4Y2]
|
||||
mov ax,[C4Y2]
|
||||
mov [C4WFYVal],ax
|
||||
mov ax,word[C4Z2]
|
||||
mov ax,[C4Z2]
|
||||
mov [C4WFZVal],ax
|
||||
call C4TransfWireFrame2
|
||||
mov ax,[C4WFXVal]
|
||||
mov word[C4X2],ax
|
||||
mov [C4X2],ax
|
||||
mov ax,[C4WFYVal]
|
||||
mov word[C4Y2],ax
|
||||
mov [C4Y2],ax
|
||||
|
||||
add word[C4X1],48
|
||||
add word[C4Y1],48
|
||||
@@ -1958,11 +1958,11 @@ C4WireFrame:
|
||||
jnz .yeswire
|
||||
mov ax,1
|
||||
.yeswire
|
||||
mov word[esi+$600],ax
|
||||
mov [esi+$600],ax
|
||||
mov ax,[C4WFXVal]
|
||||
mov word[esi+$602],ax
|
||||
mov [esi+$602],ax
|
||||
mov ax,[C4WFYVal]
|
||||
mov word[esi+$605],ax
|
||||
mov [esi+$605],ax
|
||||
add edi,2
|
||||
add esi,8
|
||||
dec ecx
|
||||
@@ -1975,11 +1975,11 @@ C4Transform:
|
||||
; 7F81,4,7,9,A,B,0,1,D
|
||||
pushad
|
||||
mov esi,[C4Ram]
|
||||
mov ax,word[esi+1F81h]
|
||||
mov ax,[esi+1F81h]
|
||||
mov [C4WFXVal],ax
|
||||
mov ax,word[esi+1F84h]
|
||||
mov ax,[esi+1F84h]
|
||||
mov [C4WFYVal],ax
|
||||
mov ax,word[esi+1F87h]
|
||||
mov ax,[esi+1F87h]
|
||||
mov [C4WFZVal],ax
|
||||
mov al,[esi+1F90h]
|
||||
mov [C4WFScale],al
|
||||
@@ -1991,9 +1991,9 @@ C4Transform:
|
||||
mov [C4WFDist],al
|
||||
call C4TransfWireFrame2
|
||||
mov ax,[C4WFXVal]
|
||||
mov word[esi+1F80h],ax
|
||||
mov [esi+1F80h],ax
|
||||
mov ax,[C4WFYVal]
|
||||
mov word[esi+1F83h],ax
|
||||
mov [esi+1F83h],ax
|
||||
popad
|
||||
ret
|
||||
|
||||
@@ -2092,7 +2092,7 @@ C4activate:
|
||||
mov dx,ax
|
||||
sar edx,8
|
||||
.done
|
||||
mov word[esi+1F80h],dx
|
||||
mov [esi+1F80h],dx
|
||||
mov [C4values+4],dx
|
||||
|
||||
; and eax,1FFh
|
||||
@@ -2233,7 +2233,7 @@ C4activate:
|
||||
mov esi,[C4Ram]
|
||||
mov ecx,800h
|
||||
.sumloop
|
||||
mov bl,byte[esi]
|
||||
mov bl,[esi]
|
||||
inc esi
|
||||
add ax,bx
|
||||
dec ecx
|
||||
@@ -2281,11 +2281,11 @@ C4activate:
|
||||
mov ax,[esi+$1F80]
|
||||
; imul cx
|
||||
shl ax,4
|
||||
mov word[esi+$1F89],ax
|
||||
mov [esi+$1F89],ax
|
||||
mov ax,[esi+$1F83]
|
||||
; imul cx
|
||||
shl ax,4
|
||||
mov word[esi+$1F8C],ax
|
||||
mov [esi+$1F8C],ax
|
||||
; mov cx,[esi+$1F80]
|
||||
; mov [C4values],cx
|
||||
; mov cx,[esi+$1F83]
|
||||
@@ -2437,7 +2437,7 @@ NEWSYM C4WriteReg
|
||||
and edx,01FFFh
|
||||
add ebx,edx
|
||||
.c4movloop
|
||||
mov dl,byte[eax]
|
||||
mov dl,[eax]
|
||||
mov [ebx],dl
|
||||
inc eax
|
||||
inc ebx
|
||||
|
||||
@@ -603,7 +603,7 @@ debblah:
|
||||
; Read OAM Data (Low, High)
|
||||
reg2138r:
|
||||
xor ebx,ebx
|
||||
mov bx,word[oamaddr]
|
||||
mov bx,[oamaddr]
|
||||
add ebx,oamram
|
||||
mov al,[ebx]
|
||||
inc word[oamaddr]
|
||||
@@ -634,8 +634,8 @@ reg2139r:
|
||||
jnz .noincr
|
||||
|
||||
add word[vramaddr],2
|
||||
mov bl,byte[vramincby8totl]
|
||||
mov byte[vramincby8left],bl
|
||||
mov bl,[vramincby8totl]
|
||||
mov [vramincby8left],bl
|
||||
dec byte[vramincby8rowl]
|
||||
jz .nextrow
|
||||
mov bx,[vramincby8ptri]
|
||||
@@ -667,8 +667,8 @@ reg213Ar:
|
||||
jnz .noincr
|
||||
|
||||
add word[vramaddr],2
|
||||
mov bl,byte[vramincby8totl]
|
||||
mov byte[vramincby8left],bl
|
||||
mov bl,[vramincby8totl]
|
||||
mov [vramincby8left],bl
|
||||
dec byte[vramincby8rowl]
|
||||
jz .nextrow
|
||||
mov bx,[vramincby8ptri]
|
||||
@@ -693,11 +693,11 @@ reg213Br:
|
||||
reg213Cr:
|
||||
cmp byte[latchxr],1
|
||||
je .highv
|
||||
mov al,byte[latchx]
|
||||
mov al,[latchx]
|
||||
mov byte[latchxr],1
|
||||
ret
|
||||
.highv
|
||||
mov al,byte[latchx]
|
||||
mov al,[latchx]
|
||||
and al,0FEh
|
||||
or al,byte[latchx+1]
|
||||
mov byte[latchxr],0
|
||||
@@ -709,17 +709,17 @@ reg213Dr:
|
||||
je .noreset
|
||||
cmp byte[latchyr],1
|
||||
je .highv
|
||||
mov al,byte[latchy]
|
||||
mov al,[latchy]
|
||||
mov byte[latchyr],1
|
||||
ret
|
||||
.highv
|
||||
mov al,byte[latchy]
|
||||
mov al,[latchy]
|
||||
and al,0FEh
|
||||
or al,byte[latchy+1]
|
||||
mov byte[latchyr],0
|
||||
ret
|
||||
.noreset
|
||||
mov al,byte[latchy]
|
||||
mov al,[latchy]
|
||||
and al,0FEh
|
||||
or al,byte[latchy+1]
|
||||
ret
|
||||
|
||||
@@ -302,7 +302,7 @@ reg2101w:
|
||||
cmp byte[prevoamptr],al
|
||||
je near .noproc
|
||||
.noskip
|
||||
mov byte[prevoamptr],al
|
||||
mov [prevoamptr],al
|
||||
xor ebx,ebx
|
||||
mov bl,al
|
||||
and bl,03h
|
||||
@@ -638,21 +638,21 @@ reg210Cw:
|
||||
; BG1 horizontal scroll register
|
||||
reg210Dw:
|
||||
xor ebx,ebx
|
||||
mov byte[bg1scrolx],al
|
||||
mov [bg1scrolx],al
|
||||
shl word[bg1scrolx],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg1scrolx],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
; BG1 vertical scroll register
|
||||
reg210Ew:
|
||||
xor ebx,ebx
|
||||
mov byte[bg1scroly],al
|
||||
mov [bg1scroly],al
|
||||
shl word[bg1scroly],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg1scroly],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
SECTION .bss
|
||||
@@ -662,31 +662,31 @@ SECTION .text
|
||||
; BG2 horizontal scroll register
|
||||
reg210Fw:
|
||||
xor ebx,ebx
|
||||
mov byte[bg2scrolx],al
|
||||
mov [bg2scrolx],al
|
||||
shl word[bg2scrolx],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg2scrolx],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
; BG2 vertical scroll register
|
||||
reg2110w:
|
||||
xor ebx,ebx
|
||||
mov byte[bg2scroly],al
|
||||
mov [bg2scroly],al
|
||||
shl word[bg2scroly],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg2scroly],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
; BG3 horizontal scroll register
|
||||
reg2111w:
|
||||
xor ebx,ebx
|
||||
mov byte[bg3scrolx],al
|
||||
mov [bg3scrolx],al
|
||||
shl word[bg3scrolx],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg3scrolx],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
section .data
|
||||
@@ -697,31 +697,31 @@ section .text
|
||||
; BG3 vertical scroll register
|
||||
reg2112w:
|
||||
xor ebx,ebx
|
||||
mov byte[bg3scroly],al
|
||||
mov [bg3scroly],al
|
||||
shl word[bg3scroly],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg3scroly],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
; BG4 horizontal scroll register
|
||||
reg2113w:
|
||||
xor ebx,ebx
|
||||
mov byte[bg4scrolx],al
|
||||
mov [bg4scrolx],al
|
||||
shl word[bg4scrolx],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg4scrolx],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
; BG4 vertical scroll register
|
||||
reg2114w:
|
||||
xor ebx,ebx
|
||||
mov byte[bg4scroly],al
|
||||
mov [bg4scroly],al
|
||||
shl word[bg4scroly],8
|
||||
mov bl,[bgscroltemp]
|
||||
add word[bg4scroly],bx
|
||||
mov byte[bgscroltemp],al
|
||||
mov [bgscroltemp],al
|
||||
ret
|
||||
|
||||
; Video port control
|
||||
@@ -803,7 +803,7 @@ reg2115w:
|
||||
; Video port address (Low)
|
||||
reg2116w:
|
||||
shr word[vramaddr],1
|
||||
mov byte[vramaddr],al
|
||||
mov [vramaddr],al
|
||||
shl word[vramaddr],1
|
||||
mov byte[vramread],0
|
||||
ret
|
||||
@@ -811,7 +811,7 @@ reg2116w:
|
||||
; Video port address (High)
|
||||
reg2117w:
|
||||
shr word[vramaddr],1
|
||||
mov byte[vramaddr+1],al
|
||||
mov [vramaddr+1],al
|
||||
shl word[vramaddr],1
|
||||
mov byte[vramread],0
|
||||
|
||||
@@ -1220,7 +1220,7 @@ reg2140w:
|
||||
jne .n
|
||||
mov byte[nmirept],0
|
||||
.n
|
||||
mov byte[spcRam+0F4h],al
|
||||
mov [spcRam+0F4h],al
|
||||
inc dword[SPC700write]
|
||||
reenablespc
|
||||
ret
|
||||
@@ -1234,7 +1234,7 @@ reg2140w:
|
||||
; Sound Register #2
|
||||
reg2141w:
|
||||
mov byte[sndwrit],1
|
||||
mov byte[spcRam+0F5h],al
|
||||
mov [spcRam+0F5h],al
|
||||
inc dword[SPC700write]
|
||||
reenablespc
|
||||
ret
|
||||
@@ -1248,7 +1248,7 @@ reg2141w:
|
||||
; Sound Register #3
|
||||
reg2142w:
|
||||
mov byte[sndwrit],1
|
||||
mov byte[spcRam+0F6h],al
|
||||
mov [spcRam+0F6h],al
|
||||
inc dword[SPC700write]
|
||||
reenablespc
|
||||
ret
|
||||
@@ -1262,7 +1262,7 @@ reg2142w:
|
||||
; Sound Register #4
|
||||
reg2143w:
|
||||
mov byte[sndwrit],1
|
||||
mov byte[spcRam+0F7h],al
|
||||
mov [spcRam+0F7h],al
|
||||
inc dword[SPC700write]
|
||||
reenablespc
|
||||
ret
|
||||
@@ -1284,19 +1284,19 @@ reg2180w:
|
||||
|
||||
; WRAM data register (low byte)
|
||||
reg2181w:
|
||||
mov byte[wramrwadr],al
|
||||
mov [wramrwadr],al
|
||||
ret
|
||||
|
||||
; WRAM data register (middle byte)
|
||||
reg2182w:
|
||||
mov byte[wramrwadr+1],al
|
||||
mov [wramrwadr+1],al
|
||||
ret
|
||||
|
||||
; WRAM data register (high byte)
|
||||
reg2183w:
|
||||
mov bl,al
|
||||
and bl,01h
|
||||
mov byte[wramrwadr+2],bl
|
||||
mov [wramrwadr+2],bl
|
||||
ret
|
||||
|
||||
; Joystick 1 & 2 status bytes
|
||||
@@ -1371,7 +1371,7 @@ reg4017w:
|
||||
|
||||
; Counter enable
|
||||
reg4200w:
|
||||
mov byte[INTEnab],al
|
||||
mov [INTEnab],al
|
||||
ret
|
||||
|
||||
; Programmable I/O port (out-port)
|
||||
@@ -1388,7 +1388,7 @@ reg4201w:
|
||||
jz .nolatch
|
||||
mov byte[iohvlatch],1
|
||||
.nolatch
|
||||
mov byte[ioportval],al
|
||||
mov [ioportval],al
|
||||
mov bl,al
|
||||
and bl,80h
|
||||
and byte[MultiTapStat],07Fh
|
||||
@@ -1551,22 +1551,22 @@ reg420Dw:
|
||||
jnz .speed358
|
||||
; 2.68 Mhz
|
||||
mov al,[opexec268]
|
||||
mov byte[cycpl],al ; 2.68 Mhz
|
||||
mov [cycpl],al ; 2.68 Mhz
|
||||
mov al,[opexec268cph]
|
||||
mov byte[cycphb],al ; 2.68 Mhz
|
||||
mov [cycphb],al ; 2.68 Mhz
|
||||
and byte[xirqb],00h
|
||||
mov bl,[cycpb268]
|
||||
mov byte[cycpblt],bl ; percentage of CPU/SPC to run
|
||||
mov [cycpblt],bl ; percentage of CPU/SPC to run
|
||||
ret
|
||||
.speed358
|
||||
; 3.58 Mhz
|
||||
mov al,[opexec358]
|
||||
mov byte[cycpl],al ; 3.58 Mhz
|
||||
mov [cycpl],al ; 3.58 Mhz
|
||||
mov al,[opexec358cph]
|
||||
mov byte[cycphb],al ; 3.58 Mhz
|
||||
mov [cycphb],al ; 3.58 Mhz
|
||||
or byte[xirqb],80h
|
||||
mov bl,[cycpb358]
|
||||
mov byte[cycpblt],bl ; percentage of CPU/SPC to run
|
||||
mov [cycpblt],bl ; percentage of CPU/SPC to run
|
||||
ret
|
||||
|
||||
; ???
|
||||
|
||||
@@ -420,7 +420,7 @@ NEWSYM Sjoinflags
|
||||
or bx,word[stackor]
|
||||
mov [SA1xs],bx
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [SA1xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[brkv]
|
||||
@@ -564,7 +564,7 @@ BRKemulmode
|
||||
mov [SA1xs],cx
|
||||
|
||||
xor bh,bh
|
||||
mov bl,byte[xirqb]
|
||||
mov bl,[xirqb]
|
||||
mov [SA1xpb],bl
|
||||
xor eax,eax
|
||||
mov ax,[copv]
|
||||
|
||||
@@ -476,7 +476,7 @@ EXTSYM SPCSave_dump, SPCSave_handle, Write_File
|
||||
mov [SPCSave_ports+%1], al
|
||||
pushad
|
||||
mov byte[SPCSave_buffer+2], %1
|
||||
mov byte[SPCSave_buffer+3], al
|
||||
mov [SPCSave_buffer+3], al
|
||||
mov ebx, [SPCSave_handle]
|
||||
mov ecx, 4
|
||||
mov edx, SPCSave_buffer
|
||||
@@ -747,7 +747,7 @@ NEWSYM OpFF ; STOP standby STOP mode .........
|
||||
ret
|
||||
NEWSYM Op9F ; XCN A A(7-4) <-> A(3-0) N......Z.
|
||||
ror byte[spcA],4
|
||||
mov al,byte[spcA]
|
||||
mov al,[spcA]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
@@ -1396,7 +1396,7 @@ NEWSYM OpB9 ; SBC (X),(Y) (X) <- (X)-(Y)-!C NV..H..ZC
|
||||
|
||||
NEWSYM OpC4 ; MOV dp,A A -> (dp) ........
|
||||
mov bl,[ebp]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
WriteByte
|
||||
@@ -1405,7 +1405,7 @@ NEWSYM OpC4 ; MOV dp,A A -> (dp) ........
|
||||
NEWSYM OpD4 ; MOV dp+x,A A -> (dp+X) ........
|
||||
mov bl,[ebp]
|
||||
add bl,[spcX]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
WriteByte
|
||||
@@ -1413,7 +1413,7 @@ NEWSYM OpD4 ; MOV dp+x,A A -> (dp+X) ........
|
||||
|
||||
NEWSYM OpC5 ; MOV labs,A A -> (abs) ........
|
||||
mov bx,[ebp]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
add ebp,2
|
||||
add ebx,spcRam
|
||||
WriteByte
|
||||
@@ -1422,7 +1422,7 @@ NEWSYM OpC5 ; MOV labs,A A -> (abs) ........
|
||||
NEWSYM OpD5 ; MOV labs+X,A A -> (abs+X) ........
|
||||
mov bl,[spcX]
|
||||
add bx,[ebp]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
add ebp,2
|
||||
add ebx,spcRam
|
||||
WriteByte
|
||||
@@ -1431,13 +1431,13 @@ NEWSYM OpD5 ; MOV labs+X,A A -> (abs+X) ........
|
||||
NEWSYM OpC6 ; MOV (X),A A -> (X) ........
|
||||
mov bl,[spcX]
|
||||
add ebx,[spcRamDP]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
WriteByte
|
||||
ret
|
||||
|
||||
NEWSYM OpD6 ; MOV labs+Y,A A -> (abs+Y) ........
|
||||
mov bl,[spcY]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
add bx,[ebp]
|
||||
add ebp,2
|
||||
add ebx,spcRam
|
||||
@@ -1450,10 +1450,10 @@ NEWSYM OpC7 ; MOV (dp+X),A A -> ((dp+X+1)(dp+X)) ........
|
||||
xor eax,eax
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
mov ax, word[ebx]
|
||||
mov ax, [ebx]
|
||||
mov ebx,eax
|
||||
add ebx,spcRam
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
WriteByte
|
||||
ret
|
||||
|
||||
@@ -1462,11 +1462,11 @@ NEWSYM OpD7 ; MOV (dp)+Y,A A -> ((dp+1)(dp)+Y) ........
|
||||
xor eax,eax
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
mov ax, word[ebx]
|
||||
mov ax, [ebx]
|
||||
add ax,[spcY]
|
||||
mov ebx,eax
|
||||
add ebx,spcRam
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
WriteByte
|
||||
ret
|
||||
|
||||
@@ -1476,7 +1476,7 @@ NEWSYM OpD7 ; MOV (dp)+Y,A A -> ((dp+1)(dp)+Y) ........
|
||||
|
||||
NEWSYM OpD8 ; MOV dp,X X -> (dp) ........
|
||||
mov bl,[ebp]
|
||||
mov al, byte[spcX]
|
||||
mov al, [spcX]
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
WriteByte
|
||||
@@ -1487,13 +1487,13 @@ NEWSYM OpF8 ; MOV X,dp X <- (dp) N......Z
|
||||
inc ebp
|
||||
add ebx,[spcRamDP]
|
||||
ReadByte
|
||||
mov byte[spcX], al
|
||||
mov [spcX], al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpC9 ; MOV labs,X X -> (abs) ........
|
||||
mov bx,[ebp]
|
||||
mov al, byte[spcX]
|
||||
mov al, [spcX]
|
||||
add ebp,2
|
||||
add ebx,spcRam
|
||||
WriteByte
|
||||
@@ -1504,13 +1504,13 @@ NEWSYM OpE9 ; MOV X,labs X <- (abs) N......Z
|
||||
add ebx,spcRam
|
||||
ReadByte
|
||||
add ebp,2
|
||||
mov byte[spcX], al
|
||||
mov [spcX], al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpD9 ; MOV dp+Y,X X -> (dp+Y) ........
|
||||
mov bl,[ebp]
|
||||
mov al, byte[spcX]
|
||||
mov al, [spcX]
|
||||
add bl,[spcY]
|
||||
inc ebp
|
||||
add ebx,[spcRamDP]
|
||||
@@ -1523,13 +1523,13 @@ NEWSYM OpF9 ; MOV X,dp+Y X <- (dp+Y) N......Z
|
||||
inc ebp
|
||||
add ebx,[spcRamDP]
|
||||
ReadByte
|
||||
mov byte[spcX], al
|
||||
mov [spcX], al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpCB ; MOV dp,Y Y -> (dp) ........
|
||||
mov bl,[ebp]
|
||||
mov al, byte[spcY]
|
||||
mov al, [spcY]
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
WriteByte
|
||||
@@ -1540,14 +1540,14 @@ NEWSYM OpEB ; MOV Y,dp Y <- (dp) N......Z
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
ReadByte
|
||||
mov byte[spcY], al
|
||||
mov [spcY], al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpDB ; MOV dp+X,Y X -> (dp+X) ........
|
||||
mov bl,[ebp]
|
||||
add bl,[spcX]
|
||||
mov al, byte[spcY]
|
||||
mov al, [spcY]
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
WriteByte
|
||||
@@ -1559,13 +1559,13 @@ NEWSYM OpFB ; MOV Y,dp+X Y <- (dp+X) N......Z
|
||||
inc ebp
|
||||
add ebx,[spcRamDP]
|
||||
ReadByte
|
||||
mov byte[spcY], al
|
||||
mov [spcY], al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpCC ; MOV labs,Y Y -> (abs) ........
|
||||
mov bx,[ebp]
|
||||
mov al, byte[spcY]
|
||||
mov al, [spcY]
|
||||
add ebp,2
|
||||
add ebx,spcRam
|
||||
WriteByte
|
||||
@@ -1576,7 +1576,7 @@ NEWSYM OpEC ; MOV Y,labs Y <- (abs) N......Z
|
||||
add ebx,spcRam
|
||||
ReadByte
|
||||
add ebp,2
|
||||
mov byte[spcY],al
|
||||
mov [spcY],al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
@@ -1641,7 +1641,7 @@ NEWSYM OpFD ; MOV Y,A Y <- A N......Z
|
||||
NEWSYM OpAF ; MOV (X)+,A A -> (X) with auto inc ........
|
||||
mov bl,[spcX]
|
||||
add ebx,[spcRamDP]
|
||||
mov al, byte[spcA]
|
||||
mov al, [spcA]
|
||||
inc byte[spcX]
|
||||
WriteByte
|
||||
ret
|
||||
@@ -1651,7 +1651,7 @@ NEWSYM OpBF ; MOV A,(X)+ A <- (X) with auto inc N......Z
|
||||
add ebx,[spcRamDP]
|
||||
ReadByte
|
||||
inc byte[spcX]
|
||||
mov byte[spcA],al
|
||||
mov [spcA],al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
@@ -2335,37 +2335,37 @@ NEWSYM OpAC ; INC labs ++ (abs) N......Z.
|
||||
|
||||
NEWSYM Op9C ; DEC A -- A N......Z.
|
||||
dec byte[spcA]
|
||||
mov al,byte[spcA]
|
||||
mov al,[spcA]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpBC ; INC A ++ A N......Z.
|
||||
inc byte[spcA]
|
||||
mov al,byte[spcA]
|
||||
mov al,[spcA]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpDC ; DEC Y -- Y N......Z.
|
||||
dec byte[spcY]
|
||||
mov al,byte[spcY]
|
||||
mov al,[spcY]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM OpFC ; INC Y ++ Y N......Z.
|
||||
inc byte[spcY]
|
||||
mov al,byte[spcY]
|
||||
mov al,[spcY]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM Op1D ; DEC X -- X N......Z.
|
||||
dec byte[spcX]
|
||||
mov al,byte[spcX]
|
||||
mov al,[spcX]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
NEWSYM Op3D ; INC X ++ X N......Z.
|
||||
inc byte[spcX]
|
||||
mov al,byte[spcX]
|
||||
mov al,[spcX]
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
|
||||
@@ -2566,7 +2566,7 @@ NEWSYM Op1F ; JMP (labs+X) PC <- (abs+X+1)(abs+X) ...
|
||||
add bx,[spcX]
|
||||
xor eax,eax
|
||||
add ebp,2
|
||||
mov ax, word[spcRam+ebx]
|
||||
mov ax, [spcRam+ebx]
|
||||
mov ebp,spcRam
|
||||
add ebp,eax
|
||||
ret
|
||||
@@ -2681,8 +2681,8 @@ NEWSYM Op9E ; DIV YA,X Q:A B:Y <- YA / X NV..H..Z.
|
||||
cmp bl,0
|
||||
je NoDiv
|
||||
div bx
|
||||
mov byte[spcA],al
|
||||
mov byte[spcY],dl
|
||||
mov [spcA],al
|
||||
mov [spcY],dl
|
||||
cmp ah,0
|
||||
jne Over
|
||||
and byte[spcP],191-16
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
xor eax,eax
|
||||
add ebx,[spcRamDP]
|
||||
inc ebp
|
||||
mov ax, word[ebx]
|
||||
mov ax, [ebx]
|
||||
mov ebx,eax
|
||||
add ebx,spcRam
|
||||
ReadByte
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
%endmacro
|
||||
|
||||
%macro SPC_MOV_A 0
|
||||
mov byte[spcA], al
|
||||
mov [spcA], al
|
||||
mov [spcNZ],al
|
||||
ret
|
||||
%endmacro
|
||||
|
||||
@@ -187,7 +187,7 @@ NEWSYM loadtempstuff
|
||||
; Init separate variables
|
||||
xor eax,eax
|
||||
mov al,[spcRam+0F1h]
|
||||
mov byte[timeron],al
|
||||
mov [timeron],al
|
||||
mov al,[spcRam+0FAh]
|
||||
mov [timincr0],al
|
||||
mov [timinl0],al
|
||||
@@ -554,7 +554,7 @@ NEWSYM getstring
|
||||
mov al,bl
|
||||
add esi,eax
|
||||
mov dl,'0'
|
||||
mov byte[esi],dl
|
||||
mov [esi],dl
|
||||
dec esi
|
||||
mov ecx,eax
|
||||
cmp bl,0
|
||||
@@ -568,7 +568,7 @@ NEWSYM getstring
|
||||
jnz .okloop2
|
||||
.noloop
|
||||
mov dl,[clearchar]
|
||||
mov byte[es:edi],dl
|
||||
mov [es:edi],dl
|
||||
jmp .tryinputagain
|
||||
.trynextentry
|
||||
mov al,0
|
||||
@@ -2191,13 +2191,13 @@ NEWSYM nextopcode
|
||||
mov byte[.charprin],'-'
|
||||
call .printnum
|
||||
xor eax,eax
|
||||
mov al,byte[curcyc]
|
||||
mov al,[curcyc]
|
||||
mov byte[.addernum],3
|
||||
mov edi,160+40
|
||||
mov byte[.charprin],' '
|
||||
call .printnum
|
||||
mov edi,160+52
|
||||
mov ax,word[curypos]
|
||||
mov ax,[curypos]
|
||||
call .printnum
|
||||
|
||||
mov ax,ds
|
||||
@@ -2497,7 +2497,7 @@ SECTION .text
|
||||
test eax,0FFFFFFFFh
|
||||
jnz .loopa2
|
||||
xor eax,eax
|
||||
mov al,byte[.addernum]
|
||||
mov al,[.addernum]
|
||||
xor ah,ah
|
||||
sub ax,cx
|
||||
cmp ax,0
|
||||
@@ -3486,13 +3486,13 @@ NEWSYM nextopcodesa1
|
||||
mov byte[nextopcode.charprin],'-'
|
||||
call nextopcode.printnum
|
||||
xor eax,eax
|
||||
mov al,byte[curcyc]
|
||||
mov al,[curcyc]
|
||||
mov byte[nextopcode.addernum],3
|
||||
mov edi,160+40
|
||||
mov byte[nextopcode.charprin],' '
|
||||
call nextopcode.printnum
|
||||
mov edi,160+52
|
||||
mov ax,word[curypos]
|
||||
mov ax,[curypos]
|
||||
call nextopcode.printnum
|
||||
pop es
|
||||
; set output pointer
|
||||
|
||||
@@ -185,7 +185,7 @@ NEWSYM OSExit
|
||||
NEWSYM Open_File
|
||||
pushad
|
||||
mov dword[ZOpenMode],0
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
@@ -194,7 +194,7 @@ NEWSYM Open_File
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov bx,[CurrentHandle]
|
||||
dec bx
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
call ZFileSeek
|
||||
popad
|
||||
mov ax,[CurrentHandle]
|
||||
@@ -213,7 +213,7 @@ NEWSYM Open_File
|
||||
NEWSYM Open_File_Write
|
||||
pushad
|
||||
mov dword[ZOpenMode],2
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
@@ -222,7 +222,7 @@ NEWSYM Open_File_Write
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov bx,[CurrentHandle]
|
||||
dec bx
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
call ZFileSeek
|
||||
popad
|
||||
mov ax,[CurrentHandle]
|
||||
@@ -241,7 +241,7 @@ NEWSYM Open_File_Write
|
||||
NEWSYM Create_File
|
||||
pushad
|
||||
mov dword[ZOpenMode],1
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
@@ -321,11 +321,11 @@ NEWSYM Close_File
|
||||
ret
|
||||
|
||||
NEWSYM File_Seek
|
||||
mov word[ZFileSeekPos+2],cx
|
||||
mov word[ZFileSeekPos],dx
|
||||
mov [ZFileSeekPos+2],cx
|
||||
mov [ZFileSeekPos],dx
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
pushad
|
||||
call ZFileSeek
|
||||
popad
|
||||
@@ -338,13 +338,13 @@ NEWSYM File_Seek
|
||||
ret
|
||||
|
||||
NEWSYM File_Seek_End
|
||||
mov word[ZFileSeekPos+2],cx
|
||||
mov word[ZFileSeekPos],dx
|
||||
mov [ZFileSeekPos+2],cx
|
||||
mov [ZFileSeekPos],dx
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
mov dword[ZFileSeekMode],1
|
||||
mov dword[ZFileTellHandle],0
|
||||
mov word[ZFileTellHandle],bx
|
||||
mov [ZFileTellHandle],bx
|
||||
pushad
|
||||
call ZFileSeek
|
||||
call ZFileTell
|
||||
|
||||
@@ -245,37 +245,37 @@ NEWSYM DosUpdateDevices
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinX2],eax
|
||||
mov [JoyMinX2],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxX2],eax
|
||||
mov [JoyMaxX2],eax
|
||||
mov ecx,[JoyY2]
|
||||
mov [JoyCenterY2], ecx
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinY2],eax
|
||||
mov [JoyMinY2],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxY2],eax
|
||||
mov [JoyMaxY2],eax
|
||||
mov ecx,[JoyX]
|
||||
mov [JoyCenterX], ecx
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinX],eax
|
||||
mov [JoyMinX],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxX],eax
|
||||
mov [JoyMaxX],eax
|
||||
mov ecx,[JoyY]
|
||||
mov [JoyCenterY], ecx
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinY],eax
|
||||
mov [JoyMinY],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxY],eax
|
||||
mov [JoyMaxY],eax
|
||||
; Port 209
|
||||
; Auto-Calibrate the joysticks
|
||||
cmp byte[JoyQuant209],2
|
||||
@@ -306,37 +306,37 @@ NEWSYM DosUpdateDevices
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinX2209],eax
|
||||
mov [JoyMinX2209],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxX2209],eax
|
||||
mov [JoyMaxX2209],eax
|
||||
mov ecx,[JoyY2]
|
||||
mov [JoyCenterY2209], ecx
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinY2209],eax
|
||||
mov [JoyMinY2209],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxY2209],eax
|
||||
mov [JoyMaxY2209],eax
|
||||
mov ecx,[JoyX]
|
||||
mov [JoyCenterX209], ecx
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinX209],eax
|
||||
mov [JoyMinX209],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxX209],eax
|
||||
mov [JoyMaxX209],eax
|
||||
mov ecx,[JoyY]
|
||||
mov [JoyCenterY209], ecx
|
||||
mov eax,ecx
|
||||
shr ecx,1
|
||||
sub eax,ecx
|
||||
mov dword[JoyMinY209],eax
|
||||
mov [JoyMinY209],eax
|
||||
add eax,ecx
|
||||
add eax,ecx
|
||||
mov dword[JoyMaxY209],eax
|
||||
mov [JoyMaxY209],eax
|
||||
cmp dword[CalibXmin],0
|
||||
je .nocalib
|
||||
mov eax,[CalibXmin]
|
||||
@@ -432,7 +432,7 @@ NEWSYM DosUpdateDevices
|
||||
sub al,5
|
||||
cmp byte[NumSWs],al
|
||||
ja .skipswc
|
||||
mov byte[NumSWs],al
|
||||
mov [NumSWs],al
|
||||
.skipswc
|
||||
ret
|
||||
.grip
|
||||
@@ -441,7 +441,7 @@ NEWSYM DosUpdateDevices
|
||||
sub al,9
|
||||
cmp byte[NumGRiPs],al
|
||||
ja .skipgripc
|
||||
mov byte[NumGRiPs],al
|
||||
mov [NumGRiPs],al
|
||||
.skipgripc
|
||||
.none
|
||||
ret
|
||||
@@ -480,7 +480,7 @@ NEWSYM DosUpdateDevices
|
||||
sub al,5
|
||||
cmp byte[NumSWs209],al
|
||||
ja .skipswc2
|
||||
mov byte[NumSWs209],al
|
||||
mov [NumSWs209],al
|
||||
.skipswc2
|
||||
ret
|
||||
.grip2
|
||||
@@ -489,7 +489,7 @@ NEWSYM DosUpdateDevices
|
||||
sub al,9
|
||||
cmp byte[NumGRiPs209],al
|
||||
ja .skipgripc2
|
||||
mov byte[NumGRiPs209],al
|
||||
mov [NumGRiPs209],al
|
||||
.skipgripc2
|
||||
.none2
|
||||
ret
|
||||
|
||||
@@ -737,7 +737,7 @@ NEWSYM InitSB
|
||||
jbe .okay
|
||||
mov eax,2
|
||||
.okay
|
||||
mov al,byte[SoundSpeedt+eax]
|
||||
mov al,[SoundSpeedt+eax]
|
||||
call SB_dsp_write
|
||||
; Set Stereo
|
||||
mov dx, [SBPort]
|
||||
@@ -751,7 +751,7 @@ NEWSYM InitSB
|
||||
jmp .donestereo
|
||||
.nostereo8b
|
||||
mov eax,[SoundQuality]
|
||||
mov al,byte[SoundSpeeds+eax]
|
||||
mov al,[SoundSpeeds+eax]
|
||||
call SB_dsp_write
|
||||
.donestereo
|
||||
|
||||
@@ -891,12 +891,12 @@ SECTION .text
|
||||
call SB_dsp_write
|
||||
push ecx
|
||||
mov ecx,[SoundQuality]
|
||||
mov al,byte[SBToSPCSpeeds2+ecx*4+1]
|
||||
mov al,[SBToSPCSpeeds2+ecx*4+1]
|
||||
pop ecx
|
||||
call SB_dsp_write
|
||||
push ecx
|
||||
mov ecx,[SoundQuality]
|
||||
mov al,byte[SBToSPCSpeeds2+ecx*4]
|
||||
mov al,[SBToSPCSpeeds2+ecx*4]
|
||||
pop ecx
|
||||
call SB_dsp_write
|
||||
|
||||
@@ -938,7 +938,7 @@ SECTION .text
|
||||
|
||||
push ecx
|
||||
mov ecx,[SoundQuality]
|
||||
mov al,byte[SoundSpeeds+ecx]
|
||||
mov al,[SoundSpeeds+ecx]
|
||||
pop ecx
|
||||
call SB_dsp_write
|
||||
|
||||
@@ -1055,12 +1055,12 @@ SECTION .text
|
||||
call SB_dsp_write
|
||||
push ecx
|
||||
mov ecx,[SoundQuality]
|
||||
mov al,byte[SBToSPCSpeeds2+ecx*4+1]
|
||||
mov al,[SBToSPCSpeeds2+ecx*4+1]
|
||||
pop ecx
|
||||
call SB_dsp_write
|
||||
push ecx
|
||||
mov ecx,[SoundQuality]
|
||||
mov al,byte[SBToSPCSpeeds2+ecx*4]
|
||||
mov al,[SBToSPCSpeeds2+ecx*4]
|
||||
pop ecx
|
||||
call SB_dsp_write
|
||||
|
||||
|
||||
@@ -191,7 +191,7 @@ NEWSYM InitVesa12
|
||||
mov edi, RMREGS
|
||||
mov dword[RMREGS.eax],4f01h
|
||||
mov dword[RMREGS.ebx],0
|
||||
mov dword[RMREGS.ecx],ecx
|
||||
mov [RMREGS.ecx],ecx
|
||||
mov dword[RMREGS.edi],0
|
||||
|
||||
push es
|
||||
@@ -384,14 +384,14 @@ NEWSYM InitVesa12
|
||||
.shrr
|
||||
shr bx,1
|
||||
.shlr
|
||||
mov word[vesa2_rfull],bx
|
||||
mov [vesa2_rfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_rtrcl],bx
|
||||
mov [vesa2_rtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_rtrcla],bx
|
||||
mov [vesa2_rtrcla],bx
|
||||
|
||||
; Process Green Stuff
|
||||
mov al,[fs:22h]
|
||||
@@ -415,14 +415,14 @@ NEWSYM InitVesa12
|
||||
.shrg
|
||||
shr bx,1
|
||||
.shlg
|
||||
mov word[vesa2_gfull],bx
|
||||
mov [vesa2_gfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_gtrcl],bx
|
||||
mov [vesa2_gtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_gtrcla],bx
|
||||
mov [vesa2_gtrcla],bx
|
||||
|
||||
; Process Blue Stuff
|
||||
mov al,[fs:24h]
|
||||
@@ -446,14 +446,14 @@ NEWSYM InitVesa12
|
||||
.shrb
|
||||
shr bx,1
|
||||
.shlb
|
||||
mov word[vesa2_bfull],bx
|
||||
mov [vesa2_bfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_btrcl],bx
|
||||
mov [vesa2_btrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_btrcla],bx
|
||||
mov [vesa2_btrcla],bx
|
||||
|
||||
xor word[vesa2_clbit],0FFFFh
|
||||
|
||||
|
||||
@@ -298,7 +298,7 @@ NEWSYM InitVesa2
|
||||
mov edi, RMREGS
|
||||
mov dword[RMREGS.eax],4f01h
|
||||
mov dword[RMREGS.ebx],0
|
||||
mov dword[RMREGS.ecx],ecx
|
||||
mov [RMREGS.ecx],ecx
|
||||
mov dword[RMREGS.edi],0
|
||||
|
||||
push es
|
||||
@@ -481,14 +481,14 @@ NEWSYM InitVesa2
|
||||
.shrr
|
||||
shr bx,1
|
||||
.shlr
|
||||
mov word[vesa2_rfull],bx
|
||||
mov [vesa2_rfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_rtrcl],bx
|
||||
mov [vesa2_rtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_rtrcla],bx
|
||||
mov [vesa2_rtrcla],bx
|
||||
|
||||
; mov ax,03h
|
||||
; int 10h
|
||||
@@ -518,14 +518,14 @@ NEWSYM InitVesa2
|
||||
.shrg
|
||||
shr bx,1
|
||||
.shlg
|
||||
mov word[vesa2_gfull],bx
|
||||
mov [vesa2_gfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_gtrcl],bx
|
||||
mov [vesa2_gtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_gtrcla],bx
|
||||
mov [vesa2_gtrcla],bx
|
||||
|
||||
; Process Blue Stuff
|
||||
mov al,[fs:24h]
|
||||
@@ -549,14 +549,14 @@ NEWSYM InitVesa2
|
||||
.shrb
|
||||
shr bx,1
|
||||
.shlb
|
||||
mov word[vesa2_bfull],bx
|
||||
mov [vesa2_bfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_btrcl],bx
|
||||
mov [vesa2_btrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_btrcla],bx
|
||||
mov [vesa2_btrcla],bx
|
||||
|
||||
xor word[vesa2_clbit],0FFFFh
|
||||
|
||||
|
||||
@@ -708,7 +708,7 @@ NEWSYM GUIhandler9h
|
||||
xor eax,eax
|
||||
; look for match
|
||||
%%notfoundyet
|
||||
mov bl,byte[GUIwinorder+eax]
|
||||
mov bl,[GUIwinorder+eax]
|
||||
cmp bl,%1
|
||||
je %%nextfind
|
||||
inc eax
|
||||
@@ -829,7 +829,7 @@ DrawSnow:
|
||||
add bl,228
|
||||
test byte[SnowVelDist+edx*2],8
|
||||
jz .nosnow
|
||||
mov byte[esi+eax],bl
|
||||
mov [esi+eax],bl
|
||||
.nosnow
|
||||
inc edx
|
||||
dec ecx
|
||||
@@ -1021,7 +1021,7 @@ SECTION .text
|
||||
add dl,65-48-10
|
||||
%%notover
|
||||
add dl,48
|
||||
mov byte[.message+%1],dl
|
||||
mov [.message+%1],dl
|
||||
xor edx,edx
|
||||
div ebx
|
||||
%endmacro
|
||||
@@ -1455,7 +1455,7 @@ NEWSYM StartGUI
|
||||
cmp byte[CopyRamToggle],1
|
||||
jne .nocopyram
|
||||
mov byte[CopyRamToggle],0
|
||||
mov eax,dword[vidbuffer]
|
||||
mov eax,[vidbuffer]
|
||||
add eax,129600
|
||||
; copy 128k ram
|
||||
mov ebx,[wramdata]
|
||||
@@ -1972,7 +1972,7 @@ CheckMenuItemHelp:
|
||||
xor eax,eax
|
||||
mov al,[GUIwinptr]
|
||||
inc byte[GUIwinptr]
|
||||
mov byte[GUIwinorder+eax],dl
|
||||
mov [GUIwinorder+eax],dl
|
||||
mov byte[GUIwinactiv+edx],1
|
||||
cmp byte[resetposn],1
|
||||
jne .nomenuitem
|
||||
@@ -1985,7 +1985,7 @@ CheckMenuItemHelp:
|
||||
xor eax,eax
|
||||
; look for match
|
||||
.notfoundyet
|
||||
mov bl,byte[GUIwinorder+eax]
|
||||
mov bl,[GUIwinorder+eax]
|
||||
cmp bl,dl
|
||||
je .nextfind
|
||||
inc eax
|
||||
@@ -3176,7 +3176,7 @@ SECTION .text
|
||||
mov bx,%4
|
||||
shr bx,1
|
||||
or ax,bx
|
||||
mov word[GUICPC+%1*2],ax
|
||||
mov [GUICPC+%1*2],ax
|
||||
%endmacro
|
||||
|
||||
DecPalVal:
|
||||
|
||||
@@ -148,10 +148,10 @@ CheatCodeSearchProcess:
|
||||
; Process Cheat Search
|
||||
mov ecx,65536*2
|
||||
xor ebx,ebx
|
||||
mov bl,byte[CheatSrcByteSize]
|
||||
mov bl,[CheatSrcByteSize]
|
||||
sub ecx,ebx
|
||||
mov edx,[SrcMask+ebx*4]
|
||||
mov edi,dword[vidbuffer]
|
||||
mov edi,[vidbuffer]
|
||||
add edi,129600+65536*2
|
||||
mov esi,[wramdata]
|
||||
mov bl,0FEh
|
||||
@@ -198,9 +198,9 @@ CheatCodeSearchProcess:
|
||||
mov byte[CSInputDisplay],'_'
|
||||
mov byte[CSInputDisplay+1],0
|
||||
mov byte[CheatSearchStatus],1
|
||||
mov eax,dword[vidbuffer]
|
||||
mov eax,[vidbuffer]
|
||||
add eax,129600+65536*2
|
||||
mov esi,dword[vidbuffer]
|
||||
mov esi,[vidbuffer]
|
||||
add esi,129600
|
||||
mov edi,[wramdata]
|
||||
mov ecx,65536*2
|
||||
@@ -236,7 +236,7 @@ CheatCodeSearchInit:
|
||||
mov byte[CheatSearchStatus],0
|
||||
cmp byte[CopyRamToggle],0
|
||||
mov byte[FirstSearch],1
|
||||
mov eax,dword[vidbuffer]
|
||||
mov eax,[vidbuffer]
|
||||
add eax,129600
|
||||
; copy 128k ram
|
||||
mov ebx,[wramdata]
|
||||
@@ -249,7 +249,7 @@ CheatCodeSearchInit:
|
||||
dec ecx
|
||||
jnz .loop
|
||||
; fill searched buffer with 0xFF
|
||||
mov eax,dword[vidbuffer]
|
||||
mov eax,[vidbuffer]
|
||||
add eax,129600+65536*2
|
||||
mov ecx,8192
|
||||
.loop2
|
||||
@@ -262,7 +262,7 @@ CheatCodeSearchInit:
|
||||
mov byte[CheatSearchStatus],1
|
||||
.nottype1
|
||||
mov dword[CheatCompareValue],0
|
||||
mov eax,dword[vidbuffer]
|
||||
mov eax,[vidbuffer]
|
||||
add eax,129600+65536*2
|
||||
cmp byte[CheatSrcByteSize],1
|
||||
je near .bytesize2
|
||||
@@ -432,7 +432,7 @@ CheatCodeLoad:
|
||||
cmp eax,[GUIcurrentcheatcursloc]
|
||||
ja .noconf
|
||||
dec eax
|
||||
mov dword[GUIcurrentcheatcursloc],eax
|
||||
mov [GUIcurrentcheatcursloc],eax
|
||||
.noconf
|
||||
cmp dword[NumCheats],0
|
||||
jne .nozero
|
||||
@@ -581,7 +581,7 @@ EnableCheatCode:
|
||||
push edx
|
||||
call dword near [memtabler8+ebx*4]
|
||||
pop edx
|
||||
mov byte[esi+5],al
|
||||
mov [esi+5],al
|
||||
pop ebx
|
||||
pop eax
|
||||
pop ecx
|
||||
@@ -1161,7 +1161,7 @@ decodegg:
|
||||
push edx
|
||||
call dword near [memtabler8+ebx*4]
|
||||
pop edx
|
||||
mov byte[cheatdata+edx+5],al
|
||||
mov [cheatdata+edx+5],al
|
||||
pop ebx
|
||||
pop eax
|
||||
pop ecx
|
||||
@@ -1257,7 +1257,7 @@ decodepar:
|
||||
push edx
|
||||
call dword near [memtabler8+ebx*4]
|
||||
pop edx
|
||||
mov byte[cheatdata+edx+5],al
|
||||
mov [cheatdata+edx+5],al
|
||||
pop ebx
|
||||
pop eax
|
||||
pop ecx
|
||||
|
||||
@@ -712,7 +712,7 @@ GUIgetcurrentinput:
|
||||
jne .notop
|
||||
.top
|
||||
mov al,[ebx]
|
||||
mov byte[GUIcrowpos],al
|
||||
mov [GUIcrowpos],al
|
||||
jmp .nokey
|
||||
.notop
|
||||
dec eax
|
||||
@@ -1303,7 +1303,7 @@ GUIVideoKeys:
|
||||
dec ebx
|
||||
cmp dword[GUIcurrentvideocursloc],ebx
|
||||
jb .poscd
|
||||
mov dword[GUIcurrentvideocursloc],ebx
|
||||
mov [GUIcurrentvideocursloc],ebx
|
||||
.poscd
|
||||
sub ebx,4
|
||||
cmp dword[GUIcurrentvideoviewloc],ebx
|
||||
@@ -1312,7 +1312,7 @@ GUIVideoKeys:
|
||||
jz .noneg
|
||||
mov ebx,0
|
||||
.noneg
|
||||
mov dword[GUIcurrentvideoviewloc],ebx
|
||||
mov [GUIcurrentvideoviewloc],ebx
|
||||
.posvd
|
||||
.nopagedown
|
||||
ret
|
||||
@@ -1510,7 +1510,7 @@ GUIPathKeys:
|
||||
jne .stillroom
|
||||
ret
|
||||
.stillroom
|
||||
mov byte[eax],dh
|
||||
mov [eax],dh
|
||||
|
||||
.nokeypressed
|
||||
ret
|
||||
@@ -1577,7 +1577,7 @@ GUIComboKeys:
|
||||
xor eax,eax
|
||||
mov byte[GUICCFlash],0
|
||||
mov al,[GUIComboPos]
|
||||
mov byte[GUIComboTextH+eax],dh
|
||||
mov [GUIComboTextH+eax],dh
|
||||
.nochar
|
||||
ret
|
||||
|
||||
@@ -1653,9 +1653,9 @@ GUICheatKeys:
|
||||
%endif
|
||||
mov eax,[NumCheats]
|
||||
dec eax
|
||||
mov dword[GUIcurrentcheatcursloc],eax
|
||||
mov [GUIcurrentcheatcursloc],eax
|
||||
sub eax,11
|
||||
mov dword[GUIcurrentcheatviewloc],eax
|
||||
mov [GUIcurrentcheatviewloc],eax
|
||||
test dword[GUIcurrentcheatviewloc],8000000h
|
||||
jz .posve
|
||||
mov dword[GUIcurrentcheatviewloc],0
|
||||
@@ -1747,7 +1747,7 @@ GUICheatKeys:
|
||||
dec ebx
|
||||
cmp dword[GUIcurrentcheatcursloc],ebx
|
||||
jb .poscd
|
||||
mov dword[GUIcurrentcheatcursloc],ebx
|
||||
mov [GUIcurrentcheatcursloc],ebx
|
||||
.poscd
|
||||
sub ebx,11
|
||||
cmp dword[GUIcurrentcheatviewloc],ebx
|
||||
@@ -1756,7 +1756,7 @@ GUICheatKeys:
|
||||
jz .noneg
|
||||
mov ebx,0
|
||||
.noneg
|
||||
mov dword[GUIcurrentcheatviewloc],ebx
|
||||
mov [GUIcurrentcheatviewloc],ebx
|
||||
.posvd
|
||||
.nopagedown
|
||||
ret
|
||||
@@ -1843,7 +1843,7 @@ GUICheatKeys:
|
||||
mov byte[GUICCFlash],0
|
||||
xor eax,eax
|
||||
mov al,[GUICheatPosA]
|
||||
mov byte[GUICheatTextZ1+eax],dh
|
||||
mov [GUICheatTextZ1+eax],dh
|
||||
mov byte[GUICheatTextZ1+eax+1],'_'
|
||||
mov byte[GUICheatTextZ1+eax+2],0
|
||||
inc byte[GUICheatPosA]
|
||||
@@ -1880,7 +1880,7 @@ GUICheatKeys:
|
||||
xor eax,eax
|
||||
mov byte[GUICCFlash],0
|
||||
mov al,[GUICheatPosB]
|
||||
mov byte[GUICheatTextZ2+eax],dh
|
||||
mov [GUICheatTextZ2+eax],dh
|
||||
mov byte[GUICheatTextZ2+eax+1],'_'
|
||||
mov byte[GUICheatTextZ2+eax+2],0
|
||||
inc byte[GUICheatPosB]
|
||||
@@ -1930,7 +1930,7 @@ InsertSearchCharacter:
|
||||
cmp dh,'A'
|
||||
jb near .done
|
||||
.okay
|
||||
mov byte[ecx],dh
|
||||
mov [ecx],dh
|
||||
inc ecx
|
||||
; Process cursor if over the window
|
||||
.placecursor
|
||||
@@ -2012,7 +2012,7 @@ InsertSearchDescription:
|
||||
je .nocharb
|
||||
cmp dl,18
|
||||
je .nocharb
|
||||
mov byte[eax],dh
|
||||
mov [eax],dh
|
||||
mov byte[eax+1],0
|
||||
.nocharb
|
||||
ret
|
||||
@@ -2179,9 +2179,9 @@ GUICheatSearchKeys:
|
||||
%endif
|
||||
mov eax,[NumCheatSrc]
|
||||
dec eax
|
||||
mov dword[GUIcurrentchtsrccursloc],eax
|
||||
mov [GUIcurrentchtsrccursloc],eax
|
||||
sub eax,11
|
||||
mov dword[GUIcurrentchtsrcviewloc],eax
|
||||
mov [GUIcurrentchtsrcviewloc],eax
|
||||
test dword[GUIcurrentchtsrcviewloc],8000000h
|
||||
jz .posve
|
||||
mov dword[GUIcurrentchtsrcviewloc],0
|
||||
@@ -2274,7 +2274,7 @@ GUICheatSearchKeys:
|
||||
dec ebx
|
||||
cmp dword[GUIcurrentchtsrccursloc],ebx
|
||||
jb .poscd
|
||||
mov dword[GUIcurrentchtsrccursloc],ebx
|
||||
mov [GUIcurrentchtsrccursloc],ebx
|
||||
.poscd
|
||||
sub ebx,11
|
||||
cmp dword[GUIcurrentchtsrcviewloc],ebx
|
||||
@@ -2283,7 +2283,7 @@ GUICheatSearchKeys:
|
||||
jz .noneg
|
||||
mov ebx,0
|
||||
.noneg
|
||||
mov dword[GUIcurrentchtsrcviewloc],ebx
|
||||
mov [GUIcurrentchtsrcviewloc],ebx
|
||||
.posvd
|
||||
.nopagedown
|
||||
|
||||
@@ -2687,9 +2687,9 @@ GUILoadKeys:
|
||||
mov byte[GUILoadPos],0
|
||||
mov eax,[GUIfileentries]
|
||||
dec eax
|
||||
mov dword[GUIcurrentcursloc],eax
|
||||
mov [GUIcurrentcursloc],eax
|
||||
sub eax,14
|
||||
mov dword[GUIcurrentviewloc],eax
|
||||
mov [GUIcurrentviewloc],eax
|
||||
test dword[GUIcurrentviewloc],8000000h
|
||||
jz .posve
|
||||
mov dword[GUIcurrentviewloc],0
|
||||
@@ -2785,7 +2785,7 @@ GUILoadKeys:
|
||||
dec ebx
|
||||
cmp dword[GUIcurrentcursloc],ebx
|
||||
jb .poscd
|
||||
mov dword[GUIcurrentcursloc],ebx
|
||||
mov [GUIcurrentcursloc],ebx
|
||||
.poscd
|
||||
sub ebx,14
|
||||
cmp dword[GUIcurrentviewloc],ebx
|
||||
@@ -2794,7 +2794,7 @@ GUILoadKeys:
|
||||
jz .noneg
|
||||
mov ebx,0
|
||||
.noneg
|
||||
mov dword[GUIcurrentviewloc],ebx
|
||||
mov [GUIcurrentviewloc],ebx
|
||||
.posvd
|
||||
.nopagedown
|
||||
|
||||
@@ -2822,7 +2822,7 @@ GUILoadKeys:
|
||||
mov byte[GUILDFlash],0
|
||||
xor eax,eax
|
||||
mov al,[GUILoadPos]
|
||||
mov byte[GUILoadTextA+eax],dh
|
||||
mov [GUILoadTextA+eax],dh
|
||||
inc byte[GUILoadPos]
|
||||
; Go to closest matching filename if there are no :, /, or \ in the filename
|
||||
mov ebx,[ManualCPtr]
|
||||
@@ -2850,7 +2850,7 @@ GUILoadKeys:
|
||||
add ebx,[GUIdirentries]
|
||||
.notdir
|
||||
mov ecx,esi
|
||||
mov dword[.foundval],esi
|
||||
mov [.foundval],esi
|
||||
mov dword[.maxfound],0
|
||||
.loop2
|
||||
mov dword[.numfound],0
|
||||
@@ -2930,7 +2930,7 @@ GUILoadKeys:
|
||||
sub ebx,15
|
||||
cmp dword[GUIcurrentdirviewloc],ebx
|
||||
jb .posvl2
|
||||
mov dword[GUIcurrentdirviewloc],ebx
|
||||
mov [GUIcurrentdirviewloc],ebx
|
||||
jmp .posvl2
|
||||
.notdir2
|
||||
mov [GUIcurrentcursloc],esi
|
||||
@@ -2939,7 +2939,7 @@ GUILoadKeys:
|
||||
sub ebx,15
|
||||
cmp dword[GUIcurrentviewloc],ebx
|
||||
jb .posvl2
|
||||
mov dword[GUIcurrentviewloc],ebx
|
||||
mov [GUIcurrentviewloc],ebx
|
||||
.posvl2
|
||||
cmp byte[ManualStatus],3
|
||||
jne .notdirectload
|
||||
@@ -2985,9 +2985,9 @@ SECTION .text
|
||||
mov byte[GUILoadPos],0
|
||||
mov eax,[GUIdirentries]
|
||||
dec eax
|
||||
mov dword[GUIcurrentdircursloc],eax
|
||||
mov [GUIcurrentdircursloc],eax
|
||||
sub eax,14
|
||||
mov dword[GUIcurrentdirviewloc],eax
|
||||
mov [GUIcurrentdirviewloc],eax
|
||||
test dword[GUIcurrentdirviewloc],8000000h
|
||||
jz .posve2
|
||||
mov dword[GUIcurrentdirviewloc],0
|
||||
@@ -3083,7 +3083,7 @@ SECTION .text
|
||||
dec ebx
|
||||
cmp dword[GUIcurrentdircursloc],ebx
|
||||
jb .poscd2
|
||||
mov dword[GUIcurrentdircursloc],ebx
|
||||
mov [GUIcurrentdircursloc],ebx
|
||||
.poscd2
|
||||
sub ebx,14
|
||||
cmp dword[GUIcurrentdirviewloc],ebx
|
||||
@@ -3092,7 +3092,7 @@ SECTION .text
|
||||
jz .noneg2
|
||||
mov ebx,0
|
||||
.noneg2
|
||||
mov dword[GUIcurrentdirviewloc],ebx
|
||||
mov [GUIcurrentdirviewloc],ebx
|
||||
.posvd2
|
||||
.nopagedown2
|
||||
jmp .textboxa
|
||||
|
||||
@@ -973,7 +973,7 @@ GetLoadDirNormal:
|
||||
; Copy every 14 bytes of spcRamcmp into every 32 bytes of spcBuffer
|
||||
mov ecx,[GUIdirentries]
|
||||
mov esi,[GUIdirStartLoc]
|
||||
mov edi,dword[GUIfileentries]
|
||||
mov edi,[GUIfileentries]
|
||||
shl edi,5
|
||||
add edi,[spcBuffera]
|
||||
cmp ecx,0
|
||||
@@ -999,7 +999,7 @@ GetLoadDirNormallfn:
|
||||
call GetNormalDirEntries
|
||||
push edi
|
||||
; Copy every 14 bytes of spcRamcmp into every 32 bytes of spcBuffer
|
||||
mov edi,dword[GUIfileentries]
|
||||
mov edi,[GUIfileentries]
|
||||
shl edi,5
|
||||
add edi,[spcBuffera]
|
||||
inc edi
|
||||
@@ -1079,8 +1079,8 @@ GetLoadData:
|
||||
mov byte[GUIloadfntype],0
|
||||
jmp GetLoadData
|
||||
.notfailed
|
||||
mov eax,dword[GUInumentries]
|
||||
mov dword[GUIfileentries],eax
|
||||
mov eax,[GUInumentries]
|
||||
mov [GUIfileentries],eax
|
||||
cmp dword[GUIfileentries],0
|
||||
jne .nonoentry
|
||||
mov dword[GUIcurrentfilewin],1
|
||||
@@ -1203,7 +1203,7 @@ GUIGetDirs:
|
||||
; compares string at esi to edi and returns 1 to al if esi is >, else 0
|
||||
.sortagain
|
||||
mov byte[BubbleSorted],0
|
||||
mov esi,dword[GUIfileentries]
|
||||
mov esi,[GUIfileentries]
|
||||
shl esi,5
|
||||
add esi,[spcBuffera]
|
||||
mov edi,[GUIdirStartLoc]
|
||||
@@ -1256,7 +1256,7 @@ GUIGetDirs:
|
||||
pop edi
|
||||
jmp .nodirs
|
||||
.sort2
|
||||
mov esi,dword[GUIfileentries]
|
||||
mov esi,[GUIfileentries]
|
||||
shl esi,2
|
||||
add esi,spcRamcmp
|
||||
.nextentryb
|
||||
|
||||
@@ -131,13 +131,13 @@ SetAllKeys:
|
||||
|
||||
;Check if controller is set
|
||||
push eax
|
||||
mov eax,dword[keycontrolval]
|
||||
mov eax,[keycontrolval]
|
||||
cmp dword[eax],0
|
||||
pop eax
|
||||
jne .noLockInputChange
|
||||
ret
|
||||
.noLockInputChange
|
||||
mov dword[guicpressptr],edi
|
||||
mov [guicpressptr],edi
|
||||
xor ebx,ebx
|
||||
mov ecx,12
|
||||
mov dword[guipressptr],guipresstext4b
|
||||
|
||||
@@ -104,7 +104,7 @@ ProcessMouse:
|
||||
je .zero3
|
||||
mov byte[MouseMoveOkay],1
|
||||
.zero3
|
||||
mov word[GUImouseposx],cx
|
||||
mov [GUImouseposx],cx
|
||||
test word[GUImouseposx],8000h
|
||||
jz .nowrapleft
|
||||
mov word[GUImouseposx],0
|
||||
@@ -113,7 +113,7 @@ ProcessMouse:
|
||||
jbe .nowrapright
|
||||
mov word[GUImouseposx],255
|
||||
.nowrapright
|
||||
mov word[GUImouseposy],dx
|
||||
mov [GUImouseposy],dx
|
||||
test word[GUImouseposy],8000h
|
||||
jz .nowrapup
|
||||
mov word[GUImouseposy],0
|
||||
@@ -186,7 +186,7 @@ ProcessMouseButtons:
|
||||
mov byte[GUIOnMenuItm],2
|
||||
cmp byte[eax+ebx+1],0
|
||||
je .zero
|
||||
mov byte[GUIcrowpos],al
|
||||
mov [GUIcrowpos],al
|
||||
mov byte[GUIOnMenuItm],1
|
||||
.zero
|
||||
; Check if mouse is clicked on menu
|
||||
@@ -465,7 +465,7 @@ ProcessMouseButtons:
|
||||
.nomwrap
|
||||
mov word[GUImouseposy],16
|
||||
.noover
|
||||
mov cx,word[GUImouseposy]
|
||||
mov cx,[GUImouseposy]
|
||||
sub cx,[GUIHoldy]
|
||||
add cx,[GUIHoldym]
|
||||
movsx ecx,cx
|
||||
@@ -475,7 +475,7 @@ ProcessMouseButtons:
|
||||
xor ebx,ebx
|
||||
mov bl,[GUIwinorder+eax]
|
||||
mov [GUIwinposy+ebx*4],ecx
|
||||
mov cx,word[GUImouseposx]
|
||||
mov cx,[GUImouseposx]
|
||||
sub cx,[GUIHoldx]
|
||||
add cx,[GUIHoldxm]
|
||||
movsx ecx,cx
|
||||
@@ -1590,9 +1590,9 @@ SECTION .text
|
||||
mov [GUIHoldXlimR],eax
|
||||
mov eax,[%5]
|
||||
mov [GUIlastdispval],eax
|
||||
mov eax,dword[%8]
|
||||
mov eax,[%8]
|
||||
mov [GUIlastcpos],eax
|
||||
mov eax,dword[%7]
|
||||
mov eax,[%7]
|
||||
mov [GUIlastvpos],eax
|
||||
mov byte[GUIHold],3
|
||||
ret
|
||||
@@ -2186,7 +2186,7 @@ DisplayGUIMovieClick:
|
||||
DisplayGUIInputClick2:
|
||||
push eax
|
||||
mov eax,[NumInputDevices]
|
||||
mov dword[GUINumValue],eax
|
||||
mov [GUINumValue],eax
|
||||
pop eax
|
||||
GUISlidebarPostImpl 109,42,116,69,.scrollup,.scrolldown,9,5,GUIcurrentinputviewloc,GUIcurrentinputcursloc,GUINumValue,GUIBlankVar,1
|
||||
GUIPostWinBoxMove 5,35,107,35+5*8,GUIcurrentinputviewloc,GUIcurrentinputcursloc,GUINumValue,.scrollup,.scrolldown,DisplayGUIInputClick.skipscrol,5
|
||||
@@ -2194,7 +2194,7 @@ DisplayGUIInputClick:
|
||||
; SlideBar Implementation
|
||||
push eax
|
||||
mov eax,[NumInputDevices]
|
||||
mov dword[GUINumValue],eax
|
||||
mov [GUINumValue],eax
|
||||
pop eax
|
||||
GUISlidebarImpl 109,42,116,69,GUIIStA,5,GUIcurrentinputviewloc,GUIcurrentinputcursloc,GUINumValue,3
|
||||
.skipscrol
|
||||
@@ -2232,7 +2232,7 @@ DisplayGUIInputClick:
|
||||
|
||||
;Check if controller is set
|
||||
push eax
|
||||
mov eax,dword[keycontrolval]
|
||||
mov eax,[keycontrolval]
|
||||
cmp dword[eax],0
|
||||
pop eax
|
||||
je near .lockInputChange
|
||||
@@ -2358,7 +2358,7 @@ DisplayGUIOptionClick:
|
||||
DisplayGUIVideoClick2:
|
||||
push eax
|
||||
mov eax,[NumVideoModes]
|
||||
mov dword[GUINumValue],eax
|
||||
mov [GUINumValue],eax
|
||||
pop eax
|
||||
GUISlidebarPostImpl 117,33,124,62,.scrollup,.scrolldown,5,5,GUIcurrentvideoviewloc,GUIcurrentvideocursloc,GUINumValue,GUIBlankVar,1
|
||||
GUIPostWinBoxMove 5,27,115,27+5*8,GUIcurrentvideoviewloc,GUIcurrentvideocursloc,GUINumValue,.scrollup,.scrolldown,DisplayGUIVideoClick.skipscrol,5
|
||||
@@ -2366,7 +2366,7 @@ DisplayGUIVideoClick:
|
||||
; SlideBar Implementation
|
||||
push eax
|
||||
mov eax,[NumVideoModes]
|
||||
mov dword[GUINumValue],eax
|
||||
mov [GUINumValue],eax
|
||||
pop eax
|
||||
GUISlidebarImpl 117,33,124,62,GUIVStA,5,GUIcurrentvideoviewloc,GUIcurrentvideocursloc,GUINumValue,5
|
||||
.skipscrol
|
||||
@@ -2473,7 +2473,7 @@ DisplayGUIVideoClick:
|
||||
.nocheckboxi2
|
||||
GUIPHoldbutton 128,60,164,71,4
|
||||
mov al,[vsyncon]
|
||||
mov byte[cfgvsync],al
|
||||
mov [cfgvsync],al
|
||||
xor al,al
|
||||
ret
|
||||
|
||||
@@ -2874,7 +2874,7 @@ DisplayGUIOptnsClick:
|
||||
jg .nomovebar1
|
||||
cmp byte[TRVal2],al
|
||||
je .nomovebar1b
|
||||
mov byte[TRVal2],al
|
||||
mov [TRVal2],al
|
||||
mov byte[TRVal2+1],1
|
||||
.nomovebar1b
|
||||
mov byte[GUIHold],2
|
||||
@@ -2889,7 +2889,7 @@ DisplayGUIOptnsClick:
|
||||
jg .nomovebar2
|
||||
cmp byte[TGVal2],al
|
||||
je .nomovebar2b
|
||||
mov byte[TGVal2],al
|
||||
mov [TGVal2],al
|
||||
mov byte[TRVal2+1],1
|
||||
.nomovebar2b
|
||||
mov byte[GUIHold],2
|
||||
@@ -2904,7 +2904,7 @@ DisplayGUIOptnsClick:
|
||||
jg .nomovebar3
|
||||
cmp byte[TBVal2],al
|
||||
je .nomovebar3b
|
||||
mov byte[TBVal2],al
|
||||
mov [TBVal2],al
|
||||
mov byte[TRVal2+1],1
|
||||
.nomovebar3b
|
||||
mov byte[GUIHold],2
|
||||
@@ -3365,7 +3365,7 @@ DrawMouse:
|
||||
; jnz .nomidshad
|
||||
shr bl,1
|
||||
add bl,189
|
||||
mov byte[edi+288*7+5],bl
|
||||
mov [edi+288*7+5],bl
|
||||
jmp .finishadow
|
||||
.nomidshad
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ GUIoutputchar:
|
||||
sub al,cl
|
||||
sub al,ch
|
||||
inc al
|
||||
mov byte[esi],al
|
||||
mov [esi],al
|
||||
.nowrite
|
||||
shl ah,1
|
||||
inc esi
|
||||
@@ -309,7 +309,7 @@ GUIDrawShadow:
|
||||
sub al,189
|
||||
shr al,1
|
||||
add al,189
|
||||
mov byte[edi-288*3-3],al
|
||||
mov [edi-288*3-3],al
|
||||
jmp .noshadow
|
||||
.nomidshad
|
||||
mov al,[edi]
|
||||
@@ -384,7 +384,7 @@ GUIoutputcharwin:
|
||||
test ah,80h
|
||||
jz .nowrite
|
||||
mov al,[GUItextcolor]
|
||||
mov byte[esi],al
|
||||
mov [esi],al
|
||||
.nowrite
|
||||
shl ah,1
|
||||
inc esi
|
||||
@@ -535,8 +535,8 @@ OutputUnder:
|
||||
%endmacro
|
||||
|
||||
%macro GUIOuttextwin2 4
|
||||
mov edx,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov edx,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add edx,%2
|
||||
add ebx,%3
|
||||
|
||||
@@ -552,8 +552,8 @@ OutputUnder:
|
||||
%endmacro
|
||||
|
||||
%macro GUIOuttextwin2l 4
|
||||
mov edx,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov edx,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add edx,%2
|
||||
add ebx,%3
|
||||
|
||||
@@ -569,8 +569,8 @@ OutputUnder:
|
||||
%endmacro
|
||||
|
||||
%macro GUIOuttextwin2u 5
|
||||
mov edx,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov edx,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add edx,%2
|
||||
add ebx,%3
|
||||
|
||||
@@ -648,8 +648,8 @@ GUIoutputiconwin:
|
||||
%endmacro
|
||||
|
||||
%macro GUIDisplayIconWin 4
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2
|
||||
add ebx,%3
|
||||
mov edi,%4
|
||||
@@ -826,8 +826,8 @@ GUIDrawSlideBar:
|
||||
mov [%8],esi
|
||||
mov [%8+4],edx
|
||||
mov [%8+8],ecx
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2
|
||||
add ebx,%3
|
||||
mov esi,%7
|
||||
|
||||
@@ -243,54 +243,54 @@ GUIStringGreater2:
|
||||
mov dword[GUIWincol],148
|
||||
.nozero
|
||||
drawshadow2 %1,dword[GUIwinsizex+%1*4],dword[GUIwinsizey+%1*4]
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
mov ecx,eax
|
||||
add ecx,dword[GUIwinsizex+%1*4]
|
||||
DrawTitleBar
|
||||
mov esi,dword[GUIwinsizey+%1*4]
|
||||
mov esi,[GUIwinsizey+%1*4]
|
||||
dec esi
|
||||
mov edx,dword[GUIWincol]
|
||||
mov edx,[GUIWincol]
|
||||
add edx,2
|
||||
.loop
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz .loop
|
||||
mov edx,dword[GUIWincol]
|
||||
mov edx,[GUIWincol]
|
||||
DrawGUILine
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add ebx,10
|
||||
mov ecx,eax
|
||||
mov esi,dword[GUIwinsizey+%1*4]
|
||||
mov edx,dword[GUIWincol]
|
||||
mov esi,[GUIwinsizey+%1*4]
|
||||
mov edx,[GUIWincol]
|
||||
add edx,3
|
||||
dec esi
|
||||
.loop2
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz .loop2
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add ebx,10
|
||||
add eax,dword[GUIwinsizex+%1*4]
|
||||
mov ecx,eax
|
||||
mov esi,dword[GUIwinsizey+%1*4]
|
||||
mov edx,dword[GUIWincol]
|
||||
mov esi,[GUIwinsizey+%1*4]
|
||||
mov edx,[GUIWincol]
|
||||
add edx,1
|
||||
.loop3
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz .loop3
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add ebx,3
|
||||
mov edx,dword[GUIwinposx+%1*4]
|
||||
mov edx,[GUIwinposx+%1*4]
|
||||
add edx,3
|
||||
mov byte[GUItextcolor],184
|
||||
GUIOuttextwin %2
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add ebx,2
|
||||
mov edx,dword[GUIwinposx+%1*4]
|
||||
mov edx,[GUIwinposx+%1*4]
|
||||
add edx,2
|
||||
mov byte[GUItextcolor],220
|
||||
cmp byte[GUIWincoladd],0
|
||||
@@ -298,16 +298,16 @@ GUIStringGreater2:
|
||||
sub byte[GUItextcolor],6
|
||||
.zero2
|
||||
GUIOuttextwin %2
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,dword[GUIwinsizex+%1*4]
|
||||
sub eax,10
|
||||
GUIDisplayIcon GUIIconDataClose
|
||||
%endmacro
|
||||
|
||||
%macro DrawGUIWinBox 6
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2
|
||||
add ebx,%3
|
||||
mov ecx,eax
|
||||
@@ -321,7 +321,7 @@ GUIStringGreater2:
|
||||
%endmacro
|
||||
|
||||
%macro DrawGUIWinBox2 5
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
add eax,%2
|
||||
mov ecx,eax
|
||||
add ecx,%3-%2+1
|
||||
@@ -340,8 +340,8 @@ GUIStringGreater2:
|
||||
|
||||
%macro DrawGUIWinBox3 6
|
||||
mov ecx,%4
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2
|
||||
add ebx,%3
|
||||
add ecx,eax
|
||||
@@ -356,7 +356,7 @@ GUIStringGreater2:
|
||||
%endmacro
|
||||
|
||||
%macro DrawGUIButton 9
|
||||
mov dl,byte[GUItextcolor]
|
||||
mov dl,[GUItextcolor]
|
||||
sub dl,5
|
||||
cmp byte[GUICBHold],%7
|
||||
jne %%noa
|
||||
@@ -459,7 +459,7 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
|
||||
%macro GUIDisplayTextY 4 ; Yellow Text&Shadow
|
||||
mov al,[GUIWincol]
|
||||
mov byte[GUItextcolor],al
|
||||
mov [GUItextcolor],al
|
||||
GUIOuttextwin2 %1,%2,%3,%4
|
||||
mov byte[GUItextcolor],163
|
||||
cmp byte[GUIWincoladd],0
|
||||
@@ -685,11 +685,11 @@ DisplayGUILoad:
|
||||
|
||||
mov eax,[spcBuffera]
|
||||
inc eax
|
||||
mov dword[cloadnpos],eax
|
||||
mov [cloadnpos],eax
|
||||
mov eax,[GUIfileentries]
|
||||
sub eax,[GUIcurrentviewloc]
|
||||
dec eax
|
||||
mov dword[cloadnleft],eax
|
||||
mov [cloadnleft],eax
|
||||
mov eax,[GUIcurrentviewloc]
|
||||
mov [cloadnposb],eax
|
||||
shl eax,5
|
||||
@@ -714,11 +714,11 @@ DisplayGUILoad:
|
||||
|
||||
mov eax,[spcBuffera]
|
||||
inc eax
|
||||
mov dword[cloadnpos],eax
|
||||
mov [cloadnpos],eax
|
||||
mov eax,[GUIdirentries]
|
||||
sub eax,[GUIcurrentdirviewloc]
|
||||
dec eax
|
||||
mov dword[cloadnleft],eax
|
||||
mov [cloadnleft],eax
|
||||
mov eax,[GUIcurrentdirviewloc]
|
||||
add eax,[GUIfileentries]
|
||||
mov [cloadnposb],eax
|
||||
@@ -932,7 +932,7 @@ DisplayGUIChoseSave: ; Pick Save State
|
||||
|
||||
mov dword[GUITemp],GUIIconDataButtonHole ; Radio Buttons
|
||||
mov ebx,[statefileloc]
|
||||
mov al,byte[fnamest+ebx]
|
||||
mov al,[fnamest+ebx]
|
||||
mov [GUIChoseSaveText2],al
|
||||
GUIDisplayButtonHole 2,10,28,byte[GUIChoseSaveText2],'t'
|
||||
GUIDisplayButtonHole 2,30,28,byte[GUIChoseSaveText2],'1'
|
||||
@@ -976,8 +976,8 @@ mov dl,[GUIWincol]
|
||||
%endmacro
|
||||
|
||||
%macro DGOptnsDrawBox 3
|
||||
mov eax,dword[GUIwinposx+9*4]
|
||||
mov ebx,dword[GUIwinposy+9*4]
|
||||
mov eax,[GUIwinposx+9*4]
|
||||
mov ebx,[GUIwinposy+9*4]
|
||||
add eax,%1
|
||||
add ebx,%2
|
||||
mov ecx,eax
|
||||
@@ -1003,8 +1003,8 @@ mov dl,[GUIWincol]
|
||||
%endmacro
|
||||
|
||||
%macro DDrawBox 4
|
||||
mov eax,dword[GUIwinposx+%1*4]
|
||||
mov ebx,dword[GUIwinposy+%1*4]
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2+1
|
||||
add ebx,%3+1
|
||||
mov ecx,eax
|
||||
@@ -1031,8 +1031,8 @@ mov dl,[GUIWincol]
|
||||
%endmacro
|
||||
|
||||
%macro DGOptnsDrawBox2 3
|
||||
mov eax,dword[GUIwinposx+3*4]
|
||||
mov ebx,dword[GUIwinposy+3*4]
|
||||
mov eax,[GUIwinposx+3*4]
|
||||
mov ebx,[GUIwinposy+3*4]
|
||||
add eax,%1
|
||||
add ebx,%2
|
||||
mov ecx,eax
|
||||
@@ -1084,7 +1084,7 @@ DisplayGUIInput: ; Player Select, Joystick/keyboard Type List, Button Assignm
|
||||
shl eax,4
|
||||
add eax,ebx
|
||||
add eax,GUIInputNames
|
||||
mov dword[GUITemp],eax
|
||||
mov [GUITemp],eax
|
||||
GUIDisplayTextY 3,6+24,83,[GUITemp]
|
||||
GUIDisplayTextY 3,6,83,GUIInputTextA3
|
||||
|
||||
@@ -1150,7 +1150,7 @@ DisplayGUIInput: ; Player Select, Joystick/keyboard Type List, Button Assignm
|
||||
shl eax,4
|
||||
add eax,[GUIcurrentinputviewloc]
|
||||
add eax,GUIInputNames
|
||||
mov dword[GUITemp],eax
|
||||
mov [GUITemp],eax
|
||||
GUIDisplayTextG 3,11,38,[GUITemp]
|
||||
add dword[GUITemp],17
|
||||
GUIDisplayTextG 3,11,38+8,[GUITemp]
|
||||
@@ -1622,7 +1622,7 @@ DisplayGUIVideo:
|
||||
add eax,ebx
|
||||
add eax,ebx
|
||||
add eax,GUIVideoModeNames
|
||||
mov dword[GUITemp],eax
|
||||
mov [GUITemp],eax
|
||||
GUIDisplayTextG 5,11,30,[GUITemp]
|
||||
add dword[GUITemp],18
|
||||
GUIDisplayTextG 5,11,30+8,[GUITemp]
|
||||
@@ -1640,7 +1640,7 @@ DisplayGUIVideo:
|
||||
add eax,ebx
|
||||
add eax,ebx
|
||||
add eax,GUIVideoModeNames
|
||||
mov dword[GUITemp],eax
|
||||
mov [GUITemp],eax
|
||||
GUIDisplayTextY 5,7,196,GUIVideoTextE
|
||||
GUIDisplayTextY 5,49,196,[GUITemp]
|
||||
ret
|
||||
@@ -1746,8 +1746,8 @@ DisplayGUISound: ; Sound Related Options
|
||||
add [GUITemp],eax
|
||||
GUIDisplayTextG 6,23,64,[GUITemp]
|
||||
|
||||
mov eax,dword[GUIwinposx+6*4] ; Volume Level Slider
|
||||
mov ebx,dword[GUIwinposy+6*4]
|
||||
mov eax,[GUIwinposx+6*4] ; Volume Level Slider
|
||||
mov ebx,[GUIwinposy+6*4]
|
||||
mov ecx,eax
|
||||
add eax,15
|
||||
add ecx,15+100
|
||||
@@ -1969,7 +1969,7 @@ DisplayGUICheat: ; Add/Browse Cheats menu
|
||||
mov eax,[NumCheats]
|
||||
sub eax,[GUIcurrentcheatviewloc]
|
||||
dec eax
|
||||
mov dword[ccheatnleft],eax
|
||||
mov [ccheatnleft],eax
|
||||
mov eax,[GUIcurrentcheatviewloc]
|
||||
mov ebx,eax
|
||||
shl eax,5
|
||||
@@ -2256,7 +2256,7 @@ CheatSearchingComp: ; Comparative search
|
||||
|
||||
FindChtSrcRes: ; Calculate search results
|
||||
inc edi
|
||||
mov eax,dword[vidbuffer]
|
||||
mov eax,[vidbuffer]
|
||||
add eax,129600+65536*2
|
||||
mov ecx,16384
|
||||
xor esi,esi
|
||||
@@ -2319,7 +2319,7 @@ Cheatmodeview: ; View ResultsWindow
|
||||
mov edi,[GUIcurrentchtsrcviewloc]
|
||||
call FindChtSrcRes
|
||||
mov [NumCheatSrc],eax
|
||||
mov dword[ccheatnpos],esi
|
||||
mov [ccheatnpos],esi
|
||||
; Display Window Contents
|
||||
mov byte[GUItextcolor],223
|
||||
mov eax,[NumCheatSrc]
|
||||
@@ -2328,8 +2328,8 @@ Cheatmodeview: ; View ResultsWindow
|
||||
jbe .notof
|
||||
mov eax,12
|
||||
.notof
|
||||
mov dword[ccheatnleft],eax
|
||||
mov dword[ccheatnleftb],eax
|
||||
mov [ccheatnleft],eax
|
||||
mov [ccheatnleftb],eax
|
||||
|
||||
mov dword[CheatSearchYPos],24
|
||||
mov dword[CheatSearchXPos],10
|
||||
@@ -2386,7 +2386,7 @@ Cheatmodeview: ; View ResultsWindow
|
||||
cmp byte[GUICSrcTextE+12],0
|
||||
je near .noprevious
|
||||
mov esi,GUICSrcTextG1
|
||||
mov ebx,dword[vidbuffer]
|
||||
mov ebx,[vidbuffer]
|
||||
add ebx,129600
|
||||
add ebx,[CSCurEntry]
|
||||
mov eax,[ebx]
|
||||
@@ -2431,8 +2431,8 @@ Cheatmodeview: ; View ResultsWindow
|
||||
mov dword[CheatSearchXPos],11
|
||||
mov eax,[CSStartEntry]
|
||||
mov [CSCurEntry],eax
|
||||
mov eax,dword[ccheatnleftb]
|
||||
mov dword[ccheatnleft],eax
|
||||
mov eax,[ccheatnleftb]
|
||||
mov [ccheatnleft],eax
|
||||
inc byte[CheatLooped]
|
||||
cmp byte[CheatLooped],2
|
||||
jne near .nextdisplay
|
||||
@@ -2853,8 +2853,8 @@ DisplayGUIOptns: ; GUI Options
|
||||
.nopal1b
|
||||
pop eax
|
||||
|
||||
mov eax,dword[GUIwinposx+10*4] ; Slider Bars
|
||||
mov ebx,dword[GUIwinposy+10*4]
|
||||
mov eax,[GUIwinposx+10*4] ; Slider Bars
|
||||
mov ebx,[GUIwinposy+10*4]
|
||||
mov ecx,eax
|
||||
add eax,25
|
||||
add ecx,25+32*4
|
||||
@@ -2868,7 +2868,7 @@ DisplayGUIOptns: ; GUI Options
|
||||
add ebx,11
|
||||
DrawGUILine
|
||||
inc ecx
|
||||
mov ebx,dword[GUIwinposy+10*4]
|
||||
mov ebx,[GUIwinposy+10*4]
|
||||
inc eax
|
||||
add ebx,125
|
||||
sub dl,13
|
||||
@@ -3306,24 +3306,24 @@ SECTION .text
|
||||
mov al,211
|
||||
.zero3
|
||||
sub al,15
|
||||
mov byte[TextColorSp+2],al
|
||||
mov [TextColorSp+2],al
|
||||
mov al,[GUIWincol]
|
||||
mov byte[TextColorSp],al
|
||||
mov [TextColorSp],al
|
||||
mov al,163
|
||||
cmp byte[GUIWincoladd],0
|
||||
je .zero
|
||||
mov al,164
|
||||
mov byte[GUItextcolor],164
|
||||
.zero
|
||||
mov byte[TextColorSp+1],al
|
||||
mov [TextColorSp+1],al
|
||||
%endmacro
|
||||
|
||||
%macro GUIOuttextwin2b 4 ; Special, yellow text
|
||||
mov al,[TextColorSp]
|
||||
mov byte[GUItextcolor],al
|
||||
mov [GUItextcolor],al
|
||||
GUIOuttextwin2 %1,%2,%3,%4
|
||||
mov al,[TextColorSp+1]
|
||||
mov byte[GUItextcolor],al
|
||||
mov [GUItextcolor],al
|
||||
GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
%endmacro
|
||||
|
||||
@@ -3390,7 +3390,7 @@ SECTION .text
|
||||
%macro DrawSlideBar 10
|
||||
DrawSlideBarWin %1,%2,%3+8,%4,%5,%6,%7-16,%8
|
||||
mov al,[TextColorSp+2]
|
||||
mov byte[GUItextcolor],al
|
||||
mov [GUItextcolor],al
|
||||
cmp byte[GUICHold],%9
|
||||
jne .noholda
|
||||
add byte[GUIWincoladd],3
|
||||
@@ -3401,7 +3401,7 @@ SECTION .text
|
||||
sub byte[GUIWincoladd],3
|
||||
.noholda2
|
||||
mov al,[TextColorSp+2]
|
||||
mov byte[GUItextcolor],al
|
||||
mov [GUItextcolor],al
|
||||
cmp byte[GUICHold],%10
|
||||
jne .noholdb
|
||||
add byte[GUIWincoladd],3
|
||||
@@ -4405,8 +4405,8 @@ DisplayGUISpeed: ;Speed Options
|
||||
|
||||
cmp byte[frameskip],0
|
||||
jne near .noslider
|
||||
mov eax,dword[GUIwinposx+21*4] ;Slider
|
||||
mov ebx,dword[GUIwinposy+21*4]
|
||||
mov eax,[GUIwinposx+21*4] ;Slider
|
||||
mov ebx,[GUIwinposy+21*4]
|
||||
add eax,15
|
||||
add ebx,175
|
||||
mov ecx,eax
|
||||
|
||||
@@ -1099,7 +1099,7 @@ NEWSYM dumpsound
|
||||
.loop
|
||||
push eax
|
||||
mov eax,[spcBuffera]
|
||||
mov edx,dword[eax+ecx*4]
|
||||
mov edx,[eax+ecx*4]
|
||||
pop eax
|
||||
cmp edx,0
|
||||
je .nowrite
|
||||
@@ -1221,7 +1221,7 @@ NEWSYM savepcx
|
||||
mov byte[edi],0C1h
|
||||
inc edi
|
||||
inc ecx
|
||||
mov byte[edi],al
|
||||
mov [edi],al
|
||||
.norep
|
||||
inc ecx
|
||||
inc esi
|
||||
@@ -1311,19 +1311,19 @@ NEWSYM savepcx
|
||||
shr ax,cl
|
||||
and ax,1Fh
|
||||
shl al,3
|
||||
mov byte[edi],al
|
||||
mov [edi],al
|
||||
mov ax,[esi]
|
||||
mov cl,[vesa2_gpos]
|
||||
shr ax,cl
|
||||
and ax,1Fh
|
||||
shl al,3
|
||||
mov byte[edi+1],al
|
||||
mov [edi+1],al
|
||||
mov ax,[esi]
|
||||
mov cl,[vesa2_rpos]
|
||||
shr ax,cl
|
||||
and ax,1Fh
|
||||
shl al,3
|
||||
mov byte[edi+2],al
|
||||
mov [edi+2],al
|
||||
pop ecx
|
||||
add edi,3
|
||||
add esi,2
|
||||
@@ -1389,9 +1389,9 @@ NEWSYM GetFreeFile
|
||||
add al,48
|
||||
add dl,48
|
||||
mov esi,.filename+5
|
||||
mov byte[esi],cl
|
||||
mov byte[esi+1],al
|
||||
mov byte[esi+2],dl
|
||||
mov [esi],cl
|
||||
mov [esi+1],al
|
||||
mov [esi+2],dl
|
||||
jmp .findagain
|
||||
.nofile
|
||||
mov edx,.filename
|
||||
@@ -1445,21 +1445,21 @@ NEWSYM GetFreeFile
|
||||
mov bx,1000
|
||||
div bx
|
||||
add al,48
|
||||
mov byte[esi+1],al
|
||||
mov [esi+1],al
|
||||
mov ax,dx
|
||||
xor edx,edx
|
||||
mov bx,100
|
||||
div bx
|
||||
add al,48
|
||||
mov byte[esi+2],al
|
||||
mov [esi+2],al
|
||||
mov ax,dx
|
||||
xor edx,edx
|
||||
mov bx,10
|
||||
div bx
|
||||
add al,48
|
||||
add dl,48
|
||||
mov byte[esi+3],al
|
||||
mov byte[esi+4],dl
|
||||
mov [esi+3],al
|
||||
mov [esi+4],dl
|
||||
jmp .findagain
|
||||
.nofile
|
||||
mov edx,.imagefname
|
||||
@@ -1526,19 +1526,19 @@ NEWSYM save16b2
|
||||
shr ax,cl
|
||||
and ax,1Fh
|
||||
shl al,3
|
||||
mov byte[edi],al
|
||||
mov [edi],al
|
||||
mov ax,[es:esi]
|
||||
mov cl,[vesa2_gpos]
|
||||
shr ax,cl
|
||||
and ax,1Fh
|
||||
shl al,3
|
||||
mov byte[edi+1],al
|
||||
mov [edi+1],al
|
||||
mov ax,[es:esi]
|
||||
mov cl,[vesa2_rpos]
|
||||
shr ax,cl
|
||||
and ax,1Fh
|
||||
shl al,3
|
||||
mov byte[edi+2],al
|
||||
mov [edi+2],al
|
||||
pop ecx
|
||||
add edi,3
|
||||
add esi,2
|
||||
|
||||
@@ -126,7 +126,7 @@ NEWSYM init
|
||||
mov [ReInitLength],eax
|
||||
|
||||
xor eax,eax
|
||||
mov al,byte[romtype]
|
||||
mov al,[romtype]
|
||||
mov [forceromtype],al
|
||||
mov byte[romtype],0
|
||||
mov ax,ds
|
||||
@@ -200,19 +200,19 @@ NEWSYM init
|
||||
sub byte[autoloadstate],1
|
||||
cmp byte[autoloadstate],10
|
||||
jge .2digits
|
||||
mov al,byte[autoloadstate]
|
||||
mov al,[autoloadstate]
|
||||
add al,48
|
||||
mov byte[fnamest+ebx],al
|
||||
mov [fnamest+ebx],al
|
||||
jmp .enddigits
|
||||
.2digits
|
||||
xor eax,eax
|
||||
mov al,byte[autoloadstate]
|
||||
mov al,[autoloadstate]
|
||||
mov dl,10
|
||||
div dl
|
||||
add al,48
|
||||
add ah,48
|
||||
mov byte[fnamest+ebx-1],al
|
||||
mov byte[fnamest+ebx],ah
|
||||
mov [fnamest+ebx-1],al
|
||||
mov [fnamest+ebx],ah
|
||||
.enddigits
|
||||
|
||||
; Load the specified state file
|
||||
@@ -241,13 +241,13 @@ NEWSYM init
|
||||
jb .noautloadmovie
|
||||
cmp byte[autoloadmovie],10
|
||||
ja .noautloadmovie
|
||||
mov al,byte[autoloadmovie]
|
||||
mov al,[autoloadmovie]
|
||||
add al,'0'-1
|
||||
cmp al,'0'
|
||||
jne .notzero1
|
||||
mov al,'v'
|
||||
.notzero1
|
||||
mov byte[CMovieExt],al
|
||||
mov [CMovieExt],al
|
||||
|
||||
pushad
|
||||
cmp byte[ZMVRawDump],1
|
||||
@@ -511,10 +511,10 @@ SECTION .text
|
||||
or dword[%1],00000000010000000000000000000000b
|
||||
%%n2
|
||||
or dword[%1],00000000000000010000000000000000b
|
||||
mov al,byte[mouseypos]
|
||||
mov al,[mouseypos]
|
||||
and al,7Fh
|
||||
or byte[%1+1],al
|
||||
mov al,byte[mousexpos]
|
||||
mov al,[mousexpos]
|
||||
and al,7Fh
|
||||
or byte[%1],al
|
||||
test byte[mouseydir],01h
|
||||
@@ -618,7 +618,7 @@ ProcessCombo:
|
||||
add ebx,CombTDelP
|
||||
.ntsc
|
||||
mov ebx,[ebx]
|
||||
mov dword[CombDelay+ecx*4],ebx
|
||||
mov [CombDelay+ecx*4],ebx
|
||||
inc eax
|
||||
inc byte[ComboPtr+ecx]
|
||||
cmp byte[ComboPtr+ecx],42
|
||||
@@ -740,7 +740,7 @@ NEWSYM ReadInputDevice
|
||||
PlayerDeviceHelp pl1DLk ,JoyAOrig,06000000h
|
||||
PlayerDeviceHelp pl1DRk ,JoyAOrig,05000000h
|
||||
PlayerDeviceFix JoyAOrig
|
||||
mov al,byte[TurboCB]
|
||||
mov al,[TurboCB]
|
||||
test byte[TurboSw],al
|
||||
jnz near .noswitch
|
||||
PlayerDeviceHelp pl1Xtk ,JoyAOrig,00400000h
|
||||
@@ -803,9 +803,9 @@ NEWSYM ReadInputDevice
|
||||
cmp byte[eax],26
|
||||
je .not
|
||||
mov bl,[mousexloc]
|
||||
mov byte[eax+40Ah],bl
|
||||
mov [eax+40Ah],bl
|
||||
mov bl,[mouseyloc]
|
||||
mov byte[eax+40Eh],bl
|
||||
mov [eax+40Eh],bl
|
||||
.not
|
||||
; mov word[JoyBOrig+2],000Eh
|
||||
; and dword[LethEnData],0000000FFh
|
||||
@@ -852,7 +852,7 @@ NEWSYM ReadInputDevice
|
||||
PlayerDeviceHelp pl2DLk ,JoyBOrig,06000000h
|
||||
PlayerDeviceHelp pl2DRk ,JoyBOrig,05000000h
|
||||
PlayerDeviceFix JoyBOrig
|
||||
mov al,byte[TurboCB]
|
||||
mov al,[TurboCB]
|
||||
test byte[TurboSw],al
|
||||
jnz near .noswitch2
|
||||
PlayerDeviceHelp pl2Xtk ,JoyBOrig,00400000h
|
||||
@@ -886,7 +886,7 @@ NEWSYM ReadInputDevice
|
||||
PlayerDeviceHelp pl3DLk ,JoyCOrig,06000000h
|
||||
PlayerDeviceHelp pl3DRk ,JoyCOrig,05000000h
|
||||
PlayerDeviceFix JoyCOrig
|
||||
mov al,byte[TurboCB]
|
||||
mov al,[TurboCB]
|
||||
test byte[TurboSw],al
|
||||
jnz near .noswitch3
|
||||
PlayerDeviceHelp pl3Xtk ,JoyCOrig,00400000h
|
||||
@@ -920,7 +920,7 @@ NEWSYM ReadInputDevice
|
||||
PlayerDeviceHelp pl4DLk ,JoyDOrig,06000000h
|
||||
PlayerDeviceHelp pl4DRk ,JoyDOrig,05000000h
|
||||
PlayerDeviceFix JoyDOrig
|
||||
mov al,byte[TurboCB]
|
||||
mov al,[TurboCB]
|
||||
test byte[TurboSw],al
|
||||
jnz near .noswitch4
|
||||
PlayerDeviceHelp pl4Xtk ,JoyDOrig,00400000h
|
||||
@@ -954,7 +954,7 @@ NEWSYM ReadInputDevice
|
||||
PlayerDeviceHelp pl5DLk ,JoyEOrig,06000000h
|
||||
PlayerDeviceHelp pl5DRk ,JoyEOrig,05000000h
|
||||
PlayerDeviceFix JoyEOrig
|
||||
mov al,byte[TurboCB]
|
||||
mov al,[TurboCB]
|
||||
test byte[TurboSw],al
|
||||
jnz near .noswitch5
|
||||
PlayerDeviceHelp pl5Xtk ,JoyEOrig,00400000h
|
||||
@@ -1075,8 +1075,8 @@ NEWSYM init65816
|
||||
mov dword[memtablew16+50h*4],memaccessspc7110w16
|
||||
mov eax,[romdata]
|
||||
add eax,510000h
|
||||
mov dword[snesmmap+50h*4],eax
|
||||
mov dword[snesmap2+50h*4],eax
|
||||
mov [snesmmap+50h*4],eax
|
||||
mov [snesmap2+50h*4],eax
|
||||
mov ecx,16384
|
||||
.spc7110clear
|
||||
mov dword[eax],0
|
||||
@@ -1206,7 +1206,7 @@ NEWSYM init65816
|
||||
mov byte[xe],1 ; E
|
||||
xor eax,eax
|
||||
mov ax,[resetv]
|
||||
mov word[xpc],ax
|
||||
mov [xpc],ax
|
||||
mov ebx,[romdata]
|
||||
add eax,ebx
|
||||
pop ebx
|
||||
@@ -1222,10 +1222,10 @@ NEWSYM init65816
|
||||
; mov byte[xpb],40h
|
||||
.n
|
||||
mov al,[opexec268]
|
||||
mov byte[cycpl],al ; 2.68 Mhz / 3.58 Mhz = 228
|
||||
mov byte[curcyc],al
|
||||
mov [cycpl],al ; 2.68 Mhz / 3.58 Mhz = 228
|
||||
mov [curcyc],al
|
||||
mov al,[opexec268cph]
|
||||
mov byte[cycphb],al ; 2.68 Mhz / 3.58 Mhz = 56
|
||||
mov [cycphb],al ; 2.68 Mhz / 3.58 Mhz = 56
|
||||
mov byte[cycpbl],110 ; 3.58Mhz = 175
|
||||
mov byte[cycpblt],110
|
||||
mov word[curypos],0
|
||||
@@ -2205,7 +2205,7 @@ OpenCombFile:
|
||||
mov edx,ComboBlHeader
|
||||
mov ecx,23
|
||||
call Read_File
|
||||
mov al,byte[ComboBlHeader+22]
|
||||
mov al,[ComboBlHeader+22]
|
||||
or al,al
|
||||
jz .done
|
||||
mov [NumComboLocl],al
|
||||
@@ -2365,7 +2365,7 @@ NEWSYM loadfileGUI
|
||||
mov byte[GUIloadfailed],0
|
||||
|
||||
mov edx,fname+1
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
|
||||
pushad
|
||||
call loadROM
|
||||
@@ -2402,8 +2402,8 @@ NEWSYM loadfileGUI
|
||||
call Output_Text
|
||||
.inguib
|
||||
|
||||
mov eax,dword[curromspace]
|
||||
mov dword[.curfileofs],eax
|
||||
mov eax,[curromspace]
|
||||
mov [.curfileofs],eax
|
||||
mov [NumofBytes],eax
|
||||
shr eax,15
|
||||
mov [NumofBanks],eax
|
||||
|
||||
@@ -844,7 +844,7 @@ Process2xSaIwin:
|
||||
; add edi,[VESAAddr]
|
||||
mov dl,224
|
||||
sub dl,2 ; Compensate for top/bottom line + 2 lines in 2xSaI
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[esi+512],0
|
||||
mov dword[esi+512+576*2],0
|
||||
mov ebx,[vidbufferofsb]
|
||||
|
||||
@@ -180,14 +180,14 @@ SECTION .text
|
||||
NEWSYM Open_File
|
||||
pushad
|
||||
mov dword[ZOpenMode],0
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
mov [TempHandle],eax
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekPos],0
|
||||
mov dword[ZFileSeekHandle],eax
|
||||
mov [ZFileSeekHandle],eax
|
||||
call ZFileSeek
|
||||
popad
|
||||
mov ax,[TempHandle]
|
||||
@@ -201,14 +201,14 @@ NEWSYM Open_File
|
||||
NEWSYM Open_File_Write
|
||||
pushad
|
||||
mov dword[ZOpenMode],2
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
mov [TempHandle],eax
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekPos],0
|
||||
mov dword[ZFileSeekHandle],eax
|
||||
mov [ZFileSeekHandle],eax
|
||||
call ZFileSeek
|
||||
popad
|
||||
mov ax,[TempHandle]
|
||||
@@ -222,7 +222,7 @@ NEWSYM Open_File_Write
|
||||
NEWSYM Create_File
|
||||
pushad
|
||||
mov dword[ZOpenMode],1
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
@@ -285,11 +285,11 @@ NEWSYM Close_File
|
||||
ret
|
||||
|
||||
NEWSYM File_Seek
|
||||
mov word[ZFileSeekPos+2],cx
|
||||
mov word[ZFileSeekPos],dx
|
||||
mov [ZFileSeekPos+2],cx
|
||||
mov [ZFileSeekPos],dx
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
pushad
|
||||
call ZFileSeek
|
||||
popad
|
||||
@@ -298,13 +298,13 @@ NEWSYM File_Seek
|
||||
ret
|
||||
|
||||
NEWSYM File_Seek_End
|
||||
mov word[ZFileSeekPos+2],cx
|
||||
mov word[ZFileSeekPos],dx
|
||||
mov [ZFileSeekPos+2],cx
|
||||
mov [ZFileSeekPos],dx
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
mov dword[ZFileSeekMode],1
|
||||
mov dword[ZFileTellHandle],0
|
||||
mov word[ZFileTellHandle],bx
|
||||
mov [ZFileTellHandle],bx
|
||||
pushad
|
||||
call ZFileSeek
|
||||
call ZFileTell
|
||||
@@ -673,10 +673,10 @@ NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs
|
||||
mov al,[cvidmode]
|
||||
cmp byte[GUIWFVID+eax],0
|
||||
je .prevwinmode
|
||||
mov byte[PrevFSMode],al
|
||||
mov [PrevFSMode],al
|
||||
jmp .doneprevmode
|
||||
.prevwinmode
|
||||
mov byte[PrevWinMode],al
|
||||
mov [PrevWinMode],al
|
||||
.doneprevmode
|
||||
|
||||
cmp dword[firstvideo],1
|
||||
@@ -1076,9 +1076,9 @@ NEWSYM SoundProcess ; This function is called ~60 times/s at full speed
|
||||
cmp byte[DSPDisable],1
|
||||
je .nosound
|
||||
mov eax,256 ; Size
|
||||
mov dword[BufferSizeB],eax
|
||||
mov [BufferSizeB],eax
|
||||
add eax,eax
|
||||
mov dword[BufferSizeW],eax
|
||||
mov [BufferSizeW],eax
|
||||
pushad
|
||||
call ProcessSoundBuffer
|
||||
popad
|
||||
@@ -1131,14 +1131,14 @@ InitializeGfxStuff:
|
||||
.shrr
|
||||
shr bx,1
|
||||
.shlr
|
||||
mov word[vesa2_rfull],bx
|
||||
mov [vesa2_rfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_rtrcl],bx
|
||||
mov [vesa2_rtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_rtrcla],bx
|
||||
mov [vesa2_rtrcla],bx
|
||||
|
||||
; Process Green Stuff
|
||||
mov al,[BitPosG]
|
||||
@@ -1162,14 +1162,14 @@ InitializeGfxStuff:
|
||||
.shrg
|
||||
shr bx,1
|
||||
.shlg
|
||||
mov word[vesa2_gfull],bx
|
||||
mov [vesa2_gfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_gtrcl],bx
|
||||
mov [vesa2_gtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_gtrcla],bx
|
||||
mov [vesa2_gtrcla],bx
|
||||
|
||||
; Process Blue Stuff
|
||||
mov al,[BitPosB]
|
||||
@@ -1193,14 +1193,14 @@ InitializeGfxStuff:
|
||||
.shrb
|
||||
shr bx,1
|
||||
.shlb
|
||||
mov word[vesa2_bfull],bx
|
||||
mov [vesa2_bfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_btrcl],bx
|
||||
mov [vesa2_btrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_btrcla],bx
|
||||
mov [vesa2_btrcla],bx
|
||||
|
||||
xor word[vesa2_clbit],0FFFFh
|
||||
call genfulladdtab
|
||||
|
||||
@@ -64,13 +64,13 @@ static unsigned char getsize(const string& token, const char mode)
|
||||
return (val);
|
||||
}
|
||||
|
||||
static bool isredund(string& cheese, const vector<string>& wine, const char bread)
|
||||
static bool isredund(string& cur_line, const vector<string>& tokens, const char offset)
|
||||
{
|
||||
if (getsize(wine[bread],'t') == getsize(wine[(bread+2)%3], 'r'))
|
||||
if (getsize(tokens[offset],'t') == getsize(tokens[(offset+2)%3], 'r'))
|
||||
{
|
||||
size_t loc = cheese.find(wine[bread]);
|
||||
cheese.erase(loc, cheese.find(wine[bread+1])-loc-1);
|
||||
return (true); // how are you gentlemen ?
|
||||
size_t loc = cur_line.find(tokens[offset]);
|
||||
cur_line.erase(loc, cur_line.find(tokens[offset+1])-loc-1);
|
||||
return (true);
|
||||
}
|
||||
|
||||
return (false);
|
||||
|
||||
@@ -371,7 +371,7 @@ SECTION .text
|
||||
pop ebx
|
||||
cmp eax,0
|
||||
je near %3
|
||||
mov ebx,dword[cmemallocptr]
|
||||
mov ebx,[cmemallocptr]
|
||||
add dword[cmemallocptr],4
|
||||
mov [ebx],eax
|
||||
and eax,0FFFFFFE0h
|
||||
@@ -392,7 +392,7 @@ SECTION .text
|
||||
pop eax
|
||||
cmp eax,0
|
||||
je %%nomalloc
|
||||
mov ebx,dword[cmemallocptr]
|
||||
mov ebx,[cmemallocptr]
|
||||
add dword[cmemallocptr],4
|
||||
mov [ebx],eax
|
||||
%%nomalloc
|
||||
@@ -444,10 +444,10 @@ NEWSYM allocptr
|
||||
mov eax,[vbufaptr]
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[vidbuffer],eax
|
||||
mov dword[vidbufferofsa],eax
|
||||
mov [vidbuffer],eax
|
||||
mov [vidbufferofsa],eax
|
||||
add eax,75036
|
||||
mov dword[vidbufferofsmos],eax
|
||||
mov [vidbufferofsmos],eax
|
||||
|
||||
mov eax,[ngwinptrb]
|
||||
and eax,0FFFFFFF8h
|
||||
@@ -457,20 +457,20 @@ NEWSYM allocptr
|
||||
mov eax,[vbufeptr]
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[vidbufferofsb],eax
|
||||
mov [vidbufferofsb],eax
|
||||
|
||||
mov eax,[vbufdptr]
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[vidbufferofsc],eax
|
||||
mov [vidbufferofsc],eax
|
||||
|
||||
mov eax,[romaptr]
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[headdata],eax
|
||||
mov dword[romdata],eax
|
||||
mov [headdata],eax
|
||||
mov [romdata],eax
|
||||
add eax,4194304
|
||||
mov dword[sfxramdata],eax
|
||||
mov [sfxramdata],eax
|
||||
mov dword[setaramdata],eax ; share ram data with sfx
|
||||
mov esi,[romdata]
|
||||
cmp byte[Sup48mbit],0
|
||||
@@ -503,17 +503,17 @@ NEWSYM allocptr
|
||||
mov eax,vcache2ba
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[vcache2b],eax
|
||||
mov [vcache2b],eax
|
||||
; 4-bit = 128k
|
||||
mov eax,vcache4ba
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[vcache4b],eax
|
||||
mov [vcache4b],eax
|
||||
; 8 bit = 64k
|
||||
mov eax,vcache8ba
|
||||
and eax,0FFFFFFF8h
|
||||
add eax,8
|
||||
mov dword[vcache8b],eax
|
||||
mov [vcache8b],eax
|
||||
ret
|
||||
|
||||
;*******************************************************
|
||||
@@ -660,7 +660,7 @@ NEWSYM makeextension
|
||||
inc ebx
|
||||
mov byte[fnames+ebx],'m'
|
||||
mov byte[fnamest+ebx],'t'
|
||||
mov dword[statefileloc],ebx
|
||||
mov [statefileloc],ebx
|
||||
inc ebx
|
||||
mov byte[fnames+ebx],0
|
||||
mov byte[fnamest+ebx],0
|
||||
@@ -757,7 +757,7 @@ NEWSYM tparms
|
||||
.donestring
|
||||
test byte[.numparam],0FFh
|
||||
jz .nochars
|
||||
mov al,byte[filefound]
|
||||
mov al,[filefound]
|
||||
test al,0FFh
|
||||
jz .nostring
|
||||
ret
|
||||
|
||||
@@ -387,13 +387,13 @@ NEWSYM cachevideo
|
||||
.fastfor
|
||||
inc byte[frskipper]
|
||||
push ebx
|
||||
mov bl,byte[FFRatio] ; 0-28
|
||||
mov bl,[FFRatio] ; 0-28
|
||||
inc bl ; 1-29, 2x-30x fastmotion
|
||||
jmp .fastforb
|
||||
.frameskip
|
||||
inc byte[frskipper]
|
||||
push ebx
|
||||
mov bl,byte[frameskip]
|
||||
mov bl,[frameskip]
|
||||
.fastforb
|
||||
cmp byte[frskipper],bl
|
||||
pop ebx
|
||||
@@ -529,8 +529,8 @@ NEWSYM cachevideo
|
||||
mov byte[disableeffects],0
|
||||
mov byte[osm2dis],0
|
||||
push eax
|
||||
mov al,byte[snesinputdefault]
|
||||
mov byte[snesmouse],al
|
||||
mov al,[snesinputdefault]
|
||||
mov [snesmouse],al
|
||||
pop eax
|
||||
mov dword[Msgptr],panickeyp
|
||||
mov eax,[MsgCount]
|
||||
@@ -731,10 +731,10 @@ NEWSYM cachevideo
|
||||
.jumptofirststate
|
||||
mov dh,'t'
|
||||
.donextstate
|
||||
mov byte[fnamest+eax],dh
|
||||
mov [fnamest+eax],dh
|
||||
cmp dh,'t'
|
||||
je .firststatemsg
|
||||
mov byte[sselm+11],dh
|
||||
mov [sselm+11],dh
|
||||
jmp .incstatemsg
|
||||
.firststatemsg
|
||||
mov byte[sselm+11],'0'
|
||||
@@ -762,10 +762,10 @@ NEWSYM cachevideo
|
||||
.jumptolaststate
|
||||
mov dh,'9'
|
||||
.doprevstate
|
||||
mov byte[fnamest+eax],dh
|
||||
mov [fnamest+eax],dh
|
||||
cmp dh,'t'
|
||||
je .firststatemsg2
|
||||
mov byte[sselm+11],dh
|
||||
mov [sselm+11],dh
|
||||
jmp .decstatemsg
|
||||
.firststatemsg2
|
||||
mov byte[sselm+11],'0'
|
||||
@@ -1148,7 +1148,7 @@ SECTION .text
|
||||
xor eax,eax
|
||||
cmp bx,[curypos]
|
||||
jb .overflow
|
||||
mov al,byte[sprlefttot+ebx]
|
||||
mov al,[sprlefttot+ebx]
|
||||
cmp al,37
|
||||
ja near .overflow
|
||||
inc byte[sprlefttot+ebx]
|
||||
@@ -1161,8 +1161,8 @@ SECTION .text
|
||||
mov [ebp+ebx],cx
|
||||
mov [ebp+ebx+2],esi
|
||||
mov al,[.statusbit]
|
||||
mov byte[ebp+ebx+6],dh
|
||||
mov byte[ebp+ebx+7],al
|
||||
mov [ebp+ebx+6],dh
|
||||
mov [ebp+ebx+7],al
|
||||
.overflow
|
||||
inc dl
|
||||
add esi,8
|
||||
@@ -1189,7 +1189,7 @@ SECTION .text
|
||||
mov bl,dl
|
||||
cmp bx,[curypos]
|
||||
jb .overflow2
|
||||
mov al,byte[sprlefttot+ebx]
|
||||
mov al,[sprlefttot+ebx]
|
||||
cmp al,37
|
||||
ja near .overflow2
|
||||
inc byte[sprlefttot+ebx]
|
||||
@@ -1202,8 +1202,8 @@ SECTION .text
|
||||
mov [ebp+ebx],cx
|
||||
mov [ebp+ebx+2],esi
|
||||
mov al,[.statusbit]
|
||||
mov byte[ebp+ebx+6],dh
|
||||
mov byte[ebp+ebx+7],al
|
||||
mov [ebp+ebx+6],dh
|
||||
mov [ebp+ebx+7],al
|
||||
.overflow2
|
||||
inc dl
|
||||
sub esi,8
|
||||
@@ -1814,7 +1814,7 @@ SECTION .text
|
||||
mov bl,dl
|
||||
cmp bx,[curypos]
|
||||
jb .overflow
|
||||
mov al,byte[sprlefttot+ebx]
|
||||
mov al,[sprlefttot+ebx]
|
||||
cmp al,37
|
||||
ja near .overflow
|
||||
inc byte[sprlefttot+ebx]
|
||||
@@ -1828,8 +1828,8 @@ SECTION .text
|
||||
mov al,[.statusbit]
|
||||
and al,0F8h
|
||||
or al,[.cpri]
|
||||
mov byte[ebp+ebx+6],dh
|
||||
mov byte[ebp+ebx+7],al
|
||||
mov [ebp+ebx+6],dh
|
||||
mov [ebp+ebx+7],al
|
||||
.overflow
|
||||
inc dl
|
||||
add esi,8
|
||||
@@ -1856,7 +1856,7 @@ SECTION .text
|
||||
mov bl,dl
|
||||
cmp bx,[curypos]
|
||||
jb .overflow
|
||||
mov al,byte[sprlefttot+ebx]
|
||||
mov al,[sprlefttot+ebx]
|
||||
cmp al,37
|
||||
ja near .overflow2
|
||||
inc byte[sprlefttot+ebx]
|
||||
@@ -1870,8 +1870,8 @@ SECTION .text
|
||||
mov al,[.statusbit]
|
||||
and al,0F8h
|
||||
or al,[.cpri]
|
||||
mov byte[ebp+ebx+6],dh
|
||||
mov byte[ebp+ebx+7],al
|
||||
mov [ebp+ebx+6],dh
|
||||
mov [ebp+ebx+7],al
|
||||
.overflow2
|
||||
inc dl
|
||||
sub esi,8
|
||||
@@ -2245,7 +2245,7 @@ NEWSYM cachesprites
|
||||
; initialize obj size cache
|
||||
mov dword[.objptr],oamram
|
||||
add dword[.objptr],512
|
||||
mov esi,dword[.objptr]
|
||||
mov esi,[.objptr]
|
||||
mov al,[esi]
|
||||
mov [.curobjtype],al
|
||||
mov byte[.objleftinbyte],4
|
||||
@@ -2388,7 +2388,7 @@ NEWSYM cachesprites
|
||||
mov al,[tiletypec]
|
||||
shr ebx,1
|
||||
pop esi
|
||||
mov byte[tltype4b+ebx],al
|
||||
mov [tltype4b+ebx],al
|
||||
.nocache
|
||||
inc word[.curobj]
|
||||
dec byte[.byteb4add]
|
||||
@@ -2396,7 +2396,7 @@ NEWSYM cachesprites
|
||||
mov ax,[.byte2add]
|
||||
add word[.curobj],ax
|
||||
mov al,[.byte2move]
|
||||
mov byte[.byteb4add],al
|
||||
mov [.byteb4add],al
|
||||
.skipbyteadd
|
||||
dec byte[.num2do]
|
||||
jnz near .nextobject
|
||||
|
||||
@@ -4535,7 +4535,7 @@ Process2xSaI:
|
||||
mov dl,[resolutn]
|
||||
dec dl
|
||||
dec dl ; Compensate for top/bottom line + 2 lines in 2xSaI
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[esi+512],0
|
||||
mov dword[esi+512+576*2],0
|
||||
mov ebx,[vidbufferofsb]
|
||||
@@ -6499,7 +6499,7 @@ NEWSYM getcopyvesa2320x240x16b
|
||||
.res239
|
||||
add edi,[VidStartDraw]
|
||||
xor ebx,ebx
|
||||
mov bx,word[resolutn]
|
||||
mov bx,[resolutn]
|
||||
mov esi,[vidbuffer]
|
||||
add esi,32+288*2
|
||||
mov ecx,256
|
||||
@@ -6525,7 +6525,7 @@ NEWSYM getcopyvesa2320x240x16b
|
||||
|
||||
ConvertImageDatared10:
|
||||
xor ebx,ebx
|
||||
mov bx,word[resolutn]
|
||||
mov bx,[resolutn]
|
||||
mov esi,[vidbuffer]
|
||||
add esi,32+288*2
|
||||
mov ecx,256
|
||||
|
||||
@@ -521,7 +521,7 @@ nointerp:
|
||||
;----------------------------;
|
||||
hq2x:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[prevline],0
|
||||
mov dword[nextline],576
|
||||
mov ebx,hirestiledat+1
|
||||
|
||||
@@ -425,7 +425,7 @@ NEWSYM hq2x_32b
|
||||
;----------------------------;
|
||||
nointerp:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov ebx,[NumBytesPerLine]
|
||||
mov edx,[BitConv32Ptr]
|
||||
.loopy
|
||||
@@ -452,7 +452,7 @@ nointerp:
|
||||
;----------------------------;
|
||||
hq2x:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[prevline],0
|
||||
mov dword[nextline],576
|
||||
mov ebx,hirestiledat+1
|
||||
|
||||
@@ -439,7 +439,7 @@ nointerp:
|
||||
;----------------------------;
|
||||
hq3x:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[prevline],0
|
||||
mov dword[nextline],576
|
||||
mov ebx,hirestiledat+1
|
||||
|
||||
@@ -368,7 +368,7 @@ NEWSYM hq3x_32b
|
||||
;----------------------------;
|
||||
nointerp:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov ebx,[NumBytesPerLine]
|
||||
mov edx,[BitConv32Ptr]
|
||||
.loopy
|
||||
@@ -401,7 +401,7 @@ nointerp:
|
||||
;----------------------------;
|
||||
hq3x:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[prevline],0
|
||||
mov dword[nextline],576
|
||||
mov ebx,hirestiledat+1
|
||||
|
||||
@@ -870,7 +870,7 @@ NEWSYM hq4x_16b
|
||||
;----------------------------;
|
||||
nointerp:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov ebx,[NumBytesPerLine]
|
||||
.loopy
|
||||
mov ecx,256
|
||||
@@ -907,7 +907,7 @@ nointerp:
|
||||
;----------------------------;
|
||||
hq4x:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[prevline],0
|
||||
mov dword[nextline],576
|
||||
mov ebx,hirestiledat+1
|
||||
|
||||
@@ -793,7 +793,7 @@ NEWSYM hq4x_32b
|
||||
;----------------------------;
|
||||
nointerp:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov ebx,[NumBytesPerLine]
|
||||
.loopy
|
||||
mov ecx,256
|
||||
@@ -837,7 +837,7 @@ nointerp:
|
||||
;----------------------------;
|
||||
hq4x:
|
||||
mov dl,[resolutn]
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[prevline],0
|
||||
mov dword[nextline],576
|
||||
mov ebx,hirestiledat+1
|
||||
|
||||
@@ -219,7 +219,7 @@ EXTSYM fulladdtab,cwinptr
|
||||
imul eax,ebx
|
||||
neg eax
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
@@ -227,7 +227,7 @@ EXTSYM fulladdtab,cwinptr
|
||||
imul eax,ebx
|
||||
; neg ax
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -372,7 +372,7 @@ EXTSYM fulladdtab,cwinptr
|
||||
jmp .nextposy
|
||||
.finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -551,7 +551,7 @@ EXTSYM fulladdtab,cwinptr
|
||||
dec byte[.temp]
|
||||
jnz near .nextval2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -608,7 +608,7 @@ EXTSYM fulladdtab,cwinptr
|
||||
jnz .offscrc
|
||||
.goon
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -835,13 +835,13 @@ NEWSYM drawmode716textbg2
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
.drawwin
|
||||
mov ebp,[cwinptr]
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbw
|
||||
mov ecx,256
|
||||
xor eax,eax
|
||||
@@ -869,7 +869,7 @@ NEWSYM drawmode716textbg2
|
||||
dec ecx
|
||||
jnz .loop2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -900,13 +900,13 @@ extbg2add:
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
.drawwin
|
||||
mov ebp,[cwinptr]
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbw
|
||||
mov ecx,256
|
||||
xor eax,eax
|
||||
@@ -931,7 +931,7 @@ extbg2add:
|
||||
dec ecx
|
||||
jnz .loop2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -963,13 +963,13 @@ extbg2sub:
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
.drawwin
|
||||
mov ebp,[cwinptr]
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbw
|
||||
mov ecx,256
|
||||
xor eax,eax
|
||||
@@ -995,7 +995,7 @@ extbg2sub:
|
||||
dec ecx
|
||||
jnz .loop2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
|
||||
@@ -185,7 +185,7 @@ NEWSYM drawbackgrndsub16b
|
||||
mov eax,ebp
|
||||
mov bl,20h
|
||||
mul bl
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -251,7 +251,7 @@ NEWSYM drawbackgrndmain16b
|
||||
mov eax,ebp
|
||||
mov bl,20h
|
||||
mul bl
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -1800,7 +1800,7 @@ NEWSYM draw8x816b
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -1837,7 +1837,7 @@ NEWSYM draw8x816b
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -1911,7 +1911,7 @@ NEWSYM draw8x816bwinon
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -1949,7 +1949,7 @@ NEWSYM draw8x816bwinon
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2067,7 +2067,7 @@ NEWSYM draw16x816
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -2101,7 +2101,7 @@ NEWSYM draw16x816
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2165,7 +2165,7 @@ NEWSYM draw16x816b
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -2199,7 +2199,7 @@ NEWSYM draw16x816b
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2267,7 +2267,7 @@ NEWSYM draw16x816bwinon
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -2302,7 +2302,7 @@ NEWSYM draw16x816bwinon
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2368,7 +2368,7 @@ NEWSYM draw16x816winonb
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -2403,7 +2403,7 @@ NEWSYM draw16x816winonb
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2633,7 +2633,7 @@ NEWSYM draw8x816boffset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -2667,7 +2667,7 @@ NEWSYM draw8x816boffset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2904,7 +2904,7 @@ NEWSYM draw16x1616b
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -2937,7 +2937,7 @@ NEWSYM draw16x1616b
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -3032,7 +3032,7 @@ draw16x1616bwinon:
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -3066,7 +3066,7 @@ draw16x1616bwinon:
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
|
||||
@@ -588,7 +588,7 @@ NEWSYM drawbackgrndsub16t
|
||||
mov eax,ebp
|
||||
mov bl,20h
|
||||
mul bl
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -657,7 +657,7 @@ NEWSYM drawbackgrndmain16t
|
||||
jne .nomode0
|
||||
mov eax,ebp
|
||||
shl eax,5
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -848,7 +848,7 @@ NEWSYM drawbackgrndsub16tfix
|
||||
mov eax,ebp
|
||||
mov bl,20h
|
||||
mul bl
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -913,7 +913,7 @@ NEWSYM drawbackgrndmain16tfix
|
||||
jne .nomode0
|
||||
mov eax,ebp
|
||||
shl eax,5
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -1603,7 +1603,7 @@ NEWSYM dowindowback16b
|
||||
ja .nodraw
|
||||
mov byte[DoTransp],0
|
||||
.loopa
|
||||
mov word[edi+edx*2],ax
|
||||
mov [edi+edx*2],ax
|
||||
inc dl
|
||||
dec cl
|
||||
jnz .loopa
|
||||
@@ -1657,7 +1657,7 @@ NEWSYM dowindowback16brev
|
||||
.nodraw
|
||||
mov byte[DoTransp],0
|
||||
.loopb
|
||||
mov word[edi+edx*2],ax
|
||||
mov [edi+edx*2],ax
|
||||
inc dl
|
||||
dec cl
|
||||
jnz .loopb
|
||||
@@ -2755,7 +2755,7 @@ NEWSYM draw8x816bt
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -2780,7 +2780,7 @@ NEWSYM draw8x816bt
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -2981,7 +2981,7 @@ NEWSYM draw8x816t
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -3007,7 +3007,7 @@ NEWSYM draw8x816t
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -3066,7 +3066,7 @@ NEWSYM draw8x8fulladd
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -3093,7 +3093,7 @@ NEWSYM draw8x8fulladd
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -3490,7 +3490,7 @@ NEWSYM draw8x816tswinon
|
||||
jnz near %%loopa
|
||||
cmp byte[drawn],0
|
||||
je %%nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
%%nodraw
|
||||
@@ -3527,7 +3527,7 @@ NEWSYM draw8x816tswinon
|
||||
jnz near %%loopa
|
||||
cmp byte[drawn],0
|
||||
je %%nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
%%nodraw2
|
||||
@@ -3862,7 +3862,7 @@ NEWSYM draw8x816toffset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -3885,7 +3885,7 @@ NEWSYM draw8x816toffset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -3942,7 +3942,7 @@ NEWSYM draw8x8fulladdoffset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -3966,7 +3966,7 @@ NEWSYM draw8x8fulladdoffset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -4412,7 +4412,7 @@ NEWSYM draw16x1616bt
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4439,7 +4439,7 @@ NEWSYM draw16x1616bt
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4701,7 +4701,7 @@ NEWSYM draw16x1616t
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4730,7 +4730,7 @@ NEWSYM draw16x1616t
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4819,7 +4819,7 @@ NEWSYM draw16x16fulladd
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4847,7 +4847,7 @@ NEWSYM draw16x16fulladd
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4931,7 +4931,7 @@ NEWSYM draw16x1616ts
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -4959,7 +4959,7 @@ NEWSYM draw16x1616ts
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
|
||||
@@ -946,9 +946,9 @@ SECTION .text
|
||||
.skipnodraw
|
||||
mov byte[esi],0
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],cl
|
||||
mov [esi+2],cl
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[esi+4],ch
|
||||
mov [esi+4],ch
|
||||
mov byte[esi+5],01h
|
||||
mov byte[numwin],3
|
||||
jmp .finishwin
|
||||
@@ -963,13 +963,13 @@ SECTION .text
|
||||
.multiwin
|
||||
mov byte[winon],0
|
||||
mov byte[multiwin],0
|
||||
mov byte[multiclip],al
|
||||
mov [multiclip],al
|
||||
mov al,[winlogica]
|
||||
mov ecx,ebp
|
||||
shl ecx,1
|
||||
shr al,cl
|
||||
and al,3h
|
||||
mov byte[multitype],al
|
||||
mov [multitype],al
|
||||
mov cl,[winl1]
|
||||
mov ch,[winr1]
|
||||
mov esi,windowdata
|
||||
@@ -1004,9 +1004,9 @@ SECTION .text
|
||||
.skipnodraw2
|
||||
mov byte[esi],0
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],cl
|
||||
mov [esi+2],cl
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[esi+4],ch
|
||||
mov [esi+4],ch
|
||||
mov byte[esi+5],01h
|
||||
mov byte[numwin],3
|
||||
jmp .secondwin
|
||||
@@ -1106,7 +1106,7 @@ NEWSYM drawbackgrndsub
|
||||
jne .nomode0
|
||||
mov eax,ebp
|
||||
shl eax,5
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -1171,7 +1171,7 @@ NEWSYM drawbackgrndmain
|
||||
jne .nomode0
|
||||
mov eax,ebp
|
||||
shl eax,5
|
||||
mov byte[bgcoloradder],al
|
||||
mov [bgcoloradder],al
|
||||
.nomode0
|
||||
mov esi,[bg1vbufloc+ebp*4]
|
||||
mov edi,[bg1tdatloc+ebp*4]
|
||||
@@ -2779,7 +2779,7 @@ NEWSYM draw8x8
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw
|
||||
@@ -2820,7 +2820,7 @@ NEWSYM draw8x8
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw2
|
||||
@@ -3063,7 +3063,7 @@ NEWSYM draw16x8
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw
|
||||
@@ -3115,7 +3115,7 @@ NEWSYM draw16x8
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
cmp byte[winon],0
|
||||
@@ -3200,7 +3200,7 @@ NEWSYM draw16x8b
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw
|
||||
@@ -3252,7 +3252,7 @@ NEWSYM draw16x8b
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw2
|
||||
@@ -3783,7 +3783,7 @@ NEWSYM draw8x8offset
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw
|
||||
@@ -3821,7 +3821,7 @@ NEWSYM draw8x8offset
|
||||
xor eax,eax
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
.nodraw2
|
||||
@@ -4205,7 +4205,7 @@ NEWSYM draw16x16
|
||||
.loopc2
|
||||
dec ch
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
@@ -4247,7 +4247,7 @@ NEWSYM draw16x16
|
||||
.loopc
|
||||
dec ch
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
|
||||
@@ -36,7 +36,7 @@ EXTSYM ngcwinptr,domosaicng,pesimpng,mode7hr,BGMA,mode7ab,mode7cd,BG1SYl,BG1SXl
|
||||
%macro Mode7Normal 0
|
||||
or dl,dl
|
||||
jz %%nodrawb
|
||||
mov byte[esi],dl
|
||||
mov [esi],dl
|
||||
%%nodrawb
|
||||
inc esi
|
||||
%endmacro
|
||||
@@ -46,7 +46,7 @@ EXTSYM ngcwinptr,domosaicng,pesimpng,mode7hr,BGMA,mode7ab,mode7cd,BG1SYl,BG1SXl
|
||||
jz %%nodrawbw
|
||||
test byte[ebp],0FFh
|
||||
jnz %%nodrawbw
|
||||
mov byte[esi],dl
|
||||
mov [esi],dl
|
||||
%%nodrawbw
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -667,13 +667,13 @@ NEWSYM ProcessMode7ngwin
|
||||
cmp ecx,[ngwleft]
|
||||
jae .alldisplay
|
||||
sub [ngwleft],ecx
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xrpos]
|
||||
ret
|
||||
.alldisplay
|
||||
mov ecx,[ngwleft]
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
mov dword[ngwleft],0
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xrpos]
|
||||
@@ -712,13 +712,13 @@ NEWSYM ProcessMode7ngwinC
|
||||
cmp ecx,[ngwleft]
|
||||
jae .alldisplay
|
||||
sub [ngwleft],ecx
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xpos]
|
||||
ret
|
||||
.alldisplay
|
||||
mov ecx,[ngwleft]
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
mov dword[ngwleft],0
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xpos]
|
||||
@@ -750,7 +750,7 @@ NEWSYM ProcessMode7ngwinD
|
||||
ret
|
||||
|
||||
%macro newvaluepred 2
|
||||
mov dx,word[%1+ebx*4+8]
|
||||
mov dx,[%1+ebx*4+8]
|
||||
cmp dx,word[%1+ebx*4]
|
||||
je %%nodivide
|
||||
cmp byte[BGMA+ebx+2],7
|
||||
|
||||
@@ -68,14 +68,14 @@ EXTSYM ScrDispl
|
||||
movsx ebx,word[.cyloc]
|
||||
imul eax,ebx
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
movsx eax,word[mode7D]
|
||||
imul eax,ebx
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -153,7 +153,7 @@ EXTSYM ScrDispl
|
||||
imul eax,ebx
|
||||
sar eax,1
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
@@ -161,7 +161,7 @@ EXTSYM ScrDispl
|
||||
imul eax,ebx
|
||||
sar eax,1
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -233,7 +233,7 @@ EXTSYM ScrDispl
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov edx,[.mode7yadder]
|
||||
mov cl,byte[.mode7yrpos+1]
|
||||
mov cl,[.mode7yrpos+1]
|
||||
sub dword[.mode7yrpos],edx
|
||||
xor edx,edx
|
||||
mov dl,[mode7tab+ecx]
|
||||
@@ -266,7 +266,7 @@ EXTSYM ScrDispl
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -367,7 +367,7 @@ EXTSYM ScrDispl
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -492,7 +492,7 @@ EXTSYM ScrDispl
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov edx,[.mode7yadder]
|
||||
mov cl,byte[.mode7yrpos+1]
|
||||
mov cl,[.mode7yrpos+1]
|
||||
sub dword[.mode7yrpos],edx
|
||||
xor edx,edx
|
||||
mov dl,[mode7tab+ecx]
|
||||
@@ -536,7 +536,7 @@ EXTSYM ScrDispl
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -637,7 +637,7 @@ EXTSYM ScrDispl
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -725,7 +725,7 @@ EXTSYM ScrDispl
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov edx,[.mode7yadder]
|
||||
mov cl,byte[.mode7yrpos+1]
|
||||
mov cl,[.mode7yrpos+1]
|
||||
sub dword[.mode7yrpos],edx
|
||||
xor edx,edx
|
||||
mov dl,[mode7tab+ecx]
|
||||
@@ -762,7 +762,7 @@ EXTSYM ScrDispl
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -874,7 +874,7 @@ EXTSYM ScrDispl
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -1004,7 +1004,7 @@ EXTSYM ScrDispl
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov edx,[.mode7yadder]
|
||||
mov cl,byte[.mode7yrpos+1]
|
||||
mov cl,[.mode7yrpos+1]
|
||||
sub dword[.mode7yrpos],edx
|
||||
xor edx,edx
|
||||
mov dl,[mode7tab+ecx]
|
||||
@@ -1052,7 +1052,7 @@ EXTSYM ScrDispl
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -1165,7 +1165,7 @@ EXTSYM ScrDispl
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -1324,7 +1324,7 @@ EXTSYM ScrDispl
|
||||
jnz near %%rposoffy
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov cl,byte[mode7yrpos+1]
|
||||
mov cl,[mode7yrpos+1]
|
||||
mov edx,[mode7yadder]
|
||||
sub dword[mode7yrpos],edx
|
||||
xor edx,edx
|
||||
@@ -1376,7 +1376,7 @@ EXTSYM ScrDispl
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -1509,7 +1509,7 @@ EXTSYM ScrDispl
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
|
||||
@@ -590,7 +590,7 @@ mm7yaddof2 resd 1
|
||||
SECTION .text
|
||||
|
||||
%macro newvaluepred 2
|
||||
mov dx,word[%1+ebx*4+8]
|
||||
mov dx,[%1+ebx*4+8]
|
||||
cmp dx,word[%1+ebx*4]
|
||||
je %%nodivide
|
||||
cmp byte[BGMA+ebx+2],7
|
||||
|
||||
@@ -142,14 +142,14 @@ EXTSYM pesimpng,ScrDispl
|
||||
movsx ebx,word[mcyloc]
|
||||
imul eax,ebx
|
||||
mov [mmode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [mmode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[mcyloc]
|
||||
movsx eax,word[mode7D]
|
||||
imul eax,ebx
|
||||
mov [mmode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [mmode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -226,7 +226,7 @@ EXTSYM pesimpng,ScrDispl
|
||||
imul eax,ebx
|
||||
sar eax,1
|
||||
mov [mmode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [mmode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[mcyloc]
|
||||
@@ -234,7 +234,7 @@ EXTSYM pesimpng,ScrDispl
|
||||
imul eax,ebx
|
||||
sar eax,1
|
||||
mov [mmode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [mmode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -358,13 +358,13 @@ NEWSYM ProcessMode7ngwin16b
|
||||
cmp ecx,[ngwleft]
|
||||
jae .alldisplay
|
||||
sub [ngwleft],ecx
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xrpos]
|
||||
ret
|
||||
.alldisplay
|
||||
mov ecx,[ngwleft]
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
mov dword[ngwleft],0
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xrpos]
|
||||
@@ -451,13 +451,13 @@ NEWSYM ProcessMode7ngwinC16b
|
||||
cmp ecx,[ngwleft]
|
||||
jae .alldisplay
|
||||
sub [ngwleft],ecx
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xpos]
|
||||
ret
|
||||
.alldisplay
|
||||
mov ecx,[ngwleft]
|
||||
mov dword[ngwleftb],ecx
|
||||
mov [ngwleftb],ecx
|
||||
mov dword[ngwleft],0
|
||||
xor ecx,ecx
|
||||
mov eax,[mode7xpos]
|
||||
@@ -500,7 +500,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
mov al,[mmode7xinc]
|
||||
mov edi,[vram]
|
||||
add [mmode7ptr],al
|
||||
mov cl,byte[mmode7xincc]
|
||||
mov cl,[mmode7xincc]
|
||||
cmp byte[mmode7ptr],cl
|
||||
je .roffx
|
||||
.roffxretb
|
||||
@@ -599,7 +599,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov edx,[mmode7yadder]
|
||||
mov cl,byte[mmode7yrpos+1]
|
||||
mov cl,[mmode7yrpos+1]
|
||||
sub dword[mmode7yrpos],edx
|
||||
xor edx,edx
|
||||
mov dl,[mode7tab+ecx]
|
||||
@@ -632,7 +632,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -734,7 +734,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
mov al,[mmode7xinc]
|
||||
mov edi,[vram]
|
||||
add [mmode7ptr],al
|
||||
mov cl,byte[mmode7xincc]
|
||||
mov cl,[mmode7xincc]
|
||||
cmp byte[mmode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -856,7 +856,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
jnz near %%rposoffy
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov cl,byte[mmode7yrpos+1]
|
||||
mov cl,[mmode7yrpos+1]
|
||||
mov edx,[mmode7yadder]
|
||||
sub dword[mmode7yrpos],edx
|
||||
xor edx,edx
|
||||
@@ -901,7 +901,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -1002,7 +1002,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
mov al,[mmode7xinc]
|
||||
mov edi,[vram]
|
||||
add [mmode7ptr],al
|
||||
mov cl,byte[mmode7xincc]
|
||||
mov cl,[mmode7xincc]
|
||||
cmp byte[mmode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -1134,7 +1134,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
jnz near %%rposoffy
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov cl,byte[mode7yrpos+1]
|
||||
mov cl,[mode7yrpos+1]
|
||||
mov edx,[mode7yadder]
|
||||
sub dword[mode7yrpos],edx
|
||||
xor edx,edx
|
||||
@@ -1186,7 +1186,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -1328,7 +1328,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
mov al,[mmode7xinc]
|
||||
mov edi,[vram]
|
||||
add [mmode7ptr],al
|
||||
mov cl,byte[mmode7xincc]
|
||||
mov cl,[mmode7xincc]
|
||||
cmp byte[mmode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -1425,7 +1425,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%nextvalwb
|
||||
|
||||
@@ -1436,7 +1436,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
jnz near %%rposoffyw
|
||||
%%nextposyw
|
||||
mov ch,ah
|
||||
mov cl,byte[mmode7yrpos+1]
|
||||
mov cl,[mmode7yrpos+1]
|
||||
mov edx,[mmode7yadder]
|
||||
sub dword[mmode7yrpos],edx
|
||||
xor edx,edx
|
||||
@@ -1473,7 +1473,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%nextval
|
||||
test ah,08h
|
||||
@@ -1483,7 +1483,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
jnz near %%rposoffy
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov cl,byte[mmode7yrpos+1]
|
||||
mov cl,[mmode7yrpos+1]
|
||||
mov edx,[mmode7yadder]
|
||||
sub dword[mmode7yrpos],edx
|
||||
xor edx,edx
|
||||
@@ -1516,7 +1516,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
jmp %%nextposy
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -1531,7 +1531,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%firstsetwb
|
||||
%%norep2
|
||||
@@ -1608,7 +1608,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%nextvalr
|
||||
test byte[mmode7xrpos+1],08h
|
||||
@@ -1636,7 +1636,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
mov al,[mmode7xinc]
|
||||
mov edi,[vram]
|
||||
add [mmode7ptr],al
|
||||
mov cl,byte[mmode7xincc]
|
||||
mov cl,[mmode7xincc]
|
||||
cmp byte[mmode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
@@ -1671,7 +1671,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%tilerep3
|
||||
and byte[mmode7yrpos+1],07h
|
||||
@@ -1696,7 +1696,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%norep2w
|
||||
test byte[mode7set],40h
|
||||
@@ -1772,7 +1772,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%nextvalrw
|
||||
test byte[mmode7xrpos+1],08h
|
||||
@@ -1800,7 +1800,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
mov al,[mmode7xinc]
|
||||
mov edi,[vram]
|
||||
add [mmode7ptr],al
|
||||
mov cl,byte[mmode7xincc]
|
||||
mov cl,[mmode7xincc]
|
||||
cmp byte[mmode7ptr],cl
|
||||
je %%roffw
|
||||
%%roffxretbw
|
||||
@@ -1835,7 +1835,7 @@ NEWSYM ProcessMode7ngwinD16b
|
||||
add dword[ngcwinptr],4
|
||||
mov edx,[ngcwinptr]
|
||||
mov edx,[edx]
|
||||
mov dword[ngwleft],edx
|
||||
mov [ngwleft],edx
|
||||
xor edx,edx
|
||||
%%tilerep3w
|
||||
and byte[mmode7yrpos+1],07h
|
||||
|
||||
@@ -84,14 +84,14 @@ NEWSYM drawmode716extbg
|
||||
movsx ebx,word[.cyloc]
|
||||
imul eax,ebx
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
movsx eax,word[mode7D]
|
||||
imul eax,ebx
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -256,7 +256,7 @@ NEWSYM drawmode716extbg
|
||||
jmp .nextposy
|
||||
.finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -363,7 +363,7 @@ NEWSYM drawmode716extbg
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je .roff
|
||||
.roffxretb
|
||||
@@ -458,7 +458,7 @@ NEWSYM drawmode716extbg
|
||||
dec byte[.temp]
|
||||
jnz .nextval2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -520,7 +520,7 @@ NEWSYM drawmode716extbg
|
||||
jnz .offscrc
|
||||
.goon
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -666,7 +666,7 @@ NEWSYM drawmode716bwinonextbg
|
||||
imul eax,ebx
|
||||
neg eax
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
@@ -674,7 +674,7 @@ NEWSYM drawmode716bwinonextbg
|
||||
imul eax,ebx
|
||||
; neg ax
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -929,7 +929,7 @@ NEWSYM drawmode716bwinonextbg
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je .roff
|
||||
.roffxretb
|
||||
@@ -1236,13 +1236,13 @@ NEWSYM drawmode716extbg2
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
.drawwin
|
||||
mov ebp,[cwinptr]
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbw
|
||||
mov ecx,256
|
||||
xor eax,eax
|
||||
@@ -1261,7 +1261,7 @@ NEWSYM drawmode716extbg2
|
||||
dec ecx
|
||||
jnz .loop2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
|
||||
@@ -66,14 +66,14 @@
|
||||
movsx ebx,word[.cyloc]
|
||||
imul eax,ebx
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
movsx eax,word[mode7D]
|
||||
imul eax,ebx
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -145,7 +145,7 @@
|
||||
%%nextposy
|
||||
mov ch,ah
|
||||
mov edx,[.mode7yadder]
|
||||
mov cl,byte[.mode7yrpos+1]
|
||||
mov cl,[.mode7yrpos+1]
|
||||
sub dword[.mode7yrpos],edx
|
||||
xor edx,edx
|
||||
add eax,[.mode7xadder]
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
%%finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near %2
|
||||
ret
|
||||
@@ -279,7 +279,7 @@
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je %%roff
|
||||
%%roffxretb
|
||||
|
||||
@@ -84,14 +84,14 @@ NEWSYM drawmode7extbg
|
||||
movsx ebx,word[.cyloc]
|
||||
imul eax,ebx
|
||||
mov [.mode7xpos],eax
|
||||
mov bx,word[mode7X0]
|
||||
mov bx,[mode7X0]
|
||||
add [.mode7xpos+1],bx
|
||||
|
||||
movsx ebx,word[.cyloc]
|
||||
movsx eax,word[mode7D]
|
||||
imul eax,ebx
|
||||
mov [.mode7ypos],eax
|
||||
mov bx,word[mode7Y0]
|
||||
mov bx,[mode7Y0]
|
||||
add [.mode7ypos+1],bx
|
||||
|
||||
; 3.) Find left scaled location : SCX=SCX-(cx*A),SCY=SCY-(cx*B)
|
||||
@@ -207,9 +207,9 @@ NEWSYM drawmode7extbg
|
||||
add edi,ecx
|
||||
|
||||
mov eax,[.mode7xadder]
|
||||
mov dword[.m7xrpa-4],eax
|
||||
mov [.m7xrpa-4],eax
|
||||
mov eax,[.mode7yadder]
|
||||
mov dword[.m7yrpa-4],eax
|
||||
mov [.m7yrpa-4],eax
|
||||
mov al,[.mode7xinc]
|
||||
mov [.m7xin-1],al
|
||||
mov eax,[.mode7xadd2]
|
||||
@@ -230,19 +230,19 @@ NEWSYM drawmode7extbg
|
||||
jnz .rposoffy
|
||||
.nextposy
|
||||
mov ch,ah
|
||||
mov cl,byte[.mode7yrpos+1]
|
||||
mov cl,[.mode7yrpos+1]
|
||||
add eax,0
|
||||
.m7xrpa
|
||||
mov dl,[mode7tab+ecx]
|
||||
sub dword[.mode7yrpos],0
|
||||
.m7yrpa
|
||||
mov cl,[edi+edx]
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodrawb
|
||||
or cl,cl
|
||||
jz .nodrawb
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawb
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -274,7 +274,7 @@ NEWSYM drawmode7extbg
|
||||
|
||||
.finishmode7
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
@@ -317,12 +317,12 @@ NEWSYM drawmode7extbg
|
||||
add [.mode7xpos],eax
|
||||
mov cl,[vrama+edx]
|
||||
sub [.mode7ypos],ebx
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2trb2
|
||||
or cl,cl
|
||||
jz .nodraw2trb2
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2trb2
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -352,9 +352,9 @@ NEWSYM drawmode7extbg
|
||||
add edi,ecx
|
||||
|
||||
mov eax,[.mode7xadder]
|
||||
mov dword[.m7xrpa2-4],eax
|
||||
mov [.m7xrpa2-4],eax
|
||||
mov eax,[.mode7yadder]
|
||||
mov dword[.m7yrpa2-4],eax
|
||||
mov [.m7yrpa2-4],eax
|
||||
|
||||
jmp .nextvalr
|
||||
ALIGN16
|
||||
@@ -377,12 +377,12 @@ NEWSYM drawmode7extbg
|
||||
sub dword[.mode7yrpos],0
|
||||
.m7yrpa2
|
||||
mov cl,[edi+edx]
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodr2
|
||||
or cl,cl
|
||||
jz .nodr2
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbr
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -393,7 +393,7 @@ NEWSYM drawmode7extbg
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je .roff
|
||||
.roffxretb
|
||||
@@ -434,12 +434,12 @@ NEWSYM drawmode7extbg
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[vrama+edx]
|
||||
sub [.mode7yrpos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodrawbr2
|
||||
or cl,cl
|
||||
jz .nodrawbr2
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbr2
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -477,18 +477,18 @@ NEWSYM drawmode7extbg
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+ecx]
|
||||
sub [.mode7ypos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw
|
||||
or cl,cl
|
||||
jz .nodraw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
jnz .nextval2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
@@ -525,12 +525,12 @@ NEWSYM drawmode7extbg
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+ecx]
|
||||
sub [.mode7ypos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2
|
||||
or cl,cl
|
||||
jz .nodraw2
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -551,7 +551,7 @@ NEWSYM drawmode7extbg
|
||||
jnz .offscrb
|
||||
.goon
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
@@ -586,12 +586,12 @@ NEWSYM drawmode7extbg
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+ecx]
|
||||
sub [.mode7ypos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2tr
|
||||
or cl,cl
|
||||
jz .nodraw2tr
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2tr
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -611,12 +611,12 @@ NEWSYM drawmode7extbg
|
||||
add [.mode7xpos],eax
|
||||
mov cl,[vrama+edx]
|
||||
sub [.mode7ypos],ebx
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2trb
|
||||
or cl,cl
|
||||
jz .nodraw2trb
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2trb
|
||||
inc esi
|
||||
dec dword[.temp]
|
||||
@@ -709,14 +709,14 @@ SECTION .text
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+edx]
|
||||
sub [.mode7yrpos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodrawbw
|
||||
or cl,cl
|
||||
jz .nodrawbw
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodrawbw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbw
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -789,14 +789,14 @@ SECTION .text
|
||||
add [.mode7xpos],eax
|
||||
mov cl,[vrama+edx]
|
||||
sub [.mode7ypos],ebx
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2trb2w
|
||||
or cl,cl
|
||||
jz .nodraw2trb2w
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodraw2trb2w
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2trb2w
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -841,14 +841,14 @@ SECTION .text
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+edx]
|
||||
sub [.mode7yrpos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodrawbrw
|
||||
or cl,cl
|
||||
jz .nodrawbrw
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodrawbrw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbrw
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -859,7 +859,7 @@ SECTION .text
|
||||
mov al,[.mode7xinc]
|
||||
mov edi,[vram]
|
||||
add [.mode7ptr],al
|
||||
mov cl,byte[.mode7xincc]
|
||||
mov cl,[.mode7xincc]
|
||||
cmp byte[.mode7ptr],cl
|
||||
je .roffw
|
||||
.roffxretbw
|
||||
@@ -900,14 +900,14 @@ SECTION .text
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[vrama+edx]
|
||||
sub [.mode7yrpos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodrawbr2w
|
||||
or cl,cl
|
||||
jz .nodrawbr2w
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodrawbr2w
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbr2w
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -944,14 +944,14 @@ SECTION .text
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+ecx]
|
||||
sub [.mode7ypos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraww
|
||||
or cl,cl
|
||||
jz .nodraww
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodraww
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraww
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -990,14 +990,14 @@ SECTION .text
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+ecx]
|
||||
sub [.mode7ypos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2w
|
||||
or cl,cl
|
||||
jz .nodraw2w
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodraw2w
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2w
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -1050,14 +1050,14 @@ SECTION .text
|
||||
mov eax,[.mode7yadder]
|
||||
mov cl,[edi+ecx]
|
||||
sub [.mode7ypos],eax
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2trw
|
||||
or cl,cl
|
||||
jz .nodraw2trw
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodraw2trw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2trw
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -1078,14 +1078,14 @@ SECTION .text
|
||||
add [.mode7xpos],eax
|
||||
mov cl,[vrama+edx]
|
||||
sub [.mode7ypos],ebx
|
||||
mov byte[esi+288],cl
|
||||
mov [esi+288],cl
|
||||
test cl,80h
|
||||
jnz .nodraw2trbw
|
||||
or cl,cl
|
||||
jz .nodraw2trbw
|
||||
test byte[ebp],0FFh
|
||||
jnz .nodraw2trbw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodraw2trbw
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -1126,13 +1126,13 @@ NEWSYM drawmode7extbg2
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
.drawwin
|
||||
mov ebp,[cwinptr]
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
.nodrawbw
|
||||
mov ecx,256
|
||||
.loop2
|
||||
@@ -1149,31 +1149,31 @@ NEWSYM drawmode7extbg2
|
||||
dec ecx
|
||||
jnz .loop2
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
|
||||
%macro Mode7Normalng 0
|
||||
mov byte[esi+75036],dl
|
||||
mov [esi+75036],dl
|
||||
test dl,80h
|
||||
jnz %%nodrawb
|
||||
or dl,dl
|
||||
jz %%nodrawb
|
||||
mov byte[esi],dl
|
||||
mov [esi],dl
|
||||
%%nodrawb
|
||||
inc esi
|
||||
%endmacro
|
||||
|
||||
%macro Mode7Windowng 0
|
||||
mov byte[esi+75036],dl
|
||||
mov [esi+75036],dl
|
||||
test dl,80h
|
||||
jnz %%nodrawbw
|
||||
or dl,dl
|
||||
jz %%nodrawbw
|
||||
test byte[ebp],0FFh
|
||||
jnz %%nodrawbw
|
||||
mov byte[esi],dl
|
||||
mov [esi],dl
|
||||
%%nodrawbw
|
||||
inc esi
|
||||
inc ebp
|
||||
@@ -1322,7 +1322,7 @@ NEWSYM drawmode7ngextbg2
|
||||
dec ecx
|
||||
jnz .loop
|
||||
xor eax,eax
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic
|
||||
ret
|
||||
|
||||
@@ -317,7 +317,7 @@ NEWSYM draw8x816tms
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -343,7 +343,7 @@ NEWSYM draw8x816tms
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -402,7 +402,7 @@ NEWSYM draw8x8fulladdms
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw
|
||||
@@ -429,7 +429,7 @@ NEWSYM draw8x8fulladdms
|
||||
jnz near .loopa
|
||||
cmp byte[drawn],0
|
||||
je .nodraw2
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
.nodraw2
|
||||
@@ -898,7 +898,7 @@ NEWSYM draw16x1616tms
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -927,7 +927,7 @@ NEWSYM draw16x1616tms
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -1011,7 +1011,7 @@ draw16x16fulladdms:
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -1039,7 +1039,7 @@ draw16x16fulladdms:
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -1123,7 +1123,7 @@ NEWSYM draw16x1616tsms
|
||||
.loopc2
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
@@ -1151,7 +1151,7 @@ NEWSYM draw16x1616tsms
|
||||
.loopc
|
||||
dec byte[tileleft16b]
|
||||
jnz near .loopa
|
||||
mov dh,byte[curmosaicsz]
|
||||
mov dh,[curmosaicsz]
|
||||
cmp dh,1
|
||||
jne near domosaic16b
|
||||
ret
|
||||
|
||||
@@ -739,7 +739,7 @@ Nextwinmode:
|
||||
jnz near %%docache
|
||||
cmp byte[%9+ecx],dl
|
||||
je %%returnfromcache
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
%%returnfromcache
|
||||
cmp byte[%1+ecx],2
|
||||
@@ -864,7 +864,7 @@ Nextwinmode:
|
||||
ret
|
||||
%%docache
|
||||
call %3
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
jmp %%returnfromcache
|
||||
%%tileadd
|
||||
@@ -898,7 +898,7 @@ Nextwinmode:
|
||||
jnz near %%docache
|
||||
cmp byte[%9+ecx],dl
|
||||
je %%returnfromcache
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
%%returnfromcache
|
||||
cmp byte[%1+ecx],2
|
||||
@@ -1045,7 +1045,7 @@ Nextwinmode:
|
||||
jmp %%ntile
|
||||
%%docache
|
||||
call %3
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
jmp %%returnfromcache
|
||||
%%tileadd
|
||||
|
||||
@@ -538,7 +538,7 @@ NEWSYM newengine8b
|
||||
pop eax
|
||||
pop edi
|
||||
.no512
|
||||
mov ebx,dword[sprleftpr+eax*4]
|
||||
mov ebx,[sprleftpr+eax*4]
|
||||
cmp ebx,00000001h
|
||||
je .single
|
||||
cmp ebx,00000100h
|
||||
@@ -645,7 +645,7 @@ NEWSYM BuildWindow
|
||||
mov [pwinbound],edx
|
||||
.ns
|
||||
push esi
|
||||
mov cl,byte[winbg1enval+ebx]
|
||||
mov cl,[winbg1enval+ebx]
|
||||
xor edx,edx
|
||||
mov ch,cl
|
||||
and cl,0Ah
|
||||
@@ -730,16 +730,16 @@ NEWSYM BuildWindow
|
||||
mov bl,[winboundary+eax*4]
|
||||
Process1DualWindow
|
||||
pop ebx
|
||||
mov dword[WinPtrAPos],esi
|
||||
mov [WinPtrAPos],esi
|
||||
|
||||
mov ch,byte[winbg1enval+ebx]
|
||||
mov ch,[winbg1enval+ebx]
|
||||
xor ebx,ebx
|
||||
xor edx,edx
|
||||
mov bl,[winboundary+eax*4+2]
|
||||
mov dl,[winboundary+eax*4+3]
|
||||
shr ch,2
|
||||
Process1DualWindow
|
||||
mov dword[WinPtrBPos],esi
|
||||
mov [WinPtrBPos],esi
|
||||
|
||||
; Convert displacement table to cumulative table
|
||||
mov esi,ngwintable
|
||||
@@ -825,7 +825,7 @@ NEWSYM BuildWindow
|
||||
add edx,4
|
||||
.finb
|
||||
|
||||
mov dword[WinPtrAPos],edx
|
||||
mov [WinPtrAPos],edx
|
||||
|
||||
; jmp .c
|
||||
|
||||
@@ -2330,7 +2330,7 @@ NEWSYM makesprprtable
|
||||
NEWSYM preparesprpr
|
||||
xor ebx,ebx
|
||||
mov bl,[curypos]
|
||||
mov eax,dword[sprleftpr+ebx*4]
|
||||
mov eax,[sprleftpr+ebx*4]
|
||||
mov [sprclprio],eax
|
||||
cmp eax,00000001h
|
||||
je .single
|
||||
|
||||
@@ -304,7 +304,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
jnz %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -317,7 +317,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
cmp byte[hiresstuff],0
|
||||
je %%nogo
|
||||
add esi,75036
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
call drawsprng
|
||||
sub esi,75036
|
||||
%%nogo
|
||||
@@ -344,7 +344,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
ja %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -357,7 +357,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
cmp byte[hiresstuff],0
|
||||
je %%nogo
|
||||
add esi,75036
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
call drawsprng
|
||||
sub esi,75036
|
||||
%%nogo
|
||||
@@ -384,7 +384,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
jbe %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -397,7 +397,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
cmp byte[hiresstuff],0
|
||||
je %%nogo
|
||||
add esi,75036
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
call drawsprng
|
||||
sub esi,75036
|
||||
%%nogo
|
||||
@@ -443,7 +443,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -538,7 +538,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -620,7 +620,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -2586,7 +2586,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
or al,al
|
||||
jz %%nomosaic
|
||||
inc al
|
||||
mov byte[curmosaicsz],al
|
||||
mov [curmosaicsz],al
|
||||
mov cl,al
|
||||
mov al,bl
|
||||
div cl
|
||||
@@ -2955,7 +2955,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
mov word[bgtxadd2],0
|
||||
cmp word[BGPT3X+ebx*2],0
|
||||
je .yesoverfl
|
||||
mov cx,word[BG3SXl+ebx*2]
|
||||
mov cx,[BG3SXl+ebx*2]
|
||||
add cx,16
|
||||
test cx,100h
|
||||
jz .notoverfl
|
||||
@@ -3055,7 +3055,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
or al,al
|
||||
jz %%nomosaic
|
||||
inc al
|
||||
mov byte[curmosaicsz],al
|
||||
mov [curmosaicsz],al
|
||||
mov cl,al
|
||||
mov al,bl
|
||||
div cl
|
||||
@@ -3290,7 +3290,7 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
||||
mov word[bgtxadd2],0
|
||||
cmp word[BGPT3X+ebx*2],0
|
||||
je .yesoverfl
|
||||
mov cx,word[BG3SXl+ebx*2]
|
||||
mov cx,[BG3SXl+ebx*2]
|
||||
add cx,16
|
||||
test cx,100h
|
||||
jz .notoverfl
|
||||
|
||||
@@ -95,7 +95,7 @@ NEWSYM setpalallng
|
||||
add esi,1024
|
||||
xor ebp,ebp
|
||||
and esi,255*1024
|
||||
mov dword[cpalptrng],esi
|
||||
mov [cpalptrng],esi
|
||||
|
||||
add esi,[vbufdptr]
|
||||
|
||||
@@ -177,7 +177,7 @@ NEWSYM setpalette16bng
|
||||
mov edi,esi
|
||||
add esi,1024
|
||||
and esi,255*1024
|
||||
mov dword[cpalptrng],esi
|
||||
mov [cpalptrng],esi
|
||||
|
||||
add esi,[vbufdptr]
|
||||
add edi,[vbufdptr]
|
||||
@@ -453,8 +453,8 @@ BackAreaFill:
|
||||
dec edx
|
||||
mov ebx,[BackAreaUnFillCol]
|
||||
.swloopb
|
||||
mov dword[ecx],ebx
|
||||
mov dword[ecx+4],ebx
|
||||
mov [ecx],ebx
|
||||
mov [ecx+4],ebx
|
||||
add ecx,8
|
||||
sub eax,4
|
||||
jc .doneb
|
||||
@@ -471,8 +471,8 @@ BackAreaFill:
|
||||
add edi,4
|
||||
mov ebx,[BackAreaFillCol]
|
||||
.swloop2b
|
||||
mov dword[ecx],ebx
|
||||
mov dword[ecx+4],ebx
|
||||
mov [ecx],ebx
|
||||
mov [ecx+4],ebx
|
||||
add ecx,8
|
||||
sub eax,4
|
||||
jc .doneb
|
||||
@@ -530,7 +530,7 @@ NEWSYM newengine16b
|
||||
mov ecx,1024+512+256
|
||||
mov eax,0FFFFFFFFh
|
||||
.loopcc
|
||||
mov dword[ebx],eax
|
||||
mov [ebx],eax
|
||||
add ebx,4
|
||||
dec ecx
|
||||
jnz .loopcc
|
||||
@@ -864,12 +864,12 @@ NEWSYM newengine16b
|
||||
jne .notpchanged
|
||||
cmp eax,112
|
||||
jae .endl
|
||||
mov dword[startlinet],eax
|
||||
mov [startlinet],eax
|
||||
jmp .notpchanged
|
||||
.endl
|
||||
cmp dword[endlinet],255
|
||||
jb .notpchanged
|
||||
mov dword[endlinet],eax
|
||||
mov [endlinet],eax
|
||||
.notpchanged
|
||||
|
||||
mov ebx,[cpalptrng]
|
||||
@@ -1134,18 +1134,18 @@ NEWSYM newengine16b
|
||||
test cl,20h
|
||||
jnz .outside
|
||||
.insideb
|
||||
mov dword[BackAreaUnFillCol],ebx
|
||||
mov dword[BackAreaFillCol],ebx
|
||||
mov [BackAreaUnFillCol],ebx
|
||||
mov [BackAreaFillCol],ebx
|
||||
jmp .donesubscreen
|
||||
.inside
|
||||
test cl,20h
|
||||
jnz .filled
|
||||
mov dword[BackAreaUnFillCol],edx
|
||||
mov [BackAreaUnFillCol],edx
|
||||
mov [BackAreaFillCol],ebx
|
||||
jmp .donesubscreen
|
||||
.outside
|
||||
mov [BackAreaUnFillCol],ebx
|
||||
mov dword[BackAreaFillCol],edx
|
||||
mov [BackAreaFillCol],edx
|
||||
jmp .donesubscreen
|
||||
.filled
|
||||
xor ebx,ebx
|
||||
@@ -1196,18 +1196,18 @@ NEWSYM newengine16b
|
||||
test cl,20h
|
||||
jnz .outside2
|
||||
.inside2b
|
||||
mov dword[BackAreaUnFillCol],ebx
|
||||
mov dword[BackAreaFillCol],ebx
|
||||
mov [BackAreaUnFillCol],ebx
|
||||
mov [BackAreaFillCol],ebx
|
||||
jmp .donesubscreen2
|
||||
.inside2
|
||||
test cl,20h
|
||||
jnz .filled2
|
||||
mov dword[BackAreaUnFillCol],edx
|
||||
mov [BackAreaUnFillCol],edx
|
||||
mov [BackAreaFillCol],ebx
|
||||
jmp .donesubscreen2
|
||||
.outside2
|
||||
mov [BackAreaUnFillCol],ebx
|
||||
mov dword[BackAreaFillCol],edx
|
||||
mov [BackAreaFillCol],edx
|
||||
jmp .donesubscreen2
|
||||
.filled2
|
||||
xor ebx,ebx
|
||||
@@ -1292,7 +1292,7 @@ NEWSYM newengine16b
|
||||
or byte[SpecialLine+eax],4
|
||||
.notinterl
|
||||
|
||||
mov ebx,dword[sprleftpr+eax*4]
|
||||
mov ebx,[sprleftpr+eax*4]
|
||||
cmp ebx,00000001h
|
||||
je .single
|
||||
cmp ebx,00000100h
|
||||
@@ -2577,7 +2577,7 @@ drawsprng16bt:
|
||||
xor eax,eax
|
||||
test byte[BGMS1+ebx*2+1],10h
|
||||
jnz near drawsprng16bmst
|
||||
mov al,byte[BGMS1+ebx*2]
|
||||
mov al,[BGMS1+ebx*2]
|
||||
shr al,2
|
||||
test byte[BGMS1+ebx*2],al
|
||||
jnz .transpwin
|
||||
@@ -3073,13 +3073,13 @@ ProcessTransparencies:
|
||||
movq [esi],mm0
|
||||
jmp .faddloopdoneh
|
||||
.faddlooph
|
||||
mov ebx,dword[esi]
|
||||
mov ebx,[esi]
|
||||
test ebx,eax
|
||||
jz near .faddl2h
|
||||
and ebx,eax
|
||||
cmp ebx,eax
|
||||
jne .faddloopbh
|
||||
mov ebx,dword[esi+4]
|
||||
mov ebx,[esi+4]
|
||||
and ebx,eax
|
||||
cmp ebx,eax
|
||||
jne .faddloopbh
|
||||
@@ -3498,7 +3498,7 @@ section .text
|
||||
add esi,16*2+288*2
|
||||
mov ebx,1
|
||||
.nextline
|
||||
mov al,byte[scadsng+ebx]
|
||||
mov al,[scadsng+ebx]
|
||||
%1
|
||||
test al,0C0h
|
||||
jz near .notthisone
|
||||
|
||||
@@ -1262,7 +1262,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
%1 %2, %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -1276,7 +1276,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
pop esi
|
||||
jmp %%nogo
|
||||
%%hires
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
push esi
|
||||
call drawsprng16bhr
|
||||
pop esi
|
||||
@@ -1301,7 +1301,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
ja %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -1315,7 +1315,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
pop esi
|
||||
jmp %%nogo
|
||||
%%hires
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
push esi
|
||||
call drawsprng16bhr
|
||||
pop esi
|
||||
@@ -1340,7 +1340,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
jbe %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -1354,7 +1354,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
pop esi
|
||||
jmp %%nogo
|
||||
%%hires
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
push esi
|
||||
call drawsprng16bhr
|
||||
pop esi
|
||||
@@ -1399,7 +1399,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -1516,7 +1516,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -1597,7 +1597,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -1825,7 +1825,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
jnz near %%docache
|
||||
cmp byte[%9+ecx],dl
|
||||
je %%returnfromcache
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
%%returnfromcache
|
||||
cmp byte[%1+ecx],2
|
||||
@@ -1915,7 +1915,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
ret
|
||||
%%docache
|
||||
call %3
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
jmp %%returnfromcache
|
||||
%%tileadd
|
||||
@@ -1949,7 +1949,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
jnz near %%docache
|
||||
cmp byte[%9+ecx],dl
|
||||
je %%returnfromcache
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
%%returnfromcache
|
||||
cmp byte[%1+ecx],2
|
||||
@@ -2052,7 +2052,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
jmp %%ntile
|
||||
%%docache
|
||||
call %3
|
||||
mov byte[%9+ecx],dl
|
||||
mov [%9+ecx],dl
|
||||
call %10
|
||||
jmp %%returnfromcache
|
||||
%%tileadd
|
||||
@@ -2800,7 +2800,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
or al,al
|
||||
jz %%nomosaic
|
||||
inc al
|
||||
mov byte[curmosaicsz],al
|
||||
mov [curmosaicsz],al
|
||||
mov cl,al
|
||||
mov al,bl
|
||||
div cl
|
||||
@@ -3245,7 +3245,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
mov word[bgtxadd2],0
|
||||
cmp word[BGPT3X+ebx*2],0
|
||||
je .yesoverfl
|
||||
mov cx,word[BG3SXl+ebx*2]
|
||||
mov cx,[BG3SXl+ebx*2]
|
||||
add cx,16
|
||||
test cx,100h
|
||||
jz .notoverfl
|
||||
@@ -3372,7 +3372,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
mov word[bgtxadd2],0
|
||||
cmp word[BGPT3X+ebx*2],0
|
||||
je .yesoverfl3
|
||||
mov cx,word[BG3SXl+ebx*2]
|
||||
mov cx,[BG3SXl+ebx*2]
|
||||
add cx,16
|
||||
test cx,100h
|
||||
jz .notoverfl3
|
||||
@@ -3479,7 +3479,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
or al,al
|
||||
jz %%nomosaic
|
||||
inc al
|
||||
mov byte[curmosaicsz],al
|
||||
mov [curmosaicsz],al
|
||||
mov cl,al
|
||||
mov al,bl
|
||||
div cl
|
||||
@@ -3744,7 +3744,7 @@ EXTSYM drawmode7ngextbg216b,osm2dis
|
||||
mov word[bgtxadd2],0
|
||||
cmp word[BGPT3X+ebx*2],0
|
||||
je .yesoverfl
|
||||
mov cx,word[BG3SXl+ebx*2]
|
||||
mov cx,[BG3SXl+ebx*2]
|
||||
add cx,16
|
||||
test cx,100h
|
||||
jz .notoverfl
|
||||
|
||||
@@ -410,7 +410,7 @@
|
||||
jnz %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -423,7 +423,7 @@
|
||||
cmp byte[res640],0
|
||||
je %%nogo
|
||||
add esi,75036
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
call drawsprng
|
||||
sub esi,75036
|
||||
%%nogo
|
||||
@@ -450,7 +450,7 @@
|
||||
ja %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -463,7 +463,7 @@
|
||||
cmp byte[res640],0
|
||||
je %%nogo
|
||||
add esi,75036
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
call drawsprng
|
||||
sub esi,75036
|
||||
%%nogo
|
||||
@@ -490,7 +490,7 @@
|
||||
jbe %%nogo
|
||||
xor eax,eax
|
||||
mov al,[sprtlng+ebx]
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
mov [csprival],eax
|
||||
inc byte[sprtlng+ebx]
|
||||
test byte[sprleftpr+ebx*4+eax],1
|
||||
@@ -503,7 +503,7 @@
|
||||
cmp byte[res640],0
|
||||
je %%nogo
|
||||
add esi,75036
|
||||
mov cl,byte[sprlefttot+ebx]
|
||||
mov cl,[sprlefttot+ebx]
|
||||
call drawsprng
|
||||
sub esi,75036
|
||||
%%nogo
|
||||
@@ -539,7 +539,7 @@
|
||||
or cl,cl
|
||||
jz %%nomosaic
|
||||
inc cl
|
||||
mov byte[curmosaicsz],cl
|
||||
mov [curmosaicsz],cl
|
||||
xor edx,edx
|
||||
mov eax,ebx
|
||||
div cl
|
||||
@@ -2452,7 +2452,7 @@
|
||||
or al,al
|
||||
jz %%nomosaic
|
||||
inc al
|
||||
mov byte[curmosaicsz],al
|
||||
mov [curmosaicsz],al
|
||||
mov cl,al
|
||||
mov al,bl
|
||||
div cl
|
||||
@@ -2963,7 +2963,7 @@
|
||||
or al,al
|
||||
jz %%nomosaic
|
||||
inc al
|
||||
mov byte[curmosaicsz],al
|
||||
mov [curmosaicsz],al
|
||||
mov cl,al
|
||||
mov al,bl
|
||||
div cl
|
||||
|
||||
@@ -126,7 +126,7 @@ NEWSYM showvideo
|
||||
push ebx
|
||||
push ebp
|
||||
inc byte[ccud]
|
||||
mov bl,byte[ccud]
|
||||
mov bl,[ccud]
|
||||
cmp byte[cacheud],bl
|
||||
je .noinc
|
||||
mov byte[ccud],0
|
||||
@@ -623,7 +623,7 @@ NEWSYM outputchar
|
||||
test ah,80h
|
||||
jz .nowrite
|
||||
mov al,[textcolor]
|
||||
mov byte[esi],al
|
||||
mov [esi],al
|
||||
mov byte[esi+289],192
|
||||
.nowrite
|
||||
shl ah,1
|
||||
@@ -689,7 +689,7 @@ NEWSYM outputchar5x5
|
||||
test ah,80h
|
||||
jz .nowrite
|
||||
mov al,[textcolor]
|
||||
mov byte[esi],al
|
||||
mov [esi],al
|
||||
.nowrite
|
||||
shl ah,1
|
||||
inc esi
|
||||
@@ -725,8 +725,8 @@ NEWSYM outputchar16b5x5
|
||||
jz .nowrite
|
||||
push eax
|
||||
mov ax,[textcolor16b]
|
||||
mov word[esi],ax
|
||||
mov word[esi+75036*4],ax
|
||||
mov [esi],ax
|
||||
mov [esi+75036*4],ax
|
||||
pop eax
|
||||
.nowrite
|
||||
shl ah,1
|
||||
@@ -779,8 +779,8 @@ NEWSYM outputchar16b5x52
|
||||
jz .nowrite
|
||||
push eax
|
||||
mov ax,[textcolor16b]
|
||||
mov word[esi],ax
|
||||
mov word[esi+75036*4],ax
|
||||
mov [esi],ax
|
||||
mov [esi+75036*4],ax
|
||||
pop eax
|
||||
.nowrite
|
||||
shl ah,1
|
||||
@@ -857,7 +857,7 @@ NEWSYM OutputGraphicString
|
||||
mov bx,20
|
||||
shl bx,cl
|
||||
add ax,bx
|
||||
mov word[textcolor16b],ax
|
||||
mov [textcolor16b],ax
|
||||
.no130
|
||||
; Color #131, Red
|
||||
cmp byte[textcolor],131
|
||||
@@ -876,7 +876,7 @@ NEWSYM OutputGraphicString
|
||||
mov bx,5
|
||||
shl bx,cl
|
||||
add ax,bx
|
||||
mov word[textcolor16b],ax
|
||||
mov [textcolor16b],ax
|
||||
.no131
|
||||
jmp OutputGraphicString16b
|
||||
|
||||
@@ -939,7 +939,7 @@ NEWSYM OutputGraphicString5x5
|
||||
mov bx,20
|
||||
shl bx,cl
|
||||
add ax,bx
|
||||
mov word[textcolor16b],ax
|
||||
mov [textcolor16b],ax
|
||||
.no130
|
||||
; Color #131, Red
|
||||
cmp byte[textcolor],131
|
||||
@@ -958,7 +958,7 @@ NEWSYM OutputGraphicString5x5
|
||||
mov bx,5
|
||||
shl bx,cl
|
||||
add ax,bx
|
||||
mov word[textcolor16b],ax
|
||||
mov [textcolor16b],ax
|
||||
.no131
|
||||
jmp OutputGraphicString16b5x5
|
||||
|
||||
@@ -1078,7 +1078,7 @@ NEWSYM OutputGraphicStringb
|
||||
mov bx,20
|
||||
shl bx,cl
|
||||
add ax,bx
|
||||
mov word[textcolor16b],ax
|
||||
mov [textcolor16b],ax
|
||||
.no130
|
||||
; Color #131, Red
|
||||
cmp byte[textcolor],131
|
||||
@@ -1097,7 +1097,7 @@ NEWSYM OutputGraphicStringb
|
||||
mov bx,5
|
||||
shl bx,cl
|
||||
add ax,bx
|
||||
mov word[textcolor16b],ax
|
||||
mov [textcolor16b],ax
|
||||
.no131
|
||||
NEWSYM OutputGraphicString16bb
|
||||
xor eax,eax
|
||||
@@ -1176,7 +1176,7 @@ SECTION .text
|
||||
|
||||
NEWSYM drawhline
|
||||
.loop
|
||||
mov byte[esi],al
|
||||
mov [esi],al
|
||||
inc esi
|
||||
dec ecx
|
||||
jnz .loop
|
||||
@@ -1192,7 +1192,7 @@ NEWSYM drawhline16b
|
||||
|
||||
NEWSYM drawvline
|
||||
.loop
|
||||
mov byte[esi],al
|
||||
mov [esi],al
|
||||
add esi,288
|
||||
dec ecx
|
||||
jnz .loop
|
||||
@@ -1349,7 +1349,7 @@ GetPicture:
|
||||
push esi
|
||||
.ploopb2
|
||||
mov ax,[edi]
|
||||
mov word[esi],ax
|
||||
mov [esi],ax
|
||||
add esi,2
|
||||
add edi,2
|
||||
dec ecx
|
||||
@@ -1559,7 +1559,7 @@ NEWSYM saveselect
|
||||
jnz .loop
|
||||
; draw filled boxes for existing files
|
||||
mov eax,[statefileloc]
|
||||
mov bl,byte[fnamest+eax]
|
||||
mov bl,[fnamest+eax]
|
||||
push ebx
|
||||
call DetermineNewest
|
||||
drawfillboxhelp 0,'t'
|
||||
@@ -1574,7 +1574,7 @@ NEWSYM saveselect
|
||||
drawfillboxhelp 9,'9'
|
||||
pop ebx
|
||||
mov eax,[statefileloc]
|
||||
mov byte[fnamest+eax],bl
|
||||
mov [fnamest+eax],bl
|
||||
|
||||
mov esi,75+73*288
|
||||
add esi,[vidbuffer]
|
||||
@@ -1650,7 +1650,7 @@ NEWSYM saveselect
|
||||
mov byte[curblank],0h
|
||||
mov bl,0
|
||||
mov ebx,[statefileloc]
|
||||
mov al,byte[fnamest+ebx]
|
||||
mov al,[fnamest+ebx]
|
||||
cmp al,'t'
|
||||
jne .noT
|
||||
mov bl,0
|
||||
@@ -1716,7 +1716,7 @@ NEWSYM saveselect
|
||||
mov al,bl
|
||||
.save
|
||||
mov ebx,[statefileloc]
|
||||
mov byte[fnamest+ebx],al
|
||||
mov [fnamest+ebx],al
|
||||
.esc
|
||||
|
||||
mov eax,pressed
|
||||
@@ -1835,7 +1835,7 @@ SECTION .text
|
||||
|
||||
; draw filled boxes for existing files
|
||||
mov eax,[statefileloc]
|
||||
mov bl,byte[fnamest+eax]
|
||||
mov bl,[fnamest+eax]
|
||||
push ebx
|
||||
call DetermineNewest
|
||||
drawfillboxhelp16b 0,'t'
|
||||
@@ -1850,7 +1850,7 @@ SECTION .text
|
||||
drawfillboxhelp16b 9,'9'
|
||||
pop ebx
|
||||
mov eax,[statefileloc]
|
||||
mov byte[fnamest+eax],bl
|
||||
mov [fnamest+eax],bl
|
||||
|
||||
mov esi,75*2+73*288*2
|
||||
add esi,[vidbuffer]
|
||||
@@ -1927,7 +1927,7 @@ SECTION .text
|
||||
mov byte[curblank],0h
|
||||
mov bl,0
|
||||
mov ebx,[statefileloc]
|
||||
mov al,byte[fnamest+ebx]
|
||||
mov al,[fnamest+ebx]
|
||||
cmp al,'t'
|
||||
jne .noT16b
|
||||
mov bl,0
|
||||
@@ -1953,7 +1953,7 @@ SECTION .text
|
||||
mov [CurPictureVal],bl
|
||||
pushad
|
||||
mov eax,[statefileloc]
|
||||
mov cl,byte[fnamest+eax]
|
||||
mov cl,[fnamest+eax]
|
||||
push ecx
|
||||
cmp bl,0
|
||||
jne .nozero16b2
|
||||
@@ -1963,11 +1963,11 @@ SECTION .text
|
||||
mov cl,bl
|
||||
add cl,48
|
||||
.save16b2
|
||||
mov byte[fnamest+eax],cl
|
||||
mov [fnamest+eax],cl
|
||||
call GetPicture
|
||||
pop ecx
|
||||
mov eax,[statefileloc]
|
||||
mov byte[fnamest+eax],cl
|
||||
mov [fnamest+eax],cl
|
||||
popad
|
||||
|
||||
mov dx,0FFFFh
|
||||
@@ -2030,7 +2030,7 @@ SECTION .text
|
||||
mov al,bl
|
||||
.save16b
|
||||
mov ebx,[statefileloc]
|
||||
mov byte[fnamest+ebx],al
|
||||
mov [fnamest+ebx],al
|
||||
.esc16b
|
||||
mov eax,pressed
|
||||
mov ecx,256
|
||||
@@ -2222,7 +2222,7 @@ NEWSYM doveg
|
||||
or ax,cx
|
||||
mov bx,ax
|
||||
pop eax
|
||||
mov word[cgram+eax],bx
|
||||
mov [cgram+eax],bx
|
||||
add eax,2
|
||||
cmp eax,200h
|
||||
jne .next
|
||||
|
||||
@@ -66,9 +66,9 @@ EXTSYM Testval
|
||||
jae .noinsidemask
|
||||
mov byte[esi],0
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],cl
|
||||
mov [esi+2],cl
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[esi+4],ch
|
||||
mov [esi+4],ch
|
||||
mov byte[esi+5],01h
|
||||
mov byte[numwin],3
|
||||
jmp .finishwin
|
||||
@@ -84,9 +84,9 @@ EXTSYM Testval
|
||||
cmp cl,1
|
||||
jbe .noinsidemask
|
||||
.skipnodraw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],ch
|
||||
mov [esi+2],ch
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[numwin],2
|
||||
jmp .finishwin
|
||||
@@ -140,9 +140,9 @@ EXTSYM Testval
|
||||
jae .noinsidemask
|
||||
mov byte[esi],0
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],cl
|
||||
mov [esi+2],cl
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[esi+4],ch
|
||||
mov [esi+4],ch
|
||||
mov byte[esi+5],01h
|
||||
mov byte[numwin],3
|
||||
jmp .finishwin
|
||||
@@ -160,9 +160,9 @@ EXTSYM Testval
|
||||
cmp cl,1
|
||||
jbe .noinsidemask
|
||||
.skipnodraw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],ch
|
||||
mov [esi+2],ch
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[numwin],2
|
||||
jmp .finishwin
|
||||
|
||||
@@ -66,9 +66,9 @@ EXTSYM Testval
|
||||
jae .noinsidemask
|
||||
mov byte[esi],0
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],cl
|
||||
mov [esi+2],cl
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[esi+4],ch
|
||||
mov [esi+4],ch
|
||||
mov byte[esi+5],01h
|
||||
mov byte[numwin],3
|
||||
jmp .finishwin
|
||||
@@ -84,9 +84,9 @@ EXTSYM Testval
|
||||
cmp cl,1
|
||||
jbe .noinsidemask
|
||||
.skipnodraw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],ch
|
||||
mov [esi+2],ch
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[numwin],2
|
||||
jmp .finishwin
|
||||
@@ -140,9 +140,9 @@ EXTSYM Testval
|
||||
jae .noinsidemask
|
||||
mov byte[esi],0
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],cl
|
||||
mov [esi+2],cl
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[esi+4],ch
|
||||
mov [esi+4],ch
|
||||
mov byte[esi+5],01h
|
||||
mov byte[numwin],3
|
||||
jmp .finishwin
|
||||
@@ -160,9 +160,9 @@ EXTSYM Testval
|
||||
cmp cl,1
|
||||
jbe .noinsidemask
|
||||
.skipnodraw
|
||||
mov byte[esi],cl
|
||||
mov [esi],cl
|
||||
mov byte[esi+1],01h
|
||||
mov byte[esi+2],ch
|
||||
mov [esi+2],ch
|
||||
mov byte[esi+3],0FFh
|
||||
mov byte[numwin],2
|
||||
jmp .finishwin
|
||||
|
||||
@@ -817,7 +817,7 @@ Process2xSaIwin:
|
||||
; add edi,[VESAAddr]
|
||||
mov dl,[resolutn]
|
||||
sub dl,2 ; Compensate for top/bottom line + 2 lines in 2xSaI
|
||||
mov byte[lineleft],dl
|
||||
mov [lineleft],dl
|
||||
mov dword[esi+512],0
|
||||
mov dword[esi+512+576*2],0
|
||||
mov ebx,[vidbufferofsb]
|
||||
|
||||
@@ -189,14 +189,14 @@ SECTION .text
|
||||
NEWSYM Open_File
|
||||
pushad
|
||||
mov dword[ZOpenMode],0
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
mov [TempHandle],eax
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekPos],0
|
||||
mov dword[ZFileSeekHandle],eax
|
||||
mov [ZFileSeekHandle],eax
|
||||
call ZFileSeek
|
||||
popad
|
||||
mov ax,[TempHandle]
|
||||
@@ -214,14 +214,14 @@ NEWSYM Open_File
|
||||
NEWSYM Open_File_Write
|
||||
pushad
|
||||
mov dword[ZOpenMode],2
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
mov [TempHandle],eax
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekPos],0
|
||||
mov dword[ZFileSeekHandle],eax
|
||||
mov [ZFileSeekHandle],eax
|
||||
call ZFileSeek
|
||||
popad
|
||||
mov ax,[TempHandle]
|
||||
@@ -239,7 +239,7 @@ NEWSYM Open_File_Write
|
||||
NEWSYM Create_File
|
||||
pushad
|
||||
mov dword[ZOpenMode],1
|
||||
mov dword[ZOpenFileName],edx
|
||||
mov [ZOpenFileName],edx
|
||||
call ZOpenFile
|
||||
cmp eax,0FFFFFFFFh
|
||||
je .error
|
||||
@@ -319,11 +319,11 @@ NEWSYM Close_File
|
||||
; ret
|
||||
|
||||
NEWSYM File_Seek
|
||||
mov word[ZFileSeekPos+2],cx
|
||||
mov word[ZFileSeekPos],dx
|
||||
mov [ZFileSeekPos+2],cx
|
||||
mov [ZFileSeekPos],dx
|
||||
mov dword[ZFileSeekMode],0
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
pushad
|
||||
call ZFileSeek
|
||||
popad
|
||||
@@ -336,13 +336,13 @@ NEWSYM File_Seek
|
||||
; ret
|
||||
|
||||
NEWSYM File_Seek_End
|
||||
mov word[ZFileSeekPos+2],cx
|
||||
mov word[ZFileSeekPos],dx
|
||||
mov [ZFileSeekPos+2],cx
|
||||
mov [ZFileSeekPos],dx
|
||||
mov dword[ZFileSeekHandle],0
|
||||
mov word[ZFileSeekHandle],bx
|
||||
mov [ZFileSeekHandle],bx
|
||||
mov dword[ZFileSeekMode],1
|
||||
mov dword[ZFileTellHandle],0
|
||||
mov word[ZFileTellHandle],bx
|
||||
mov [ZFileTellHandle],bx
|
||||
pushad
|
||||
call ZFileSeek
|
||||
call ZFileTell
|
||||
@@ -853,10 +853,10 @@ NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs
|
||||
mov al,[cvidmode]
|
||||
cmp byte[GUIWFVID+eax],0
|
||||
je .prevwinmode
|
||||
mov byte[PrevFSMode],al
|
||||
mov [PrevFSMode],al
|
||||
jmp .doneprevmode
|
||||
.prevwinmode
|
||||
mov byte[PrevWinMode],al
|
||||
mov [PrevWinMode],al
|
||||
.doneprevmode
|
||||
|
||||
cmp dword[firstvideo],1
|
||||
@@ -1268,9 +1268,9 @@ NEWSYM SoundProcess ; This function is called ~60 times/s at full speed
|
||||
cmp byte[DSPDisable],1
|
||||
je .nosound
|
||||
mov eax,256 ; Size
|
||||
mov dword[BufferSizeB],eax
|
||||
mov [BufferSizeB],eax
|
||||
add eax,eax
|
||||
mov dword[BufferSizeW],eax
|
||||
mov [BufferSizeW],eax
|
||||
pushad
|
||||
call ProcessSoundBuffer
|
||||
popad
|
||||
@@ -1322,14 +1322,14 @@ InitializeGfxStuff:
|
||||
.shrr
|
||||
shr bx,1
|
||||
.shlr
|
||||
mov word[vesa2_rfull],bx
|
||||
mov [vesa2_rfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_rtrcl],bx
|
||||
mov [vesa2_rtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_rtrcla],bx
|
||||
mov [vesa2_rtrcla],bx
|
||||
|
||||
; Process Green Stuff
|
||||
mov al,[BitPosG]
|
||||
@@ -1353,14 +1353,14 @@ InitializeGfxStuff:
|
||||
.shrg
|
||||
shr bx,1
|
||||
.shlg
|
||||
mov word[vesa2_gfull],bx
|
||||
mov [vesa2_gfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_gtrcl],bx
|
||||
mov [vesa2_gtrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_gtrcla],bx
|
||||
mov [vesa2_gtrcla],bx
|
||||
|
||||
; Process Blue Stuff
|
||||
mov al,[BitPosB]
|
||||
@@ -1384,14 +1384,14 @@ InitializeGfxStuff:
|
||||
.shrb
|
||||
shr bx,1
|
||||
.shlb
|
||||
mov word[vesa2_bfull],bx
|
||||
mov [vesa2_bfull],bx
|
||||
add al,5
|
||||
mov bx,1
|
||||
mov cl,al
|
||||
shl bx,cl
|
||||
mov word[vesa2_btrcl],bx
|
||||
mov [vesa2_btrcl],bx
|
||||
xor bx,0FFFFh
|
||||
mov word[vesa2_btrcla],bx
|
||||
mov [vesa2_btrcla],bx
|
||||
|
||||
xor word[vesa2_clbit],0FFFFh
|
||||
call genfulladdtab
|
||||
|
||||
Reference in New Issue
Block a user