100 CALL CLEAR
$MLC F 110 10 1000
200 CALL CLEAR
210 PRINT "@@@@@@@@@@@@@@@@@@@@@@@@@@@@      MLC Informations      @@@@@@@@@@@@@@@@@@@@@@@@@@@@"
220 PRINT
300 CALL PEEK(16350,A,B)::A=A*256+B
310 PRINT "Used in HIGH MEM  :";A-40960
315 GOSUB 500::CALL LINK("FSIZE",B,A):: A=B+8
320 PRINT "Free  in LOW MEM  :";A
340 PRINT "      # of links  :";INT(A/8)
350 CALL PEEK(8194,A,B)::A=256*A+B::GOSUB 500
360 PRINT "and TR0 zone of 256 bytes"::A=A-256::GOSUB 500
380 CALL LINK("DATE",JJ,MM,AA)
395 PRINT "Version date";JJ;MM;AA::CALL LINK("CLEAR",A,B)::D=B+A
400 PRINT " After CLEAR, free memory is"
420 PRINT "      in LOW MEM  :";A
430 CALL PEEK(8194,A,C)::A=256*A+C::GOSUB 500
435 PRINT "      or maximum  :";D::A=A-B::GOSUB 500
440 INPUT "PRESS ENTER...":H$
450 CALL CLEAR::END

; subprogram that turns A into a 4 digits hexadecimal string
500 X=A::H$=""
510 FOR I=1 TO 4::Y=INT(X/16)::R=X-16*Y+1::X=Y
520 H$=SEG$("0123456789ABCDEF",R,1)&H$
530 NEXT I::PRINT "      start at    : &h";H$::PRINT
540 RETURN

; compiled program that returns the date of current MLC version
$DATE
	  PUTPARAM 1 [			  ; return day from pseudo variable
	  PUTPARAM 2 \            ; return month
	  PUTPARAM 3 ]            ; return year
$$
$CHAR
	$PATTERN S104
	........
	.0......
	.0......
	.0......
	.0000...
	.0...0..
	.0...0..
	.0...0..
	$$
	$PATTERN s64
	........
	........
	........
	........
	00000000
	........
	........
	........
	$$
$$
$END
	