
; Storm C Compiler
; Work2:Mesa3/Mesa-3.0/src/pixel.c
	mc68030
	mc68881
	XREF	_gl_error
	XREF	_q_memcpy
	XREF	_std__in
	XREF	_std__out
	XREF	_std__err
	XREF	_CC

	SECTION "_gl_PixelZoom:0",CODE


;void gl_PixelZoom( GLcontext *ctx, GLfloat xfactor, GLfloat yfactor )
	XDEF	_gl_PixelZoom
_gl_PixelZoom
	move.l	4(a7),a0
	fmove.s	$C(a7),fp0
	fmove.s	$8(a7),fp1
L256
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a1
	add.l	#$E968,a1
	move.l	(a1),d0
	cmp.l	#$1A00,d0
	beq.b	L258
L257
;      gl_error( ctx, GL_INVALID_OPERATION, "glPixelZoom" );
	move.l	#L255,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L258
;   ctx->Pixel.ZoomX = xfactor;
	move.l	a0,a1
	add.l	#$B1A0,a1
	fmove.s	fp1,(a1)
;   ctx->Pixel.ZoomY = yfactor;
	add.l	#$B1A4,a0
	fmove.s	fp0,(a0)
	rts

L255
	dc.b	'glPixelZoom',0

	SECTION "_gl_PixelStorei:0",CODE

	rts

;void gl_PixelStorei( GLcontext *ctx, GLenum pname, GLint param )
	XDEF	_gl_PixelStorei
_gl_PixelStorei
	move.l	d2,-(a7)
	move.l	$10(a7),d0
	move.l	$C(a7),d2
	move.l	$8(a7),a0
L261
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a1
	add.l	#$E968,a1
	move.l	(a1),d1
	cmp.l	#$1A00,d1
	beq.b	L263
L262
;      gl_error( ctx, GL_INVALID_OPERATION, "glPixelStore" );
	move.l	#L259,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,d2
	rts
L263
;   switch (pname)
	sub.l	#$CF0,d2
	cmp.l	#$15,d2
	bhi	L318
	move.l	L320(pc,d2.l*4),a1
	jmp	(a1)
L320
	dc.l	L291
	dc.l	L295
	dc.l	L299
	dc.l	L307
	dc.l	L303
	dc.l	L311
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L318
	dc.l	L264
	dc.l	L268
	dc.l	L272
	dc.l	L280
	dc.l	L276
	dc.l	L284
;      
L264
;         ctx->Pack.SwapBytes = param ? GL_TRUE : GL_FALSE;
	tst.l	d0
	beq.b	L266
L265
	moveq	#1,d0
	bra.b	L267
L266
	moveq	#0,d0
L267
	add.l	#$E65C,a0
	move.b	d0,(a0)
;	 
	bra	L319
L268
;         ctx->Pack.LsbFirst = param ? GL_TRUE : GL_FALSE;
	tst.l	d0
	beq.b	L270
L269
	moveq	#1,d0
	bra.b	L271
L270
	moveq	#0,d0
L271
	add.l	#$E65D,a0
	move.b	d0,(a0)
;	 
	bra	L319
L272
;	 if (param<0) 
	tst.l	d0
	bpl.b	L274
L273
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L275
L274
;	    ctx->Pack.RowLength = param;
	add.l	#$E648,a0
	move.l	d0,(a0)
L275
;	 
	bra	L319
L276
;	 if (param<0) 
	tst.l	d0
	bpl.b	L278
L277
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L279
L278
;	    ctx->Pack.SkipPixels = param;
	add.l	#$E64C,a0
	move.l	d0,(a0)
L279
;	 
	bra	L319
L280
;	 if (param<0) 
	tst.l	d0
	bpl.b	L282
L281
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L283
L282
;	    ctx->Pack.SkipRows = param;
	add.l	#$E650,a0
	move.l	d0,(a0)
L283
;	 
	bra	L319
L284
;         if (param==1 || param==2 || param==4 || param==8) 
	cmp.l	#1,d0
	beq.b	L288
L285
	cmp.l	#2,d0
	beq.b	L288
L286
	cmp.l	#4,d0
	beq.b	L288
L287
	cmp.l	#$8,d0
	bne.b	L289
L288
;	    ctx->Pack.Alignment = param;
	add.l	#$E644,a0
	move.l	d0,(a0)
	bra.b	L290
L289
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L290
;	 
	bra	L319
L291
;	 ctx->Unpack.SwapBytes = param ? GL_TRUE : GL_FALSE;
	tst.l	d0
	beq.b	L293
L292
	moveq	#1,d0
	bra.b	L294
L293
	moveq	#0,d0
L294
	add.l	#$E676,a0
	move.b	d0,(a0)
;         
	bra	L319
L295
;	 ctx->Unpack.LsbFirst = param ? GL_TRUE : GL_FALSE;
	tst.l	d0
	beq.b	L297
L296
	moveq	#1,d0
	bra.b	L298
L297
	moveq	#0,d0
L298
	add.l	#$E677,a0
	move.b	d0,(a0)
;	 
	bra	L319
L299
;	 if (param<0) 
	tst.l	d0
	bpl.b	L301
L300
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L302
L301
;	    ctx->Unpack.RowLength = param;
	add.l	#$E662,a0
	move.l	d0,(a0)
L302
;	 
	bra	L319
L303
;	 if (param<0) 
	tst.l	d0
	bpl.b	L305
L304
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L306
L305
;	    ctx->Unpack.SkipPixels = param;
	add.l	#$E666,a0
	move.l	d0,(a0)
L306
;	 
	bra	L319
L307
;	 if (param<0) 
	tst.l	d0
	bpl.b	L309
L308
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore(param)" );
	move.l	#L260,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L310
L309
;	    ctx->Unpack.SkipRows = param;
	add.l	#$E66A,a0
	move.l	d0,(a0)
L310
;	 
	bra.b	L319
L311
;         if (param==1 || param==2 || param==4 || param==8) 
	cmp.l	#1,d0
	beq.b	L315
L312
	cmp.l	#2,d0
	beq.b	L315
L313
	cmp.l	#4,d0
	beq.b	L315
L314
	cmp.l	#$8,d0
	bne.b	L316
L315
;	    ctx->Unpack.Alignment = param;
	add.l	#$E65E,a0
	move.l	d0,(a0)
	bra.b	L317
L316
;	    gl_error( ctx, GL_INVALID_VALUE, "glPixelStore" );
	move.l	#L259,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L317
;	 
	bra.b	L319
L318
;	 gl_error( ctx, GL_INVALID_ENUM, "glPixelStore" );
	move.l	#L259,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L319
	move.l	(a7)+,d2
	rts

L259
	dc.b	'glPixelStore',0
L260
	dc.b	'glPixelStore(param)',0

	SECTION "_gl_PixelMapfv:0",CODE


