
; Storm C Compiler
; Work2:Mesa3/Mesa-3.0/src/eval.c
	mc68030
	mc68881
	XREF	_gl_End
	XREF	_gl_Begin
	XREF	_gl_eval_vertex
	XREF	_gl_error
	XREF	_malloc
	XREF	_free
	XREF	_sqrt__r
	XREF	_CC

	SECTION "_gl_init_eval:0",CODE


;void gl_init_eval( void )
	XDEF	_gl_init_eval
_gl_init_eval
L632
;  if (init_flag==0) 
L633
;  init_flag = 1;
	move.l	#1,_init_flag___gl_init_eval(a6)
	rts

	SECTION "_gl_init_eval:1",DATA

_init_flag___gl_init_eval
	dc.l	0

	SECTION "_horner_bezier_curve:0",CODE

	rts

;static void
_horner_bezier_curve
	movem.l	d2-d5/a2,-(a7)
	fmovem.x fp2/fp3/fp4/fp5,-(a7)
	movem.l	$54(a7),d2/d4
	move.l	$4C(a7),a0
	move.l	$48(a7),a1
	fmove.s	$50(a7),fp5
L634
;  if(order >= 2)
	cmp.l	#2,d4
	blo	L645
L635
;    bincoeff = order-1;
	move.l	d4,d1
	subq.l	#1,d1
;    s = 1.0-t;
	fmove.x	fp5,fp0
	fmove.d	#$.3FF00000.00000000,fp1
	fsub.x	fp0,fp1
	fmove.x	fp1,fp0
	fmove.x	fp0,fp4
