; d0 - length

	xdef	_NewList

_NewList	movem.l	d2/a6,-(a7)
	move.l	d0,d2
	lsl.l	#2,d0
	addq.l	#4,d0		; add header
	move.l	#$50000,d1	; MEMF_CLEAR|MEMF_REVERSE
	movea.l	$4.w,a6
	jsr	(-198,a6)		; AllocMem
	tst.l	d0
	beq.s	.finish
	addq.l	#4,d0		; shift by header
	movea.l	d0,a0
	move.w	d2,(-4,a0)
.finish	movem.l	(a7)+,d2/a6
	rts
