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
|
||||
|
||||
Reference in New Issue
Block a user