;    for(k=0;
	moveq	#0,d0
	bra.b	L637
L636
;      out[k] = s*cp[k] + bincoeff*t*cp[dim+k];
	fmove.x	fp4,fp1
	fmul.s	0(a1,d0.l*4),fp1
	fmove.l	d1,fp0
	fmul.x	fp5,fp0
	move.l	d2,d3
	add.l	d0,d3
	fmul.s	0(a1,d3.l*4),fp0
	fadd.x	fp0,fp1
	fmove.s	fp1,0(a0,d0.l*4)
	addq.l	#1,d0
L637
	cmp.l	d2,d0
	blo.b	L636
L638
;    for(i=2, cp+=2*dim, powert=t*t;
	moveq	#2,d3
	move.l	d2,d0
	moveq	#1,d5
	asl.l	d5,d0
	moveq	#2,d5
	asl.l	d5,d0
	add.l	d0,a1
	fmove.x	fp5,fp3
	fmul.x	fp5,fp3
	bra.b	L643
L639
;      bincoeff *= order-i;
	move.l	d4,d0
	sub.l	d3,d0
	mulu.l	d0,d1
;      bincoeff /= i;
	divul.l	d3,d1
;      for(k=0;
	moveq	#0,d0
	bra.b	L641
L640
;        out[k] = s*out[k] + bincoeff*powert*cp[k];
	fmove.x	fp4,fp1
	fmul.s	0(a0,d0.l*4),fp1
	fmove.l	d1,fp0
	fmul.x	fp3,fp0
	fmul.s	0(a1,d0.l*4),fp0
	fadd.x	fp0,fp1
	fmove.s	fp1,0(a0,d0.l*4)
	addq.l	#1,d0
L641
	cmp.l	d2,d0
	blo.b	L640
L642
	addq.l	#1,d3
	fmul.x	fp5,fp3
	move.l	d2,d0
	moveq	#2,d5
	asl.l	d5,d0
	add.l	d0,a1
L643
	cmp.l	d4,d3
	blo.b	L639
L644
	bra.b	L648
L645
;    for(k=0;
	moveq	#0,d0
	bra.b	L647
L646
;      out[k] = cp[k];
	move.l	0(a1,d0.l*4),0(a0,d0.l*4)
	addq.l	#1,d0
L647
	cmp.l	d2,d0
	blo.b	L646
L648
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d5/a2
	rts

	SECTION "_horner_bezier_surf:0",CODE


;static void
_horner_bezier_surf
L673	EQU	-$28
	link	a5,#L673
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4/fp5/fp6,-(a7)
	movem.l	$18(a5),d2/d7
	movem.l	$8(a5),a3/a4
	fmove.s	$10(a5),fp5
	fmove.s	$14(a5),fp6
L649
;  GLfloat *cp = cn + uorder*vorder*dim;
	move.l	d7,d0
	mulu.l	$20(a5),d0
	mulu.l	d2,d0
	lea	0(a3,d0.l*4),a2
;  GLuint i, uinc = vorder*dim;
	move.l	$20(a5),d0
	mulu.l	d2,d0
	move.l	d0,-$C(a5)
;  if(vorder > uorder)
	move.l	$20(a5),d0
	cmp.l	d7,d0
	bls	L666
L650
;    if(uorder >= 2)
	move.l	d7,d0
	cmp.l	#2,d0
	blo	L664
L651
;      for(j=0;
	moveq	#0,d3
	bra	L662
L652
;        GLfloat *ucp = &cn[j*dim];
	move.l	d3,d0
	mulu.l	d2,d0
	lea	0(a3,d0.l*4),a0
;	bincoeff = uorder-1;
	move.l	d7,d4
	subq.l	#1,d4
;	s = 1.0-u;
	fmove.x	fp5,fp0
	fmove.d	#$.3FF00000.00000000,fp1
	fsub.x	fp0,fp1
	fmove.x	fp1,fp0
	fmove.x	fp0,fp4
;	for(k=0;
	moveq	#0,d0
	bra.b	L654
L653
;	  cp[j*dim+k] = s*ucp[k] + bincoeff*u*ucp[uinc+k];
	fmove.x	fp4,fp1
	fmul.s	0(a0,d0.l*4),fp1
	fmove.l	d4,fp0
	fmul.x	fp5,fp0
	move.l	-$C(a5),d1
	add.l	d0,d1
	fmul.s	0(a0,d1.l*4),fp0
	fadd.x	fp0,fp1
	move.l	d3,d1
	mulu.l	d2,d1
	add.l	d0,d1
	fmove.s	fp1,0(a2,d1.l*4)
	addq.l	#1,d0
L654
	cmp.l	d2,d0
	blo.b	L653
L655
;	for(i=2, ucp+=2*uinc, poweru=u*u;
	moveq	#2,d5
	move.l	-$C(a5),d0
	moveq	#1,d1
	asl.l	d1,d0
	moveq	#2,d1
	asl.l	d1,d0
	add.l	d0,a0
	fmove.x	fp5,fp3
	fmul.x	fp5,fp3
	bra.b	L660
L656
;	  bincoeff *= uorder-i;
	move.l	d7,d0
	sub.l	d5,d0
	mulu.l	d0,d4
;          bincoeff /= i;
	divul.l	d5,d4
;	  for(k=0;
	moveq	#0,d0
	bra.b	L658
L657
;	    cp[j*dim+k] = s*cp[j*dim+k] + bincoeff*poweru*ucp[k];
	move.l	d3,d1
	mulu.l	d2,d1
	add.l	d0,d1
	fmove.x	fp4,fp1
	fmul.s	0(a2,d1.l*4),fp1
	fmove.l	d4,fp0
	fmul.x	fp3,fp0
	fmul.s	0(a0,d0.l*4),fp0
	fadd.x	fp0,fp1
	move.l	d3,d1
	mulu.l	d2,d1
	add.l	d0,d1
	fmove.s	fp1,0(a2,d1.l*4)
	addq.l	#1,d0
L658
	cmp.l	d2,d0
	blo.b	L657
L659
	addq.l	#1,d5
	fmul.x	fp5,fp3
	move.l	-$C(a5),d0
	moveq	#2,d1
	asl.l	d1,d0
	add.l	d0,a0
L660
	cmp.l	d7,d5
	blo.b	L656
L661
	addq.l	#1,d3
L662
	cmp.l	$20(a5),d3
	blo	L652
L663
;      horner_bezier_curve(cp, out, v, dim, vorder);
	move.l	$20(a5),-(a7)
	move.l	d2,-(a7)
	fmove.s	fp6,-(a7)
	move.l	a4,-(a7)
	move.l	a2,-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
	bra.b	L665
L664
;      horner_bezier_curve(cn, out, v, dim, vorder);
	move.l	$20(a5),-(a7)
	move.l	d2,-(a7)
	fmove.s	fp6,-(a7)
	move.l	a4,-(a7)
	move.l	a3,-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
L665
	bra.b	L672
L666
;    if(vorder > 1)
	move.l	$20(a5),d0
	cmp.l	#1,d0
	bls.b	L671
L667
;      for(i=0;
	moveq	#0,d3
	bra.b	L669
L668
;	horner_bezier_curve(cn, &cp[i*dim], v, dim, vorder);
	move.l	$20(a5),-(a7)
	move.l	d2,-(a7)
	fmove.s	fp6,-(a7)
	move.l	d3,d0
	mulu.l	d2,d0
	pea	0(a2,d0.l*4)
	move.l	a3,-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
	addq.l	#1,d3
	move.l	-$C(a5),d0
	moveq	#2,d1
	asl.l	d1,d0
	add.l	a3,d0
	move.l	d0,a3
L669
	cmp.l	d7,d3
	blo.b	L668
L670
;      horner_bezier_curve(cp, out, u, dim, uorder);
	move.l	d7,-(a7)
	move.l	d2,-(a7)
	fmove.s	fp5,-(a7)
	move.l	a4,-(a7)
	move.l	a2,-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
	bra.b	L672
L671
;      horner_bezier_curve(cn, out, u, dim, uorder);
	move.l	d7,-(a7)
	move.l	d2,-(a7)
	fmove.s	fp5,-(a7)
	move.l	a4,-(a7)
	move.l	a3,-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
L672
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_de_casteljau_surf:0",CODE


;static void
_de_casteljau_surf
L787	EQU	-$48
	link	a5,#L787
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4/fp5/fp6/fp7,-(a7)
	move.l	$28(a5),d5
	move.l	$8(a5),a1
	move.l	$C(a5),a4
	fmove.s	$18(a5),fp0
	fmove.s	$1C(a5),fp2
L674
;  GLfloat *dcn = cn + uorder*vorder*dim;
	move.l	$24(a5),d0
	mulu.l	d5,d0
	mulu.l	$20(a5),d0
	lea	0(a1,d0.l*4),a0
;  GLfloat us = 1.0-u
	fmove.x	fp0,fp1
	fmove.d	#$.3FF00000.00000000,fp3
	fsub.x	fp1,fp3
	fmove.x	fp3,fp1
;  GLfloat us = 1.0-u, vs = 1.0-v;
	fmove.x	fp2,fp3
	fmove.d	#$.3FF00000.00000000,fp4
	fsub.x	fp3,fp4
	fmove.x	fp4,fp3
;  GLuint minorder = uorder < vorder ? uorder : vorder;
	move.l	$24(a5),d0
	cmp.l	d5,d0
	bhs.b	L676
L675
	move.l	$24(a5),-$20(a5)
	bra.b	L677
L676
	move.l	d5,-$20(a5)
L677
;  GLuint uinc = vorder*dim;
	move.l	d5,d0
	mulu.l	$20(a5),d0
	move.l	d0,-$24(a5)
;  GLuint dcuinc = vorder;
	move.l	d5,d2
;  if(minorder < 3)
	move.l	-$20(a5),d0
	cmp.l	#3,d0
	bhs	L710
L678
;    if(uorder==vorder)
	move.l	$24(a5),d0
	cmp.l	d5,d0
	bne	L683
L679
;      for(k=0;
	clr.l	-$1C(a5)
	bra	L681
L680
;	du[k] = vs*(CN(1,0,k) - CN(0,0,k)) +
	move.l	$20(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	-$24(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d2
	asl.l	d2,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	-$24(a5),d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$10(a5),a2
	fmove.s	fp4,0(a2,d0.l*4)
;	dv[k] = us*(CN(0,1,k) - CN(0,0,k)) + 
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d2
	asl.l	d2,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	-$24(a5),d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	move.l	$20(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	-$24(a5),d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$14(a5),a2
	fmove.s	fp4,0(a2,d0.l*4)
;        out[k] =  us*(vs*CN(0,0,k) + v*CN(0,1,k)) +
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d2
	asl.l	d2,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	fmul.x	fp1,fp4
	move.l	$20(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	-$24(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp3,fp5
	move.l	-$24(a5),d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.x	fp2,fp6
	fmul.s	0(a1,d0.l*4),fp6
	fadd.x	fp6,fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	fmove.s	fp4,0(a4,d0.l*4)
	addq.l	#1,-$1C(a5)
L681
	move.l	-$1C(a5),d0
	cmp.l	$20(a5),d0
	blo	L680
L682
	bra	L709
L683
;    else if(minorder == uorder)
	move.l	-$20(a5),d0
	cmp.l	$24(a5),d0
	bne	L697
L684
;      for(k=0;
	clr.l	-$1C(a5)
	bra	L695
L685
;	DCN(1,0) =    CN(1,0,k) -   CN(0,0,k);
	move.l	$20(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	-$24(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp4
	move.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	DCN(0,0) = us*CN(0,0,k) + u*CN(1,0,k);
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	$20(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	-$24(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	for(j=0;
	moveq	#0,d0
	bra	L687
L686
;	  DCN(1,j+1) =    CN(1,j+1,k) -   CN(0,j+1,k);
	move.l	d0,d1
	addq.l	#1,d1
	mulu.l	$20(a5),d1
	add.l	-$24(a5),d1
	add.l	-$1C(a5),d1
	fmove.s	0(a1,d1.l*4),fp4
	move.l	-$24(a5),d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	mulu.l	$20(a5),d3
	add.l	d3,d1
	add.l	-$1C(a5),d1
	fsub.s	0(a1,d1.l*4),fp4
	move.l	d0,d1
	addq.l	#1,d1
	add.l	d2,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	  DCN(1,j)   = vs*DCN(1,j)    + v*DCN(1,j+1);
	move.l	d2,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d0,d1
	addq.l	#1,d1
	add.l	d2,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	  DCN(0,j+1) = us*CN(0,j+1,k) + u*CN(1,j+1,k);
	move.l	-$24(a5),d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	mulu.l	$20(a5),d3
	add.l	d3,d1
	add.l	-$1C(a5),d1
	fmove.s	0(a1,d1.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d0,d1
	addq.l	#1,d1
	mulu.l	$20(a5),d1
	add.l	-$24(a5),d1
	add.l	-$1C(a5),d1
	fmove.s	0(a1,d1.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	  DCN(0,j)   = vs*DCN(0,j)    + v*DCN(0,j+1);
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
	addq.l	#1,d0
L687
	move.l	d5,d1
	subq.l	#1,d1
	cmp.l	d1,d0
	blo	L686
L688
;	for(h=minorder;
	move.l	-$20(a5),d3
	bra.b	L693
L689
;	  for(j=0;
	moveq	#0,d0
	bra.b	L691
L690
;	    DCN(1,j) = vs*DCN(1,j) + v*DCN(1,j+1);
	move.l	d2,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d0,d1
	addq.l	#1,d1
	add.l	d2,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	    DCN(0,j) = vs*DCN(0,j) + v*DCN(0,j+1);
	move.l	d2,d1
	moveq	#$20,d4
	asl.l	d4,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d1
	moveq	#$20,d4
	asl.l	d4,d1
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#$20,d4
	asl.l	d4,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
	addq.l	#1,d0
L691
	move.l	d5,d1
	sub.l	d3,d1
	cmp.l	d1,d0
	blo.b	L690
L692
	addq.l	#1,d3
L693
	move.l	d5,d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L689
L694
;	dv[k] = DCN(0,1) - DCN(0,0);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	-$1C(a5),d0
	move.l	$14(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;	du[k] =   vs*DCN(1,0) + v*DCN(1,1);
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$10(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;	out[k] =  vs*DCN(0,0) + v*DCN(0,1);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	fmove.s	fp4,0(a4,d0.l*4)
	addq.l	#1,-$1C(a5)
L695
	move.l	-$1C(a5),d0
	cmp.l	$20(a5),d0
	blo	L685
L696
	bra	L709
L697
;      for(k=0;
	clr.l	-$1C(a5)
	bra	L708
L698
;	DCN(0,1) =    CN(0,1,k) -   CN(0,0,k);
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	DCN(0,0) = vs*CN(0,0,k) + v*CN(0,1,k);
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	move.l	$20(a5),d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d1,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	-$24(a5),d0
	moveq	#$20,d1
	asl.l	d1,d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	for(i=0;
	moveq	#0,d1
	bra	L700
L699
;	  DCN(i+1,1) =    CN(i+1,1,k) -   CN(i+1,0,k);
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fsub.s	0(a1,d0.l*4),fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  DCN(i,1)   = us*DCN(i,1)    + u*DCN(i+1,1);
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  DCN(i+1,0) = vs*CN(i+1,0,k) + v*CN(i+1,1,k);
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	add.l	$20(a5),d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  DCN(i,0)   = us*DCN(i,0)    + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
	addq.l	#1,d1
L700
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d1
	blo	L699
L701
;	for(h=minorder;
	move.l	-$20(a5),d3
	bra	L706
L702
;	  for(i=0;
	moveq	#0,d1
	bra.b	L704
L703
;	    DCN(i,1) = us*DCN(i,1) + u*DCN(i+1,1);
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	    DCN(i,0) = us*DCN(i,0) + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
	addq.l	#1,d1
L704
	move.l	$24(a5),d0
	sub.l	d3,d0
	cmp.l	d0,d1
	blo.b	L703
L705
	addq.l	#1,d3
L706
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L702
L707
;	du[k] = DCN(1,0) - DCN(0,0);
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	-$1C(a5),d0
	move.l	$10(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;	dv[k] =   us*DCN(0,1) + u*DCN(1,1);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$14(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;	out[k] =  us*DCN(0,0) + u*DCN(1,0);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	fmove.s	fp4,0(a4,d0.l*4)
	addq.l	#1,-$1C(a5)
L708
	move.l	-$1C(a5),d0
	cmp.l	$20(a5),d0
	blo	L698
L709
	bra	L786
L710
;  else if(uorder == vorder)
	move.l	$24(a5),d0
	cmp.l	d5,d0
	bne	L730
L711
;    for(k=0;
	clr.l	-$1C(a5)
	bra	L728
L712
;      for(i=0;
	moveq	#0,d1
	bra	L717
L713
;	DCN(i,0) = us*CN(i,0,k) + u*CN(i+1,0,k);
	move.l	d1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	for(j=0;
	moveq	#0,d0
	bra	L715
L714
;	  DCN(i,j+1) = us*CN(i,j+1,k) + u*CN(i+1,j+1,k);
	move.l	d1,d3
	mulu.l	-$24(a5),d3
	move.l	d0,d4
	addq.l	#1,d4
	mulu.l	$20(a5),d4
	add.l	d4,d3
	add.l	-$1C(a5),d3
	fmove.s	0(a1,d3.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d3
	addq.l	#1,d3
	mulu.l	-$24(a5),d3
	move.l	d0,d4
	addq.l	#1,d4
	mulu.l	$20(a5),d4
	add.l	d4,d3
	add.l	-$1C(a5),d3
	fmove.s	0(a1,d3.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d3
	fmove.s	fp4,0(a0,d3.l*4)
;	  DCN(i,j)   = vs*DCN(i,j)    + v*DCN(i,j+1);
	move.l	d1,d3
	mulu.l	d2,d3
	add.l	d0,d3
	fmove.s	0(a0,d3.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d3
	fmove.s	0(a0,d3.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	add.l	d0,d3
	fmove.s	fp4,0(a0,d3.l*4)
	addq.l	#1,d0
L715
	move.l	d5,d3
	subq.l	#1,d3
	cmp.l	d3,d0
	blo	L714
L716
	addq.l	#1,d1
L717
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d1
	blo	L713
L718
;      for(h=2;
	moveq	#2,d3
	bra	L726
L719
;	for(i=0;
	moveq	#0,d1
	bra	L724
L720
;	  DCN(i,0) = us*DCN(i,0) + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  for(j=0;
	moveq	#0,d0
	bra	L722
L721
;	    DCN(i,j+1) = us*DCN(i,j+1) + u*DCN(i+1,j+1);
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d4
	addq.l	#1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	fp4,0(a0,d4.l*4)
;	    DCN(i,j)   = vs*DCN(i,j)   + v*DCN(i,j+1);
	move.l	d1,d4
	mulu.l	d2,d4
	add.l	d0,d4
	fmove.s	0(a0,d4.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	add.l	d0,d4
	fmove.s	fp4,0(a0,d4.l*4)
	addq.l	#1,d0
L722
	move.l	d5,d4
	sub.l	d3,d4
	cmp.l	d4,d0
	blo	L721
L723
	addq.l	#1,d1
L724
	move.l	$24(a5),d0
	sub.l	d3,d0
	cmp.l	d0,d1
	blo	L720
L725
	addq.l	#1,d3
L726
	move.l	-$20(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L719
L727
;      du[k] = vs*(DCN(1,0) - DCN(0,0)) +
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fsub.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$10(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;      dv[k] = us*(DCN(0,1) - DCN(0,0)) + 
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	move.l	d2,d0
	fsub.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$14(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;      out[k] =  us*(vs*DCN(0,0) + v*DCN(0,1)) +
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp3,fp5
	move.l	d2,d0
	addq.l	#1,d0
	fmove.x	fp2,fp6
	fmul.s	0(a0,d0.l*4),fp6
	fadd.x	fp6,fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	fmove.s	fp4,0(a4,d0.l*4)
	addq.l	#1,-$1C(a5)
L728
	move.l	-$1C(a5),d0
	cmp.l	$20(a5),d0
	blo	L712
L729
	bra	L786
L730
;  else if(minorder == uorder)
	move.l	-$20(a5),d0
	cmp.l	$24(a5),d0
	bne	L759
L731
;    for(k=0;
	clr.l	-$1C(a5)
	bra	L757
L732
;      for(i=0;
	moveq	#0,d1
	bra	L737
L733
;	DCN(i,0) = us*CN(i,0,k) + u*CN(i+1,0,k);
	move.l	d1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	for(j=0;
	moveq	#0,d0
	bra	L735
L734
;	  DCN(i,j+1) = us*CN(i,j+1,k) + u*CN(i+1,j+1,k);
	move.l	d1,d3
	mulu.l	-$24(a5),d3
	move.l	d0,d4
	addq.l	#1,d4
	mulu.l	$20(a5),d4
	add.l	d4,d3
	add.l	-$1C(a5),d3
	fmove.s	0(a1,d3.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d3
	addq.l	#1,d3
	mulu.l	-$24(a5),d3
	move.l	d0,d4
	addq.l	#1,d4
	mulu.l	$20(a5),d4
	add.l	d4,d3
	add.l	-$1C(a5),d3
	fmove.s	0(a1,d3.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d3
	fmove.s	fp4,0(a0,d3.l*4)
;	  DCN(i,j)   = vs*DCN(i,j)    + v*DCN(i,j+1);
	move.l	d1,d3
	mulu.l	d2,d3
	add.l	d0,d3
	fmove.s	0(a0,d3.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d3
	fmove.s	0(a0,d3.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	add.l	d0,d3
	fmove.s	fp4,0(a0,d3.l*4)
	addq.l	#1,d0
L735
	move.l	d5,d3
	subq.l	#1,d3
	cmp.l	d3,d0
	blo	L734
L736
	addq.l	#1,d1
L737
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d1
	blo	L733
L738
;      for(h=2;
	moveq	#2,d3
	bra	L746
L739
;	for(i=0;
	moveq	#0,d1
	bra	L744
L740
;	  DCN(i,0) = us*DCN(i,0) + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  for(j=0;
	moveq	#0,d0
	bra	L742
L741
;	    DCN(i,j+1) = us*DCN(i,j+1) + u*DCN(i+1,j+1);
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d4
	addq.l	#1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	fp4,0(a0,d4.l*4)
;	    DCN(i,j)   = vs*DCN(i,j)   + v*DCN(i,j+1);
	move.l	d1,d4
	mulu.l	d2,d4
	add.l	d0,d4
	fmove.s	0(a0,d4.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	add.l	d0,d4
	fmove.s	fp4,0(a0,d4.l*4)
	addq.l	#1,d0
L742
	move.l	d5,d4
	sub.l	d3,d4
	cmp.l	d4,d0
	blo	L741
L743
	addq.l	#1,d1
L744
	move.l	$24(a5),d0
	sub.l	d3,d0
	cmp.l	d0,d1
	blo	L740
L745
	addq.l	#1,d3
L746
	move.l	-$20(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L739
L747
;      DCN(2,0) =    DCN(1,0) -   DCN(0,0);
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#1,d1
	asl.l	d1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;      DCN(0,0) = us*DCN(0,0) + u*DCN(1,0);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;      for(j=0;
	moveq	#0,d0
	bra	L749
L748
;	DCN(2,j+1) =    DCN(1,j+1) -    DCN(0,j+1);
	move.l	d0,d1
	addq.l	#1,d1
	add.l	d2,d1
	fmove.s	0(a0,d1.l*4),fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fsub.s	0(a0,d1.l*4),fp4
	move.l	d2,d1
	moveq	#1,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	DCN(2,j)   = vs*DCN(2,j)    + v*DCN(2,j+1);
	move.l	d2,d1
	moveq	#1,d3
	asl.l	d3,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d1
	moveq	#1,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#1,d3
	asl.l	d3,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	DCN(0,j+1) = us*DCN(0,j+1 ) + u*DCN(1,j+1);
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d0,d1
	addq.l	#1,d1
	add.l	d2,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	DCN(0,j)   = vs*DCN(0,j)    + v*DCN(0,j+1);
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	move.l	d0,d3
	addq.l	#1,d3
	add.l	d3,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#$20,d3
	asl.l	d3,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
	addq.l	#1,d0
L749
	move.l	d5,d1
	subq.l	#1,d1
	cmp.l	d1,d0
	blo	L748
L750
;      for(h=minorder;
	move.l	-$20(a5),d3
	bra	L755
L751
;	for(j=0;
	moveq	#0,d0
	bra.b	L753
L752
;	  DCN(2,j) = vs*DCN(2,j) + v*DCN(2,j+1);
	move.l	d2,d1
	moveq	#1,d4
	asl.l	d4,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d1
	moveq	#1,d4
	asl.l	d4,d1
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#1,d4
	asl.l	d4,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
;	  DCN(0,j) = vs*DCN(0,j) + v*DCN(0,j+1);
	move.l	d2,d1
	moveq	#$20,d4
	asl.l	d4,d1
	add.l	d0,d1
	fmove.s	0(a0,d1.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d1
	moveq	#$20,d4
	asl.l	d4,d1
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d1
	fmove.s	0(a0,d1.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d1
	moveq	#$20,d4
	asl.l	d4,d1
	add.l	d0,d1
	fmove.s	fp4,0(a0,d1.l*4)
	addq.l	#1,d0
L753
	move.l	d5,d1
	sub.l	d3,d1
	cmp.l	d1,d0
	blo	L752
L754
	addq.l	#1,d3
L755
	move.l	d5,d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L751
L756
;      dv[k] = DCN(0,1) - DCN(0,0);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	-$1C(a5),d0
	move.l	$14(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;      du[k] =   vs*DCN(2,0) + v*DCN(2,1);
	move.l	d2,d0
	moveq	#1,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	moveq	#1,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$10(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;      out[k] =  vs*DCN(0,0) + v*DCN(0,1);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	fmove.s	fp4,0(a4,d0.l*4)
	addq.l	#1,-$1C(a5)
L757
	move.l	-$1C(a5),d0
	cmp.l	$20(a5),d0
	blo	L732
L758
	bra	L786
L759
;    for(k=0;
	clr.l	-$1C(a5)
	bra	L785
L760
;      for(i=0;
	moveq	#0,d1
	bra	L765
L761
;	DCN(i,0) = us*CN(i,0,k) + u*CN(i+1,0,k);
	move.l	d1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	-$24(a5),d0
	move.l	$20(a5),d3
	moveq	#$20,d4
	asl.l	d4,d3
	add.l	d3,d0
	add.l	-$1C(a5),d0
	fmove.s	0(a1,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	for(j=0;
	moveq	#0,d0
	bra	L763
L762
;	  DCN(i,j+1) = us*CN(i,j+1,k) + u*CN(i+1,j+1,k);
	move.l	d1,d3
	mulu.l	-$24(a5),d3
	move.l	d0,d4
	addq.l	#1,d4
	mulu.l	$20(a5),d4
	add.l	d4,d3
	add.l	-$1C(a5),d3
	fmove.s	0(a1,d3.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d3
	addq.l	#1,d3
	mulu.l	-$24(a5),d3
	move.l	d0,d4
	addq.l	#1,d4
	mulu.l	$20(a5),d4
	add.l	d4,d3
	add.l	-$1C(a5),d3
	fmove.s	0(a1,d3.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d3
	fmove.s	fp4,0(a0,d3.l*4)
;	  DCN(i,j)   = vs*DCN(i,j)    + v*DCN(i,j+1);
	move.l	d1,d3
	mulu.l	d2,d3
	add.l	d0,d3
	fmove.s	0(a0,d3.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	move.l	d0,d4
	addq.l	#1,d4
	add.l	d4,d3
	fmove.s	0(a0,d3.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d3
	mulu.l	d2,d3
	add.l	d0,d3
	fmove.s	fp4,0(a0,d3.l*4)
	addq.l	#1,d0
L763
	move.l	d5,d3
	subq.l	#1,d3
	cmp.l	d3,d0
	blo	L762
L764
	addq.l	#1,d1
L765
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d1
	blo	L761
L766
;      for(h=2;
	moveq	#2,d3
	bra	L774
L767
;	for(i=0;
	moveq	#0,d1
	bra	L772
L768
;	  DCN(i,0) = us*DCN(i,0) + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  for(j=0;
	moveq	#0,d0
	bra	L770
L769
;	    DCN(i,j+1) = us*DCN(i,j+1) + u*DCN(i+1,j+1);
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d4
	addq.l	#1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	fp4,0(a0,d4.l*4)
;	    DCN(i,j)   = vs*DCN(i,j)   + v*DCN(i,j+1);
	move.l	d1,d4
	mulu.l	d2,d4
	add.l	d0,d4
	fmove.s	0(a0,d4.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	move.l	d0,d6
	addq.l	#1,d6
	add.l	d6,d4
	fmove.s	0(a0,d4.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d4
	mulu.l	d2,d4
	add.l	d0,d4
	fmove.s	fp4,0(a0,d4.l*4)
	addq.l	#1,d0
L770
	move.l	d5,d4
	sub.l	d3,d4
	cmp.l	d4,d0
	blo	L769
L771
	addq.l	#1,d1
L772
	move.l	$24(a5),d0
	sub.l	d3,d0
	cmp.l	d0,d1
	blo	L768
L773
	addq.l	#1,d3
L774
	move.l	-$20(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L767
L775
;      DCN(0,2) =    DCN(0,1) -   DCN(0,0);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;      DCN(0,0) = vs*DCN(0,0) + v*DCN(0,1);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	fp4,0(a0,d0.l*4)
;      for(i=0;
	moveq	#0,d1
	bra	L777
L776
;	DCN(i+1,2) =    DCN(i+1,1)  -   DCN(i+1,0);
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	DCN(i,2)   = us*DCN(i,2)    + u*DCN(i+1,2);
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	DCN(i+1,0) = vs*DCN(i+1,0)  + v*DCN(i+1,1);
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp3,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#1,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp2,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	DCN(i,0)   = us*DCN(i,0)    + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
	addq.l	#1,d1
L777
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d1
	blo	L776
L778
;      for(h=minorder;
	move.l	-$20(a5),d3
	bra	L783
L779
;	for(i=0;
	moveq	#0,d1
	bra.b	L781
L780
;	  DCN(i,2) = us*DCN(i,2) + u*DCN(i+1,2);
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	addq.l	#2,d0
	fmove.s	fp4,0(a0,d0.l*4)
;	  DCN(i,0) = us*DCN(i,0) + u*DCN(i+1,0);
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d1,d0
	addq.l	#1,d0
	mulu.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	d1,d0
	mulu.l	d2,d0
	fmove.s	fp4,0(a0,d0.l*4)
	addq.l	#1,d1
L781
	move.l	$24(a5),d0
	sub.l	d3,d0
	cmp.l	d0,d1
	blo.b	L780
L782
	addq.l	#1,d3
L783
	move.l	$24(a5),d0
	subq.l	#1,d0
	cmp.l	d0,d3
	blo	L779
L784
;      du[k] = DCN(1,0) - DCN(0,0);
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp4
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fsub.s	0(a0,d0.l*4),fp4
	move.l	-$1C(a5),d0
	move.l	$10(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;      dv[k] =   us*DCN(0,2) + u*DCN(1,2);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	addq.l	#2,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	addq.l	#2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	move.l	$14(a5),a3
	fmove.s	fp4,0(a3,d0.l*4)
;      out[k] =  us*DCN(0,0) + u*DCN(1,0);
	move.l	d2,d0
	moveq	#$20,d1
	asl.l	d1,d0
	fmove.s	0(a0,d0.l*4),fp4
	fmul.x	fp1,fp4
	move.l	d2,d0
	fmove.s	0(a0,d0.l*4),fp5
	fmul.x	fp0,fp5
	fadd.x	fp5,fp4
	move.l	-$1C(a5),d0
	fmove.s	fp4,0(a4,d0.l*4)
	addq.l	#1,-$1C(a5)
L785
	move.l	-$1C(a5),d0
	cmp.l	$20(a5),d0
	blo	L760
L786
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6/fp7
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_components:0",CODE


;static GLint components( GLenum target )
_components
	move.l	4(a7),d0
L788
;   switch (target)
	cmp.l	#$DB0,d0
	beq	L801
	bgt.b	L808
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L807
	move.l	L809(pc,d0.l*4),a0
	jmp	(a0)
L809
	dc.l	L792
	dc.l	L791
	dc.l	L793
	dc.l	L794
	dc.l	L795
	dc.l	L796
	dc.l	L797
	dc.l	L789
	dc.l	L790
L808
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi.b	L807
	move.l	L810(pc,d0.l*4),a0
	jmp	(a0)
L810
	dc.l	L800
	dc.l	L802
	dc.l	L803
	dc.l	L804
	dc.l	L805
	dc.l	L806
	dc.l	L798
	dc.l	L799
;      
L789
	moveq	#3,d0
	rts
L790
	moveq	#4,d0
	rts
L791
	moveq	#1,d0
	rts
L792
	moveq	#4,d0
	rts
L793
	moveq	#3,d0
	rts
L794
	moveq	#1,d0
	rts
L795
	moveq	#2,d0
	rts
L796
	moveq	#3,d0
	rts
L797
	moveq	#4,d0
	rts
L798
	moveq	#3,d0
	rts
L799
	moveq	#4,d0
	rts
L800
	moveq	#1,d0
	rts
L801
	moveq	#4,d0
	rts
L802
	moveq	#3,d0
	rts
L803
	moveq	#1,d0
	rts
L804
	moveq	#2,d0
	rts
L805
	moveq	#3,d0
	rts
L806
	moveq	#4,d0
	rts
L807
	moveq	#0,d0
	rts

	SECTION "_gl_copy_map_points1f:0",CODE


;GLfloat *gl_copy_map_points1f( GLenum target,
	XDEF	_gl_copy_map_points1f
_gl_copy_map_points1f
	movem.l	d2-d5/a2/a3,-(a7)
	movem.l	$1C(a7),d0/d4
	movem.l	$24(a7),d3/a2
L811
;   GLint i, k, size = components(target);
	move.l	d0,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d2
;   if (!points || size==0) 
	cmp.w	#0,a2
	beq.b	L813
L812
	tst.l	d2
	bne.b	L814
L813
	moveq	#0,d0
	movem.l	(a7)+,d2-d5/a2/a3
	rts
L814
;   buffer = (GLfloat *) malloc(uorder * size * sizeof(GLfloat));
	move.l	d3,d0
	muls.l	d2,d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	jsr	_malloc
	addq.w	#4,a7
	move.l	d0,a3
;   if(buffer) 
	cmp.w	#0,a3
	beq.b	L821
L815
;      for(i=0, p=buffer;
	moveq	#0,d1
	move.l	a3,a0
	bra.b	L820
L816
;	for(k=0;
	moveq	#0,d0
	bra.b	L818
L817
;	  *p++ = points[k];
	move.l	0(a2,d0.l*4),(a0)+
	addq.l	#1,d0
L818
	cmp.l	d2,d0
	blt.b	L817
L819
	addq.l	#1,d1
	move.l	d4,d0
	moveq	#2,d5
	asl.l	d5,d0
	add.l	d0,a2
L820
	cmp.l	d3,d1
	blt.b	L816
L821
	move.l	a3,d0
	movem.l	(a7)+,d2-d5/a2/a3
	rts

	SECTION "_gl_copy_map_points1d:0",CODE


;GLfloat *gl_copy_map_points1d( GLenum target,
	XDEF	_gl_copy_map_points1d
_gl_copy_map_points1d
	movem.l	d2-d5/a2/a3,-(a7)
	movem.l	$1C(a7),d0/d4
	movem.l	$24(a7),d3/a2
L822
;   GLint i, k, size = components(target);
	move.l	d0,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d2
;   if (!points || size==0) 
	cmp.w	#0,a2
	beq.b	L824
L823
	tst.l	d2
	bne.b	L825
L824
	moveq	#0,d0
	movem.l	(a7)+,d2-d5/a2/a3
	rts
L825
;   buffer = (GLfloat *) malloc(uorder * size * sizeof(GLfloat));
	move.l	d3,d0
	muls.l	d2,d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	jsr	_malloc
	addq.w	#4,a7
	move.l	d0,a3
;   if(buffer)
	cmp.w	#0,a3
	beq.b	L832
L826
;      for(i=0, p=buffer;
	moveq	#0,d1
	move.l	a3,a0
	bra.b	L831
L827
;	for(k=0;
	moveq	#0,d0
	bra.b	L829
L828
;	  *p++ = (GLfloat) points[k];
	fmove.d	0(a2,d0.l*8),fp0
	fmove.s	fp0,(a0)+
	addq.l	#1,d0
L829
	cmp.l	d2,d0
	blt.b	L828
L830
	addq.l	#1,d1
	move.l	d4,d0
	moveq	#3,d5
	asl.l	d5,d0
	add.l	d0,a2
L831
	cmp.l	d3,d1
	blt.b	L827
L832
	move.l	a3,d0
	movem.l	(a7)+,d2-d5/a2/a3
	rts

	SECTION "_gl_copy_map_points2f:0",CODE


;GLfloat *gl_copy_map_points2f( GLenum target,
	XDEF	_gl_copy_map_points2f
_gl_copy_map_points2f
L857	EQU	-$28
	link	a5,#L857
	movem.l	d2-d7/a2/a3,-(a7)
	movem.l	$8(a5),d0/d6/d7
	movem.l	$18(a5),d3/a2
	move.l	$14(a5),d4
L833
;   size = components(target);
	move.l	d0,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d2
;   if (!points || size==0) 
	cmp.w	#0,a2
	beq.b	L835
L834
	tst.l	d2
	bne.b	L836
L835
	moveq	#0,d0
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L836
;   dsize = (uorder == 2 && vorder == 2)? 0 : uorder*vorder;
	move.l	d7,d0
	cmp.l	#2,d0
	bne.b	L839
L837
	cmp.l	#2,d3
	bne.b	L839
L838
	moveq	#0,d5
	bra.b	L840
L839
	move.l	d7,d5
	muls.l	d3,d5
L840
;   hsize = (uorder > vorder ? uorder : vorder)*size;
	move.l	d7,d0
	cmp.l	d3,d0
	ble.b	L842
L841
	move.l	d7,d1
	bra.b	L843
L842
	move.l	d3,d1
L843
	muls.l	d2,d1
;   if(hsize>dsize)
	cmp.l	d5,d1
	ble.b	L845
L844
;     buffer = (GLfloat *) malloc((uorder*vorder*size+hsize)*siz
	move.l	d7,d0
	muls.l	d3,d0
	muls.l	d2,d0
	add.l	d1,d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	jsr	_malloc
	addq.w	#4,a7
	move.l	d0,a3
	bra.b	L846
L845
;     buffer = (GLfloat *) malloc((uorder*vorder*size+dsize)*siz
	move.l	d7,d0
	muls.l	d3,d0
	muls.l	d2,d0
	add.l	d5,d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	jsr	_malloc
	addq.w	#4,a7
	move.l	d0,a3
L846
;   uinc = ustride - vorder*vstride;
	move.l	d3,d0
	muls.l	d4,d0
	move.l	d6,d1
	sub.l	d0,d1
	move.l	d1,-$24(a5)
;   if (buffer) 
	cmp.w	#0,a3
	beq.b	L856
L847
;      for (i=0, p=buffer;
	moveq	#0,d5
	move.l	a3,a0
	bra.b	L855
L848
;	 for (j=0;
	moveq	#0,d1
	bra.b	L853
L849
;	    for (k=0;
	moveq	#0,d0
	bra.b	L851
L850
;	       *p++ = points[k];
	move.l	0(a2,d0.l*4),(a0)+
	addq.l	#1,d0
L851
	cmp.l	d2,d0
	blt.b	L850
L852
	addq.l	#1,d1
	move.l	d4,d0
	moveq	#2,d6
	asl.l	d6,d0
	add.l	d0,a2
L853
	cmp.l	d3,d1
	blt.b	L849
L854
	addq.l	#1,d5
	move.l	-$24(a5),d0
	moveq	#2,d1
	asl.l	d1,d0
	add.l	d0,a2
L855
	cmp.l	d7,d5
	blt.b	L848
L856
	move.l	a3,d0
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts

	SECTION "_gl_copy_map_points2d:0",CODE


;GLfloat *gl_copy_map_points2d(GLenum target,
	XDEF	_gl_copy_map_points2d
_gl_copy_map_points2d
L882	EQU	-$28
	link	a5,#L882
	movem.l	d2-d7/a2/a3,-(a7)
	movem.l	$8(a5),d0/d6/d7
	movem.l	$18(a5),d3/a2
	move.l	$14(a5),d4
L858
;   size = components(target);
	move.l	d0,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d2
;   if (!points || size==0) 
	cmp.w	#0,a2
	beq.b	L860
L859
	tst.l	d2
	bne.b	L861
L860
	moveq	#0,d0
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L861
;   dsize = (uorder == 2 && vorder == 2)? 0 : uorder*vorder;
	move.l	d7,d0
	cmp.l	#2,d0
	bne.b	L864
L862
	cmp.l	#2,d3
	bne.b	L864
L863
	moveq	#0,d5
	bra.b	L865
L864
	move.l	d7,d5
	muls.l	d3,d5
L865
;   hsize = (uorder > vorder ? uorder : vorder)*size;
	move.l	d7,d0
	cmp.l	d3,d0
	ble.b	L867
L866
	move.l	d7,d1
	bra.b	L868
L867
	move.l	d3,d1
L868
	muls.l	d2,d1
;   if(hsize>dsize)
	cmp.l	d5,d1
	ble.b	L870
L869
;     buffer = (GLfloat *) malloc((uorder*vorder*size+hsize)*siz
	move.l	d7,d0
	muls.l	d3,d0
	muls.l	d2,d0
	add.l	d1,d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	jsr	_malloc
	addq.w	#4,a7
	move.l	d0,a3
	bra.b	L871
L870
;     buffer = (GLfloat *) malloc((uorder*vorder*size+dsize)*siz
	move.l	d7,d0
	muls.l	d3,d0
	muls.l	d2,d0
	add.l	d5,d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	jsr	_malloc
	addq.w	#4,a7
	move.l	d0,a3
L871
;   uinc = ustride - vorder*vstride;
	move.l	d3,d0
	muls.l	d4,d0
	move.l	d6,d1
	sub.l	d0,d1
	move.l	d1,-$24(a5)
;   if (buffer) 
	cmp.w	#0,a3
	beq.b	L881
L872
;      for (i=0, p=buffer;
	moveq	#0,d5
	move.l	a3,a0
	bra.b	L880
L873
;	 for (j=0;
	moveq	#0,d1
	bra.b	L878
L874
;	    for (k=0;
	moveq	#0,d0
	bra.b	L876
L875
;	       *p++ = (GLfloat) points[k];
	fmove.d	0(a2,d0.l*8),fp0
	fmove.s	fp0,(a0)+
	addq.l	#1,d0
L876
	cmp.l	d2,d0
	blt.b	L875
L877
	addq.l	#1,d1
	move.l	d4,d0
	moveq	#3,d6
	asl.l	d6,d0
	add.l	d0,a2
L878
	cmp.l	d3,d1
	blt.b	L874
L879
	addq.l	#1,d5
	move.l	-$24(a5),d0
	moveq	#3,d1
	asl.l	d1,d0
	add.l	d0,a2
L880
	cmp.l	d7,d5
	blt.b	L873
L881
	move.l	a3,d0
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts

	SECTION "_gl_free_control_points:0",CODE


;void gl_free_control_points( GLcontext* ctx, GLenum target, GLfloat 
	XDEF	_gl_free_control_points
_gl_free_control_points
	movem.l	a2-a4,-(a7)
	movem.l	$14(a7),d0/a4
	move.l	$10(a7),a0
L884
;   struct gl_1d_map *map1 = NULL;
	sub.l	a1,a1
;   struct gl_2d_map *map2 = NULL;
	sub.l	a2,a2
;   switch (target)
	cmp.l	#$DB0,d0
	beq	L897
	bgt.b	L913
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L903
	move.l	L914(pc,d0.l*4),a3
	jmp	(a3)
L914
	dc.l	L888
	dc.l	L887
	dc.l	L889
	dc.l	L890
	dc.l	L891
	dc.l	L892
	dc.l	L893
	dc.l	L885
	dc.l	L886
L913
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L903
	move.l	L915(pc,d0.l*4),a3
	jmp	(a3)
L915
	dc.l	L896
	dc.l	L898
	dc.l	L899
	dc.l	L900
	dc.l	L901
	dc.l	L902
	dc.l	L894
	dc.l	L895
;      
L885
;         map1 = &ctx->EvalMap.Map1Vertex3;
	move.l	a0,a1
	add.l	#$E678,a1
	lea	(a1),a1
;         
	bra	L904
L886
;         map1 = &ctx->EvalMap.Map1Vertex4;
	move.l	a0,a1
	add.l	#$E68A,a1
	lea	(a1),a1
;	 
	bra	L904
L887
;         map1 = &ctx->EvalMap.Map1Index;
	move.l	a0,a1
	add.l	#$E69C,a1
	lea	(a1),a1
;         
	bra	L904
L888
;         map1 = &ctx->EvalMap.Map1Color4;
	move.l	a0,a1
	add.l	#$E6AE,a1
	lea	(a1),a1
;         
	bra	L904
L889
;         map1 = &ctx->EvalMap.Map1Normal;
	move.l	a0,a1
	add.l	#$E6C0,a1
	lea	(a1),a1
;	 
	bra	L904
L890
;         map1 = &ctx->EvalMap.Map1Texture1;
	move.l	a0,a1
	add.l	#$E6D2,a1
	lea	(a1),a1
;	 
	bra	L904
L891
;         map1 = &ctx->EvalMap.Map1Texture2;
	move.l	a0,a1
	add.l	#$E6E4,a1
	lea	(a1),a1
;	 
	bra	L904
L892
;         map1 = &ctx->EvalMap.Map1Texture3;
	move.l	a0,a1
	add.l	#$E6F6,a1
	lea	(a1),a1
;	 
	bra	L904
L893
;         map1 = &ctx->EvalMap.Map1Texture4;
	move.l	a0,a1
	add.l	#$E708,a1
	lea	(a1),a1
;	 
	bra	L904
L894
;         map2 = &ctx->EvalMap.Map2Vertex3;
	move.l	a0,a2
	add.l	#$E71A,a2
	lea	(a2),a2
;	 
	bra	L904
L895
;         map2 = &ctx->EvalMap.Map2Vertex4;
	move.l	a0,a2
	add.l	#$E738,a2
	lea	(a2),a2
;	 
	bra.b	L904
L896
;         map2 = &ctx->EvalMap.Map2Index;
	move.l	a0,a2
	add.l	#$E756,a2
	lea	(a2),a2
;	 
	bra.b	L904
L897
;         map2 = &ctx->EvalMap.Map2Color4;
	move.l	a0,a2
	add.l	#$E774,a2
	lea	(a2),a2
;         
	bra.b	L904
L898
;         map2 = &ctx->EvalMap.Map2Normal;
	move.l	a0,a2
	add.l	#$E792,a2
	lea	(a2),a2
;	 
	bra.b	L904
L899
;         map2 = &ctx->EvalMap.Map2Texture1;
	move.l	a0,a2
	add.l	#$E7B0,a2
	lea	(a2),a2
;	 
	bra.b	L904
L900
;         map2 = &ctx->EvalMap.Map2Texture2;
	move.l	a0,a2
	add.l	#$E7CE,a2
	lea	(a2),a2
;	 
	bra.b	L904
L901
;         map2 = &ctx->EvalMap.Map2Texture3;
	move.l	a0,a2
	add.l	#$E7EC,a2
	lea	(a2),a2
;	 
	bra.b	L904
L902
;         map2 = &ctx->EvalMap.Map2Texture4;
	move.l	a0,a2
	add.l	#$E80A,a2
	lea	(a2),a2
;	 
	bra.b	L904
L903
;	 gl_error( ctx, GL_INVALID_ENUM, "gl_free_control_points" );
	move.l	#L883,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	movem.l	(a7)+,a2-a4
	rts
L904
;         return;
;   if (map1) 
	cmp.w	#0,a1
	beq.b	L908
L905
;      if (data==map1->Points) 
	move.l	a4,a3
	cmp.l	$C(a1),a3
	bne.b	L907
L906
;         map1->Retain = GL_FALSE;
	clr.b	$10(a1)
	bra.b	L908
L907
;         free( data );
	move.l	a4,-(a7)
	jsr	_free
	addq.w	#4,a7
L908
;   if (map2) 
	cmp.w	#0,a2
	beq.b	L912
L909
;      if (data==map2->Points) 
	move.l	a4,a1
	cmp.l	$18(a2),a1
	bne.b	L911
L910
;         map2->Retain = GL_FALSE;
	clr.b	$1C(a2)
	bra.b	L912
L911
;         free( data );
	move.l	a4,-(a7)
	jsr	_free
	addq.w	#4,a7
L912
	movem.l	(a7)+,a2-a4
	rts

L883
	dc.b	'gl_free_control_points',0

	SECTION "_gl_Map1f:0",CODE


;void gl_Map1f( GLcontext* ctx, GLenum target,
	XDEF	_gl_Map1f
_gl_Map1f
	movem.l	d2-d6/a2/a3,-(a7)
	fmovem.x fp2/fp3,-(a7)
	movem.l	$4C(a7),d2/a3
	move.b	$54(a7),d3
	move.l	$3C(a7),d5
	move.l	$48(a7),d6
	move.l	$38(a7),a2
	fmove.s	$44(a7),fp2
	fmove.s	$40(a7),fp3
L922
;   if (!points) 
	cmp.w	#0,a3
	bne.b	L924
L923
;      gl_error( ctx, GL_OUT_OF_MEMORY, "glMap1f" );
	move.l	#L916,-(a7)
	pea	$505.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d6/a2/a3
	rts
L924
;   stride = components( target );
	move.l	d5,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d6
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a2,a0
	add.l	#$E968,a0
	move.l	(a0),d0
	cmp.l	#$1A00,d0
	beq.b	L926
L925
;      gl_error( ctx, GL_INVALID_OPERATION, "glMap1" );
	move.l	#L917,-(a7)
	pea	$502.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d6/a2/a3
	rts
L926
;   if (u1==u2) 
	fcmp.x	fp2,fp3
	fbne.b	L928
L927
;      gl_error( ctx, GL_INVALID_VALUE, "glMap1(u1,u2)" );
	move.l	#L918,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d6/a2/a3
	rts
L928
;   if (order<1 || order>MAX_EVAL_ORDER) 
	cmp.l	#1,d2
	blt.b	L930
L929
	cmp.l	#$C,d2
	ble.b	L931
L930
;      gl_error( ctx, GL_INVALID_VALUE, "glMap1(order)" );
	move.l	#L919,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d6/a2/a3
	rts
L931
;   k = components( target );
	move.l	d5,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d4
;   if (k==0) 
	bne.b	L933
L932
;      gl_error( ctx, GL_INVALID_ENUM, "glMap1(target)" );
	move.l	#L920,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L933
;   if (stride < k) 
	move.l	d6,d0
	cmp.l	d4,d0
	bge.b	L935
L934
;      gl_error( ctx, GL_INVALID_VALUE, "glMap1(stride)" );
	move.l	#L921,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d6/a2/a3
	rts
L935
;   switch (target)
	sub.l	#$D90,d5
	cmp.l	#$8,d5
	bhi	L972
	move.l	L974(pc,d5.l*4),a0
	jmp	(a0)
L974
	dc.l	L948
	dc.l	L944
	dc.l	L952
	dc.l	L956
	dc.l	L960
	dc.l	L964
	dc.l	L968
	dc.l	L936
	dc.l	L940
;      
L936
;         ctx->EvalMap.Map1Vertex3.Order = order;
	move.l	a2,a0
	add.l	#$E678,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Vertex3.u1 = u1;
	move.l	a2,a0
	add.l	#$E67C,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Vertex3.u2 = u2;
	move.l	a2,a0
	add.l	#$E680,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Vertex3.Points
	move.l	a2,a0
	add.l	#$E678,a0
	tst.l	$C(a0)
	beq.b	L939
L937
	move.l	a2,a0
	add.l	#$E678,a0
	tst.b	$10(a0)
	bne.b	L939
L938
;	    free( ctx->EvalMap.Map1Vertex3.Points );
	move.l	a2,a0
	add.l	#$E678,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L939
;	 ctx->EvalMap.Map1Vertex3.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E684,a1
	move.l	a3,(a1)
;         ctx->EvalMap.Map1Vertex3.Retain = retain;
	move.l	a2,a0
	add.l	#$E688,a0
	move.b	d3,(a0)
;	 
	bra	L973
L940
;         ctx->EvalMap.Map1Vertex4.Order = order;
	move.l	a2,a0
	add.l	#$E68A,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Vertex4.u1 = u1;
	move.l	a2,a0
	add.l	#$E68E,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Vertex4.u2 = u2;
	move.l	a2,a0
	add.l	#$E692,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Vertex4.Points
	move.l	a2,a0
	add.l	#$E68A,a0
	tst.l	$C(a0)
	beq.b	L943
L941
	move.l	a2,a0
	add.l	#$E68A,a0
	tst.b	$10(a0)
	bne.b	L943
L942
;	    free( ctx->EvalMap.Map1Vertex4.Points );
	move.l	a2,a0
	add.l	#$E68A,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L943
;	 ctx->EvalMap.Map1Vertex4.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E696,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Vertex4.Retain = retain;
	move.l	a2,a0
	add.l	#$E69A,a0
	move.b	d3,(a0)
;	 
	bra	L973
L944
;         ctx->EvalMap.Map1Index.Order = order;
	move.l	a2,a0
	add.l	#$E69C,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Index.u1 = u1;
	move.l	a2,a0
	add.l	#$E6A0,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Index.u2 = u2;
	move.l	a2,a0
	add.l	#$E6A4,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Index.Points
	move.l	a2,a0
	add.l	#$E69C,a0
	tst.l	$C(a0)
	beq.b	L947
L945
	move.l	a2,a0
	add.l	#$E69C,a0
	tst.b	$10(a0)
	bne.b	L947
L946
;	    free( ctx->EvalMap.Map1Index.Points );
	move.l	a2,a0
	add.l	#$E69C,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L947
;	 ctx->EvalMap.Map1Index.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E6A8,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Index.Retain = retain;
	move.l	a2,a0
	add.l	#$E6AC,a0
	move.b	d3,(a0)
;	 
	bra	L973
L948
;         ctx->EvalMap.Map1Color4.Order = order;
	move.l	a2,a0
	add.l	#$E6AE,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Color4.u1 = u1;
	move.l	a2,a0
	add.l	#$E6B2,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Color4.u2 = u2;
	move.l	a2,a0
	add.l	#$E6B6,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Color4.Points
	move.l	a2,a0
	add.l	#$E6AE,a0
	tst.l	$C(a0)
	beq.b	L951
L949
	move.l	a2,a0
	add.l	#$E6AE,a0
	tst.b	$10(a0)
	bne.b	L951
L950
;	    free( ctx->EvalMap.Map1Color4.Points );
	move.l	a2,a0
	add.l	#$E6AE,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L951
;	 ctx->EvalMap.Map1Color4.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E6BA,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Color4.Retain = retain;
	move.l	a2,a0
	add.l	#$E6BE,a0
	move.b	d3,(a0)
;	 
	bra	L973
L952
;         ctx->EvalMap.Map1Normal.Order = order;
	move.l	a2,a0
	add.l	#$E6C0,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Normal.u1 = u1;
	move.l	a2,a0
	add.l	#$E6C4,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Normal.u2 = u2;
	move.l	a2,a0
	add.l	#$E6C8,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Normal.Points
	move.l	a2,a0
	add.l	#$E6C0,a0
	tst.l	$C(a0)
	beq.b	L955
L953
	move.l	a2,a0
	add.l	#$E6C0,a0
	tst.b	$10(a0)
	bne.b	L955
L954
;	    free( ctx->EvalMap.Map1Normal.Points );
	move.l	a2,a0
	add.l	#$E6C0,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L955
;	 ctx->EvalMap.Map1Normal.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E6CC,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Normal.Retain = retain;
	move.l	a2,a0
	add.l	#$E6D0,a0
	move.b	d3,(a0)
;	 
	bra	L973
L956
;         ctx->EvalMap.Map1Texture1.Order = order;
	move.l	a2,a0
	add.l	#$E6D2,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Texture1.u1 = u1;
	move.l	a2,a0
	add.l	#$E6D6,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Texture1.u2 = u2;
	move.l	a2,a0
	add.l	#$E6DA,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Texture1.Points
	move.l	a2,a0
	add.l	#$E6D2,a0
	tst.l	$C(a0)
	beq.b	L959
L957
	move.l	a2,a0
	add.l	#$E6D2,a0
	tst.b	$10(a0)
	bne.b	L959
L958
;	    free( ctx->EvalMap.Map1Texture1.Points );
	move.l	a2,a0
	add.l	#$E6D2,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L959
;	 ctx->EvalMap.Map1Texture1.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E6DE,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Texture1.Retain = retain;
	move.l	a2,a0
	add.l	#$E6E2,a0
	move.b	d3,(a0)
;	 
	bra	L973
L960
;         ctx->EvalMap.Map1Texture2.Order = order;
	move.l	a2,a0
	add.l	#$E6E4,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Texture2.u1 = u1;
	move.l	a2,a0
	add.l	#$E6E8,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Texture2.u2 = u2;
	move.l	a2,a0
	add.l	#$E6EC,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Texture2.Points
	move.l	a2,a0
	add.l	#$E6E4,a0
	tst.l	$C(a0)
	beq.b	L963
L961
	move.l	a2,a0
	add.l	#$E6E4,a0
	tst.b	$10(a0)
	bne.b	L963
L962
;	    free( ctx->EvalMap.Map1Texture2.Points );
	move.l	a2,a0
	add.l	#$E6E4,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L963
;	 ctx->EvalMap.Map1Texture2.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E6F0,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Texture2.Retain = retain;
	move.l	a2,a0
	add.l	#$E6F4,a0
	move.b	d3,(a0)
;	 
	bra	L973
L964
;         ctx->EvalMap.Map1Texture3.Order = order;
	move.l	a2,a0
	add.l	#$E6F6,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Texture3.u1 = u1;
	move.l	a2,a0
	add.l	#$E6FA,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Texture3.u2 = u2;
	move.l	a2,a0
	add.l	#$E6FE,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Texture3.Points
	move.l	a2,a0
	add.l	#$E6F6,a0
	tst.l	$C(a0)
	beq.b	L967
L965
	move.l	a2,a0
	add.l	#$E6F6,a0
	tst.b	$10(a0)
	bne.b	L967
L966
;	    free( ctx->EvalMap.Map1Texture3.Points );
	move.l	a2,a0
	add.l	#$E6F6,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L967
;	 ctx->EvalMap.Map1Texture3.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E702,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Texture3.Retain = retain;
	move.l	a2,a0
	add.l	#$E706,a0
	move.b	d3,(a0)
;	 
	bra	L973
L968
;         ctx->EvalMap.Map1Texture4.Order = order;
	move.l	a2,a0
	add.l	#$E708,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map1Texture4.u1 = u1;
	move.l	a2,a0
	add.l	#$E70C,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map1Texture4.u2 = u2;
	move.l	a2,a0
	add.l	#$E710,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map1Texture4.Points
	move.l	a2,a0
	add.l	#$E708,a0
	tst.l	$C(a0)
	beq.b	L971
L969
	move.l	a2,a0
	add.l	#$E708,a0
	tst.b	$10(a0)
	bne.b	L971
L970
;	    free( ctx->EvalMap.Map1Texture4.Points );
	move.l	a2,a0
	add.l	#$E708,a0
	move.l	$C(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L971
;	 ctx->EvalMap.Map1Texture4.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E714,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map1Texture4.Retain = retain;
	move.l	a2,a0
	add.l	#$E718,a0
	move.b	d3,(a0)
;	 
	bra.b	L973
L972
;         gl_error( ctx, GL_INVALID_ENUM, "glMap1(target)" );
	move.l	#L920,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L973
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d6/a2/a3
	rts

L917
	dc.b	'glMap1',0
L919
	dc.b	'glMap1(order)',0
L921
	dc.b	'glMap1(stride)',0
L920
	dc.b	'glMap1(target)',0
L918
	dc.b	'glMap1(u1,u2)',0
L916
	dc.b	'glMap1f',0

	SECTION "_gl_Map2f:0",CODE


;void gl_Map2f( GLcontext* ctx, GLenum target,
	XDEF	_gl_Map2f
_gl_Map2f
L1040	EQU	-4
	link	a5,#L1040
	movem.l	d2-d7/a2/a3,-(a7)
	fmovem.x fp2/fp3/fp4/fp5,-(a7)
	movem.l	$2C(a5),d2/a3
	move.l	$1C(a5),d3
	move.b	$34(a5),d4
	move.l	$C(a5),d6
	move.l	$28(a5),d7
	move.l	$8(a5),a2
	fmove.s	$24(a5),fp2
	fmove.s	$20(a5),fp3
	fmove.s	$14(a5),fp4
	fmove.s	$10(a5),fp5
L983
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a2,a0
	add.l	#$E968,a0
	move.l	(a0),d0
	cmp.l	#$1A00,d0
	beq.b	L985
L984
;      gl_error( ctx, GL_INVALID_OPERATION, "glMap2" );
	move.l	#L975,-(a7)
	pea	$502.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L985
;   if (u1==u2) 
	fcmp.x	fp4,fp5
	fbne.b	L987
L986
;      gl_error( ctx, GL_INVALID_VALUE, "glMap2(u1,u2)" );
	move.l	#L976,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L987
;   if (v1==v2) 
	fcmp.x	fp2,fp3
	fbne.b	L989
L988
;      gl_error( ctx, GL_INVALID_VALUE, "glMap2(v1,v2)" );
	move.l	#L977,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L989
;   if (uorder<1 || uorder>MAX_EVAL_ORDER) 
	cmp.l	#1,d3
	blt.b	L991
L990
	cmp.l	#$C,d3
	ble.b	L992
L991
;      gl_error( ctx, GL_INVALID_VALUE, "glMap2(uorder)" );
	move.l	#L978,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L992
;   if (vorder<1 || vorder>MAX_EVAL_ORDER) 
	cmp.l	#1,d2
	blt.b	L994
L993
	cmp.l	#$C,d2
	ble.b	L995
L994
;      gl_error( ctx, GL_INVALID_VALUE, "glMap2(vorder)" );
	move.l	#L979,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L995
;   k = components( target );
	move.l	d6,-(a7)
	jsr	_components
	addq.w	#4,a7
	move.l	d0,d5
;   if (k==0) 
	bne.b	L997
L996
;      gl_error( ctx, GL_INVALID_ENUM, "glMap2(target)" );
	move.l	#L980,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L997
;   if (ustride < k) 
	move.l	$18(a5),d0
	cmp.l	d5,d0
	bge.b	L999
L998
;      gl_error( ctx, GL_INVALID_VALUE, "glMap2(ustride)" );
	move.l	#L981,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L999
;   if (vstride < k) 
	move.l	d7,d0
	cmp.l	d5,d0
	bge.b	L1001
L1000
;      gl_error( ctx, GL_INVALID_VALUE, "glMap2(vstride)" );
	move.l	#L982,-(a7)
	pea	$501.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts
L1001
;   switch (target)
	move.l	d6,d0
	sub.l	#$DB0,d0
	cmp.l	#$8,d0
	bhi	L1038
	move.l	L1041(pc,d0.l*4),a0
	jmp	(a0)
L1041
	dc.l	L1014
	dc.l	L1010
	dc.l	L1018
	dc.l	L1022
	dc.l	L1026
	dc.l	L1030
	dc.l	L1034
	dc.l	L1002
	dc.l	L1006
;      
L1002
;         ctx->EvalMap.Map2Vertex3.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E71A,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Vertex3.u1 = u1;
	move.l	a2,a0
	add.l	#$E722,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Vertex3.u2 = u2;
	move.l	a2,a0
	add.l	#$E726,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Vertex3.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E71E,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Vertex3.v1 = v1;
	move.l	a2,a0
	add.l	#$E72A,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Vertex3.v2 = v2;
	move.l	a2,a0
	add.l	#$E72E,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Vertex3.Points
	move.l	a2,a0
	add.l	#$E71A,a0
	tst.l	$18(a0)
	beq.b	L1005
L1003
	move.l	a2,a0
	add.l	#$E71A,a0
	tst.b	$1C(a0)
	bne.b	L1005
L1004
;	    free( ctx->EvalMap.Map2Vertex3.Points );
	move.l	a2,a0
	add.l	#$E71A,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1005
;	 ctx->EvalMap.Map2Vertex3.Retain = retain;
	move.l	a2,a0
	add.l	#$E736,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Vertex3.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E732,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1006
;         ctx->EvalMap.Map2Vertex4.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E738,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Vertex4.u1 = u1;
	move.l	a2,a0
	add.l	#$E740,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Vertex4.u2 = u2;
	move.l	a2,a0
	add.l	#$E744,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Vertex4.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E73C,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Vertex4.v1 = v1;
	move.l	a2,a0
	add.l	#$E748,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Vertex4.v2 = v2;
	move.l	a2,a0
	add.l	#$E74C,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Vertex4.Points
	move.l	a2,a0
	add.l	#$E738,a0
	tst.l	$18(a0)
	beq.b	L1009
L1007
	move.l	a2,a0
	add.l	#$E738,a0
	tst.b	$1C(a0)
	bne.b	L1009
L1008
;	    free( ctx->EvalMap.Map2Vertex4.Points );
	move.l	a2,a0
	add.l	#$E738,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1009
;	 ctx->EvalMap.Map2Vertex4.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E750,a1
	move.l	a3,(a1)
;	 ctx->EvalMap.Map2Vertex4.Retain = retain;
	move.l	a2,a0
	add.l	#$E754,a0
	move.b	d4,(a0)
;	 
	bra	L1039
L1010
;         ctx->EvalMap.Map2Index.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E756,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Index.u1 = u1;
	move.l	a2,a0
	add.l	#$E75E,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Index.u2 = u2;
	move.l	a2,a0
	add.l	#$E762,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Index.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E75A,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Index.v1 = v1;
	move.l	a2,a0
	add.l	#$E766,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Index.v2 = v2;
	move.l	a2,a0
	add.l	#$E76A,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Index.Points
	move.l	a2,a0
	add.l	#$E756,a0
	tst.l	$18(a0)
	beq.b	L1013
L1011
	move.l	a2,a0
	add.l	#$E756,a0
	tst.b	$1C(a0)
	bne.b	L1013
L1012
;	    free( ctx->EvalMap.Map2Index.Points );
	move.l	a2,a0
	add.l	#$E756,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1013
;	 ctx->EvalMap.Map2Index.Retain = retain;
	move.l	a2,a0
	add.l	#$E772,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Index.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E76E,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1014
;         ctx->EvalMap.Map2Color4.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E774,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Color4.u1 = u1;
	move.l	a2,a0
	add.l	#$E77C,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Color4.u2 = u2;
	move.l	a2,a0
	add.l	#$E780,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Color4.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E778,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Color4.v1 = v1;
	move.l	a2,a0
	add.l	#$E784,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Color4.v2 = v2;
	move.l	a2,a0
	add.l	#$E788,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Color4.Points
	move.l	a2,a0
	add.l	#$E774,a0
	tst.l	$18(a0)
	beq.b	L1017
L1015
	move.l	a2,a0
	add.l	#$E774,a0
	tst.b	$1C(a0)
	bne.b	L1017
L1016
;	    free( ctx->EvalMap.Map2Color4.Points );
	move.l	a2,a0
	add.l	#$E774,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1017
;	 ctx->EvalMap.Map2Color4.Retain = retain;
	move.l	a2,a0
	add.l	#$E790,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Color4.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E78C,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1018
;         ctx->EvalMap.Map2Normal.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E792,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Normal.u1 = u1;
	move.l	a2,a0
	add.l	#$E79A,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Normal.u2 = u2;
	move.l	a2,a0
	add.l	#$E79E,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Normal.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E796,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Normal.v1 = v1;
	move.l	a2,a0
	add.l	#$E7A2,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Normal.v2 = v2;
	move.l	a2,a0
	add.l	#$E7A6,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Normal.Points
	move.l	a2,a0
	add.l	#$E792,a0
	tst.l	$18(a0)
	beq.b	L1021
L1019
	move.l	a2,a0
	add.l	#$E792,a0
	tst.b	$1C(a0)
	bne.b	L1021
L1020
;	    free( ctx->EvalMap.Map2Normal.Points );
	move.l	a2,a0
	add.l	#$E792,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1021
;	 ctx->EvalMap.Map2Normal.Retain = retain;
	move.l	a2,a0
	add.l	#$E7AE,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Normal.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E7AA,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1022
;         ctx->EvalMap.Map2Texture1.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E7B0,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Texture1.u1 = u1;
	move.l	a2,a0
	add.l	#$E7B8,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Texture1.u2 = u2;
	move.l	a2,a0
	add.l	#$E7BC,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Texture1.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E7B4,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Texture1.v1 = v1;
	move.l	a2,a0
	add.l	#$E7C0,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Texture1.v2 = v2;
	move.l	a2,a0
	add.l	#$E7C4,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Texture1.Points
	move.l	a2,a0
	add.l	#$E7B0,a0
	tst.l	$18(a0)
	beq.b	L1025
L1023
	move.l	a2,a0
	add.l	#$E7B0,a0
	tst.b	$1C(a0)
	bne.b	L1025
L1024
;	    free( ctx->EvalMap.Map2Texture1.Points );
	move.l	a2,a0
	add.l	#$E7B0,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1025
;	 ctx->EvalMap.Map2Texture1.Retain = retain;
	move.l	a2,a0
	add.l	#$E7CC,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Texture1.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E7C8,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1026
;         ctx->EvalMap.Map2Texture2.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E7CE,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Texture2.u1 = u1;
	move.l	a2,a0
	add.l	#$E7D6,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Texture2.u2 = u2;
	move.l	a2,a0
	add.l	#$E7DA,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Texture2.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E7D2,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Texture2.v1 = v1;
	move.l	a2,a0
	add.l	#$E7DE,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Texture2.v2 = v2;
	move.l	a2,a0
	add.l	#$E7E2,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Texture2.Points
	move.l	a2,a0
	add.l	#$E7CE,a0
	tst.l	$18(a0)
	beq.b	L1029
L1027
	move.l	a2,a0
	add.l	#$E7CE,a0
	tst.b	$1C(a0)
	bne.b	L1029
L1028
;	    free( ctx->EvalMap.Map2Texture2.Points );
	move.l	a2,a0
	add.l	#$E7CE,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1029
;	 ctx->EvalMap.Map2Texture2.Retain = retain;
	move.l	a2,a0
	add.l	#$E7EA,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Texture2.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E7E6,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1030
;         ctx->EvalMap.Map2Texture3.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E7EC,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Texture3.u1 = u1;
	move.l	a2,a0
	add.l	#$E7F4,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Texture3.u2 = u2;
	move.l	a2,a0
	add.l	#$E7F8,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Texture3.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E7F0,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Texture3.v1 = v1;
	move.l	a2,a0
	add.l	#$E7FC,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Texture3.v2 = v2;
	move.l	a2,a0
	add.l	#$E800,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Texture3.Points
	move.l	a2,a0
	add.l	#$E7EC,a0
	tst.l	$18(a0)
	beq.b	L1033
L1031
	move.l	a2,a0
	add.l	#$E7EC,a0
	tst.b	$1C(a0)
	bne.b	L1033
L1032
;	    free( ctx->EvalMap.Map2Texture3.Points );
	move.l	a2,a0
	add.l	#$E7EC,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1033
;	 ctx->EvalMap.Map2Texture3.Retain = retain;
	move.l	a2,a0
	add.l	#$E808,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Texture3.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E804,a1
	move.l	a3,(a1)
;	 
	bra	L1039
L1034
;         ctx->EvalMap.Map2Texture4.Uorder = uorder;
	move.l	a2,a0
	add.l	#$E80A,a0
	move.l	d3,(a0)
;	 ctx->EvalMap.Map2Texture4.u1 = u1;
	move.l	a2,a0
	add.l	#$E812,a0
	fmove.s	fp5,(a0)
;	 ctx->EvalMap.Map2Texture4.u2 = u2;
	move.l	a2,a0
	add.l	#$E816,a0
	fmove.s	fp4,(a0)
;         ctx->EvalMap.Map2Texture4.Vorder = vorder;
	move.l	a2,a0
	add.l	#$E80E,a0
	move.l	d2,(a0)
;	 ctx->EvalMap.Map2Texture4.v1 = v1;
	move.l	a2,a0
	add.l	#$E81A,a0
	fmove.s	fp3,(a0)
;	 ctx->EvalMap.Map2Texture4.v2 = v2;
	move.l	a2,a0
	add.l	#$E81E,a0
	fmove.s	fp2,(a0)
;	 if (ctx->EvalMap.Map2Texture4.Points
	move.l	a2,a0
	add.l	#$E80A,a0
	tst.l	$18(a0)
	beq.b	L1037
L1035
	move.l	a2,a0
	add.l	#$E80A,a0
	tst.b	$1C(a0)
	bne.b	L1037
L1036
;	    free( ctx->EvalMap.Map2Texture4.Points );
	move.l	a2,a0
	add.l	#$E80A,a0
	move.l	$18(a0),-(a7)
	jsr	_free
	addq.w	#4,a7
L1037
;	 ctx->EvalMap.Map2Texture4.Retain = retain;
	move.l	a2,a0
	add.l	#$E826,a0
	move.b	d4,(a0)
;	 ctx->EvalMap.Map2Texture4.Points = (GLfloat *) points;
	move.l	a2,a1
	add.l	#$E822,a1
	move.l	a3,(a1)
;	 
	bra.b	L1039
L1038
;         gl_error( ctx, GL_INVALID_ENUM, "glMap2(target)" );
	move.l	#L980,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1039
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d7/a2/a3
	unlk	a5
	rts

L975
	dc.b	'glMap2',0
L980
	dc.b	'glMap2(target)',0
L976
	dc.b	'glMap2(u1,u2)',0
L978
	dc.b	'glMap2(uorder)',0
L981
	dc.b	'glMap2(ustride)',0
L977
	dc.b	'glMap2(v1,v2)',0
L979
	dc.b	'glMap2(vorder)',0
L982
	dc.b	'glMap2(vstride)',0

	SECTION "_gl_GetMapdv:0",CODE


;void gl_GetMapdv( GLcontext* ctx, GLenum target, GLenum query, GLdou
	XDEF	_gl_GetMapdv
_gl_GetMapdv
	movem.l	d2/a2/a3,-(a7)
	movem.l	$14(a7),d0/d1/a2
	move.l	$10(a7),a0
L1044
;   switch (query)
	cmp.l	#$A01,d1
	beq	L1070
	bgt.b	L1114
	cmp.l	#$A00,d1
	beq.b	L1045
	bra	L1112
L1114
	cmp.l	#$A02,d1
	beq	L1091
	bra	L1112
;      
L1045
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1055
	bgt.b	L1115
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1064
	move.l	L1116(pc,d0.l*4),a1
	jmp	(a1)
L1116
	dc.l	L1046
	dc.l	L1047
	dc.l	L1048
	dc.l	L1049
	dc.l	L1050
	dc.l	L1051
	dc.l	L1052
	dc.l	L1053
	dc.l	L1054
L1115
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1064
	move.l	L1117(pc,d0.l*4),a1
	jmp	(a1)
L1117
	dc.l	L1056
	dc.l	L1057
	dc.l	L1058
	dc.l	L1059
	dc.l	L1060
	dc.l	L1061
	dc.l	L1062
	dc.l	L1063
;	    
L1046
;	       data = ctx->EvalMap.Map1Color4.Points;
	move.l	a0,a1
	add.l	#$E6AE,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Color4.Order * 4;
	add.l	#$E6AE,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1065
L1047
;	       data = ctx->EvalMap.Map1Index.Points;
	move.l	a0,a1
	add.l	#$E69C,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Index.Order;
	add.l	#$E69C,a0
	move.l	(a0),d2
;	       
	bra	L1065
L1048
;	       data = ctx->EvalMap.Map1Normal.Points;
	move.l	a0,a1
	add.l	#$E6C0,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Normal.Order * 3;
	add.l	#$E6C0,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1065
L1049
;	       data = ctx->EvalMap.Map1Texture1.Points;
	move.l	a0,a1
	add.l	#$E6D2,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture1.Order * 1;
	add.l	#$E6D2,a0
	move.l	(a0),d2
;	       
	bra	L1065
L1050
;	       data = ctx->EvalMap.Map1Texture2.Points;
	move.l	a0,a1
	add.l	#$E6E4,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture2.Order * 2;
	add.l	#$E6E4,a0
	move.l	(a0),d2
	moveq	#1,d0
	asl.l	d0,d2
;	       
	bra	L1065
L1051
;	       data = ctx->EvalMap.Map1Texture3.Points;
	move.l	a0,a1
	add.l	#$E6F6,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture3.Order * 3;
	add.l	#$E6F6,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1065
L1052
;	       data = ctx->EvalMap.Map1Texture4.Points;
	move.l	a0,a1
	add.l	#$E708,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture4.Order * 4;
	add.l	#$E708,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1065
L1053
;	       data = ctx->EvalMap.Map1Vertex3.Points;
	move.l	a0,a1
	add.l	#$E678,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Vertex3.Order * 3;
	add.l	#$E678,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1065
L1054
;	       data = ctx->EvalMap.Map1Vertex4.Points;
	move.l	a0,a1
	add.l	#$E68A,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Vertex4.Order * 4;
	add.l	#$E68A,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1065
L1055
;	       data = ctx->EvalMap.Map2Color4.Points;
	move.l	a0,a1
	add.l	#$E774,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Color4.Uorder
	move.l	a0,a1
	add.l	#$E774,a1
	add.l	#$E774,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1065
L1056
;	       data = ctx->EvalMap.Map2Index.Points;
	move.l	a0,a1
	add.l	#$E756,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Index.Uorder
	move.l	a0,a1
	add.l	#$E756,a1
	add.l	#$E756,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
;	       
	bra	L1065
L1057
;	       data = ctx->EvalMap.Map2Normal.Points;
	move.l	a0,a1
	add.l	#$E792,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Normal.Uorder
	move.l	a0,a1
	add.l	#$E792,a1
	add.l	#$E792,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1065
L1058
;	       data = ctx->EvalMap.Map2Texture1.Points;
	move.l	a0,a1
	add.l	#$E7B0,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture1.Uorder
	move.l	a0,a1
	add.l	#$E7B0,a1
	add.l	#$E7B0,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
;	       
	bra	L1065
L1059
;	       data = ctx->EvalMap.Map2Texture2.Points;
	move.l	a0,a1
	add.l	#$E7CE,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture2.Uorder
	move.l	a0,a1
	add.l	#$E7CE,a1
	add.l	#$E7CE,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#1,d0
	asl.l	d0,d2
;	       
	bra	L1065
L1060
;	       data = ctx->EvalMap.Map2Texture3.Points;
	move.l	a0,a1
	add.l	#$E7EC,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture3.Uorder
	move.l	a0,a1
	add.l	#$E7EC,a1
	add.l	#$E7EC,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1065
L1061
;	       data = ctx->EvalMap.Map2Texture4.Points;
	move.l	a0,a1
	add.l	#$E80A,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture4.Uorder
	move.l	a0,a1
	add.l	#$E80A,a1
	add.l	#$E80A,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra.b	L1065
L1062
;	       data = ctx->EvalMap.Map2Vertex3.Points;
	move.l	a0,a1
	add.l	#$E71A,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Vertex3.Uorder
	move.l	a0,a1
	add.l	#$E71A,a1
	add.l	#$E71A,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra.b	L1065
L1063
;	       data = ctx->EvalMap.Map2Vertex4.Points;
	move.l	a0,a1
	add.l	#$E738,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Vertex4.Uorder
	move.l	a0,a1
	add.l	#$E738,a1
	add.l	#$E738,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra.b	L1065
L1064
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapdv(target)"
	move.l	#L1042,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1065
;	 if (data) 
	cmp.w	#0,a3
	beq.b	L1069
L1066
;	    for (i=0;
	moveq	#0,d0
	bra.b	L1068
L1067
;	       v[i] = data[i];
	fmove.s	0(a3,d0.l*4),fp0
	fmove.d	fp0,0(a2,d0.l*8)
	addq.l	#1,d0
L1068
	cmp.l	d2,d0
	blt.b	L1067
L1069
;         
	bra	L1113
L1070
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1080
	bgt.b	L1118
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1089
	move.l	L1119(pc,d0.l*4),a1
	jmp	(a1)
L1119
	dc.l	L1071
	dc.l	L1072
	dc.l	L1073
	dc.l	L1074
	dc.l	L1075
	dc.l	L1076
	dc.l	L1077
	dc.l	L1078
	dc.l	L1079
L1118
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1089
	move.l	L1120(pc,d0.l*4),a1
	jmp	(a1)
L1120
	dc.l	L1081
	dc.l	L1082
	dc.l	L1083
	dc.l	L1084
	dc.l	L1085
	dc.l	L1086
	dc.l	L1087
	dc.l	L1088
;	    
L1071
;	       *v = ctx->EvalMap.Map1Color4.Order;
	add.l	#$E6AE,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1072
;	       *v = ctx->EvalMap.Map1Index.Order;
	add.l	#$E69C,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1073
;	       *v = ctx->EvalMap.Map1Normal.Order;
	add.l	#$E6C0,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1074
;	       *v = ctx->EvalMap.Map1Texture1.Order;
	add.l	#$E6D2,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1075
;	       *v = ctx->EvalMap.Map1Texture2.Order;
	add.l	#$E6E4,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1076
;	       *v = ctx->EvalMap.Map1Texture3.Order;
	add.l	#$E6F6,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1077
;	       *v = ctx->EvalMap.Map1Texture4.Order;
	add.l	#$E708,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1078
;	       *v = ctx->EvalMap.Map1Vertex3.Order;
	add.l	#$E678,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1079
;	       *v = ctx->EvalMap.Map1Vertex4.Order;
	add.l	#$E68A,a0
	fmove.l	(a0),fp0
	fmove.d	fp0,(a2)
;	       
	bra	L1090
L1080
;	       v[0] = ctx->EvalMap.Map2Color4.Uorder;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Color4.Vorder;
	add.l	#$E774,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1090
L1081
;	       v[0] = ctx->EvalMap.Map2Index.Uorder;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Index.Vorder;
	add.l	#$E756,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1090
L1082
;	       v[0] = ctx->EvalMap.Map2Normal.Uorder;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Normal.Vorder;
	add.l	#$E792,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1090
L1083
;	       v[0] = ctx->EvalMap.Map2Texture1.Uorder;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture1.Vorder;
	add.l	#$E7B0,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1090
L1084
;	       v[0] = ctx->EvalMap.Map2Texture2.Uorder;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture2.Vorder;
	add.l	#$E7CE,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1090
L1085
;	       v[0] = ctx->EvalMap.Map2Texture3.Uorder;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture3.Vorder;
	add.l	#$E7EC,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1090
L1086
;	       v[0] = ctx->EvalMap.Map2Texture4.Uorder;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture4.Vorder;
	add.l	#$E80A,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra.b	L1090
L1087
;	       v[0] = ctx->EvalMap.Map2Vertex3.Uorder;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex3.Vorder;
	add.l	#$E71A,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra.b	L1090
L1088
;	       v[0] = ctx->EvalMap.Map2Vertex4.Uorder;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.l	(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex4.Vorder;
	add.l	#$E738,a0
	fmove.l	4(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra.b	L1090
L1089
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapdv(target)"
	move.l	#L1042,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1090
;         
	bra	L1113
L1091
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1101
	bgt.b	L1121
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1110
	move.l	L1122(pc,d0.l*4),a1
	jmp	(a1)
L1122
	dc.l	L1092
	dc.l	L1093
	dc.l	L1094
	dc.l	L1095
	dc.l	L1096
	dc.l	L1097
	dc.l	L1098
	dc.l	L1099
	dc.l	L1100
L1121
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1110
	move.l	L1123(pc,d0.l*4),a1
	jmp	(a1)
L1123
	dc.l	L1102
	dc.l	L1103
	dc.l	L1104
	dc.l	L1105
	dc.l	L1106
	dc.l	L1107
	dc.l	L1108
	dc.l	L1109
;	    
L1092
;	       v[0] = ctx->EvalMap.Map1Color4.u1;
	move.l	a0,a1
	add.l	#$E6AE,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Color4.u2;
	add.l	#$E6AE,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1093
;	       v[0] = ctx->EvalMap.Map1Index.u1;
	move.l	a0,a1
	add.l	#$E69C,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Index.u2;
	add.l	#$E69C,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1094
;	       v[0] = ctx->EvalMap.Map1Normal.u1;
	move.l	a0,a1
	add.l	#$E6C0,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Normal.u2;
	add.l	#$E6C0,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1095
;	       v[0] = ctx->EvalMap.Map1Texture1.u1;
	move.l	a0,a1
	add.l	#$E6D2,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Texture1.u2;
	add.l	#$E6D2,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1096
;	       v[0] = ctx->EvalMap.Map1Texture2.u1;
	move.l	a0,a1
	add.l	#$E6E4,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Texture2.u2;
	add.l	#$E6E4,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1097
;	       v[0] = ctx->EvalMap.Map1Texture3.u1;
	move.l	a0,a1
	add.l	#$E6F6,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Texture3.u2;
	add.l	#$E6F6,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1098
;	       v[0] = ctx->EvalMap.Map1Texture4.u1;
	move.l	a0,a1
	add.l	#$E708,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Texture4.u2;
	add.l	#$E708,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1099
;	       v[0] = ctx->EvalMap.Map1Vertex3.u1;
	move.l	a0,a1
	add.l	#$E678,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Vertex3.u2;
	add.l	#$E678,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1100
;	       v[0] = ctx->EvalMap.Map1Vertex4.u1;
	move.l	a0,a1
	add.l	#$E68A,a1
	fmove.s	4(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map1Vertex4.u2;
	add.l	#$E68A,a0
	fmove.s	$8(a0),fp0
	fmove.d	fp0,$8(a2)
;	       
	bra	L1111
L1101
;	       v[0] = ctx->EvalMap.Map2Color4.u1;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Color4.u2;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Color4.v1;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Color4.v2;
	add.l	#$E774,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1102
;	       v[0] = ctx->EvalMap.Map2Index.u1;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Index.u2;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Index.v1;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Index.v2;
	add.l	#$E756,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1103
;	       v[0] = ctx->EvalMap.Map2Normal.u1;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Normal.u2;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Normal.v1;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Normal.v2;
	add.l	#$E792,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1104
;	       v[0] = ctx->EvalMap.Map2Texture1.u1;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture1.u2;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Texture1.v1;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Texture1.v2;
	add.l	#$E7B0,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1105
;	       v[0] = ctx->EvalMap.Map2Texture2.u1;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture2.u2;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Texture2.v1;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Texture2.v2;
	add.l	#$E7CE,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1106
;	       v[0] = ctx->EvalMap.Map2Texture3.u1;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture3.u2;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Texture3.v1;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Texture3.v2;
	add.l	#$E7EC,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1107
;	       v[0] = ctx->EvalMap.Map2Texture4.u1;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture4.u2;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Texture4.v1;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Texture4.v2;
	add.l	#$E80A,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra	L1111
L1108
;	       v[0] = ctx->EvalMap.Map2Vertex3.u1;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex3.u2;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Vertex3.v1;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Vertex3.v2;
	add.l	#$E71A,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra.b	L1111
L1109
;	       v[0] = ctx->EvalMap.Map2Vertex4.u1;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$8(a1),fp0
	fmove.d	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex4.u2;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$C(a1),fp0
	fmove.d	fp0,$8(a2)
;	       v[2] = ctx->EvalMap.Map2Vertex4.v1;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$10(a1),fp0
	fmove.d	fp0,$10(a2)
;	       v[3] = ctx->EvalMap.Map2Vertex4.v2;
	add.l	#$E738,a0
	fmove.s	$14(a0),fp0
	fmove.d	fp0,$18(a2)
;	       
	bra.b	L1111
L1110
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapdv(target)"
	move.l	#L1042,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1111
;         
	bra.b	L1113
L1112
;         gl_error( ctx, GL_INVALID_ENUM, "glGetMapdv(query)
	move.l	#L1043,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1113
	movem.l	(a7)+,d2/a2/a3
	rts

L1043
	dc.b	'glGetMapdv(query)',0
L1042
	dc.b	'glGetMapdv(target)',0

	SECTION "_gl_GetMapfv:0",CODE


;void gl_GetMapfv( GLcontext* ctx, GLenum target, GLenum query, GLflo
	XDEF	_gl_GetMapfv
_gl_GetMapfv
	movem.l	d2/a2/a3,-(a7)
	movem.l	$14(a7),d0/d1/a2
	move.l	$10(a7),a0
L1126
;   switch (query)
	cmp.l	#$A01,d1
	beq	L1152
	bgt.b	L1196
	cmp.l	#$A00,d1
	beq.b	L1127
	bra	L1194
L1196
	cmp.l	#$A02,d1
	beq	L1173
	bra	L1194
;      
L1127
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1137
	bgt.b	L1197
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1146
	move.l	L1198(pc,d0.l*4),a1
	jmp	(a1)
L1198
	dc.l	L1128
	dc.l	L1129
	dc.l	L1130
	dc.l	L1131
	dc.l	L1132
	dc.l	L1133
	dc.l	L1134
	dc.l	L1135
	dc.l	L1136
L1197
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1146
	move.l	L1199(pc,d0.l*4),a1
	jmp	(a1)
L1199
	dc.l	L1138
	dc.l	L1139
	dc.l	L1140
	dc.l	L1141
	dc.l	L1142
	dc.l	L1143
	dc.l	L1144
	dc.l	L1145
;	    
L1128
;	       data = ctx->EvalMap.Map1Color4.Points;
	move.l	a0,a1
	add.l	#$E6AE,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Color4.Order * 4;
	add.l	#$E6AE,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1147
L1129
;	       data = ctx->EvalMap.Map1Index.Points;
	move.l	a0,a1
	add.l	#$E69C,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Index.Order;
	add.l	#$E69C,a0
	move.l	(a0),d2
;	       
	bra	L1147
L1130
;	       data = ctx->EvalMap.Map1Normal.Points;
	move.l	a0,a1
	add.l	#$E6C0,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Normal.Order * 3;
	add.l	#$E6C0,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1147
L1131
;	       data = ctx->EvalMap.Map1Texture1.Points;
	move.l	a0,a1
	add.l	#$E6D2,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture1.Order * 1;
	add.l	#$E6D2,a0
	move.l	(a0),d2
;	       
	bra	L1147
L1132
;	       data = ctx->EvalMap.Map1Texture2.Points;
	move.l	a0,a1
	add.l	#$E6E4,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture2.Order * 2;
	add.l	#$E6E4,a0
	move.l	(a0),d2
	moveq	#1,d0
	asl.l	d0,d2
;	       
	bra	L1147
L1133
;	       data = ctx->EvalMap.Map1Texture3.Points;
	move.l	a0,a1
	add.l	#$E6F6,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture3.Order * 3;
	add.l	#$E6F6,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1147
L1134
;	       data = ctx->EvalMap.Map1Texture4.Points;
	move.l	a0,a1
	add.l	#$E708,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture4.Order * 4;
	add.l	#$E708,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1147
L1135
;	       data = ctx->EvalMap.Map1Vertex3.Points;
	move.l	a0,a1
	add.l	#$E678,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Vertex3.Order * 3;
	add.l	#$E678,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1147
L1136
;	       data = ctx->EvalMap.Map1Vertex4.Points;
	move.l	a0,a1
	add.l	#$E68A,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Vertex4.Order * 4;
	add.l	#$E68A,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1147
L1137
;	       data = ctx->EvalMap.Map2Color4.Points;
	move.l	a0,a1
	add.l	#$E774,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Color4.Uorder
	move.l	a0,a1
	add.l	#$E774,a1
	add.l	#$E774,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1147
L1138
;	       data = ctx->EvalMap.Map2Index.Points;
	move.l	a0,a1
	add.l	#$E756,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Index.Uorder
	move.l	a0,a1
	add.l	#$E756,a1
	add.l	#$E756,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
;	       
	bra	L1147
L1139
;	       data = ctx->EvalMap.Map2Normal.Points;
	move.l	a0,a1
	add.l	#$E792,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Normal.Uorder
	move.l	a0,a1
	add.l	#$E792,a1
	add.l	#$E792,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1147
L1140
;	       data = ctx->EvalMap.Map2Texture1.Points;
	move.l	a0,a1
	add.l	#$E7B0,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture1.Uorder
	move.l	a0,a1
	add.l	#$E7B0,a1
	add.l	#$E7B0,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
;	       
	bra	L1147
L1141
;	       data = ctx->EvalMap.Map2Texture2.Points;
	move.l	a0,a1
	add.l	#$E7CE,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture2.Uorder
	move.l	a0,a1
	add.l	#$E7CE,a1
	add.l	#$E7CE,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#1,d0
	asl.l	d0,d2
;	       
	bra	L1147
L1142
;	       data = ctx->EvalMap.Map2Texture3.Points;
	move.l	a0,a1
	add.l	#$E7EC,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture3.Uorder
	move.l	a0,a1
	add.l	#$E7EC,a1
	add.l	#$E7EC,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1147
L1143
;	       data = ctx->EvalMap.Map2Texture4.Points;
	move.l	a0,a1
	add.l	#$E80A,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture4.Uorder
	move.l	a0,a1
	add.l	#$E80A,a1
	add.l	#$E80A,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra.b	L1147
L1144
;	       data = ctx->EvalMap.Map2Vertex3.Points;
	move.l	a0,a1
	add.l	#$E71A,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Vertex3.Uorder
	move.l	a0,a1
	add.l	#$E71A,a1
	add.l	#$E71A,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra.b	L1147
L1145
;	       data = ctx->EvalMap.Map2Vertex4.Points;
	move.l	a0,a1
	add.l	#$E738,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Vertex4.Uorder
	move.l	a0,a1
	add.l	#$E738,a1
	add.l	#$E738,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra.b	L1147
L1146
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapfv(target)"
	move.l	#L1124,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1147
;	 if (data) 
	cmp.w	#0,a3
	beq.b	L1151
L1148
;	    for (i=0;
	moveq	#0,d0
	bra.b	L1150
L1149
;	       v[i] = data[i];
	move.l	0(a3,d0.l*4),0(a2,d0.l*4)
	addq.l	#1,d0
L1150
	cmp.l	d2,d0
	blt.b	L1149
L1151
;         
	bra	L1195
L1152
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1162
	bgt.b	L1200
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1171
	move.l	L1201(pc,d0.l*4),a1
	jmp	(a1)
L1201
	dc.l	L1153
	dc.l	L1154
	dc.l	L1155
	dc.l	L1156
	dc.l	L1157
	dc.l	L1158
	dc.l	L1159
	dc.l	L1160
	dc.l	L1161
L1200
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1171
	move.l	L1202(pc,d0.l*4),a1
	jmp	(a1)
L1202
	dc.l	L1163
	dc.l	L1164
	dc.l	L1165
	dc.l	L1166
	dc.l	L1167
	dc.l	L1168
	dc.l	L1169
	dc.l	L1170
;	    
L1153
;	       *v = ctx->EvalMap.Map1Color4.Order;
	add.l	#$E6AE,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1154
;	       *v = ctx->EvalMap.Map1Index.Order;
	add.l	#$E69C,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1155
;	       *v = ctx->EvalMap.Map1Normal.Order;
	add.l	#$E6C0,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1156
;	       *v = ctx->EvalMap.Map1Texture1.Order;
	add.l	#$E6D2,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1157
;	       *v = ctx->EvalMap.Map1Texture2.Order;
	add.l	#$E6E4,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1158
;	       *v = ctx->EvalMap.Map1Texture3.Order;
	add.l	#$E6F6,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1159
;	       *v = ctx->EvalMap.Map1Texture4.Order;
	add.l	#$E708,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1160
;	       *v = ctx->EvalMap.Map1Vertex3.Order;
	add.l	#$E678,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1161
;	       *v = ctx->EvalMap.Map1Vertex4.Order;
	add.l	#$E68A,a0
	fmove.l	(a0),fp0
	fmove.s	fp0,(a2)
;	       
	bra	L1172
L1162
;	       v[0] = ctx->EvalMap.Map2Color4.Uorder;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Color4.Vorder;
	add.l	#$E774,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1172
L1163
;	       v[0] = ctx->EvalMap.Map2Index.Uorder;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Index.Vorder;
	add.l	#$E756,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1172
L1164
;	       v[0] = ctx->EvalMap.Map2Normal.Uorder;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Normal.Vorder;
	add.l	#$E792,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1172
L1165
;	       v[0] = ctx->EvalMap.Map2Texture1.Uorder;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture1.Vorder;
	add.l	#$E7B0,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1172
L1166
;	       v[0] = ctx->EvalMap.Map2Texture2.Uorder;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture2.Vorder;
	add.l	#$E7CE,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1172
L1167
;	       v[0] = ctx->EvalMap.Map2Texture3.Uorder;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture3.Vorder;
	add.l	#$E7EC,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1172
L1168
;	       v[0] = ctx->EvalMap.Map2Texture4.Uorder;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Texture4.Vorder;
	add.l	#$E80A,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra.b	L1172
L1169
;	       v[0] = ctx->EvalMap.Map2Vertex3.Uorder;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex3.Vorder;
	add.l	#$E71A,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra.b	L1172
L1170
;	       v[0] = ctx->EvalMap.Map2Vertex4.Uorder;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.l	(a1),fp0
	fmove.s	fp0,(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex4.Vorder;
	add.l	#$E738,a0
	fmove.l	4(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra.b	L1172
L1171
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapfv(target)"
	move.l	#L1124,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1172
;         
	bra	L1195
L1173
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1183
	bgt.b	L1203
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1192
	move.l	L1204(pc,d0.l*4),a1
	jmp	(a1)
L1204
	dc.l	L1174
	dc.l	L1175
	dc.l	L1176
	dc.l	L1177
	dc.l	L1178
	dc.l	L1179
	dc.l	L1180
	dc.l	L1181
	dc.l	L1182
L1203
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1192
	move.l	L1205(pc,d0.l*4),a1
	jmp	(a1)
L1205
	dc.l	L1184
	dc.l	L1185
	dc.l	L1186
	dc.l	L1187
	dc.l	L1188
	dc.l	L1189
	dc.l	L1190
	dc.l	L1191
;	    
L1174
;	       v[0] = ctx->EvalMap.Map1Color4.u1;
	move.l	a0,a1
	add.l	#$E6AE,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Color4.u2;
	add.l	#$E6AE,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1175
;	       v[0] = ctx->EvalMap.Map1Index.u1;
	move.l	a0,a1
	add.l	#$E69C,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Index.u2;
	add.l	#$E69C,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1176
;	       v[0] = ctx->EvalMap.Map1Normal.u1;
	move.l	a0,a1
	add.l	#$E6C0,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Normal.u2;
	add.l	#$E6C0,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1177
;	       v[0] = ctx->EvalMap.Map1Texture1.u1;
	move.l	a0,a1
	add.l	#$E6D2,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Texture1.u2;
	add.l	#$E6D2,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1178
;	       v[0] = ctx->EvalMap.Map1Texture2.u1;
	move.l	a0,a1
	add.l	#$E6E4,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Texture2.u2;
	add.l	#$E6E4,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1179
;	       v[0] = ctx->EvalMap.Map1Texture3.u1;
	move.l	a0,a1
	add.l	#$E6F6,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Texture3.u2;
	add.l	#$E6F6,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1180
;	       v[0] = ctx->EvalMap.Map1Texture4.u1;
	move.l	a0,a1
	add.l	#$E708,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Texture4.u2;
	add.l	#$E708,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1181
;	       v[0] = ctx->EvalMap.Map1Vertex3.u1;
	move.l	a0,a1
	add.l	#$E678,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Vertex3.u2;
	add.l	#$E678,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1182
;	       v[0] = ctx->EvalMap.Map1Vertex4.u1;
	move.l	a0,a1
	add.l	#$E68A,a1
	move.l	4(a1),(a2)
;	       v[1] = ctx->EvalMap.Map1Vertex4.u2;
	add.l	#$E68A,a0
	fmove.s	$8(a0),fp0
	fmove.s	fp0,4(a2)
;	       
	bra	L1193
L1183
;	       v[0] = ctx->EvalMap.Map2Color4.u1;
	move.l	a0,a1
	add.l	#$E774,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Color4.u2;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Color4.v1;
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Color4.v2;
	add.l	#$E774,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1184
;	       v[0] = ctx->EvalMap.Map2Index.u1;
	move.l	a0,a1
	add.l	#$E756,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Index.u2;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Index.v1;
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Index.v2;
	add.l	#$E756,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1185
;	       v[0] = ctx->EvalMap.Map2Normal.u1;
	move.l	a0,a1
	add.l	#$E792,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Normal.u2;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Normal.v1;
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Normal.v2;
	add.l	#$E792,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1186
;	       v[0] = ctx->EvalMap.Map2Texture1.u1;
	move.l	a0,a1
	add.l	#$E7B0,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture1.u2;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Texture1.v1;
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Texture1.v2;
	add.l	#$E7B0,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1187
;	       v[0] = ctx->EvalMap.Map2Texture2.u1;
	move.l	a0,a1
	add.l	#$E7CE,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture2.u2;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Texture2.v1;
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Texture2.v2;
	add.l	#$E7CE,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1188
;	       v[0] = ctx->EvalMap.Map2Texture3.u1;
	move.l	a0,a1
	add.l	#$E7EC,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture3.u2;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Texture3.v1;
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Texture3.v2;
	add.l	#$E7EC,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1189
;	       v[0] = ctx->EvalMap.Map2Texture4.u1;
	move.l	a0,a1
	add.l	#$E80A,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture4.u2;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Texture4.v1;
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Texture4.v2;
	add.l	#$E80A,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra	L1193
L1190
;	       v[0] = ctx->EvalMap.Map2Vertex3.u1;
	move.l	a0,a1
	add.l	#$E71A,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex3.u2;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Vertex3.v1;
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Vertex3.v2;
	add.l	#$E71A,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra.b	L1193
L1191
;	       v[0] = ctx->EvalMap.Map2Vertex4.u1;
	move.l	a0,a1
	add.l	#$E738,a1
	move.l	$8(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex4.u2;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$C(a1),fp0
	fmove.s	fp0,4(a2)
;	       v[2] = ctx->EvalMap.Map2Vertex4.v1;
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$10(a1),fp0
	fmove.s	fp0,$8(a2)
;	       v[3] = ctx->EvalMap.Map2Vertex4.v2;
	add.l	#$E738,a0
	fmove.s	$14(a0),fp0
	fmove.s	fp0,$C(a2)
;	       
	bra.b	L1193
L1192
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapfv(target)"
	move.l	#L1124,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1193
;         
	bra.b	L1195
L1194
;         gl_error( ctx, GL_INVALID_ENUM, "glGetMapfv(query)
	move.l	#L1125,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1195
	movem.l	(a7)+,d2/a2/a3
	rts

L1125
	dc.b	'glGetMapfv(query)',0
L1124
	dc.b	'glGetMapfv(target)',0

	SECTION "_gl_GetMapiv:0",CODE


;void gl_GetMapiv( GLcontext* ctx, GLenum target, GLenum query, GLint
	XDEF	_gl_GetMapiv
_gl_GetMapiv
	movem.l	d2/a2/a3,-(a7)
	movem.l	$14(a7),d0/d1/a2
	move.l	$10(a7),a0
L1208
;   switch (query)
	cmp.l	#$A01,d1
	beq	L1237
	bgt.b	L1443
	cmp.l	#$A00,d1
	beq.b	L1209
	bra	L1441
L1443
	cmp.l	#$A02,d1
	beq	L1258
	bra	L1441
;      
L1209
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1219
	bgt.b	L1444
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1228
	move.l	L1445(pc,d0.l*4),a1
	jmp	(a1)
L1445
	dc.l	L1210
	dc.l	L1211
	dc.l	L1212
	dc.l	L1213
	dc.l	L1214
	dc.l	L1215
	dc.l	L1216
	dc.l	L1217
	dc.l	L1218
L1444
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1228
	move.l	L1446(pc,d0.l*4),a1
	jmp	(a1)
L1446
	dc.l	L1220
	dc.l	L1221
	dc.l	L1222
	dc.l	L1223
	dc.l	L1224
	dc.l	L1225
	dc.l	L1226
	dc.l	L1227
;	    
L1210
;	       data = ctx->EvalMap.Map1Color4.Points;
	move.l	a0,a1
	add.l	#$E6AE,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Color4.Order * 4;
	add.l	#$E6AE,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1229
L1211
;	       data = ctx->EvalMap.Map1Index.Points;
	move.l	a0,a1
	add.l	#$E69C,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Index.Order;
	add.l	#$E69C,a0
	move.l	(a0),d2
;	       
	bra	L1229
L1212
;	       data = ctx->EvalMap.Map1Normal.Points;
	move.l	a0,a1
	add.l	#$E6C0,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Normal.Order * 3;
	add.l	#$E6C0,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1229
L1213
;	       data = ctx->EvalMap.Map1Texture1.Points;
	move.l	a0,a1
	add.l	#$E6D2,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture1.Order * 1;
	add.l	#$E6D2,a0
	move.l	(a0),d2
;	       
	bra	L1229
L1214
;	       data = ctx->EvalMap.Map1Texture2.Points;
	move.l	a0,a1
	add.l	#$E6E4,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture2.Order * 2;
	add.l	#$E6E4,a0
	move.l	(a0),d2
	moveq	#1,d0
	asl.l	d0,d2
;	       
	bra	L1229
L1215
;	       data = ctx->EvalMap.Map1Texture3.Points;
	move.l	a0,a1
	add.l	#$E6F6,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture3.Order * 3;
	add.l	#$E6F6,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1229
L1216
;	       data = ctx->EvalMap.Map1Texture4.Points;
	move.l	a0,a1
	add.l	#$E708,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Texture4.Order * 4;
	add.l	#$E708,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1229
L1217
;	       data = ctx->EvalMap.Map1Vertex3.Points;
	move.l	a0,a1
	add.l	#$E678,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Vertex3.Order * 3;
	add.l	#$E678,a0
	move.l	(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1229
L1218
;	       data = ctx->EvalMap.Map1Vertex4.Points;
	move.l	a0,a1
	add.l	#$E68A,a1
	move.l	$C(a1),a3
;	       n = ctx->EvalMap.Map1Vertex4.Order * 4;
	add.l	#$E68A,a0
	move.l	(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1229
L1219
;	       data = ctx->EvalMap.Map2Color4.Points;
	move.l	a0,a1
	add.l	#$E774,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Color4.Uorder
	move.l	a0,a1
	add.l	#$E774,a1
	add.l	#$E774,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra	L1229
L1220
;	       data = ctx->EvalMap.Map2Index.Points;
	move.l	a0,a1
	add.l	#$E756,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Index.Uorder
	move.l	a0,a1
	add.l	#$E756,a1
	add.l	#$E756,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
;	       
	bra	L1229
L1221
;	       data = ctx->EvalMap.Map2Normal.Points;
	move.l	a0,a1
	add.l	#$E792,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Normal.Uorder
	move.l	a0,a1
	add.l	#$E792,a1
	add.l	#$E792,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1229
L1222
;	       data = ctx->EvalMap.Map2Texture1.Points;
	move.l	a0,a1
	add.l	#$E7B0,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture1.Uorder
	move.l	a0,a1
	add.l	#$E7B0,a1
	add.l	#$E7B0,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
;	       
	bra	L1229
L1223
;	       data = ctx->EvalMap.Map2Texture2.Points;
	move.l	a0,a1
	add.l	#$E7CE,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture2.Uorder
	move.l	a0,a1
	add.l	#$E7CE,a1
	add.l	#$E7CE,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#1,d0
	asl.l	d0,d2
;	       
	bra	L1229
L1224
;	       data = ctx->EvalMap.Map2Texture3.Points;
	move.l	a0,a1
	add.l	#$E7EC,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture3.Uorder
	move.l	a0,a1
	add.l	#$E7EC,a1
	add.l	#$E7EC,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra	L1229
L1225
;	       data = ctx->EvalMap.Map2Texture4.Points;
	move.l	a0,a1
	add.l	#$E80A,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Texture4.Uorder
	move.l	a0,a1
	add.l	#$E80A,a1
	add.l	#$E80A,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra.b	L1229
L1226
;	       data = ctx->EvalMap.Map2Vertex3.Points;
	move.l	a0,a1
	add.l	#$E71A,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Vertex3.Uorder
	move.l	a0,a1
	add.l	#$E71A,a1
	add.l	#$E71A,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	mulu.l	#3,d2
;	       
	bra.b	L1229
L1227
;	       data = ctx->EvalMap.Map2Vertex4.Points;
	move.l	a0,a1
	add.l	#$E738,a1
	move.l	$18(a1),a3
;	       n = ctx->EvalMap.Map2Vertex4.Uorder
	move.l	a0,a1
	add.l	#$E738,a1
	add.l	#$E738,a0
	move.l	(a1),d2
	mulu.l	4(a0),d2
	moveq	#2,d0
	asl.l	d0,d2
;	       
	bra.b	L1229
L1228
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapiv(target)"
	move.l	#L1206,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1229
;	 if (data) 
	cmp.w	#0,a3
	beq.b	L1236
L1230
;	    for (i=0;
	moveq	#0,d0
	bra.b	L1235
L1231
;	       v[i] = ROUNDF(data[i]);
	fmove.s	0(a3,d0.l*4),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1233
L1232
	fmove.s	0(a3,d0.l*4),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	bra.b	L1234
L1233
	fmove.s	0(a3,d0.l*4),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
L1234
	move.l	d1,0(a2,d0.l*4)
	addq.l	#1,d0
L1235
	cmp.l	d2,d0
	blo.b	L1231
L1236
;         
	bra	L1442
L1237
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1247
	bgt.b	L1447
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1256
	move.l	L1448(pc,d0.l*4),a1
	jmp	(a1)
L1448
	dc.l	L1238
	dc.l	L1239
	dc.l	L1240
	dc.l	L1241
	dc.l	L1242
	dc.l	L1243
	dc.l	L1244
	dc.l	L1245
	dc.l	L1246
L1447
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1256
	move.l	L1449(pc,d0.l*4),a1
	jmp	(a1)
L1449
	dc.l	L1248
	dc.l	L1249
	dc.l	L1250
	dc.l	L1251
	dc.l	L1252
	dc.l	L1253
	dc.l	L1254
	dc.l	L1255
;	    
L1238
;	       *v = ctx->EvalMap.Map1Color4.Order;
	add.l	#$E6AE,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1239
;	       *v = ctx->EvalMap.Map1Index.Order;
	add.l	#$E69C,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1240
;	       *v = ctx->EvalMap.Map1Normal.Order;
	add.l	#$E6C0,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1241
;	       *v = ctx->EvalMap.Map1Texture1.Order;
	add.l	#$E6D2,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1242
;	       *v = ctx->EvalMap.Map1Texture2.Order;
	add.l	#$E6E4,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1243
;	       *v = ctx->EvalMap.Map1Texture3.Order;
	add.l	#$E6F6,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1244
;	       *v = ctx->EvalMap.Map1Texture4.Order;
	add.l	#$E708,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1245
;	       *v = ctx->EvalMap.Map1Vertex3.Order;
	add.l	#$E678,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1246
;	       *v = ctx->EvalMap.Map1Vertex4.Order;
	add.l	#$E68A,a0
	move.l	(a0),(a2)
;	       
	bra	L1257
L1247
;	       v[0] = ctx->EvalMap.Map2Color4.Uorder;
	move.l	a0,a1
	add.l	#$E774,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Color4.Vorder;
	add.l	#$E774,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra	L1257
L1248
;	       v[0] = ctx->EvalMap.Map2Index.Uorder;
	move.l	a0,a1
	add.l	#$E756,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Index.Vorder;
	add.l	#$E756,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra	L1257
L1249
;	       v[0] = ctx->EvalMap.Map2Normal.Uorder;
	move.l	a0,a1
	add.l	#$E792,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Normal.Vorder;
	add.l	#$E792,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra	L1257
L1250
;	       v[0] = ctx->EvalMap.Map2Texture1.Uorder;
	move.l	a0,a1
	add.l	#$E7B0,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture1.Vorder;
	add.l	#$E7B0,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra	L1257
L1251
;	       v[0] = ctx->EvalMap.Map2Texture2.Uorder;
	move.l	a0,a1
	add.l	#$E7CE,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture2.Vorder;
	add.l	#$E7CE,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra	L1257
L1252
;	       v[0] = ctx->EvalMap.Map2Texture3.Uorder;
	move.l	a0,a1
	add.l	#$E7EC,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture3.Vorder;
	add.l	#$E7EC,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra.b	L1257
L1253
;	       v[0] = ctx->EvalMap.Map2Texture4.Uorder;
	move.l	a0,a1
	add.l	#$E80A,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Texture4.Vorder;
	add.l	#$E80A,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra.b	L1257
L1254
;	       v[0] = ctx->EvalMap.Map2Vertex3.Uorder;
	move.l	a0,a1
	add.l	#$E71A,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex3.Vorder;
	add.l	#$E71A,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra.b	L1257
L1255
;	       v[0] = ctx->EvalMap.Map2Vertex4.Uorder;
	move.l	a0,a1
	add.l	#$E738,a1
	move.l	(a1),(a2)
;	       v[1] = ctx->EvalMap.Map2Vertex4.Vorder;
	add.l	#$E738,a0
	move.l	4(a0),d0
	move.l	d0,4(a2)
;	       
	bra.b	L1257
L1256
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapiv(target)"
	move.l	#L1206,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1257
;         
	bra	L1442
L1258
;	 switch (target)
	cmp.l	#$DB0,d0
	beq	L1322
	bgt.b	L1450
	sub.l	#$D90,d0
	cmp.l	#$8,d0
	bhi	L1439
	move.l	L1451(pc,d0.l*4),a1
	jmp	(a1)
L1451
	dc.l	L1259
	dc.l	L1266
	dc.l	L1273
	dc.l	L1280
	dc.l	L1287
	dc.l	L1294
	dc.l	L1301
	dc.l	L1308
	dc.l	L1315
L1450
	sub.l	#$DB1,d0
	cmp.l	#7,d0
	bhi	L1439
	move.l	L1452(pc,d0.l*4),a1
	jmp	(a1)
L1452
	dc.l	L1335
	dc.l	L1348
	dc.l	L1361
	dc.l	L1374
	dc.l	L1387
	dc.l	L1400
	dc.l	L1413
	dc.l	L1426
;	    
L1259
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Color4.u1);
	move.l	a0,a1
	add.l	#$E6AE,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1261
L1260
	move.l	a0,a1
	add.l	#$E6AE,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1262
L1261
	move.l	a0,a1
	add.l	#$E6AE,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1262
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Color4.u2);
	move.l	a0,a1
	add.l	#$E6AE,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1264
L1263
	add.l	#$E6AE,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1265
L1264
	add.l	#$E6AE,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1265
	move.l	d0,4(a2)
;	       
	bra	L1440
L1266
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Index.u1);
	move.l	a0,a1
	add.l	#$E69C,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1268
L1267
	move.l	a0,a1
	add.l	#$E69C,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1269
L1268
	move.l	a0,a1
	add.l	#$E69C,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1269
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Index.u2);
	move.l	a0,a1
	add.l	#$E69C,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1271
L1270
	add.l	#$E69C,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1272
L1271
	add.l	#$E69C,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1272
	move.l	d0,4(a2)
;	       
	bra	L1440
L1273
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Normal.u1);
	move.l	a0,a1
	add.l	#$E6C0,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1275
L1274
	move.l	a0,a1
	add.l	#$E6C0,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1276
L1275
	move.l	a0,a1
	add.l	#$E6C0,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1276
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Normal.u2);
	move.l	a0,a1
	add.l	#$E6C0,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1278
L1277
	add.l	#$E6C0,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1279
L1278
	add.l	#$E6C0,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1279
	move.l	d0,4(a2)
;	       
	bra	L1440
L1280
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Texture1.u1);
	move.l	a0,a1
	add.l	#$E6D2,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1282
L1281
	move.l	a0,a1
	add.l	#$E6D2,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1283
L1282
	move.l	a0,a1
	add.l	#$E6D2,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1283
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Texture1.u2);
	move.l	a0,a1
	add.l	#$E6D2,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1285
L1284
	add.l	#$E6D2,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1286
L1285
	add.l	#$E6D2,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1286
	move.l	d0,4(a2)
;	       
	bra	L1440
L1287
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Texture2.u1);
	move.l	a0,a1
	add.l	#$E6E4,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1289
L1288
	move.l	a0,a1
	add.l	#$E6E4,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1290
L1289
	move.l	a0,a1
	add.l	#$E6E4,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1290
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Texture2.u2);
	move.l	a0,a1
	add.l	#$E6E4,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1292
L1291
	add.l	#$E6E4,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1293
L1292
	add.l	#$E6E4,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1293
	move.l	d0,4(a2)
;	       
	bra	L1440
L1294
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Texture3.u1);
	move.l	a0,a1
	add.l	#$E6F6,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1296
L1295
	move.l	a0,a1
	add.l	#$E6F6,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1297
L1296
	move.l	a0,a1
	add.l	#$E6F6,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1297
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Texture3.u2);
	move.l	a0,a1
	add.l	#$E6F6,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1299
L1298
	add.l	#$E6F6,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1300
L1299
	add.l	#$E6F6,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1300
	move.l	d0,4(a2)
;	       
	bra	L1440
L1301
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Texture4.u1);
	move.l	a0,a1
	add.l	#$E708,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1303
L1302
	move.l	a0,a1
	add.l	#$E708,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1304
L1303
	move.l	a0,a1
	add.l	#$E708,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1304
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Texture4.u2);
	move.l	a0,a1
	add.l	#$E708,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1306
L1305
	add.l	#$E708,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1307
L1306
	add.l	#$E708,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1307
	move.l	d0,4(a2)
;	       
	bra	L1440
L1308
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Vertex3.u1);
	move.l	a0,a1
	add.l	#$E678,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1310
L1309
	move.l	a0,a1
	add.l	#$E678,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1311
L1310
	move.l	a0,a1
	add.l	#$E678,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1311
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Vertex3.u2);
	move.l	a0,a1
	add.l	#$E678,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1313
L1312
	add.l	#$E678,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1314
L1313
	add.l	#$E678,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1314
	move.l	d0,4(a2)
;	       
	bra	L1440
L1315
;	       v[0] = ROUNDF(ctx->EvalMap.Map1Vertex4.u1);
	move.l	a0,a1
	add.l	#$E68A,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1317
L1316
	move.l	a0,a1
	add.l	#$E68A,a1
	fmove.s	4(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1318
L1317
	move.l	a0,a1
	add.l	#$E68A,a1
	fmove.s	4(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1318
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map1Vertex4.u2);
	move.l	a0,a1
	add.l	#$E68A,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1320
L1319
	add.l	#$E68A,a0
	fmove.s	$8(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1321
L1320
	add.l	#$E68A,a0
	fmove.s	$8(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1321
	move.l	d0,4(a2)
;	       
	bra	L1440
L1322
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Color4.u1);
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1324
L1323
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1325
L1324
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1325
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Color4.u2);
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1327
L1326
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1328
L1327
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1328
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Color4.v1);
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1330
L1329
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1331
L1330
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1331
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Color4.v2);
	move.l	a0,a1
	add.l	#$E774,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1333
L1332
	add.l	#$E774,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1334
L1333
	add.l	#$E774,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1334
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1335
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Index.u1);
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1337
L1336
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1338
L1337
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1338
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Index.u2);
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1340
L1339
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1341
L1340
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1341
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Index.v1);
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1343
L1342
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1344
L1343
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1344
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Index.v2);
	move.l	a0,a1
	add.l	#$E756,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1346
L1345
	add.l	#$E756,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1347
L1346
	add.l	#$E756,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1347
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1348
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Normal.u1);
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1350
L1349
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1351
L1350
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1351
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Normal.u2);
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1353
L1352
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1354
L1353
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1354
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Normal.v1);
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1356
L1355
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1357
L1356
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1357
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Normal.v2);
	move.l	a0,a1
	add.l	#$E792,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1359
L1358
	add.l	#$E792,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1360
L1359
	add.l	#$E792,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1360
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1361
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Texture1.u1);
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1363
L1362
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1364
L1363
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1364
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Texture1.u2);
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1366
L1365
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1367
L1366
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1367
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Texture1.v1);
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1369
L1368
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1370
L1369
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1370
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Texture1.v2);
	move.l	a0,a1
	add.l	#$E7B0,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1372
L1371
	add.l	#$E7B0,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1373
L1372
	add.l	#$E7B0,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1373
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1374
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Texture2.u1);
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1376
L1375
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1377
L1376
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1377
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Texture2.u2);
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1379
L1378
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1380
L1379
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1380
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Texture2.v1);
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1382
L1381
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1383
L1382
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1383
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Texture2.v2);
	move.l	a0,a1
	add.l	#$E7CE,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1385
L1384
	add.l	#$E7CE,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1386
L1385
	add.l	#$E7CE,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1386
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1387
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Texture3.u1);
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1389
L1388
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1390
L1389
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1390
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Texture3.u2);
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1392
L1391
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1393
L1392
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1393
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Texture3.v1);
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1395
L1394
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1396
L1395
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1396
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Texture3.v2);
	move.l	a0,a1
	add.l	#$E7EC,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1398
L1397
	add.l	#$E7EC,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1399
L1398
	add.l	#$E7EC,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1399
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1400
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Texture4.u1);
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1402
L1401
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1403
L1402
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1403
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Texture4.u2);
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1405
L1404
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1406
L1405
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1406
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Texture4.v1);
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1408
L1407
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1409
L1408
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1409
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Texture4.v2);
	move.l	a0,a1
	add.l	#$E80A,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1411
L1410
	add.l	#$E80A,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1412
L1411
	add.l	#$E80A,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1412
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1413
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Vertex3.u1);
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1415
L1414
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1416
L1415
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1416
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Vertex3.u2);
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1418
L1417
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1419
L1418
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1419
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Vertex3.v1);
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1421
L1420
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1422
L1421
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1422
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Vertex3.v2);
	move.l	a0,a1
	add.l	#$E71A,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1424
L1423
	add.l	#$E71A,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1425
L1424
	add.l	#$E71A,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1425
	move.l	d0,$C(a2)
;	       
	bra	L1440
L1426
;	       v[0] = ROUNDF(ctx->EvalMap.Map2Vertex4.u1);
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1428
L1427
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$8(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1429
L1428
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$8(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1429
	move.l	d0,(a2)
;	       v[1] = ROUNDF(ctx->EvalMap.Map2Vertex4.u2);
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1431
L1430
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$C(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1432
L1431
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$C(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1432
	move.l	d0,4(a2)
;	       v[2] = ROUNDF(ctx->EvalMap.Map2Vertex4.v1);
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1434
L1433
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$10(a1),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1435
L1434
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$10(a1),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1435
	move.l	d0,$8(a2)
;	       v[3] = ROUNDF(ctx->EvalMap.Map2Vertex4.v2);
	move.l	a0,a1
	add.l	#$E738,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fboge.b	L1437
L1436
	add.l	#$E738,a0
	fmove.s	$14(a0),fp0
	fsub.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L1438
L1437
	add.l	#$E738,a0
	fmove.s	$14(a0),fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L1438
	move.l	d0,$C(a2)
;	       
	bra.b	L1440
L1439
;	       gl_error( ctx, GL_INVALID_ENUM, "glGetMapiv(target)"
	move.l	#L1206,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1440
;         
	bra.b	L1442
L1441
;         gl_error( ctx, GL_INVALID_ENUM, "glGetMapiv(query)
	move.l	#L1207,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L1442
	movem.l	(a7)+,d2/a2/a3
	rts

L1207
	dc.b	'glGetMapiv(query)',0
L1206
	dc.b	'glGetMapiv(target)',0

	SECTION "_gl_EvalCoord1f:0",CODE


;void gl_EvalCoord1f(GLcontext* ctx, GLfloat u)
	XDEF	_gl_EvalCoord1f
_gl_EvalCoord1f
L1476	EQU	-$64
	link	a5,#L1476
	movem.l	d2/a2/a3,-(a7)
	fmovem.x fp2/fp3,-(a7)
	move.l	$8(a5),a2
	fmove.s	$C(a5),fp2
L1453
;  if (ctx->Eval.Map1Vertex4) 
	tst.b	$22AE(a2)
	beq.b	L1455
L1454
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Vertex4;
	move.l	a2,a0
	add.l	#$E68A,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, vertex, uu, 4, map->Order)
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	pea	-$10(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
	bra.b	L1457
L1455
;  else if (ctx->Eval.Map1Vertex3) 
	tst.b	$22AD(a2)
	beq.b	L1457
L1456
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Vertex3;
	move.l	a2,a0
	add.l	#$E678,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, vertex, uu, 3, map->Order)
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	pea	-$10(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
;     vertex[3] = 1.0;
	lea	-$10(a5),a0
	move.l	#$3F800000,$C(a0)
L1457
;  if (ctx->Eval.Map1Index) 
	tst.b	$22A7(a2)
	beq.b	L1459
L1458
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Index;
	move.l	a2,a0
	add.l	#$E69C,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, &findex, uu, 1, map->Orde
	move.l	(a0),-(a7)
	pea	1.w
	fmove.s	fp0,-(a7)
	pea	-$54(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
;     index = (GLuint) (GLint) findex;
	fmove.s	-$54(a5),fp0
	fmove.l	fp0,d2
	bra.b	L1460
L1459
;     index = ctx->Current.Index;
	move.l	$221A(a2),d2
L1460
;  if (ctx->Eval.Map1Color4) 
	tst.b	$22A6(a2)
	beq	L1462
L1461
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Color4;
	move.l	a2,a0
	add.l	#$E6AE,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, fcolor, uu, 4, map->Order)
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	pea	-$2C(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
;     icolor[0] = (GLint) (fcolor[0] * 255.0F);
	fmove.s	-$2C(a5),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	move.b	d0,-$30(a5)
;     icolor[1] = (GLint) (fcolor[1] * 255.0F);
	lea	-$2C(a5),a0
	fmove.s	4(a0),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	lea	-$30(a5),a0
	move.b	d0,1(a0)
;     icolor[2] = (GLint) (fcolor[2] * 255.0F);
	lea	-$2C(a5),a0
	fmove.s	$8(a0),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	lea	-$30(a5),a0
	move.b	d0,2(a0)
;     icolor[3] = (GLint) (fcolor[3] * 255.0F);
	lea	-$2C(a5),a0
	fmove.s	$C(a0),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	lea	-$30(a5),a0
	move.b	d0,3(a0)
;     colorPtr = icolor;
	lea	-$30(a5),a0
	move.l	a0,a3
	bra.b	L1463
L1462
;     colorPtr = ctx->Current.ByteColor;
	move.l	#$2216,d0
	add.l	a2,d0
	move.l	d0,a3
L1463
;  if (ctx->Eval.Map1Normal) 
	tst.b	$22A8(a2)
	beq.b	L1465
L1464
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Normal;
	move.l	a2,a0
	add.l	#$E6C0,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, normal, uu, 3, map->Order)
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	pea	-$1C(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
	bra.b	L1466
L1465
;    normal[0] = ctx->Current.Normal[0];
	move.l	$221E(a2),-$1C(a5)
;    normal[1] = ctx->Current.Normal[1];
	lea	$221E(a2),a0
	fmove.s	4(a0),fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,4(a0)
;    normal[2] = ctx->Current.Normal[2];
	lea	$221E(a2),a0
	fmove.s	$8(a0),fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,$8(a0)
L1466
;  if (ctx->Eval.Map1TextureCoord4) 
	tst.b	$22AC(a2)
	beq.b	L1468
L1467
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Texture4;
	move.l	a2,a0
	add.l	#$E708,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, texcoord, uu, 4, map->Ord
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	pea	-$44(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
	bra	L1475
L1468
;  else if (ctx->Eval.Map1TextureCoord3) 
	tst.b	$22AB(a2)
	beq.b	L1470
L1469
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Texture3;
	move.l	a2,a0
	add.l	#$E6F6,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, texcoord, uu, 3, map->Ord
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	pea	-$44(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
;     texcoord[3] = 1.0;
	lea	-$44(a5),a0
	move.l	#$3F800000,$C(a0)
	bra	L1475
L1470
;  else if (ctx->Eval.Map1TextureCoord2) 
	tst.b	$22AA(a2)
	beq.b	L1472
L1471
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Texture2;
	move.l	a2,a0
	add.l	#$E6E4,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, texcoord, uu, 2, map->Ord
	move.l	(a0),-(a7)
	pea	2.w
	fmove.s	fp0,-(a7)
	pea	-$44(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
;     texcoord[2] = 0.0;
	lea	-$44(a5),a0
	clr.l	$8(a0)
;     texcoord[3] = 1.0;
	lea	-$44(a5),a0
	move.l	#$3F800000,$C(a0)
	bra	L1475
L1472
;  else if (ctx->Eval.Map1TextureCoord1) 
	tst.b	$22A9(a2)
	beq.b	L1474
L1473
;     struct gl_1d_map *map = &ctx->EvalMap.Map1Texture1;
	move.l	a2,a0
	add.l	#$E6D2,a0
	lea	(a0),a0
;     uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp2,fp0
	fsub.s	4(a0),fp0
	fmove.s	$8(a0),fp1
	fsub.s	4(a0),fp1
	fdiv.x	fp1,fp0
;     horner_bezier_curve(map->Points, texcoord, uu, 1, map->Ord
	move.l	(a0),-(a7)
	pea	1.w
	fmove.s	fp0,-(a7)
	pea	-$44(a5)
	move.l	$C(a0),-(a7)
	jsr	_horner_bezier_curve
	add.w	#$14,a7
;     texcoord[1] = 0.0;
	lea	-$44(a5),a0
	clr.l	4(a0)
;     texcoord[2] = 0.0;
	lea	-$44(a5),a0
	clr.l	$8(a0)
;     texcoord[3] = 1.0;
	lea	-$44(a5),a0
	move.l	#$3F800000,$C(a0)
	bra.b	L1475
L1474
;     texcoord[0] = ctx->Current.TexCoord[0];
	move.l	$222A(a2),a0
	fmove.s	(a0),fp0
	fmove.s	fp0,-$44(a5)
;     texcoord[1] = ctx->Current.TexCoord[1];
	move.l	$222A(a2),a0
	fmove.s	4(a0),fp0
	lea	-$44(a5),a0
	fmove.s	fp0,4(a0)
;     texcoord[2] = ctx->Current.TexCoord[2];
	move.l	$222A(a2),a0
	fmove.s	$8(a0),fp0
	lea	-$44(a5),a0
	fmove.s	fp0,$8(a0)
;     texcoord[3] = ctx->Current.TexCoord[3];
	move.l	$222A(a2),a0
	fmove.s	$C(a0),fp0
	lea	-$44(a5),a0
	fmove.s	fp0,$C(a0)
L1475
;  gl_eval_vertex( ctx, vertex, normal, colorPtr, index, texcoord );
	pea	-$44(a5)
	move.l	d2,-(a7)
	move.l	a3,-(a7)
	pea	-$1C(a5)
	pea	-$10(a5)
	move.l	a2,-(a7)
	jsr	_gl_eval_vertex
	add.w	#$18,a7
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2/a2/a3
	unlk	a5
	rts

	SECTION "_gl_EvalCoord2f:0",CODE


;void gl_EvalCoord2f( GLcontext* ctx, GLfloat u, GLfloat v )
	XDEF	_gl_EvalCoord2f
_gl_EvalCoord2f
L1513	EQU	-$88
	link	a5,#L1513
	movem.l	d2/a2/a3,-(a7)
	fmovem.x fp2/fp3/fp4/fp5,-(a7)
	move.l	$8(a5),a2
	fmove.s	$10(a5),fp2
	fmove.s	$C(a5),fp3
L1477
;   if(ctx->Eval.Map2Vertex4) 
	tst.b	$22B7(a2)
	beq	L1484
L1478
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Vertex4;
	move.l	a2,a0
	add.l	#$E738,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp4
	fsub.s	$10(a0),fp4
	fdiv.x	fp4,fp0
;      if (ctx->Eval.AutoNormal) 
	tst.b	$22B8(a2)
	beq	L1482
L1479
;         de_casteljau_surf(map->Points, vertex, du, dv, uu,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$6C(a5)
	pea	-$5C(a5)
	pea	-$10(a5)
	move.l	$18(a0),-(a7)
	jsr	_de_casteljau_surf
	add.w	#$24,a7
;         CROSS_PROD(normal, du, dv)
	lea	-$5C(a5),a0
	fmove.s	4(a0),fp0
	lea	-$6C(a5),a0
	fmul.s	$8(a0),fp0
	lea	-$5C(a5),a0
	fmove.s	$8(a0),fp1
	lea	-$6C(a5),a0
	fmul.s	4(a0),fp1
	fsub.x	fp1,fp0
	fmove.s	fp0,-$1C(a5)
;         CROSS_PROD(normal, du, dv)
	lea	-$5C(a5),a0
	fmove.s	$8(a0),fp0
	fmul.s	-$6C(a5),fp0
	lea	-$6C(a5),a0
	fmove.s	-$5C(a5),fp1
	fmul.s	$8(a0),fp1
	fsub.x	fp1,fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,4(a0)
;         CROSS_PROD(normal, du, dv)
	lea	-$6C(a5),a0
	fmove.s	-$5C(a5),fp0
	fmul.s	4(a0),fp0
	lea	-$5C(a5),a0
	fmove.s	4(a0),fp1
	fmul.s	-$6C(a5),fp1
	fsub.x	fp1,fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,$8(a0)
;         NORMALIZE_3FV(normal)
	fmove.s	-$1C(a5),fp0
	fmul.s	-$1C(a5),fp0
	lea	-$1C(a5),a0
	fmove.s	4(a0),fp1
	lea	-$1C(a5),a0
	fmul.s	4(a0),fp1
	fadd.x	fp1,fp0
	lea	-$1C(a5),a0
	fmove.s	$8(a0),fp1
	lea	-$1C(a5),a0
	fmul.s	$8(a0),fp1
	fadd.x	fp1,fp0
	fmove.d	fp0,-(a7)
	jsr	_sqrt__r
	addq.w	#$8,a7
;         NORMALIZE_3FV(normal)
	fcmp.s	#$.38D1B717,fp0
	fbole.b	L1481
L1480
;         NORMALIZE_3FV(normal)
	fmove.s	#$.3F800000,fp1
	fdiv.x	fp0,fp1
	fmove.x	fp1,fp0
;         NORMALIZE_3FV(normal)
	lea	-$1C(a5),a0
	fmove.s	(a0),fp1
	fmul.x	fp0,fp1
	fmove.s	fp1,(a0)
;         NORMALIZE_3FV(normal)
	lea	-$1C(a5),a0
	addq.w	#4,a0
	fmove.s	(a0),fp1
	fmul.x	fp0,fp1
	fmove.s	fp1,(a0)
;         NORMALIZE_3FV(normal)
	lea	-$1C(a5),a0
	addq.w	#$8,a0
	fmove.s	(a0),fp1
	fmul.x	fp0,fp1
	fmove.s	fp1,(a0)
L1481
	bra.b	L1483
L1482
;         horner_bezier_surf(map->Points, vertex, uu, vv, 4,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$10(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
L1483
	bra	L1491
L1484
;   else if (ctx->Eval.Map2Vertex3) 
	tst.b	$22B6(a2)
	beq	L1491
L1485
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Vertex3;
	move.l	a2,a0
	add.l	#$E71A,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp4
	fsub.s	$10(a0),fp4
	fdiv.x	fp4,fp0
;      if (ctx->Eval.AutoNormal) 
	tst.b	$22B8(a2)
	beq	L1489
L1486
;         de_casteljau_surf(map->Points, vertex, du, dv, uu,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$64(a5)
	pea	-$58(a5)
	pea	-$10(a5)
	move.l	$18(a0),-(a7)
	jsr	_de_casteljau_surf
	add.w	#$24,a7
;         CROSS_PROD(normal, du, dv)
	lea	-$58(a5),a0
	fmove.s	4(a0),fp0
	lea	-$64(a5),a0
	fmul.s	$8(a0),fp0
	lea	-$58(a5),a0
	fmove.s	$8(a0),fp1
	lea	-$64(a5),a0
	fmul.s	4(a0),fp1
	fsub.x	fp1,fp0
	fmove.s	fp0,-$1C(a5)
;         CROSS_PROD(normal, du, dv)
	lea	-$58(a5),a0
	fmove.s	$8(a0),fp0
	fmul.s	-$64(a5),fp0
	lea	-$64(a5),a0
	fmove.s	-$58(a5),fp1
	fmul.s	$8(a0),fp1
	fsub.x	fp1,fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,4(a0)
;         CROSS_PROD(normal, du, dv)
	lea	-$64(a5),a0
	fmove.s	-$58(a5),fp0
	fmul.s	4(a0),fp0
	lea	-$58(a5),a0
	fmove.s	4(a0),fp1
	fmul.s	-$64(a5),fp1
	fsub.x	fp1,fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,$8(a0)
;         NORMALIZE_3FV(normal)
	fmove.s	-$1C(a5),fp0
	fmul.s	-$1C(a5),fp0
	lea	-$1C(a5),a0
	fmove.s	4(a0),fp1
	lea	-$1C(a5),a0
	fmul.s	4(a0),fp1
	fadd.x	fp1,fp0
	lea	-$1C(a5),a0
	fmove.s	$8(a0),fp1
	lea	-$1C(a5),a0
	fmul.s	$8(a0),fp1
	fadd.x	fp1,fp0
	fmove.d	fp0,-(a7)
	jsr	_sqrt__r
	addq.w	#$8,a7
;         NORMALIZE_3FV(normal)
	fcmp.s	#$.38D1B717,fp0
	fbole.b	L1488
L1487
;         NORMALIZE_3FV(normal)
	fmove.s	#$.3F800000,fp1
	fdiv.x	fp0,fp1
	fmove.x	fp1,fp0
;         NORMALIZE_3FV(normal)
	lea	-$1C(a5),a0
	fmove.s	(a0),fp1
	fmul.x	fp0,fp1
	fmove.s	fp1,(a0)
;         NORMALIZE_3FV(normal)
	lea	-$1C(a5),a0
	addq.w	#4,a0
	fmove.s	(a0),fp1
	fmul.x	fp0,fp1
	fmove.s	fp1,(a0)
;         NORMALIZE_3FV(normal)
	lea	-$1C(a5),a0
	addq.w	#$8,a0
	fmove.s	(a0),fp1
	fmul.x	fp0,fp1
	fmove.s	fp1,(a0)
L1488
	bra.b	L1490
L1489
;         horner_bezier_surf(map->Points, vertex, uu, vv, 3,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$10(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
L1490
;      vertex[3] = 1.0;
	lea	-$10(a5),a0
	move.l	#$3F800000,$C(a0)
L1491
;   if (ctx->Eval.Map2Index) 
	tst.b	$22B0(a2)
	beq.b	L1493
L1492
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Index;
	move.l	a2,a0
	add.l	#$E756,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp4
	fsub.s	$10(a0),fp4
	fdiv.x	fp4,fp0
;      horner_bezier_surf(map->Points, &findex, uu, vv, 1,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	1.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$74(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
;      index = (GLuint) (GLint) findex;
	fmove.s	-$74(a5),fp0
	fmove.l	fp0,d2
	bra.b	L1494
L1493
;      index = ctx->Current.Index;
	move.l	$221A(a2),d2
L1494
;   if (ctx->Eval.Map2Color4) 
	tst.b	$22AF(a2)
	beq	L1496
L1495
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Color4;
	move.l	a2,a0
	add.l	#$E774,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp4
	fsub.s	$10(a0),fp4
	fdiv.x	fp4,fp0
;      horner_bezier_surf(map->Points, fcolor, uu, vv, 4,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$2C(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
;      icolor[0] = (GLint) (fcolor[0] * 255.0F);
	fmove.s	-$2C(a5),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	move.b	d0,-$30(a5)
;      icolor[1] = (GLint) (fcolor[1] * 255.0F);
	lea	-$2C(a5),a0
	fmove.s	4(a0),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	lea	-$30(a5),a0
	move.b	d0,1(a0)
;      icolor[2] = (GLint) (fcolor[2] * 255.0F);
	lea	-$2C(a5),a0
	fmove.s	$8(a0),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	lea	-$30(a5),a0
	move.b	d0,2(a0)
;      icolor[3] = (GLint) (fcolor[3] * 255.0F);
	lea	-$2C(a5),a0
	fmove.s	$C(a0),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d0
	lea	-$30(a5),a0
	move.b	d0,3(a0)
;      colorPtr = icolor;
	lea	-$30(a5),a0
	move.l	a0,a3
	bra.b	L1497
L1496
;      colorPtr = ctx->Current.ByteColor;
	move.l	#$2216,d0
	add.l	a2,d0
	move.l	d0,a3
L1497
;   if (!ctx->Eval.AutoNormal
	tst.b	$22B8(a2)
	beq.b	L1500
L1498
	tst.b	$22B6(a2)
	bne	L1503
L1499
	tst.b	$22B7(a2)
	bne	L1503
L1500
;      if (ctx->Eval.Map2Normal) 
	tst.b	$22B1(a2)
	beq.b	L1502
L1501
;         struct gl_2d_map *map = &ctx->EvalMap.Map2Normal;
	move.l	a2,a0
	add.l	#$E792,a0
	lea	(a0),a0
;         uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;         vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp4
	fsub.s	$10(a0),fp4
	fdiv.x	fp4,fp0
;         horner_bezier_surf(map->Points, normal, uu, vv, 3,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$1C(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
	bra.b	L1503
L1502
;         normal[0] = ctx->Current.Normal[0];
	move.l	$221E(a2),-$1C(a5)
;         normal[1] = ctx->Current.Normal[1];
	lea	$221E(a2),a0
	fmove.s	4(a0),fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,4(a0)
;         normal[2] = ctx->Current.Normal[2];
	lea	$221E(a2),a0
	fmove.s	$8(a0),fp0
	lea	-$1C(a5),a0
	fmove.s	fp0,$8(a0)
L1503
;   if (ctx->Eval.Map2TextureCoord4) 
	tst.b	$22B5(a2)
	beq.b	L1505
L1504
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Texture4;
	move.l	a2,a0
	add.l	#$E80A,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp2
	fsub.s	$10(a0),fp2
	fdiv.x	fp2,fp0
;      horner_bezier_surf(map->Points, texcoord, uu, vv, 4,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	4.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$44(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
	bra	L1512
L1505
;   else if (ctx->Eval.Map2TextureCoord3) 
	tst.b	$22B4(a2)
	beq.b	L1507
L1506
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Texture3;
	move.l	a2,a0
	add.l	#$E7EC,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp2
	fsub.s	$10(a0),fp2
	fdiv.x	fp2,fp0
;      horner_bezier_surf(map->Points, texcoord, uu, vv, 3,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	3.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$44(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
;     texcoord[3] = 1.0;
	lea	-$44(a5),a0
	move.l	#$3F800000,$C(a0)
	bra	L1512
L1507
;   else if (ctx->Eval.Map2TextureCoord2) 
	tst.b	$22B3(a2)
	beq	L1509
L1508
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Texture2;
	move.l	a2,a0
	add.l	#$E7CE,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp2
	fsub.s	$10(a0),fp2
	fdiv.x	fp2,fp0
;      horner_bezier_surf(map->Points, texcoord, uu, vv, 2,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	2.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$44(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
;     texcoord[2] = 0.0;
	lea	-$44(a5),a0
	clr.l	$8(a0)
;     texcoord[3] = 1.0;
	lea	-$44(a5),a0
	move.l	#$3F800000,$C(a0)
	bra	L1512
L1509
;   else if (ctx->Eval.Map2TextureCoord1) 
	tst.b	$22B2(a2)
	beq	L1511
L1510
;      struct gl_2d_map *map = &ctx->EvalMap.Map2Texture1;
	move.l	a2,a0
	add.l	#$E7B0,a0
	lea	(a0),a0
;      uu = (u - map->u1) / (map->u2 - map->u1);
	fmove.x	fp3,fp1
	fsub.s	$8(a0),fp1
	fmove.s	$C(a0),fp0
	fsub.s	$8(a0),fp0
	fdiv.x	fp0,fp1
;      vv = (v - map->v1) / (map->v2 - map->v1);
	fmove.x	fp2,fp0
	fsub.s	$10(a0),fp0
	fmove.s	$14(a0),fp2
	fsub.s	$10(a0),fp2
	fdiv.x	fp2,fp0
;      horner_bezier_surf(map->Points, texcoord, uu, vv, 1,
	move.l	4(a0),-(a7)
	move.l	(a0),-(a7)
	pea	1.w
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	pea	-$44(a5)
	move.l	$18(a0),-(a7)
	jsr	_horner_bezier_surf
	add.w	#$1C,a7
;     texcoord[1] = 0.0;
	lea	-$44(a5),a0
	clr.l	4(a0)
;     texcoord[2] = 0.0;
	lea	-$44(a5),a0
	clr.l	$8(a0)
;     texcoord[3] = 1.0;
	lea	-$44(a5),a0
	move.l	#$3F800000,$C(a0)
	bra.b	L1512
L1511
;     texcoord[0] = ctx->Current.TexCoord[0];
	move.l	$222A(a2),a0
	fmove.s	(a0),fp0
	fmove.s	fp0,-$44(a5)
;     texcoord[1] = ctx->Current.TexCoord[1];
	move.l	$222A(a2),a0
	fmove.s	4(a0),fp0
	lea	-$44(a5),a0
	fmove.s	fp0,4(a0)
;     texcoord[2] = ctx->Current.TexCoord[2];
	move.l	$222A(a2),a0
	fmove.s	$8(a0),fp0
	lea	-$44(a5),a0
	fmove.s	fp0,$8(a0)
;     texcoord[3] = ctx->Current.TexCoord[3];
	move.l	$222A(a2),a0
	fmove.s	$C(a0),fp0
	lea	-$44(a5),a0
	fmove.s	fp0,$C(a0)
L1512
;   gl_eval_vertex( ctx, vertex, normal, colorPtr, index, texcoord
	pea	-$44(a5)
	move.l	d2,-(a7)
	move.l	a3,-(a7)
	pea	-$1C(a5)
	pea	-$10(a5)
	move.l	a2,-(a7)
	jsr	_gl_eval_vertex
	add.w	#$18,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2/a2/a3
	unlk	a5
	rts

	SECTION "_gl_MapGrid1f:0",CODE


;void gl_MapGrid1f( GLcontext* ctx, GLint un, GLfloat u1, GLfloat u2 )
	XDEF	_gl_MapGrid1f
_gl_MapGrid1f
	move.l	$8(a7),d0
	move.l	4(a7),a0
	fmove.s	$10(a7),fp0
	fmove.s	$C(a7),fp1
L1515
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a1
	add.l	#$E968,a1
	move.l	(a1),d1
	cmp.l	#$1A00,d1
	beq.b	L1517
L1516
;      gl_error( ctx, GL_INVALID_OPERATION, "glMapGrid1f" );
	move.l	#L1514,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L1517
;   if (un<1) 
	cmp.l	#1,d0
	bge.b	L1519
L1518
;      gl_error( ctx, GL_INVALID_VALUE, "glMapGrid1f" );
	move.l	#L1514,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L1519
;   ctx->Eval.MapGrid1un = un;
	move.l	d0,$22BA(a0)
;   ctx->Eval.MapGrid1u1 = u1;
	fmove.s	fp1,$22BE(a0)
;   ctx->Eval.MapGrid1u2 = u2;
	fmove.s	fp0,$22C2(a0)
	rts

L1514
	dc.b	'glMapGrid1f',0

	SECTION "_gl_MapGrid2f:0",CODE


;void gl_MapGrid2f( GLcontext* ctx, GLint un, GLfloat u1, GLfloat u2,
	XDEF	_gl_MapGrid2f
_gl_MapGrid2f
	move.l	d2,-(a7)
	fmovem.x fp2/fp3,-(a7)
	move.l	$30(a7),d0
	move.l	$24(a7),d1
	move.l	$20(a7),a0
	fmove.s	$38(a7),fp0
	fmove.s	$34(a7),fp1
	fmove.s	$2C(a7),fp2
	fmove.s	$28(a7),fp3
L1523
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a1
	add.l	#$E968,a1
	move.l	(a1),d2
	cmp.l	#$1A00,d2
	beq.b	L1525
L1524
;      gl_error( ctx, GL_INVALID_OPERATION, "glMapGrid2f" );
	move.l	#L1520,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	move.l	(a7)+,d2
	rts
L1525
;   if (un<1) 
	cmp.l	#1,d1
	bge.b	L1527
L1526
;      gl_error( ctx, GL_INVALID_VALUE, "glMapGrid2f(un)" );
	move.l	#L1521,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	move.l	(a7)+,d2
	rts
L1527
;   if (vn<1) 
	cmp.l	#1,d0
	bge.b	L1529
L1528
;      gl_error( ctx, GL_INVALID_VALUE, "glMapGrid2f(vn)" );
	move.l	#L1522,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3
	move.l	(a7)+,d2
	rts
L1529
;   ctx->Eval.MapGrid2un = un;
	move.l	d1,$22C6(a0)
;   ctx->Eval.MapGrid2u1 = u1;
	fmove.s	fp3,$22CE(a0)
;   ctx->Eval.MapGrid2u2 = u2;
	fmove.s	fp2,$22D2(a0)
;   ctx->Eval.MapGrid2vn = vn;
	move.l	d0,$22CA(a0)
;   ctx->Eval.MapGrid2v1 = v1;
	fmove.s	fp1,$22D6(a0)
;   ctx->Eval.MapGrid2v2 = v2;
	fmove.s	fp0,$22DA(a0)
	fmovem.x (a7)+,fp2/fp3
	move.l	(a7)+,d2
	rts

L1520
	dc.b	'glMapGrid2f',0
L1521
	dc.b	'glMapGrid2f(un)',0
L1522
	dc.b	'glMapGrid2f(vn)',0

	SECTION "_gl_EvalPoint1:0",CODE


;void gl_EvalPoint1( GLcontext* ctx, GLint i )
	XDEF	_gl_EvalPoint1
_gl_EvalPoint1
	move.l	$8(a7),d0
	move.l	4(a7),a0
L1530
;   if (i==0) 
	tst.l	d0
	bne.b	L1532
L1531
;      u = ctx->Eval.MapGrid1u1;
	fmove.s	$22BE(a0),fp0
	bra.b	L1535
L1532
;   else if (i==ctx->Eval.MapGrid1un) 
	cmp.l	$22BA(a0),d0
	bne.b	L1534
L1533
;      u = ctx->Eval.MapGrid1u2;
	fmove.s	$22C2(a0),fp0
	bra.b	L1535
L1534
;      du = (ctx->Eval.MapGrid1u2 - ctx->Eval.MapGrid1u1)
	fmove.s	$22C2(a0),fp1
	fsub.s	$22BE(a0),fp1
	fmove.l	$22BA(a0),fp0
	fdiv.x	fp0,fp1
;      u = i * du + ctx->Eval.MapGrid1u1;
	fmove.l	d0,fp0
	fmul.x	fp1,fp0
	fadd.s	$22BE(a0),fp0
L1535
;   gl_EvalCoord1f( ctx, u );
	fmove.s	fp0,-(a7)
	move.l	a0,-(a7)
	jsr	_gl_EvalCoord1f
	addq.w	#$8,a7
	rts

	SECTION "_gl_EvalPoint2:0",CODE


;void gl_EvalPoint2( GLcontext* ctx, GLint i, GLint j )
	XDEF	_gl_EvalPoint2
_gl_EvalPoint2
	move.l	d2,-(a7)
	fmovem.x fp2,-(a7)
	move.l	$1C(a7),d0
	move.l	$18(a7),d1
	move.l	$14(a7),a0
L1536
;   if (i==0) 
	tst.l	d1
	bne.b	L1538
L1537
;      u = ctx->Eval.MapGrid2u1;
	fmove.s	$22CE(a0),fp1
	bra.b	L1541
L1538
;   else if (i==ctx->Eval.MapGrid2un) 
	cmp.l	$22C6(a0),d1
	bne.b	L1540
L1539
;      u = ctx->Eval.MapGrid2u2;
	fmove.s	$22D2(a0),fp1
	bra.b	L1541
L1540
;      du = (ctx->Eval.MapGrid2u2 - ctx->Eval.MapGrid2u1)
	fmove.s	$22D2(a0),fp0
	fsub.s	$22CE(a0),fp0
	fmove.l	$22C6(a0),fp1
	fdiv.x	fp1,fp0
;      u = i * du + ctx->Eval.MapGrid2u1;
	fmove.l	d1,fp1
	fmul.x	fp0,fp1
	fadd.s	$22CE(a0),fp1
L1541
;   if (j==0) 
	tst.l	d0
	bne.b	L1543
L1542
;      v = ctx->Eval.MapGrid2v1;
	fmove.s	$22D6(a0),fp0
	bra.b	L1546
L1543
;   else if (j==ctx->Eval.MapGrid2vn) 
	cmp.l	$22CA(a0),d0
	bne.b	L1545
L1544
;      v = ctx->Eval.MapGrid2v2;
	fmove.s	$22DA(a0),fp0
	bra.b	L1546
L1545
;      dv = (ctx->Eval.MapGrid2v2 - ctx->Eval.MapGrid2v1)
	fmove.s	$22DA(a0),fp2
	fsub.s	$22D6(a0),fp2
	fmove.l	$22CA(a0),fp0
	fdiv.x	fp0,fp2
;      v = j * dv + ctx->Eval.MapGrid2v1;
	fmove.l	d0,fp0
	fmul.x	fp2,fp0
	fadd.s	$22D6(a0),fp0
L1546
;   gl_EvalCoord2f( ctx, u, v );
	fmove.s	fp0,-(a7)
	fmove.s	fp1,-(a7)
	move.l	a0,-(a7)
	jsr	_gl_EvalCoord2f
	add.w	#$C,a7
	fmovem.x (a7)+,fp2
	move.l	(a7)+,d2
	rts

	SECTION "_gl_EvalMesh1:0",CODE


;void gl_EvalMesh1( GLcontext* ctx, GLenum mode, GLint i1, GLint i2 )
	XDEF	_gl_EvalMesh1
_gl_EvalMesh1
	movem.l	d2/d3/a2,-(a7)
	fmovem.x fp2,-(a7)
	movem.l	$20(a7),d1-d3
	move.l	$1C(a7),a2
L1549
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a2,a0
	add.l	#$E968,a0
	move.l	(a0),d0
	cmp.l	#$1A00,d0
	beq.b	L1551
L1550
;      gl_error( ctx, GL_INVALID_OPERATION, "glEvalMesh1" );
	move.l	#L1547,-(a7)
	pea	$502.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2
	movem.l	(a7)+,d2/d3/a2
	rts
L1551
;   switch (mode)
	cmp.l	#$1B00,d1
	beq.b	L1552
	cmp.l	#$1B01,d1
	beq.b	L1553
	bra.b	L1554
;      
L1552
;         prim = GL_POINTS;
	moveq	#0,d0
;         
	bra.b	L1555
L1553
;         prim = GL_LINE_STRIP;
	moveq	#3,d0
;         
	bra.b	L1555
L1554
;         gl_error( ctx, GL_INVALID_ENUM, "glEvalMesh1(mode)
	move.l	#L1548,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2
	movem.l	(a7)+,d2/d3/a2
	rts
L1555
;         return;
;   du = (ctx->Eval.MapGrid1u2 - ctx->Eval.MapGrid1u1)
	fmove.s	$22C2(a2),fp2
	fsub.s	$22BE(a2),fp2
	fmove.l	$22BA(a2),fp0
	fdiv.x	fp0,fp2
;   gl_Begin( ctx, prim );
	move.l	d0,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_Begin
	addq.w	#$8,a7
;   for (i=i1;
	bra.b	L1562
L1556
;      if (i==0) 
	tst.l	d2
	bne.b	L1558
L1557
;         u = ctx->Eval.MapGrid1u1;
	fmove.s	$22BE(a2),fp0
	bra.b	L1561
L1558
;      else if (i==ctx->Eval.MapGrid1un) 
	cmp.l	$22BA(a2),d2
	bne.b	L1560
L1559
;         u = ctx->Eval.MapGrid1u2;
	fmove.s	$22C2(a2),fp0
	bra.b	L1561
L1560
;         u = i * du + ctx->Eval.MapGrid1u1;
	fmove.l	d2,fp0
	fmul.x	fp2,fp0
	fadd.s	$22BE(a2),fp0
L1561
;      gl_EvalCoord1f( ctx, u );
	fmove.s	fp0,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_EvalCoord1f
	addq.w	#$8,a7
	addq.l	#1,d2
L1562
	cmp.l	d3,d2
	ble.b	L1556
L1563
;   gl_End(ctx);
	move.l	a2,-(a7)
	jsr	_gl_End
	addq.w	#4,a7
	fmovem.x (a7)+,fp2
	movem.l	(a7)+,d2/d3/a2
	rts

L1547
	dc.b	'glEvalMesh1',0
L1548
	dc.b	'glEvalMesh1(mode)',0

	SECTION "_gl_EvalMesh2:0",CODE


;void gl_EvalMesh2( GLcontext* ctx, GLenum mode, GLint i1, GLint i2, 
	XDEF	_gl_EvalMesh2
_gl_EvalMesh2
	movem.l	d2-d7/a2,-(a7)
	fmovem.x fp2/fp3/fp4/fp5/fp6,-(a7)
	movem.l	$60(a7),d1/d6
	movem.l	$68(a7),d4/d7
	move.l	$70(a7),d5
	move.l	$5C(a7),a2
L1566
;	if (INSIDE_BEGIN_END(ctx)) 
	move.l	a2,a0
	add.l	#$E968,a0
	move.l	(a0),d0
	cmp.l	#$1A00,d0
	beq.b	L1568
L1567
;		gl_error( ctx, GL_INVALID_OPERATION, "glEvalMesh2" );
	move.l	#L1564,-(a7)
	pea	$502.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6
	movem.l	(a7)+,d2-d7/a2
	rts
L1568
;	du = (ctx->Eval.MapGrid2u2 - ctx->Eval.MapGrid2u1)
	fmove.s	$22D2(a2),fp4
	fsub.s	$22CE(a2),fp4
	fmove.l	$22C6(a2),fp0
	fdiv.x	fp0,fp4
;	dv = (ctx->Eval.MapGrid2v2 - ctx->Eval.MapGrid2v1)
	fmove.s	$22DA(a2),fp0
	fsub.s	$22D6(a2),fp0
	fmove.x	fp0,fp6
	fmove.l	$22CA(a2),fp0
	fmove.x	fp6,fp1
	fdiv.x	fp0,fp1
	fmove.x	fp1,fp6
;	switch (mode)
	cmp.l	#$1B01,d1
	beq	L1586
	bgt.b	L1643
	cmp.l	#$1B00,d1
	beq.b	L1569
	bra	L1641
L1643
	cmp.l	#$1B02,d1
	beq	L1619
	bra	L1641
;	
L1569
;		gl_Begin( ctx, GL_POINTS );
	clr.l	-(a7)
	move.l	a2,-(a7)
	jsr	_gl_Begin
	addq.w	#$8,a7
;		for (j=j1;
	move.l	d7,d3
	bra.b	L1584
L1570
;			J_TO_V( j, v )
	tst.l	d3
	bne.b	L1572
L1571
;			J_TO_V( j, v )
	fmove.s	$22D6(a2),fp3
	bra.b	L1575
L1572
;			J_TO_V( j, v )
	cmp.l	$22CA(a2),d3
	bne.b	L1574
L1573
;			J_TO_V( j, v )
	fmove.s	$22DA(a2),fp3
	bra.b	L1575
L1574
;			J_TO_V( j, v )
	fmove.l	d3,fp3
	fmul.x	fp6,fp3
	fadd.s	$22D6(a2),fp3
L1575
;			for (i=i1;
	move.l	d6,d2
	bra.b	L1582
L1576
;				I_TO_U( i, u )
	tst.l	d2
	bne.b	L1578
L1577
;				I_TO_U( i, u )
	fmove.s	$22CE(a2),fp2
	bra.b	L1581
L1578
;				I_TO_U( i, u )
	cmp.l	$22C6(a2),d2
	bne.b	L1580
L1579
;				I_TO_U( i, u )
	fmove.s	$22D2(a2),fp2
	bra.b	L1581
L1580
;				I_TO_U( i, u )
	fmove.l	d2,fp2
	fmul.x	fp4,fp2
	fadd.s	$22CE(a2),fp2
L1581
;				gl_EvalCoord2f( ctx, u, v );
	fmove.s	fp3,-(a7)
	fmove.s	fp2,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_EvalCoord2f
	add.w	#$C,a7
	addq.l	#1,d2
L1582
	cmp.l	d4,d2
	ble.b	L1576
L1583
	addq.l	#1,d3
L1584
	cmp.l	d5,d3
	ble.b	L1570
L1585
;		gl_End(ctx);
	move.l	a2,-(a7)
	jsr	_gl_End
	addq.w	#4,a7
;		
	bra	L1642
L1586
;		for (j=j1;
	move.l	d7,d3
	bra	L1601
L1587
;			J_TO_V( j, v )
	tst.l	d3
	bne.b	L1589
L1588
;			J_TO_V( j, v )
	fmove.s	$22D6(a2),fp3
	bra.b	L1592
L1589
;			J_TO_V( j, v )
	cmp.l	$22CA(a2),d3
	bne.b	L1591
L1590
;			J_TO_V( j, v )
	fmove.s	$22DA(a2),fp3
	bra.b	L1592
L1591
;			J_TO_V( j, v )
	fmove.l	d3,fp3
	fmul.x	fp6,fp3
	fadd.s	$22D6(a2),fp3
L1592
;			gl_Begin( ctx, GL_LINE_STRIP );
	pea	3.w
	move.l	a2,-(a7)
	jsr	_gl_Begin
	addq.w	#$8,a7
;			for (i=i1;
	move.l	d6,d2
	bra.b	L1599
L1593
;				I_TO_U( i, u )
	tst.l	d2
	bne.b	L1595
L1594
;				I_TO_U( i, u )
	fmove.s	$22CE(a2),fp2
	bra.b	L1598
L1595
;				I_TO_U( i, u )
	cmp.l	$22C6(a2),d2
	bne.b	L1597
L1596
;				I_TO_U( i, u )
	fmove.s	$22D2(a2),fp2
	bra.b	L1598
L1597
;				I_TO_U( i, u )
	fmove.l	d2,fp2
	fmul.x	fp4,fp2
	fadd.s	$22CE(a2),fp2
L1598
;				gl_EvalCoord2f( ctx, u, v );
	fmove.s	fp3,-(a7)
	fmove.s	fp2,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_EvalCoord2f
	add.w	#$C,a7
	addq.l	#1,d2
L1599
	cmp.l	d4,d2
	ble.b	L1593
L1600
;			gl_End(ctx);
	move.l	a2,-(a7)
	jsr	_gl_End
	addq.w	#4,a7
	addq.l	#1,d3
L1601
	cmp.l	d5,d3
	ble	L1587
L1602
;		for (i=i1;
	move.l	d6,d2
	bra	L1617
L1603
;			I_TO_U( i, u )
	tst.l	d2
	bne.b	L1605
L1604
;			I_TO_U( i, u )
	fmove.s	$22CE(a2),fp2
	bra.b	L1608
L1605
;			I_TO_U( i, u )
	cmp.l	$22C6(a2),d2
	bne.b	L1607
L1606
;			I_TO_U( i, u )
	fmove.s	$22D2(a2),fp2
	bra.b	L1608
L1607
;			I_TO_U( i, u )
	fmove.l	d2,fp2
	fmul.x	fp4,fp2
	fadd.s	$22CE(a2),fp2
L1608
;			gl_Begin( ctx, GL_LINE_STRIP );
	pea	3.w
	move.l	a2,-(a7)
	jsr	_gl_Begin
	addq.w	#$8,a7
;			for (j=j1;
	move.l	d7,d3
	bra.b	L1615
L1609
;				J_TO_V( j, v )
	tst.l	d3
	bne.b	L1611
L1610
;				J_TO_V( j, v )
	fmove.s	$22D6(a2),fp3
	bra.b	L1614
L1611
;				J_TO_V( j, v )
	cmp.l	$22CA(a2),d3
	bne.b	L1613
L1612
;				J_TO_V( j, v )
	fmove.s	$22DA(a2),fp3
	bra.b	L1614
L1613
;				J_TO_V( j, v )
	fmove.l	d3,fp3
	fmul.x	fp6,fp3
	fadd.s	$22D6(a2),fp3
L1614
;				gl_EvalCoord2f( ctx, u, v );
	fmove.s	fp3,-(a7)
	fmove.s	fp2,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_EvalCoord2f
	add.w	#$C,a7
	addq.l	#1,d3
L1615
	cmp.l	d5,d3
	ble.b	L1609
L1616
;			gl_End(ctx);
	move.l	a2,-(a7)
	jsr	_gl_End
	addq.w	#4,a7
	addq.l	#1,d2
L1617
	cmp.l	d4,d2
	ble	L1603
L1618
;		
	bra	L1642
L1619
;		for (j=j1;
	move.l	d7,d3
	bra	L1639
L1620
;			gl_Begin( ctx, GL_TRIANGLE_STRIP );
	pea	5.w
	move.l	a2,-(a7)
	jsr	_gl_Begin
	addq.w	#$8,a7
;			J_TO_V( j, v1 )
	tst.l	d3
	bne.b	L1622
L1621
;			J_TO_V( j, v1 )
	fmove.s	$22D6(a2),fp5
	bra.b	L1625
L1622
;			J_TO_V( j, v1 )
	cmp.l	$22CA(a2),d3
	bne.b	L1624
L1623
;			J_TO_V( j, v1 )
	fmove.s	$22DA(a2),fp5
	bra.b	L1625
L1624
;			J_TO_V( j, v1 )
	fmove.l	d3,fp5
	fmul.x	fp6,fp5
	fadd.s	$22D6(a2),fp5
L1625
;			J_TO_V( j+1, v2 )
	move.l	d3,d0
	addq.l	#1,d0
	tst.l	d0
	bne.b	L1627
L1626
;			J_TO_V( j+1, v2 )
	fmove.s	$22D6(a2),fp3
	bra.b	L1630
L1627
;			J_TO_V( j+1, v2 )
	move.l	d3,d1
	addq.l	#1,d1
	cmp.l	$22CA(a2),d1
	bne.b	L1629
L1628
;			J_TO_V( j+1, v2 )
	fmove.s	$22DA(a2),fp3
	bra.b	L1630
L1629
;			J_TO_V( j+1, v2 )
	move.l	d3,d0
	addq.l	#1,d0
	fmove.l	d0,fp3
	fmul.x	fp6,fp3
	fadd.s	$22D6(a2),fp3
L1630
;			for (i=i1;
	move.l	d6,d2
	bra.b	L1637
L1631
;				I_TO_U( i, u )
	tst.l	d2
	bne.b	L1633
L1632
;				I_TO_U( i, u )
	fmove.s	$22CE(a2),fp2
	bra.b	L1636
L1633
;				I_TO_U( i, u )
	cmp.l	$22C6(a2),d2
	bne.b	L1635
L1634
;				I_TO_U( i, u )
	fmove.s	$22D2(a2),fp2
	bra.b	L1636
L1635
;				I_TO_U( i, u )
	fmove.l	d2,fp2
	fmul.x	fp4,fp2
	fadd.s	$22CE(a2),fp2
L1636
;				gl_EvalCoord2f( ctx, u, v1 );
	fmove.s	fp5,-(a7)
	fmove.s	fp2,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_EvalCoord2f
	add.w	#$C,a7
;				gl_EvalCoord2f( ctx, u, v2 );
	fmove.s	fp3,-(a7)
	fmove.s	fp2,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_EvalCoord2f
	add.w	#$C,a7
	addq.l	#1,d2
L1637
	cmp.l	d4,d2
	ble.b	L1631
L1638
;			gl_End(ctx);
	move.l	a2,-(a7)
	jsr	_gl_End
	addq.w	#4,a7
	addq.l	#1,d3
L1639
	cmp.l	d5,d3
	blt	L1620
L1640
;		
	bra.b	L1642
L1641
;		gl_error( ctx, GL_INVALID_ENUM, "glEvalMesh2(mode)" );
	move.l	#L1565,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6
	movem.l	(a7)+,d2-d7/a2
	rts
L1642
;		return;
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6
	movem.l	(a7)+,d2-d7/a2
	rts

L1564
	dc.b	'glEvalMesh2',0
L1565
	dc.b	'glEvalMesh2(mode)',0

	END
