All pastes #773722 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-14 19:06 UTC
rendered paste body
LoadSpecialDynPLC:				
					
		moveq	#0,d0		
		move.b	$1A(a0),d0	
		cmp.b	($FFFFF766).w,d0 
		beq.w	locret_974FC	
		move.b	d0,($FFFFF766).w 
		lea	(TailsDynPLC).l,a2 
		add.w	d0,d0		
		adda.w	(a2,d0.w),a2	
		move.w	(a2)+,d5	
		subq.w	#1,d5		
		bmi.w	locret_974FC	
		moveq	#0,d3		
		lea	(RAM_Graphics_Translation_Tails+$FF000000).w,a3 
		lea	byte_974FE,a4	

loc_97402:				
		moveq	#0,d0		
		moveq	#0,d1		
		move.w	(a2)+,d1	
		move.w	d1,d4		
		rol.w	#4,d4		
		andi.w	#$F,d4		
		addq.w	#1,d3		
		add.w	d4,d3		
		andi.w	#$FFF,d1	
		lsl.l	#5,d1		
		lea	(Art_Tails).l,a1	
		adda.l	d1,a1		

loc_97422:		
	rept	$20		; Repeat the following lines $20 times
		move.b	(a1)+,d0	
		move.b	(a4,d0.w),(a3)+	
	endr
		
		dbf	d4,loc_97422	
		dbf	d5,loc_97402	
		move.l	#RAM_Graphics_Translation_Tails,d1	
		move.w	#$F000,d2	
		lsl.w	#4,d3		
		jmp	(DMA_68KtoVRAM).w	


locret_974FC:				 
					
		rts			

loc2_97402:
;		jsr	Process_DMA	


loc2_97402_2:				
		moveq	#0,d0		
		moveq	#0,d1		
		move.w	(a2)+,d1	
		move.w	d1,d4		
		rol.w	#4,d4		
		andi.w	#$F,d4		
		addq.w	#1,d3		
		add.w	d4,d3		
		andi.w	#$FFF,d1	
		lsl.l	#5,d1		
		lea	(Art_Tails).l,a1	
		adda.l	d1,a1		

loc2_97422:		
		rept	$20
		move.b	(a1)+,d0	
		move.b	(a4,d0.w),(a3)+	
		endr
		
		dbf	d4,loc2_97422	
		dbf	d5,loc2_97402_2	
		move.l	#RAM_Graphics_Translation_Obj05,d1	
		move.w	#$F200,d2	
		lsl.w	#4,d3	
	
		jsr	(DMA_68KtoVRAM).w			 				
		rts	
		
		
; Table which contains what indexes to switch to
lookup_tbl macro 
		dc.b \1+0, \1+1, \1+2, \1+$B, \1+$A, \1+$F, \1+6, \1+7, \1+8, \1+9, \1+$A, \1+$B, \1+$C, \1+$D, \1+$E, \1+$F
	endm
; Table which contains what indexes to switch to
byte_974FE:	
;		dc.b 0, 1, 2, $B, $C, $F, 6, 7, 8, 9, $A, $B, $C, $D, $E, $F
		lookup_tbl 0
		lookup_tbl $10
		lookup_tbl $20
		lookup_tbl $B0
		lookup_tbl $A0
		lookup_tbl $F0
		lookup_tbl $60
		lookup_tbl $70
		lookup_tbl $80
		lookup_tbl $90
		lookup_tbl $A0
		lookup_tbl $B0
		lookup_tbl $C0
		lookup_tbl $D0
		lookup_tbl $E0
		lookup_tbl $F0
		even