;------------------------------------------------------------------------------
SCHWING_KOORDS:		;Zeiger auf Parameter in a0
;-			;Schwingt einen Punkt um einen anderen herum
;-	Struktur wird im Anhang erklaert
;------------------------------------------------------------------------------
	movem.l	d0-d1,-(sp)

	move.w	4(a0),d0	;Zielpunkt nach d0
	sub.w	(a0),d0		;Ziel - Punkt = DeltaX
	muls	12(a0),d0	;DeltaX strecken
	add.w	8(a0),d0	;+ Zaehler
	move.w	20(a0),d1	;Addiertwert fuer X-Zaehler
	tst.w	d0		;X-Zaehler positiv ?
	bpl.s	.schw_xposi	;wenn nicht, Addiertwert negieren
	neg.w	d1
.schw_xposi:
	add.w	d1,d0		;Addierwert + X-Zaehler
	move.w	16(a0),d1	;X-Grenzwert
	cmp.w	d1,d0		;X-Zaehler <= X-Grenzwert ?
	bls.s	.schw_xok1	;wenn nicht, dann
	move.w	d1,d0		;X-Zaehler = Grenzwert
.schw_xok1:
	neg.w	d1
	cmp.w	d1,d0		;X-Zaehler >= X-Grenzwert ?
	bge.s	.schw_xok2	;wenn nicht, dann
	move.w	d1,d0		;X-Zaehler = X-Grenzwert
.schw_xok2:
	move.w	d0,8(a0)	;Zaehler merken
	lsr.w	#8,d0		;Zaehler / 256
	add.w	d0,(a0)		;X=X+(Zaehler/256)  (X-Berechnung fertig !)

	move.w	6(a0),d0	;Zielpunkt nach d0
	sub.w	2(a0),d0	;Ziel - Punkt = DeltaY
	muls	14(a0),d0	;DeltaY strecken
	add.w	10(a0),d0	;+ Zaehler
	move.w	22(a0),d1	;Addiertwert fuer Y-Zaehler
	tst.w	d0		;Y-Zaehler positiv ?
	bpl.s	.schw_yposi	;wenn nicht, Addiertwert negieren
	neg.w	d1
.schw_yposi:
	add.w	d1,d0		;Addierwert + Y-Zaehler
	move.w	18(a0),d1	;Y-Grenzwert
	cmp.w	d1,d0		;Y-Zaehler <= Y-Grenzwert ?
	bls.s	.schw_yok1	;wenn nicht, dann
	move.w	d1,d0		;Y-Zaehler = Grenzwert
.schw_yok1:
	neg.w	d1
	cmp.w	d1,d0		;Y-Zaehler >= Y-Grenzwert ?
	bge.s	.schw_yok2	;wenn nicht, dann
	move.w	d1,d0		;Y-Zaehler = Y-Grenzwert
.schw_yok2:
	move.w	d0,10(a0)	;Zaehler merken
	lsr.w	#8,d0		;Zaehler / 256
	add.w	d0,2(a0)	;Y=Y+(Zaehler/256)

	movem.l	(sp)+,d0-d1
	rts

.schwing_struct:
 dc.w 0,0			;aktueller X-,Y-Wert
 dc.w 0,0			;Zielpunkt: X-,Y-Wert
 dc.w 0,0			;X-Zaehler,Y-Zaehler
 dc.w 1,1			;Multiplikationswert fuer dx,dy
 dc.w 256*8,256*8		;Grenzwerte fuer X-Zaehler,Y-Zaehler
 dc.w 1,1			;Addierwert fuer X-Zaehler,Y-Zaehler

;----------------            Ende der Schwing-Routine           ---------------

