		RSRESET
_GfxBase		rs.l	1	; Library
_DosBase		rs.l	1	; Library
_Mem		rs.l	1	; Chipmem-Buffer (128K)
_Mems		rs.l	1	; Private ! (only for Debugger)
_FirstLin	rs.w	1	; Frist Rasterline ($30 or $20(NTSC)
_Color00		rs.w	1	; Neutral backgroud color
_GimmeCur	rs.b	1	; Disable small Menu
_GimmeJoy	rs.b	1	; Disable MicroTeX joystick functions
_GimmeKey	rs.b	1	; Disable MicroTeX keyboard functions
_Key		rs.b	1	; Last Key or 0
_Ntsc		rs.b	1	; 1 = Ntsc
_LMBPres		rs.b	1	; 1 = LMB Pressed in this frame
_SetCL		rs.l	1	; a0 > CopIn ! d0 > Copperlist
_DoNtsc		rs.l	1	; a0 > Copperlist
_Print		rs.l	1	; a0 > Plane | a1 > Text (80 BPR)
_DezOut3		rs.l	1	; d0 > Value | a0 > Buffer

	bra.w	Init
	bra.w	Irq
	bra.w	Exit

Init	lea	Copper(pc),a2	; CopperKram
	move.l	a2,a0
	jsr	_DoNtsc(a6)
	move.l	_Mem(a6),d0
	move.w	d0,6(a2)
	swap	d0
	move.w	d0,2(a2)
	lea	CopIn(pc),a0
	move.l	a2,d0
	jsr	_SetCL(a6)

	lea	CopIn3+2(pc),a0
	move.w	_Color00(a6),(a0)

	move.l	_Mem(a6),a0
	move.w	#80*228/4-1,d0
	moveq	#0,d1
.clrl	move.l	d1,(a0)+
	dbf	d0,.clrl

	move.l	_Mems(a6),a2	; a2 = Memlist
	move.l	_Mem(a6),a3	; a3 = Plane
	lea	160(a3),a3
	moveq	#3,d3		; d3 = MemStructs
.bloop	moveq	#20,d2		; d2 = Counter
	move.l	a3,a4		; a4 = PlaneCnt
	lea	Buf1+6(pc),a0	; total
	move.l	4(a2),d0
	lsr.l	#8,d0
	lsr.l	#2,d0
	jsr	_DezOut3(a6)
	lea	Buf1(pc),a1
	move.l	a3,a0
	jsr	_Print(a6)
	lea	Buf2+6(pc),a0	; Free
	move.l	8(a2),d0
	lsr.l	#8,d0
	lsr.l	#2,d0
	jsr	_DezOut3(a6)
	lea	Buf2(pc),a1
	lea	9*80(a3),a0
	jsr	_Print(a6)
	lea	head(pc),a1	; Header
	lea	18*80(a3),a0
	jsr	_Print(a6)

	lea	27*80(a3),a4
	move.l	(a2),a5
	moveq	#0,d0
.loop	add.l	d0,a5
	tst.l	(a5)
	beq.s	.endl
	move.w	8(a5),d0		; ID
	addq.w	#1,d0
	lea	Buf(pc),a0
	jsr	_DezOut3(a6)
	lea	Buf+5(pc),a0	; Size
	move.l	(a5),d0
	lsr.l	#8,d0
	lsr.l	#2,d0
	jsr	_DezOut3(a6)
	lea	Buf+9(pc),a0	; Use
	move.l	4(a5),d0
	and.l	#$ff,d0
	jsr	_DezOut3(a6)
	lea	Buf(pc),a1	; Print
	move.l	a4,a0
	jsr	_Print(a6)
	lea	9*80(a4),a4
	move.l	(a5),d0
	dbeq	d2,.loop
.endl	lea	20(a3),a3
	lea	16(a2),a2
	dbf	d3,.bloop
	rts

Irq	lea	Cnt(pc),a0
	addq.b	#8,(a0)
	bne.s	.end
	lea	CopIn1+2(pc),a0
	eor.w	#$0ff,(a0)
	lea	CopIn2+2(pc),a0
	eor.w	#$0ff,(a0)
.end	rts

Exit	rts

Cnt	dc.w	0
head	dc.b	' ID Size Use',0
Buf	dc.b	'xxx  xxx xxx',0
Buf1	dc.b	'Total:xxx Kb',0
Buf2	dc.b	'Free :xxx Kb',0

Copper	dc.w	$00e0,0
	dc.w	$00e2,0
	dc.w	$0092,$003c
	dc.w	$0094,$00d4
	dc.w	$0102,$0000
	dc.w	$0108,0
	dc.w	$010a,0
	dc.w	$0182,$fff
	dc.w	$2f0f,$fffe	; Mitte
CopIn1	dc.w	$0180,$0f00
	dc.w	$300f,$fffe
CopIn3	dc.w	$0180,$0000
	dc.w	$0100,$9200	; Copper Mitte Enable
	dc.w	$0182,$0f00

	dc.w	$ffdf,$fffe
CopIn	dc.w	$0080,$0000
	dc.w	$0082,$0000
	dc.w	$140f,$fffe
CopIn2	dc.w	$0180,$0f00
	dc.w	$0100,$0200
	dc.w	$150f,$fffe
	dc.w	$0180,$0000
	dc.w	$0088,$0000
	dc.w	$ffff,$fffe
