168 lines
2.5 KiB
Text
168 lines
2.5 KiB
Text
; Layout of workspace for floating point Pentium optimized setup for rasterisers
|
|
;
|
|
|
|
@tag_0 UNION
|
|
l DWORD ?
|
|
s SWORD 2t DUP (?)
|
|
@tag_0 ENDS
|
|
|
|
_workspace struc 8
|
|
;qwords start here
|
|
xm DWORD ?
|
|
d_xm DWORD ?
|
|
x1 DWORD ?
|
|
d_x1 DWORD ?
|
|
x2 DWORD ?
|
|
d_x2 DWORD ?
|
|
|
|
s_z dword ?
|
|
d_z_y_1 dword ?
|
|
d_z_x dword ?
|
|
d_z_y_0 dword ?
|
|
|
|
s_i dword ?
|
|
d_i_y_1 dword ?
|
|
d_i_x dword ?
|
|
d_i_y_0 dword ?
|
|
|
|
s_u dword ?
|
|
d_u_y_1 dword ?
|
|
d_u_x dword ?
|
|
d_u_y_0 dword ?
|
|
|
|
s_v dword ?
|
|
d_v_y_1 dword ?
|
|
d_v_x dword ?
|
|
d_v_y_0 dword ?
|
|
|
|
s_s dword ?
|
|
d_s_y_1 dword ?
|
|
d_s_x dword ?
|
|
d_s_y_0 dword ?
|
|
|
|
scanAddress dword ?
|
|
scanAddressTrashed dword ?
|
|
depthAddress dword ?
|
|
depthAddressTrashed dword ?
|
|
|
|
;qwords end here
|
|
|
|
|
|
;input to setup code
|
|
v0 dword ?
|
|
v1 dword ?
|
|
v2 dword ?
|
|
|
|
;these are only used within the setup code
|
|
iarea dword ?
|
|
dx1_a dword ?
|
|
dx2_a dword ?
|
|
dy1_a dword ?
|
|
dy2_a dword ?
|
|
xstep_1 dword ?
|
|
xstep_0 dword ?
|
|
t_dx dword ?
|
|
t_dy dword ?
|
|
|
|
;results from the setup code
|
|
t_y dword ?
|
|
flip dword ?
|
|
|
|
;used in some rasterisers
|
|
c_z dword ?
|
|
c_u dword ?
|
|
c_v dword ?
|
|
c_i dword ?
|
|
|
|
;tsbHeader stuff aka h
|
|
counts @tag_0 <>
|
|
|
|
|
|
; Fixed setup only
|
|
v0_x dword ? ;converted vertex coordinates - maps to three overlapping
|
|
v1_x dword ? ; 'converted_vertex' structures
|
|
v2_x dword ?
|
|
v0_y dword ?
|
|
v1_y dword ?
|
|
v2_y dword ?
|
|
top_vertex dword ?
|
|
|
|
|
|
;my stuff, currently in here for my convenience -JohnG
|
|
xm_f dword ?
|
|
d_xm_f dword ?
|
|
|
|
topCount dword ?
|
|
bottomCount dword ?
|
|
|
|
align 8
|
|
colour dword ?
|
|
colourExtension dword ?
|
|
shadeTable dword ?
|
|
align 8
|
|
scratch0 dword ?
|
|
scratch1 dword ?
|
|
scratch2 dword ?
|
|
scratch3 dword ?
|
|
scratch4 dword ?
|
|
scratch5 dword ?
|
|
scratch6 dword ?
|
|
scratch7 dword ?
|
|
scratch8 dword ?
|
|
scratch9 dword ?
|
|
scratch10 dword ?
|
|
scratch11 dword ?
|
|
scratch12 dword ?
|
|
scratch13 dword ?
|
|
scratch14 dword ?
|
|
scratch15 dword ?
|
|
_workspace ends
|
|
|
|
m_y equ [workspace.t_dy]
|
|
sort_value equ [workspace.top_vertex]
|
|
|
|
ArbitraryWidthWorkspace struc 8
|
|
su dword ?
|
|
dword ?
|
|
|
|
dux dword ?
|
|
dword ?
|
|
|
|
duy1 dword ?
|
|
dword ?
|
|
|
|
duy0 dword ?
|
|
dword ?
|
|
|
|
sv dword ?
|
|
dword ?
|
|
|
|
dvy1 dword ?
|
|
dword ?
|
|
dvy1c dword ?
|
|
dword ?
|
|
dvy0 dword ?
|
|
dword ?
|
|
dvy0c dword ?
|
|
|
|
dvxc dword ?
|
|
dword ?
|
|
dvx dword ?
|
|
dword ?
|
|
|
|
svf dword ?
|
|
dvxf dword ?
|
|
dvy1f dword ?
|
|
dvy0f dword ?
|
|
|
|
uUpperBound dword ?
|
|
vUpperBound dword ?
|
|
|
|
flags dword ?
|
|
retAddress dword ?
|
|
ArbitraryWidthWorkspace ends
|
|
|
|
|
|
|
|
externdef SYSCALL workspace:_workspace
|
|
externdef SYSCALL workspaceA:ArbitraryWidthWorkspace
|