; d0 - size

	xdef	_New

_New	move.l	#$10000,d1
	addq.l	#8,d0
	addq.l	#4,d0
	move.l	d0,d2
	move.l	4.w,a6
	jsr	(-198,a6)
	tst.l	d0
	beq.s	.exit
	move.l	d0,a0
	move.l	(lst,pc),(a0)	; set previous
	move.l	d2,(8,a0)		; set size
	tst.l	mem
	bne.s	.jump
	move.l	d0,mem
.jump	move.l	d0,lst
	addq.l	#8,d0
	addq.l	#4,d0
.exit	rts

	xdef	mem
	xdef	lst
mem	dc.l	0
lst	dc.l	0