;         for (i=0;i<mapsize;i++) {
	XDEF	_gl_PixelMapfv
_gl_PixelMapfv
	movem.l	d2-d5/a2,-(a7)
	movem.l	$20(a7),d1/a0
	move.l	$1C(a7),d4
	move.l	$18(a7),a1
L324
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a1,a2
	add.l	#$E968,a2
	move.l	(a2),d0
	cmp.l	#$1A00,d0
	beq.b	L326
L325
;      gl_error( ctx, GL_INVALID_OPERATION, "glPixelMapfv" );
	move.l	#L321,-(a7)
	pea	$502.w
	move.l	a1,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	movem.l	(a7)+,d2-d5/a2
	rts
L326
;   if (mapsize<0 || mapsize>MAX_PIXEL_MAP_TABLE) 
	tst.l	d1
	bmi.b	L328
L327
	cmp.l	#$100,d1
	ble.b	L329
L328
;      gl_error( ctx, GL_INVALID_VALUE, "glPixelMapfv(mapsize)"
	move.l	#L322,-(a7)
	pea	$501.w
	move.l	a1,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	movem.l	(a7)+,d2-d5/a2
	rts
L329
;   if (map>=GL_PIXEL_MAP_S_TO_S && map<=GL_PIXEL_MAP_I_TO_A) 
	cmp.l	#$C71,d4
	blt.b	L338
L330
	cmp.l	#$C75,d4
	bgt.b	L338
L331
;      GLboolean ok = GL_FALSE;
	moveq	#0,d3
;      for (p=1;
	moveq	#1,d0
	bra.b	L335
L332
;	 if ( (p&mapsize) == p ) 
	move.l	d0,d2
	and.l	d1,d2
	cmp.l	d0,d2
	bne.b	L334
L333
;	    ok = GL_TRUE;
	moveq	#1,d3
;	    
	bra.b	L336
L334
	moveq	#1,d2
	asl.l	d2,d0
L335
	cmp.l	#$100,d0
	bls.b	L332
L336
;      if (!ok) 
	tst.b	d3
	bne.b	L338
L337
;	 gl_error( ctx, GL_INVALID_VALUE, "glPixelMapfv(mapsize)" );
	move.l	#L322,-(a7)
	pea	$501.w
	move.l	a1,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	movem.l	(a7)+,d2-d5/a2
	rts
L338
;   switch (map)
	sub.l	#$C70,d4
	cmp.l	#$9,d4
	bhi	L427
	move.l	L429(pc,d4.l*4),a2
	jmp	(a2)
L429
	dc.l	L343
	dc.l	L339
	dc.l	L347
	dc.l	L357
	dc.l	L367
	dc.l	L377
	dc.l	L387
	dc.l	L397
	dc.l	L407
	dc.l	L417
;      
L339
;         ctx->Pixel.MapStoSsize = mapsize;
	move.l	a1,a2
	add.l	#$B1A8,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L341
L340
;	    ctx->Pixel.MapStoS[i] = (GLint) values[i];
	fmove.s	0(a0,d0.l*4),fp0
	fmove.l	fp0,d2
	move.l	a1,a2
	add.l	#$B1D0,a2
	move.l	d2,0(a2,d0.l*4)
	addq.l	#1,d0
L341
	cmp.l	d1,d0
	blt.b	L340
L342
;	 
	bra	L428
L343
;         ctx->Pixel.MapItoIsize = mapsize;
	move.l	a1,a2
	add.l	#$B1AC,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L345
L344
;	    ctx->Pixel.MapItoI[i] = (GLint) values[i];
	fmove.s	0(a0,d0.l*4),fp0
	fmove.l	fp0,d2
	move.l	a1,a2
	add.l	#$B5D0,a2
	move.l	d2,0(a2,d0.l*4)
	addq.l	#1,d0
L345
	cmp.l	d1,d0
	blt.b	L344
L346
;	 
	bra	L428
L347
;         ctx->Pixel.MapItoRsize = mapsize;
	move.l	a1,a2
	add.l	#$B1B0,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L355
L348
;            GLfloat val = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L350
L349
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L354
L350
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L352
L351
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L353
L352
	fmove.s	0(a0,d0.l*4),fp0
L353
L354
;	    ctx->Pixel.MapItoR[i] = val;
	move.l	a1,a2
	add.l	#$B9D0,a2
	fmove.s	fp0,0(a2,d0.l*4)
;	    ctx->Pixel.MapItoR8[i] = (GLint) (val * 255.0F);
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d2
	move.l	a1,a2
	add.l	#$C9D0,a2
	move.b	d2,0(a2,d0.l)
	addq.l	#1,d0
L355
	cmp.l	d1,d0
	blt.b	L348
L356
;	 
	bra	L428
L357
;         ctx->Pixel.MapItoGsize = mapsize;
	move.l	a1,a2
	add.l	#$B1B4,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L365
L358
;            GLfloat val = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L360
L359
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L364
L360
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L362
L361
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L363
L362
	fmove.s	0(a0,d0.l*4),fp0
L363
L364
;	    ctx->Pixel.MapItoG[i] = val;
	move.l	a1,a2
	add.l	#$BDD0,a2
	fmove.s	fp0,0(a2,d0.l*4)
;	    ctx->Pixel.MapItoG8[i] = (GLint) (val * 255.0F);
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d2
	move.l	a1,a2
	add.l	#$CAD0,a2
	move.b	d2,0(a2,d0.l)
	addq.l	#1,d0
L365
	cmp.l	d1,d0
	blt.b	L358
L366
;	 
	bra	L428
L367
;         ctx->Pixel.MapItoBsize = mapsize;
	move.l	a1,a2
	add.l	#$B1B8,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra	L375
L368
;            GLfloat val = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L370
L369
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L374
L370
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L372
L371
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L373
L372
	fmove.s	0(a0,d0.l*4),fp0
L373
L374
;	    ctx->Pixel.MapItoB[i] = val;
	move.l	a1,a2
	add.l	#$C1D0,a2
	fmove.s	fp0,0(a2,d0.l*4)
;	    ctx->Pixel.MapItoB8[i] = (GLint) (val * 255.0F);
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d2
	move.l	a1,a2
	add.l	#$CBD0,a2
	move.b	d2,0(a2,d0.l)
	addq.l	#1,d0
L375
	cmp.l	d1,d0
	blt.b	L368
L376
;	 
	bra	L428
L377
;         ctx->Pixel.MapItoAsize = mapsize;
	move.l	a1,a2
	add.l	#$B1BC,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra	L385
L378
;            GLfloat val = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L380
L379
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L384
L380
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L382
L381
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L383
L382
	fmove.s	0(a0,d0.l*4),fp0
L383
L384
;	    ctx->Pixel.MapItoA[i] = val;
	move.l	a1,a2
	add.l	#$C5D0,a2
	fmove.s	fp0,0(a2,d0.l*4)
;	    ctx->Pixel.MapItoA8[i] = (GLint) (val * 255.0F);
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d2
	move.l	a1,a2
	add.l	#$CCD0,a2
	move.b	d2,0(a2,d0.l)
	addq.l	#1,d0
L385
	cmp.l	d1,d0
	blt.b	L378
L386
;	 
	bra	L428
L387
;         ctx->Pixel.MapRtoRsize = mapsize;
	move.l	a1,a2
	add.l	#$B1C0,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L395
L388
;	    ctx->Pixel.MapRtoR[i] = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L390
L389
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L394
L390
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L392
L391
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L393
L392
	fmove.s	0(a0,d0.l*4),fp0
L393
L394
	move.l	a1,a2
	add.l	#$CDD0,a2
	fmove.s	fp0,0(a2,d0.l*4)
	addq.l	#1,d0
L395
	cmp.l	d1,d0
	blt.b	L388
L396
;	 
	bra	L428
L397
;         ctx->Pixel.MapGtoGsize = mapsize;
	move.l	a1,a2
	add.l	#$B1C4,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L405
L398
;	    ctx->Pixel.MapGtoG[i] = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L400
L399
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L404
L400
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L402
L401
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L403
L402
	fmove.s	0(a0,d0.l*4),fp0
L403
L404
	move.l	a1,a2
	add.l	#$D1D0,a2
	fmove.s	fp0,0(a2,d0.l*4)
	addq.l	#1,d0
L405
	cmp.l	d1,d0
	blt.b	L398
L406
;	 
	bra	L428
L407
;         ctx->Pixel.MapBtoBsize = mapsize;
	move.l	a1,a2
	add.l	#$B1C8,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L415
L408
;	    ctx->Pixel.MapBtoB[i] = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L410
L409
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L414
L410
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L412
L411
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L413
L412
	fmove.s	0(a0,d0.l*4),fp0
L413
L414
	move.l	a1,a2
	add.l	#$D5D0,a2
	fmove.s	fp0,0(a2,d0.l*4)
	addq.l	#1,d0
L415
	cmp.l	d1,d0
	blt.b	L408
L416
;	 
	bra	L428
L417
;         ctx->Pixel.MapAtoAsize = mapsize;
	move.l	a1,a2
	add.l	#$B1CC,a2
	move.l	d1,(a2)
;         for (i=0;
	moveq	#0,d0
	bra.b	L425
L418
;	    ctx->Pixel.MapAtoA[i] = CLAMP( values[i], 0.0, 1.0 );
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L420
L419
	fmove.d	#$.00000000.00000000,fp0
	bra.b	L424
L420
	fmove.s	0(a0,d0.l*4),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbole.b	L422
L421
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L423
L422
	fmove.s	0(a0,d0.l*4),fp0
L423
L424
	move.l	a1,a2
	add.l	#$D9D0,a2
	fmove.s	fp0,0(a2,d0.l*4)
	addq.l	#1,d0
L425
	cmp.l	d1,d0
	blt.b	L418
L426
;	 
	bra.b	L428
L427
;         gl_error( ctx, GL_INVALID_ENUM, "glPixelMapfv(map)
	move.l	#L323,-(a7)
	pea	$500.w
	move.l	a1,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L428
	movem.l	(a7)+,d2-d5/a2
	rts

L321
	dc.b	'glPixelMapfv',0
L323
	dc.b	'glPixelMapfv(map)',0
L322
	dc.b	'glPixelMapfv(mapsize)',0

	SECTION "_gl_GetPixelMapfv:0",CODE


;void gl_GetPixelMapfv( GLcontext *ctx, GLenum map, GLfloat *values )
	XDEF	_gl_GetPixelMapfv
_gl_GetPixelMapfv
	move.l	a2,-(a7)
	movem.l	$C(a7),d1/a1
	move.l	$8(a7),a0
L431
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a2
	add.l	#$E968,a2
	move.l	(a2),d0
	cmp.l	#$1A00,d0
	beq.b	L433
L432
;      gl_error( ctx, GL_INVALID_OPERATION, "glGetPixelMapfv" );
	move.l	#L430,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,a2
	rts
L433
;   switch (map)
	sub.l	#$C70,d1
	cmp.l	#$9,d1
	bhi	L450
	move.l	L452(pc,d1.l*4),a2
	jmp	(a2)
L452
	dc.l	L434
	dc.l	L438
	dc.l	L442
	dc.l	L443
	dc.l	L444
	dc.l	L445
	dc.l	L446
	dc.l	L447
	dc.l	L448
	dc.l	L449
;      
L434
;         for (i=0;
	moveq	#0,d0
	bra.b	L436
L435
;	    values[i] = (GLfloat) ctx->Pixel.MapItoI[i];
	move.l	a0,a2
	add.l	#$B5D0,a2
	fmove.l	0(a2,d0.l*4),fp0
	fmove.s	fp0,0(a1,d0.l*4)
	addq.l	#1,d0
L436
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$44(a2),d0
	blt.b	L435
L437
;	 
	bra	L451
L438
;         for (i=0;
	moveq	#0,d0
	bra.b	L440
L439
;	    values[i] = (GLfloat) ctx->Pixel.MapStoS[i];
	move.l	a0,a2
	add.l	#$B1D0,a2
	fmove.l	0(a2,d0.l*4),fp0
	fmove.s	fp0,0(a1,d0.l*4)
	addq.l	#1,d0
L440
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$40(a2),d0
	blt.b	L439
L441
;	 
	bra	L451
L442
;ixel.MapItoR,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$48(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$B9D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L451
L443
;ixel.MapItoG,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$4C(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$BDD0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L451
L444
;ixel.MapItoB,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$50(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$C1D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L451
L445
;ixel.MapItoA,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$54(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$C5D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L451
L446
;ixel.MapRtoR,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$58(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$CDD0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L451
L447
;ixel.MapGtoG,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$5C(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$D1D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra.b	L451
L448
;ixel.MapBtoB,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$60(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$D5D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra.b	L451
L449
;ixel.MapAtoA,ctx-
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$64(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$D9D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra.b	L451
L450
;         gl_error( ctx, GL_INVALID_ENUM, "glGetPixelMapfv" )
	move.l	#L430,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L451
	move.l	(a7)+,a2
	rts

L430
	dc.b	'glGetPixelMapfv',0

	SECTION "_gl_GetPixelMapuiv:0",CODE


;void gl_GetPixelMapuiv( GLcontext *ctx, GLenum map, GLuint *values )
	XDEF	_gl_GetPixelMapuiv
_gl_GetPixelMapuiv
	move.l	a2,-(a7)
	movem.l	$C(a7),d1/a1
	move.l	$8(a7),a0
L454
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a2
	add.l	#$E968,a2
	move.l	(a2),d0
	cmp.l	#$1A00,d0
	beq.b	L456
L455
;      gl_error( ctx, GL_INVALID_OPERATION, "glGetPixelMapfv" );
	move.l	#L453,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,a2
	rts
L456
;   switch (map)
	sub.l	#$C70,d1
	cmp.l	#$9,d1
	bhi	L491
	move.l	L493(pc,d1.l*4),a2
	jmp	(a2)
L493
	dc.l	L457
	dc.l	L458
	dc.l	L459
	dc.l	L463
	dc.l	L467
	dc.l	L471
	dc.l	L475
	dc.l	L479
	dc.l	L483
	dc.l	L487
;      
L457
;Pixel.MapItoI, ct
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$44(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$B5D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L492
L458
;Pixel.MapStoS, ct
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$40(a2),d0
	moveq	#2,d1
	asl.l	d1,d0
	move.l	d0,-(a7)
	add.l	#$B1D0,a0
	pea	(a0)
	move.l	a1,-(a7)
	jsr	_q_memcpy
	add.w	#$C,a7
;	 
	bra	L492
L459
;	 for (i=0;
	moveq	#0,d0
	bra.b	L461
L460
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapItoR[i] );
	move.l	a0,a2
	add.l	#$B9D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L461
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$48(a2),d0
	blt.b	L460
L462
;	 
	bra	L492
L463
;	 for (i=0;
	moveq	#0,d0
	bra.b	L465
L464
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapItoG[i] );
	move.l	a0,a2
	add.l	#$BDD0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L465
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$4C(a2),d0
	blt.b	L464
L466
;	 
	bra	L492
L467
;	 for (i=0;
	moveq	#0,d0
	bra.b	L469
L468
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapItoB[i] );
	move.l	a0,a2
	add.l	#$C1D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L469
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$50(a2),d0
	blt.b	L468
L470
;	 
	bra	L492
L471
;	 for (i=0;
	moveq	#0,d0
	bra.b	L473
L472
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapItoA[i] );
	move.l	a0,a2
	add.l	#$C5D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L473
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$54(a2),d0
	blt.b	L472
L474
;	 
	bra	L492
L475
;	 for (i=0;
	moveq	#0,d0
	bra.b	L477
L476
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapRtoR[i] );
	move.l	a0,a2
	add.l	#$CDD0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L477
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$58(a2),d0
	blt.b	L476
L478
;	 
	bra	L492
L479
;	 for (i=0;
	moveq	#0,d0
	bra.b	L481
L480
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapGtoG[i] );
	move.l	a0,a2
	add.l	#$D1D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L481
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$5C(a2),d0
	blt.b	L480
L482
;	 
	bra	L492
L483
;	 for (i=0;
	moveq	#0,d0
	bra.b	L485
L484
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapBtoB[i] );
	move.l	a0,a2
	add.l	#$D5D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L485
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$60(a2),d0
	blt.b	L484
L486
;	 
	bra.b	L492
L487
;	 for (i=0;
	moveq	#0,d0
	bra.b	L489
L488
;	    values[i] = FLOAT_TO_UINT( ctx->Pixel.MapAtoA[i] );
	move.l	a0,a2
	add.l	#$D9D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.d	#$.41EFFFFF.FFE00000,fp0
	fmove.l	fp0,d1
	move.l	d1,0(a1,d0.l*4)
	addq.l	#1,d0
L489
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$64(a2),d0
	blt.b	L488
L490
;	 
	bra.b	L492
L491
;         gl_error( ctx, GL_INVALID_ENUM, "glGetPixelMapfv" )
	move.l	#L453,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L492
	move.l	(a7)+,a2
	rts

L453
	dc.b	'glGetPixelMapfv',0

	SECTION "_gl_GetPixelMapusv:0",CODE


;void gl_GetPixelMapusv( GLcontext *ctx, GLenum map, GLushort *values
	XDEF	_gl_GetPixelMapusv
_gl_GetPixelMapusv
	move.l	a2,-(a7)
	movem.l	$C(a7),d1/a1
	move.l	$8(a7),a0
L495
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a2
	add.l	#$E968,a2
	move.l	(a2),d0
	cmp.l	#$1A00,d0
	beq.b	L497
L496
;      gl_error( ctx, GL_INVALID_OPERATION, "glGetPixelMapfv" );
	move.l	#L494,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,a2
	rts
L497
;   switch (map)
	sub.l	#$C70,d1
	cmp.l	#$9,d1
	bhi	L538
	move.l	L540(pc,d1.l*4),a2
	jmp	(a2)
L540
	dc.l	L498
	dc.l	L502
	dc.l	L506
	dc.l	L510
	dc.l	L514
	dc.l	L518
	dc.l	L522
	dc.l	L526
	dc.l	L530
	dc.l	L534
;      
L498
;	 for (i=0;
	moveq	#0,d0
	bra.b	L500
L499
;	    values[i] = (GLushort) ctx->Pixel.MapItoI[i];
	move.l	a0,a2
	add.l	#$B5D0,a2
	move.w	2(a2,d0.l*4),d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L500
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$44(a2),d0
	blt.b	L499
L501
;	 
	bra	L539
L502
;	 for (i=0;
	moveq	#0,d0
	bra.b	L504
L503
;	    values[i] = (GLushort) ctx->Pixel.MapStoS[i];
	move.l	a0,a2
	add.l	#$B1D0,a2
	move.w	2(a2,d0.l*4),d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L504
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$40(a2),d0
	blt.b	L503
L505
;	 
	bra	L539
L506
;	 for (i=0;
	moveq	#0,d0
	bra.b	L508
L507
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapItoR[i] );
	move.l	a0,a2
	add.l	#$B9D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L508
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$48(a2),d0
	blt.b	L507
L509
;	 
	bra	L539
L510
;	 for (i=0;
	moveq	#0,d0
	bra.b	L512
L511
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapItoG[i] );
	move.l	a0,a2
	add.l	#$BDD0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L512
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$4C(a2),d0
	blt.b	L511
L513
;	 
	bra	L539
L514
;	 for (i=0;
	moveq	#0,d0
	bra.b	L516
L515
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapItoB[i] );
	move.l	a0,a2
	add.l	#$C1D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L516
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$50(a2),d0
	blt.b	L515
L517
;	 
	bra	L539
L518
;	 for (i=0;
	moveq	#0,d0
	bra.b	L520
L519
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapItoA[i] );
	move.l	a0,a2
	add.l	#$C5D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L520
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$54(a2),d0
	blt.b	L519
L521
;	 
	bra	L539
L522
;	 for (i=0;
	moveq	#0,d0
	bra.b	L524
L523
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapRtoR[i] );
	move.l	a0,a2
	add.l	#$CDD0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L524
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$58(a2),d0
	blt.b	L523
L525
;	 
	bra	L539
L526
;	 for (i=0;
	moveq	#0,d0
	bra.b	L528
L527
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapGtoG[i] );
	move.l	a0,a2
	add.l	#$D1D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L528
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$5C(a2),d0
	blt.b	L527
L529
;	 
	bra	L539
L530
;	 for (i=0;
	moveq	#0,d0
	bra.b	L532
L531
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapBtoB[i] );
	move.l	a0,a2
	add.l	#$D5D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L532
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$60(a2),d0
	blt.b	L531
L533
;	 
	bra.b	L539
L534
;	 for (i=0;
	moveq	#0,d0
	bra.b	L536
L535
;	    values[i] = FLOAT_TO_USHORT( ctx->Pixel.MapAtoA[i] );
	move.l	a0,a2
	add.l	#$D9D0,a2
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	#$.477FFF00,fp0
	fmove.l	fp0,d1
	move.w	d1,0(a1,d0.l*2)
	addq.l	#1,d0
L536
	move.l	a0,a2
	add.l	#$B168,a2
	cmp.l	$64(a2),d0
	blt.b	L535
L537
;	 
	bra.b	L539
L538
;         gl_error( ctx, GL_INVALID_ENUM, "glGetPixelMapfv" )
	move.l	#L494,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L539
	move.l	(a7)+,a2
	rts

L494
	dc.b	'glGetPixelMapfv',0

	SECTION "_gl_PixelTransferf:0",CODE


;void gl_PixelTransferf( GLcontext *ctx, GLenum pname, GLfloat param )
	XDEF	_gl_PixelTransferf
_gl_PixelTransferf
	move.l	$8(a7),d1
	move.l	4(a7),a0
	fmove.s	$C(a7),fp0
L543
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a1
	add.l	#$E968,a1
	move.l	(a1),d0
	cmp.l	#$1A00,d0
	beq.b	L545
L544
;      gl_error( ctx, GL_INVALID_OPERATION, "glPixelTransfer" );
	move.l	#L541,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L545
;   switch (pname)
	sub.l	#$D10,d1
	cmp.l	#$F,d1
	bhi	L566
	move.l	L578(pc,d1.l*4),a1
	jmp	(a1)
L578
	dc.l	L546
	dc.l	L550
	dc.l	L554
	dc.l	L555
	dc.l	L556
	dc.l	L557
	dc.l	L566
	dc.l	L566
	dc.l	L558
	dc.l	L559
	dc.l	L560
	dc.l	L561
	dc.l	L562
	dc.l	L563
	dc.l	L564
	dc.l	L565
;      
L546
;         ctx->Pixel.MapColorFlag = param ? GL_TRUE : GL_FAL
	ftst.s	fp0
	fbeq.b	L548
L547
	moveq	#1,d0
	bra.b	L549
L548
	moveq	#0,d0
L549
	move.l	a0,a1
	add.l	#$B19E,a1
	move.b	d0,(a1)
;	 
	bra	L567
L550
;         ctx->Pixel.MapStencilFlag = param ? GL_TRUE : GL_F
	ftst.s	fp0
	fbeq.b	L552
L551
	moveq	#1,d0
	bra.b	L553
L552
	moveq	#0,d0
L553
	move.l	a0,a1
	add.l	#$B19F,a1
	move.b	d0,(a1)
;	 
	bra	L567
L554
;         ctx->Pixel.IndexShift = (GLint) param;
	fmove.l	fp0,d0
	move.l	a0,a1
	add.l	#$B196,a1
	move.l	d0,(a1)
;	 
	bra	L567
L555
;         ctx->Pixel.IndexOffset = (GLint) param;
	fmove.l	fp0,d0
	move.l	a0,a1
	add.l	#$B19A,a1
	move.l	d0,(a1)
;	 
	bra	L567
L556
;         ctx->Pixel.RedScale = param;
	move.l	a0,a1
	add.l	#$B170,a1
	fmove.s	fp0,(a1)
;	 
	bra	L567
L557
;         ctx->Pixel.RedBias = param;
	move.l	a0,a1
	add.l	#$B16C,a1
	fmove.s	fp0,(a1)
;	 
	bra	L567
L558
;         ctx->Pixel.GreenScale = param;
	move.l	a0,a1
	add.l	#$B178,a1
	fmove.s	fp0,(a1)
;	 
	bra	L567
L559
;         ctx->Pixel.GreenBias = param;
	move.l	a0,a1
	add.l	#$B174,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L560
;         ctx->Pixel.BlueScale = param;
	move.l	a0,a1
	add.l	#$B180,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L561
;         ctx->Pixel.BlueBias = param;
	move.l	a0,a1
	add.l	#$B17C,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L562
;         ctx->Pixel.AlphaScale = param;
	move.l	a0,a1
	add.l	#$B188,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L563
;         ctx->Pixel.AlphaBias = param;
	move.l	a0,a1
	add.l	#$B184,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L564
;         ctx->Pixel.DepthScale = param;
	move.l	a0,a1
	add.l	#$B192,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L565
;         ctx->Pixel.DepthBias = param;
	move.l	a0,a1
	add.l	#$B18E,a1
	fmove.s	fp0,(a1)
;	 
	bra.b	L567
L566
;         gl_error( ctx, GL_INVALID_ENUM, "glPixelTransfer(p
	move.l	#L542,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L567
;         return;
;      GLint ir = (GLint) (rgba[i][RCOMP] * rs
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	$8(a1),fp0
	fcmp.s	#$.3F800000,fp0
	fbne.b	L575
L568
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	4(a1),fp0
	fcmp.s	#$.00000000,fp0
	fbne.b	L575
L569
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	$10(a1),fp0
	fcmp.s	#$.3F800000,fp0
	fbne.b	L575
L570
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	$C(a1),fp0
	fcmp.s	#$.00000000,fp0
	fbne.b	L575
L571
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	$18(a1),fp0
	fcmp.s	#$.3F800000,fp0
	fbne.b	L575
L572
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	$14(a1),fp0
	fcmp.s	#$.00000000,fp0
	fbne.b	L575
L573
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	$20(a1),fp0
	fcmp.s	#$.3F800000,fp0
	fbne.b	L575
L574
	move.l	a0,a1
	add.l	#$B168,a1
	ftst.s	$1C(a1)
	fbeq.b	L576
L575
;      ctx->Pixel.ScaleOrBiasRGBA = GL_TRUE;
	add.l	#$B18C,a0
	move.b	#1,(a0)
	bra.b	L577
L576
;      ctx->Pixel.ScaleOrBiasRGBA = GL_FALSE;
	add.l	#$B18C,a0
	clr.b	(a0)
L577
	rts

L541
	dc.b	'glPixelTransfer',0
L542
	dc.b	'glPixelTransfer(pname)',0

	SECTION "_gl_scale_and_bias_color:0",CODE


;void gl_scale_and_bias_color( const GLcontext *ctx, GLuint n,
	XDEF	_gl_scale_and_bias_color
_gl_scale_and_bias_color
L607	EQU	-$14
	link	a5,#L607
	movem.l	d2/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4,-(a7)
	move.l	$C(a5),d1
	move.l	$8(a5),a0
	move.l	$1C(a5),a2
	move.l	$18(a5),a4
L579
;   for (i=0;
	moveq	#0,d0
	bra	L605
L580
;      GLfloat r = red[i]   * ctx->Pixel.RedScale   + ctx->Pixe
	move.l	$10(a5),a3
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	0(a3,d0.l*4),fp3
	fmul.s	$8(a1),fp3
	move.l	a0,a1
	add.l	#$B168,a1
	fadd.s	4(a1),fp3
;      GLfloat g = green[i] * ctx->Pixel.GreenScale + ctx->Pixe
	move.l	$14(a5),a3
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	0(a3,d0.l*4),fp2
	fmul.s	$10(a1),fp2
	move.l	a0,a1
	add.l	#$B168,a1
	fadd.s	$C(a1),fp2
;      GLfloat b = blue[i]  * ctx->Pixel.BlueScale  + ctx->Pixe
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	0(a4,d0.l*4),fp1
	fmul.s	$18(a1),fp1
	move.l	a0,a1
	add.l	#$B168,a1
	fadd.s	$14(a1),fp1
;      GLfloat a = alpha[i] * ctx->Pixel.AlphaScale + ctx->Pixe
	move.l	a0,a1
	add.l	#$B168,a1
	fmove.s	0(a2,d0.l*4),fp0
	fmul.s	$20(a1),fp0
	move.l	a0,a1
	add.l	#$B168,a1
	fadd.s	$1C(a1),fp0
;      red[i]   = CLAMP( r, 0.0F, 1.0F );
	fcmp.s	#$.00000000,fp3
	fboge.b	L582
L581
	fmove.s	#$.00000000,fp3
	bra.b	L586
L582
	fcmp.s	#$.3F800000,fp3
	fbole.b	L584
L583
	fmove.s	#$.3F800000,fp3
L584
L585
L586
	move.l	$10(a5),a3
	fmove.s	fp3,0(a3,d0.l*4)
;      green[i] = CLAMP( g, 0.0F, 1.0F );
	fcmp.s	#$.00000000,fp2
	fboge.b	L588
L587
	fmove.s	#$.00000000,fp2
	bra.b	L592
L588
	fcmp.s	#$.3F800000,fp2
	fbole.b	L590
L589
	fmove.s	#$.3F800000,fp2
L590
L591
L592
	move.l	$14(a5),a3
	fmove.s	fp2,0(a3,d0.l*4)
;      blue[i]  = CLAMP( b, 0.0F, 1.0F );
	fcmp.s	#$.00000000,fp1
	fboge.b	L594
L593
	fmove.s	#$.00000000,fp1
	bra.b	L598
L594
	fcmp.s	#$.3F800000,fp1
	fbole.b	L596
L595
	fmove.s	#$.3F800000,fp1
L596
L597
L598
	fmove.s	fp1,0(a4,d0.l*4)
;      alpha[i] = CLAMP( a, 0.0F, 1.0F );
	fcmp.s	#$.00000000,fp0
	fboge.b	L600
L599
	fmove.s	#$.00000000,fp0
	bra.b	L604
L600
	fcmp.s	#$.3F800000,fp0
	fbole.b	L602
L601
	fmove.s	#$.3F800000,fp0
L602
L603
L604
	fmove.s	fp0,0(a2,d0.l*4)
	addq.l	#1,d0
L605
	cmp.l	d1,d0
	blo	L580
L606
	fmovem.x (a7)+,fp2/fp3/fp4
	movem.l	(a7)+,d2/a2-a4
	unlk	a5
	rts

	SECTION "_gl_scale_and_bias_rgba:0",CODE


;void gl_scale_and_bias_rgba( const GLcontext *ctx, GLuint n, GLubyte
	XDEF	_gl_scale_and_bias_rgba
_gl_scale_and_bias_rgba
	movem.l	d2-d5/a2,-(a7)
	fmovem.x fp2/fp3/fp4/fp5,-(a7)
	movem.l	$4C(a7),d5/a0
	move.l	$48(a7),a1
L608
;   GLfloat rbias = ctx->Pixel.RedBias   * 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	fmove.s	4(a2),fp5
	fmul.s	#$.437F0000,fp5
;   GLfloat gbias = ctx->Pixel.GreenBias * 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	fmove.s	$C(a2),fp4
	fmul.s	#$.437F0000,fp4
;   GLfloat bbias = ctx->Pixel.BlueBias  * 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	fmove.s	$14(a2),fp3
	fmul.s	#$.437F0000,fp3
;   GLfloat abias = ctx->Pixel.AlphaBias * 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	fmove.s	$1C(a2),fp2
	fmul.s	#$.437F0000,fp2
;   for (i=0;
	moveq	#0,d0
	bra	L634
L609
;      GLint r = (GLint) (rgba[i][RCOMP] * ctx->Pixel.RedScale 
	moveq	#0,d1
	move.b	0(a0,d0.l*4),d1
	fmove.l	d1,fp0
	move.l	a1,a2
	add.l	#$B168,a2
	fmul.s	$8(a2),fp0
	fadd.x	fp5,fp0
	fmove.l	fp0,d4
;      GLint g = (GLint) (rgba[i][GCOMP] * ctx->Pixel.GreenScal
	lea	0(a0,d0.l*4),a2
	moveq	#0,d1
	move.b	1(a2),d1
	fmove.l	d1,fp0
	move.l	a1,a2
	add.l	#$B168,a2
	fmul.s	$10(a2),fp0
	fadd.x	fp4,fp0
	fmove.l	fp0,d3
;      GLint b = (GLint) (rgba[i][BCOMP] * ctx->Pixel.BlueScale
	lea	0(a0,d0.l*4),a2
	moveq	#0,d1
	move.b	2(a2),d1
	fmove.l	d1,fp0
	move.l	a1,a2
	add.l	#$B168,a2
	fmul.s	$18(a2),fp0
	fadd.x	fp3,fp0
	fmove.l	fp0,d2
;      GLint a = (GLint) (rgba[i][ACOMP] * ctx->Pixel.AlphaScal
	lea	0(a0,d0.l*4),a2
	moveq	#0,d1
	move.b	3(a2),d1
	fmove.l	d1,fp0
	move.l	a1,a2
	add.l	#$B168,a2
	fmul.s	$20(a2),fp0
	fadd.x	fp2,fp0
	fmove.l	fp0,d1
;      rgba[i][RCOMP] = CLAMP( r, 0, 255 );
	tst.l	d4
	bpl.b	L611
L610
	moveq	#0,d4
	bra.b	L615
L611
	cmp.l	#$FF,d4
	ble.b	L613
L612
	move.l	#$FF,d4
L613
L614
L615
	move.b	d4,0(a0,d0.l*4)
;      rgba[i][GCOMP] = CLAMP( g, 0, 255 );
	tst.l	d3
	bpl.b	L617
L616
	moveq	#0,d3
	bra.b	L621
L617
	cmp.l	#$FF,d3
	ble.b	L619
L618
	move.l	#$FF,d3
L619
L620
L621
	lea	0(a0,d0.l*4),a2
	move.b	d3,1(a2)
;      rgba[i][BCOMP] = CLAMP( b, 0, 255 );
	tst.l	d2
	bpl.b	L623
L622
	moveq	#0,d2
	bra.b	L627
L623
	cmp.l	#$FF,d2
	ble.b	L625
L624
	move.l	#$FF,d2
L625
L626
L627
	lea	0(a0,d0.l*4),a2
	move.b	d2,2(a2)
;      rgba[i][ACOMP] = CLAMP( a, 0, 255 );
	tst.l	d1
	bpl.b	L629
L628
	moveq	#0,d1
	bra.b	L633
L629
	cmp.l	#$FF,d1
	ble.b	L631
L630
	move.l	#$FF,d1
L631
L632
L633
	lea	0(a0,d0.l*4),a2
	move.b	d1,3(a2)
	addq.l	#1,d0
L634
	cmp.l	d5,d0
	blo	L609
L635
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d5/a2
	rts

	SECTION "_gl_map_rgba:0",CODE


;void gl_map_rgba( const GLcontext *ctx, GLuint n, GLubyte rgba[][4] )
	XDEF	_gl_map_rgba
_gl_map_rgba
	movem.l	d2-d6/a2,-(a7)
	fmovem.x fp2/fp3/fp4/fp5,-(a7)
	movem.l	$50(a7),d6/a0
	move.l	$4C(a7),a1
L636
;   GLfloat rscale = (ctx->Pixel.MapRtoRsize - 1) / 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	move.l	$58(a2),d0
	subq.l	#1,d0
	fmove.l	d0,fp4
	fdiv.s	#$.437F0000,fp4
;   GLfloat gscale = (ctx->Pixel.MapGtoGsize - 1) / 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	move.l	$5C(a2),d0
	subq.l	#1,d0
	fmove.l	d0,fp3
	fdiv.s	#$.437F0000,fp3
;   GLfloat bscale = (ctx->Pixel.MapBtoBsize - 1) / 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	move.l	$60(a2),d0
	subq.l	#1,d0
	fmove.l	d0,fp2
	fdiv.s	#$.437F0000,fp2
;   GLfloat ascale = (ctx->Pixel.MapAtoAsize - 1) / 255.0F;
	move.l	a1,a2
	add.l	#$B168,a2
	move.l	$64(a2),d0
	subq.l	#1,d0
	fmove.l	d0,fp1
	fdiv.s	#$.437F0000,fp1
;   for (i=0;
	moveq	#0,d0
	bra	L638
L637
;      GLint ir = (GLint) (rgba[i][RCOMP] * rscale);
	moveq	#0,d1
	move.b	0(a0,d0.l*4),d1
	fmove.l	d1,fp0
	fmul.x	fp4,fp0
	fmove.l	fp0,d5
;      GLint ig = (GLint) (rgba[i][GCOMP] * gscale);
	lea	0(a0,d0.l*4),a2
	moveq	#0,d1
	move.b	1(a2),d1
	fmove.l	d1,fp0
	fmul.x	fp3,fp0
	fmove.l	fp0,d4
;      GLint ib = (GLint) (rgba[i][BCOMP] * bscale);
	lea	0(a0,d0.l*4),a2
	moveq	#0,d1
	move.b	2(a2),d1
	fmove.l	d1,fp0
	fmul.x	fp2,fp0
	fmove.l	fp0,d3
;      GLint ia = (GLint) (rgba[i][ACOMP] * ascale);
	lea	0(a0,d0.l*4),a2
	moveq	#0,d1
	move.b	3(a2),d1
	fmove.l	d1,fp0
	fmul.x	fp1,fp0
	fmove.l	fp0,d2
;      rgba[i][RCOMP] = (GLint) (ctx->Pixel.MapRtoR[ir] * 255.0
	move.l	a1,a2
	add.l	#$CDD0,a2
	fmove.s	0(a2,d5.l*4),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d1
	move.b	d1,0(a0,d0.l*4)
;      rgba[i][GCOMP] = (GLint) (ctx->Pixel.MapGtoG[ig] * 255.0
	move.l	a1,a2
	add.l	#$D1D0,a2
	fmove.s	0(a2,d4.l*4),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d1
	lea	0(a0,d0.l*4),a2
	move.b	d1,1(a2)
;      rgba[i][BCOMP] = (GLint) (ctx->Pixel.MapBtoB[ib] * 255.0
	move.l	a1,a2
	add.l	#$D5D0,a2
	fmove.s	0(a2,d3.l*4),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d1
	lea	0(a0,d0.l*4),a2
	move.b	d1,2(a2)
;      rgba[i][ACOMP] = (GLint) (ctx->Pixel.MapAtoA[ia] * 255.0
	move.l	a1,a2
	add.l	#$D9D0,a2
	fmove.s	0(a2,d2.l*4),fp0
	fmul.s	#$.437F0000,fp0
	fmove.l	fp0,d1
	lea	0(a0,d0.l*4),a2
	move.b	d1,3(a2)
	addq.l	#1,d0
L638
	cmp.l	d6,d0
	blo	L637
L639
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2-d6/a2
	rts

	SECTION "_gl_map_color:0",CODE


;void gl_map_color( const GLcontext *ctx, GLuint n,
	XDEF	_gl_map_color
_gl_map_color
L644	EQU	-$20
	link	a5,#L644
	movem.l	d2/d3/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4/fp5,-(a7)
	move.l	$C(a5),d2
	move.l	$8(a5),a0
	move.l	$1C(a5),a2
	move.l	$18(a5),a4
L640
;   GLfloat rscale = ctx->Pixel.MapRtoRsize-1;
	move.l	a0,a1
	add.l	#$B168,a1
	move.l	$58(a1),d0
	subq.l	#1,d0
	fmove.l	d0,fp4
;   GLfloat gscale = ctx->Pixel.MapGtoGsize-1;
	move.l	a0,a1
	add.l	#$B168,a1
	move.l	$5C(a1),d0
	subq.l	#1,d0
	fmove.l	d0,fp3
;   GLfloat bscale = ctx->Pixel.MapBtoBsize-1;
	move.l	a0,a1
	add.l	#$B168,a1
	move.l	$60(a1),d0
	subq.l	#1,d0
	fmove.l	d0,fp2
;   GLfloat ascale = ctx->Pixel.MapAtoAsize-1;
	move.l	a0,a1
	add.l	#$B168,a1
	move.l	$64(a1),d0
	subq.l	#1,d0
	fmove.l	d0,fp1
;   for (i=0;
	moveq	#0,d0
	bra	L642
L641
;      red[i]   = ctx->Pixel.MapRtoR[ (GLint) (red[i]   * rscal
	move.l	#$CDD0,d1
	add.l	a0,d1
	move.l	d1,-$20(a5)
	move.l	$10(a5),a3
	fmove.s	0(a3,d0.l*4),fp0
	fmul.x	fp4,fp0
	fmove.l	fp0,d1
	move.l	-$20(a5),a3
	fmove.s	0(a3,d1.l*4),fp0
	move.l	$10(a5),a3
	fmove.s	fp0,0(a3,d0.l*4)
;      green[i] = ctx->Pixel.MapGtoG[ (GLint) (green[i] * gscal
	move.l	#$D1D0,d1
	add.l	a0,d1
	move.l	d1,-$1C(a5)
	move.l	$14(a5),a3
	fmove.s	0(a3,d0.l*4),fp0
	fmul.x	fp3,fp0
	fmove.l	fp0,d1
	move.l	-$1C(a5),a3
	fmove.s	0(a3,d1.l*4),fp0
	move.l	$14(a5),a3
	fmove.s	fp0,0(a3,d0.l*4)
;      blue[i]  = ctx->Pixel.MapBtoB[ (GLint) (blue[i]  * bscal
	move.l	#$D5D0,d1
	add.l	a0,d1
	move.l	d1,-$18(a5)
	fmove.s	0(a4,d0.l*4),fp0
	fmul.x	fp2,fp0
	fmove.l	fp0,d1
	move.l	-$18(a5),a3
	fmove.s	0(a3,d1.l*4),fp0
	fmove.s	fp0,0(a4,d0.l*4)
;      alpha[i] = ctx->Pixel.MapAtoA[ (GLint) (alpha[i] * ascal
	move.l	#$D9D0,d1
	add.l	a0,d1
	move.l	d1,a3
	fmove.s	0(a2,d0.l*4),fp0
	fmul.x	fp1,fp0
	fmove.l	fp0,d1
	move.l	0(a3,d1.l*4),0(a2,d0.l*4)
	addq.l	#1,d0
L642
	cmp.l	d2,d0
	blo	L641
L643
	fmovem.x (a7)+,fp2/fp3/fp4/fp5
	movem.l	(a7)+,d2/d3/a2-a4
	unlk	a5
	rts

	SECTION "_gl_shift_and_offset_ci:0",CODE


;void gl_shift_and_offset_ci( const GLcontext *ctx, GLuint n, GLuint 
	XDEF	_gl_shift_and_offset_ci
_gl_shift_and_offset_ci
	movem.l	d2-d5/a2,-(a7)
	movem.l	$1C(a7),d4/a0
	move.l	$18(a7),a2
L645
;   GLint shift = ctx->Pixel.IndexShift;
	move.l	a2,a1
	add.l	#$B168,a1
	move.l	$2E(a1),d3
;   GLint offset = ctx->Pixel.IndexOffset;
	move.l	a2,a1
	add.l	#$B168,a1
	move.l	$32(a1),d2
;   if (shift > 0) 
	cmp.l	#0,d3
	ble.b	L650
L646
;      for (i=0;
	moveq	#0,d0
	bra.b	L648
L647
;         indexes[i] = (indexes[i] << shift) + offset;
	move.l	0(a0,d0.l*4),d1
	asl.l	d3,d1
	add.l	d2,d1
	move.l	d1,0(a0,d0.l*4)
	addq.l	#1,d0
L648
	cmp.l	d4,d0
	blo.b	L647
L649
	bra.b	L658
L650
;   else if (shift < 0) 
	tst.l	d3
	bpl.b	L655
L651
;      shift = -shift;
	neg.l	d3
;      for (i=0;
	moveq	#0,d0
	bra.b	L653
L652
;         indexes[i] = (indexes[i] >> shift) + offset;
	move.l	0(a0,d0.l*4),d1
	lsr.l	d3,d1
	add.l	d2,d1
	move.l	d1,0(a0,d0.l*4)
	addq.l	#1,d0
L653
	cmp.l	d4,d0
	blo.b	L652
L654
	bra.b	L658
L655
;      for (i=0;
	moveq	#0,d0
	bra.b	L657
L656
;         indexes[i] = indexes[i] + offset;
	move.l	0(a0,d0.l*4),d1
	add.l	d2,d1
	move.l	d1,0(a0,d0.l*4)
	addq.l	#1,d0
L657
	cmp.l	d4,d0
	blo.b	L656
L658
	movem.l	(a7)+,d2-d5/a2
	rts

	SECTION "_gl_map_ci:0",CODE


;void gl_map_ci( const GLcontext *ctx, GLuint n, GLuint index[] )
	XDEF	_gl_map_ci
_gl_map_ci
	movem.l	d2-d4/a2/a3,-(a7)
	movem.l	$1C(a7),d3/a1
	move.l	$18(a7),a3
L659
;   GLuint mask = ctx->Pixel.MapItoIsize - 1;
	move.l	a3,a0
	add.l	#$B168,a0
	move.l	$44(a0),d2
	subq.l	#1,d2
;   for (i=0;
	moveq	#0,d0
	bra.b	L661
L660
;      index[i] = ctx->Pixel.MapItoI[ index[i] & mask ];
	move.l	a3,a2
	add.l	#$B5D0,a2
	move.l	0(a1,d0.l*4),d1
	and.l	d2,d1
	move.l	0(a2,d1.l*4),0(a1,d0.l*4)
	addq.l	#1,d0
L661
	cmp.l	d3,d0
	blo.b	L660
L662
	movem.l	(a7)+,d2-d4/a2/a3
	rts

	SECTION "_gl_map_ci_to_rgba:0",CODE


;void gl_map_ci_to_rgba( const GLcontext *ctx, GLuint n, const GLuint
	XDEF	_gl_map_ci_to_rgba
_gl_map_ci_to_rgba
L667	EQU	-$30
	link	a5,#L667
	movem.l	d2-d7/a2-a4,-(a7)
	movem.l	$C(a5),d7/a1
	move.l	$14(a5),a0
	move.l	$8(a5),a2
L663
;   GLuint rmask = ctx->Pixel.MapItoRsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$48(a3),d5
	subq.l	#1,d5
;   GLuint gmask = ctx->Pixel.MapItoGsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$4C(a3),d4
	subq.l	#1,d4
;   GLuint bmask = ctx->Pixel.MapItoBsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$50(a3),d3
	subq.l	#1,d3
;   GLuint amask = ctx->Pixel.MapItoAsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$54(a3),d2
	subq.l	#1,d2
;   const GLubyte *rMap = ctx->Pixel.MapItoR8;
	move.l	#$C9D0,d0
	add.l	a2,d0
	move.l	d0,-$14(a5)
;   const GLubyte *gMap = ctx->Pixel.MapItoG8;
	move.l	#$CAD0,d0
	add.l	a2,d0
	move.l	d0,-$18(a5)
;   const GLubyte *bMap = ctx->Pixel.MapItoB8;
	move.l	#$CBD0,d0
	add.l	a2,d0
	move.l	d0,-$1C(a5)
;   const GLubyte *aMap = ctx->Pixel.MapItoA8;
	move.l	#$CCD0,d0
	add.l	a2,d0
	move.l	d0,a4
;   for (i=0;
	moveq	#0,d0
	bra.b	L665
L664
;      rgba[i][RCOMP] = rMap[index[i] & rmask];
	move.l	0(a1,d0.l*4),d1
	and.l	d5,d1
	move.l	-$14(a5),a3
	move.b	0(a3,d1.l),0(a0,d0.l*4)
;      rgba[i][GCOMP] = gMap[index[i] & gmask];
	move.l	0(a1,d0.l*4),d1
	and.l	d4,d1
	move.l	-$18(a5),a3
	lea	0(a0,d0.l*4),a2
	move.b	0(a3,d1.l),1(a2)
;      rgba[i][BCOMP] = bMap[index[i] & bmask];
	move.l	0(a1,d0.l*4),d1
	and.l	d3,d1
	move.l	-$1C(a5),a3
	lea	0(a0,d0.l*4),a2
	move.b	0(a3,d1.l),2(a2)
;      rgba[i][ACOMP] = aMap[index[i] & amask];
	move.l	0(a1,d0.l*4),d1
	and.l	d2,d1
	lea	0(a0,d0.l*4),a2
	move.b	0(a4,d1.l),3(a2)
	addq.l	#1,d0
L665
	cmp.l	d7,d0
	blo.b	L664
L666
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_gl_map_ci8_to_rgba:0",CODE


;void gl_map_ci8_to_rgba( const GLcontext *ctx, GLuint n, const GLuby
	XDEF	_gl_map_ci8_to_rgba
_gl_map_ci8_to_rgba
L672	EQU	-$30
	link	a5,#L672
	movem.l	d2-d7/a2-a4,-(a7)
	movem.l	$C(a5),d7/a1
	move.l	$14(a5),a0
	move.l	$8(a5),a2
L668
;   GLuint rmask = ctx->Pixel.MapItoRsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$48(a3),d5
	subq.l	#1,d5
;   GLuint gmask = ctx->Pixel.MapItoGsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$4C(a3),d4
	subq.l	#1,d4
;   GLuint bmask = ctx->Pixel.MapItoBsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$50(a3),d3
	subq.l	#1,d3
;   GLuint amask = ctx->Pixel.MapItoAsize - 1;
	move.l	#$B168,d0
	add.l	a2,d0
	move.l	d0,a3
	move.l	$54(a3),d2
	subq.l	#1,d2
;   const GLubyte *rMap = ctx->Pixel.MapItoR8;
	move.l	#$C9D0,d0
	add.l	a2,d0
	move.l	d0,-$14(a5)
;   const GLubyte *gMap = ctx->Pixel.MapItoG8;
	move.l	#$CAD0,d0
	add.l	a2,d0
	move.l	d0,-$18(a5)
;   const GLubyte *bMap = ctx->Pixel.MapItoB8;
	move.l	#$CBD0,d0
	add.l	a2,d0
	move.l	d0,-$1C(a5)
;   const GLubyte *aMap = ctx->Pixel.MapItoA8;
	move.l	#$CCD0,d0
	add.l	a2,d0
	move.l	d0,a4
;   for (i=0;
	moveq	#0,d0
	bra.b	L670
L669
;      rgba[i][RCOMP] = rMap[index[i] & rmask];
	moveq	#0,d1
	move.b	0(a1,d0.l),d1
	and.l	d5,d1
	move.l	-$14(a5),a3
	move.b	0(a3,d1.l),0(a0,d0.l*4)
;      rgba[i][GCOMP] = gMap[index[i] & gmask];
	moveq	#0,d1
	move.b	0(a1,d0.l),d1
	and.l	d4,d1
	move.l	-$18(a5),a3
	lea	0(a0,d0.l*4),a2
	move.b	0(a3,d1.l),1(a2)
;      rgba[i][BCOMP] = bMap[index[i] & bmask];
	moveq	#0,d1
	move.b	0(a1,d0.l),d1
	and.l	d3,d1
	move.l	-$1C(a5),a3
	lea	0(a0,d0.l*4),a2
	move.b	0(a3,d1.l),2(a2)
;      rgba[i][ACOMP] = aMap[index[i] & amask];
	moveq	#0,d1
	move.b	0(a1,d0.l),d1
	and.l	d2,d1
	lea	0(a0,d0.l*4),a2
	move.b	0(a4,d1.l),3(a2)
	addq.l	#1,d0
L670
	cmp.l	d7,d0
	blo.b	L669
L671
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_gl_map_ci_to_color:0",CODE


;void gl_map_ci_to_color( const GLcontext *ctx, GLuint n, const GLuin
	XDEF	_gl_map_ci_to_color
_gl_map_ci_to_color
L677	EQU	-$14
	link	a5,#L677
	movem.l	d2-d7/a2-a4,-(a7)
	movem.l	$C(a5),d7/a1
	move.l	$8(a5),a0
	move.l	$20(a5),a4
L673
;   GLuint rmask = ctx->Pixel.MapItoRsize - 1;
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$48(a2),d5
	subq.l	#1,d5
;   GLuint gmask = ctx->Pixel.MapItoGsize - 1;
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$4C(a2),d4
	subq.l	#1,d4
;   GLuint bmask = ctx->Pixel.MapItoBsize - 1;
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$50(a2),d3
	subq.l	#1,d3
;   GLuint amask = ctx->Pixel.MapItoAsize - 1;
	move.l	a0,a2
	add.l	#$B168,a2
	move.l	$54(a2),d2
	subq.l	#1,d2
;   for (i=0;
	moveq	#0,d0
	bra	L675
L674
;      r[i] = ctx->Pixel.MapItoR[index[i] & rmask];
	move.l	#$B9D0,d1
	add.l	a0,d1
	move.l	d1,a3
	move.l	0(a1,d0.l*4),d1
	and.l	d5,d1
	fmove.s	0(a3,d1.l*4),fp0
	move.l	$14(a5),a3
	fmove.s	fp0,0(a3,d0.l*4)
;      g[i] = ctx->Pixel.MapItoG[index[i] & gmask];
	move.l	#$BDD0,d1
	add.l	a0,d1
	move.l	d1,a3
	move.l	0(a1,d0.l*4),d1
	and.l	d4,d1
	fmove.s	0(a3,d1.l*4),fp0
	move.l	$18(a5),a3
	fmove.s	fp0,0(a3,d0.l*4)
;      b[i] = ctx->Pixel.MapItoB[index[i] & bmask];
	move.l	#$C1D0,d1
	add.l	a0,d1
	move.l	d1,a3
	move.l	0(a1,d0.l*4),d1
	and.l	d3,d1
	fmove.s	0(a3,d1.l*4),fp0
	move.l	$1C(a5),a3
	fmove.s	fp0,0(a3,d0.l*4)
;      a[i] = ctx->Pixel.MapItoA[index[i] & amask];
	move.l	#$C5D0,d1
	add.l	a0,d1
	move.l	d1,a3
	move.l	0(a1,d0.l*4),d1
	and.l	d2,d1
	fmove.s	0(a3,d1.l*4),fp0
	fmove.s	fp0,0(a4,d0.l*4)
	addq.l	#1,d0
L675
	cmp.l	d7,d0
	blo	L674
L676
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_gl_shift_and_offset_stencil:0",CODE


;void gl_shift_and_offset_stencil( const GLcontext *ctx, GLuint n,
	XDEF	_gl_shift_and_offset_stencil
_gl_shift_and_offset_stencil
	movem.l	d2-d5/a2,-(a7)
	movem.l	$1C(a7),d4/a0
	move.l	$18(a7),a2
L678
;   GLint shift = ctx->Pixel.IndexShift;
	move.l	a2,a1
	add.l	#$B168,a1
	move.l	$2E(a1),d3
;   GLint offset = ctx->Pixel.IndexOffset;
	move.l	a2,a1
	add.l	#$B168,a1
	move.l	$32(a1),d2
;   if (shift > 0) 
	cmp.l	#0,d3
	ble.b	L683
L679
;      for (i=0;
	moveq	#0,d0
	bra.b	L681
L680
;         stencil[i] = (stencil[i] << shift) + offset;
	moveq	#0,d1
	move.b	0(a0,d0.l),d1
	asl.l	d3,d1
	add.l	d2,d1
	move.b	d1,0(a0,d0.l)
	addq.l	#1,d0
L681
	cmp.l	d4,d0
	blo.b	L680
L682
	bra.b	L691
L683
;   else if (shift < 0) 
	tst.l	d3
	bpl.b	L688
L684
;      shift = -shift;
	neg.l	d3
;      for (i=0;
	moveq	#0,d0
	bra.b	L686
L685
;         stencil[i] = (stencil[i] >> shift) + offset;
	moveq	#0,d1
	move.b	0(a0,d0.l),d1
	asr.l	d3,d1
	add.l	d2,d1
	move.b	d1,0(a0,d0.l)
	addq.l	#1,d0
L686
	cmp.l	d4,d0
	blo.b	L685
L687
	bra.b	L691
L688
;      for (i=0;
	moveq	#0,d0
	bra.b	L690
L689
;         stencil[i] = stencil[i] + offset;
	moveq	#0,d1
	move.b	0(a0,d0.l),d1
	add.l	d2,d1
	move.b	d1,0(a0,d0.l)
	addq.l	#1,d0
L690
	cmp.l	d4,d0
	blo.b	L689
L691
	movem.l	(a7)+,d2-d5/a2
	rts

	SECTION "_gl_map_stencil:0",CODE


;void gl_map_stencil( const GLcontext *ctx, GLuint n, GLstencil stenc
	XDEF	_gl_map_stencil
_gl_map_stencil
	movem.l	d2-d4/a2/a3,-(a7)
	movem.l	$1C(a7),d3/a1
	move.l	$18(a7),a3
L692
;   GLuint mask = ctx->Pixel.MapStoSsize - 1;
	move.l	a3,a0
	add.l	#$B168,a0
	move.l	$40(a0),d2
	subq.l	#1,d2
;   for (i=0;
	moveq	#0,d0
	bra.b	L694
L693
;      stencil[i] = ctx->Pixel.MapStoS[ stencil[i] & mask ];
	move.l	a3,a2
	add.l	#$B1D0,a2
	moveq	#0,d1
	move.b	0(a1,d0.l),d1
	and.l	d2,d1
	move.b	3(a2,d1.l*4),0(a1,d0.l)
	addq.l	#1,d0
L694
	cmp.l	d3,d0
	blo.b	L693
L695
	movem.l	(a7)+,d2-d4/a2/a3
	rts

	END
