*****************************************************************************
*									    *
*	PROGRAM: Version (a replacement for C:Version 40.1)		    *
*	VERSION: 40.5							    *
*   SOURCE CODE: 6							    *
*	   DATE: 05.12.2000 - 28.12.2000				    *
*      LANGUAGE: C+ (reassembled source Devpac Assembler V3.0)		    *
*	 SYSTEM: A1200  KS 40.68 WB 40.42 2MB chip 64MB fast 68030/50mhz    *
*									    *
*	 AUTHOR: Joerg Riemer 14167 Berlin/SchottmuellerStr.107/Germany	    *
*	  EMAIL: mission@cs.tu-berlin.de				    *
*									    *
*	-------------------------------------------------------------	    *
*									    *
*	  40.5 - added abbreviations for the options VERSION/N and	    *
*		 REVISION/N. thanks to Tomasz Niedzielski for his	    *
*		 suggestion.						    *
*									    *
*	  40.4 - y2k-patch enhanced to recognize a 4 digit year in	    *
*		 datestamps. but due the limit in DOS DateTime 40.15	    *
*		 only the 2 lower digits want be printed.		    *
*									    *
*	  40.3 - read-routine now checks for a minimum of bytes	which	    *
*		 will fit a regular versionstring. this means a length 	    *
*		 of 9 characters "$VER: a x". for further information	    *
*		 about regular versionstrings read versionstring.doc	    *
*	       - sourcecode downcoded to be compatible for MC68k user.	    *
*									    *
*	  40.2 - date2amiga output fixed (Y2K problem). maybe not the	    *
*		 best patch but it works.			 	    *
*									    *
*	-------------------------------------------------------------	    *
*									    *
*****************************************************************************

		Output	RAM:Version

*****************************************************************************

		SECTION	Version,CODE

ProgStart	link	A5,#-$CC
		movem.l	D2-D7/A2/A3/A6,-(SP)
		moveq	#$0,D6
		moveq	#$14,D7
		move.w	#$4,A0
		move.l	(A0),A1
		move.l	A1,-$30(A5)
		move.l	A1,A6
		lea	DOSName(PC),A1
		moveq	#$0,D0
		jsr	-$228(A6)
		move.l	D0,-$38(A5)
		move.l	D0,A0
		cmp.w	#$25,$14(A0)
		bcs	WrongLib
		lea	UTILName(PC),A1
		moveq	#$25,D0
		jsr	-$228(A6)
		move.l	D0,-$34(A5)
		moveq	#$1F,D0
		moveq	#$0,D1
		lea	-$7C(A5),A0
LC0048		move.b	D1,(A0)+
		dbra	D0,LC0048
		lea	Template(PC),A0
		move.l	A0,D1
		lea	-$7C(A5),A1
		move.l	A1,D2
		moveq	#$0,D3
		move.l	-$38(A5),A6
		jsr	-$31E(A6)
		move.l	D0,$24(SP)
		tst.l	D0
		beq	PrintFault
		moveq	#-$1,D5
		tst.l	-$70(A5)
		beq.s	LC0078
		moveq	#$20,D5
LC0078		tst.l	-$7C(A5)
		bne	LC0104
		clr.l	-(SP)
		pea	$1.w
		move.l	#$80110001,-(SP)
		move.l	D3,-(SP)
		pea	-$5C(A5)
		bsr	LC107C
		lea	$14(SP),SP
		move.l	D0,A3
		move.l	A3,D0
		beq.s	LC0104
		move.l	$14(A3),-(SP)
		move.l	$10(A3),-(SP)
		pea	Text(PC)
		pea	-$C8(A5)
		jsr	RawDoFmt(PC)
		lea	-$C8(A5),A0
		move.l	A0,A1
LC00BA		tst.b	(A1)+
		bne.s	LC00BA
		subq.l	#$1,A1
		sub.l	A0,A1
		move.l	D4,-(SP)
		move.l	A0,D2
		move.l	A1,D3
		lea	Text0(PC),A0
		move.l	A0,D1
		move.l	-$38(A5),A6
		moveq	#$40,D4
		lsl.l	#$3,D4
		jsr	-$384(A6)
		move.l	(SP)+,D4
		move.l	$C(A3),D0
		move.l	$14(A3),(SP)
		move.l	$10(A3),-(SP)
		move.l	D0,-(SP)
		pea	Text1(PC)
		pea	-$5C(A5)
		bsr	LC045A
		lea	-$5C(A5),A0
		move.l	A3,A1
		bsr	LC0BCC
		lea	$20(SP),SP
LC0104		move.l	-$7C(A5),A0
		clr.l	-(SP)
		move.l	D5,-(SP)
		move.l	#$80110002,-(SP)
		move.l	A0,-(SP)
		pea	-$5C(A5)
		bsr	LC107C
		lea	$14(SP),SP
		move.l	D0,A2
		move.l	A2,D0
		beq	LC0286
		btst	#$0,$3(A2)
		beq	LC0280
		btst	#$1,$3(A2)
		beq	LC026A
		move.l	$C(A2),A3
		move.l	A3,D0
		bne.s	LC0148
		move.l	$C(A2),A3
LC0148		move.l	$10(A2),D5
		move.l	$14(A2),D4
		move.l	A3,D0
		move.l	D0,-(SP)
		pea	Text2(PC)
		pea	-$5C(A5)
		bsr	LC045A
		lea	$C(SP),SP
		tst.l	-$6C(A5)
		beq.s	LC01D8
		btst	#$5,$3(A2)
		beq.s	LC01C0
		move.b	#$4,-$A8(A5)
		sub.l	A0,A0
		move.l	A0,-$A6(A5)
		lea	-$9A(A5),A1
		move.l	A1,-$A2(A5)
		move.l	A0,-$9E(A5)
		clr.b	-$A7(A5)
		lea	$18(A2),A0
		lea	-$B4(A5),A1
		move.l	(A0)+,(A1)+
		move.l	(A0)+,(A1)+
		move.l	(A0)+,(A1)+
		lea	-$B4(A5),A0
		move.l	A0,D1
		move.l	-$38(A5),A6
		jsr	-$2E8(A6)
		lea	-$9A(A5),A0
		move.l	A0,-(SP)
		pea	DateStr(PC)
		pea	-$5C(A5)
		bsr	LC045A
		lea	$C(SP),SP
LC01C0		move.l	$24(A2),D0
		beq.s	LC01D8
		move.l	D0,-(SP)
		pea	Text3(PC)
		pea	-$5C(A5)
		bsr	LC045A
		lea	$C(SP),SP
LC01D8		lea	Text4(PC),A0
		move.l	A0,D1
		move.l	-$38(A5),A6
		jsr	-$3B4(A6)
		lea	-$5C(A5),A0
		move.l	A2,A1
		bsr	LC0BCC
		tst.l	-$7C(A5)
		bne.s	LC0232
		move.l	D4,-(SP)
		move.l	D5,-(SP)
		pea	Text(PC)
		pea	-$C8(A5)
		jsr	RawDoFmt(PC)
		lea	$10(SP),SP
		lea	-$C8(A5),A0
		move.l	A0,A1
LC0210		tst.b	(A1)+
		bne.s	LC0210
		subq.l	#$1,A1
		sub.l	A0,A1
		move.l	D4,-(SP)
		move.l	A0,D2
		move.l	A1,D3
		lea	Text5(PC),A0
		move.l	A0,D1
		move.l	-$38(A5),A6
		moveq	#$40,D4
		lsl.l	#$3,D4
		jsr	-$384(A6)
		move.l	(SP)+,D4
LC0232		moveq	#$0,D7
		move.l	-$78(A5),D0
		beq.s	LC025A
		move.l	D0,A3
		move.l	(A3),D0
		cmp.l	D0,D5
		bge.s	LC0246
		moveq	#$5,D7
		bra.s	LC0288

LC0246		cmp.l	D0,D5
		bne.s	LC0288
		move.l	-$74(A5),D0
		beq.s	LC0288
		move.l	D0,A0
		cmp.l	(A0),D4
		bge.s	LC0288
		moveq	#$5,D7
		bra.s	LC0288

LC025A		move.l	-$74(A5),D0
		beq.s	LC0288
		move.l	D0,A0
		cmp.l	(A0),D4
		bge.s	LC0288
		moveq	#$5,D7
		bra.s	LC0288

LC026A		move.l	-$7C(A5),-(SP)
		pea	Text6(PC)
		pea	-$5C(A5)
		bsr	LC045A
		lea	$C(SP),SP
		bra.s	LC0288

LC0280		moveq	#$32,D6
		not.b	D6
		bra.s	LC0288

LC0286		moveq	#$67,D6
LC0288		move.l	$24(SP),D1
		move.l	-$38(A5),A6
		jsr	-$35A(A6)
		bra.s	LC029C

PrintFault	jsr	-$84(A6)
		move.l	D0,D6
LC029C		tst.l	D6
		beq.s	CloseUTIL
		move.l	D6,D1
		moveq	#$0,D2
		jsr	-$1DA(A6)
CloseUTIL	move.l	-$34(A5),A1
		move.l	-$30(A5),A6
		jsr	-$19E(A6)
		bra.s	CloseDOS

WrongLib	move.l	D0,A6
		lea	Console(PC),A1
		move.l	A1,D1
		move.l	#$3EE,D2
		jsr	-$1E(A6)
		move.l	D0,D6
		tst.l	D6
		beq.s	Error0
		moveq	#$36,D0
		move.l	D0,D3
		move.l	D6,D1
		lea	Text7(PC),A0
		move.l	A0,D2
		jsr	-$30(A6)
		move.l	D6,D1
		jsr	-$24(A6)
Error0		move.w	#$4,A0
		move.l	(A0),A1
		move.l	$114(A1),A0
		moveq	#$7A,D0
		move.l	D0,$94(A0)
CloseDOS	move.l	-$38(A5),A1
		move.l	-$30(A5),A6
		jsr	-$19E(A6)
		move.l	D7,D0
		movem.l	(SP)+,D2-D7/A2/A3/A6
		unlk	A5
		rts

*****************************************************************************

DOSName		dc.b	'dos.library',0
UTILName	dc.b	'utility.library',0

		even

*****************************************************************************

Template

 dc.b 'NAME,VER=VERSION/N,REV=REVISION/N,FILE/S,FULL/S,UNIT/N,INTERNAL/S,RES/S',0

 even

*****************************************************************************

		dc.b	'$VER: version 40.5 (28.12.2000) '
		dc.b	'replacement for c:version 40.1 (09.02.93)',0

		even

*****************************************************************************

Text		dc.b	'%ld.%ld',0
Text0		dc.b	'Kickstart',0
Text1		dc.b	'%s %ld.%ld, ',0,0
Text2		dc.b	'%s',0,0
DateStr		dc.b	' (%s)',0
Text3		dc.b	$A,'%s',0
Text4		dc.b	$A,0
Text5		dc.b	'Workbench',0
Text6		dc.b	'Could not find version information for ''%s''',$A,0,0

*****************************************************************************

Console	dc.b	'*',0
Text7	dc.b 'This disk requires Kickstart version 2.04 or greater.',$A,0,0

*****************************************************************************

Text8		dc.b	'$VER:',0
lW042A		dc.w	0
Text9		dc.b	'%s %ld.%ld',0,0
VERName		dc.b	'version.library',0
Text10		dc.b	'shell',0
Text11		dc.b	'LIBS:',0
Text12		dc.b	'DEVS:',0

*****************************************************************************

		cnop	0,4

*****************************************************************************

LC045A		link	A5,#$0
		movem.l	D2/A2/A3/A6,-(SP)
		move.l	$8(A5),A3
		move.l	$C(A5),A2
		move.l	A2,D1
		lea	$10(A5),A0
		move.l	A0,D2
		move.l	$24(A3),A6
		jsr	-$3BA(A6)
		movem.l	(SP)+,D2/A2/A3/A6
		unlk	A5
		rts

*****************************************************************************

LC0482		link	A5,#-$8
		movem.l	D2/D3/A2/A3/A6,-(SP)
		move.l	A0,A3
		move.l	A1,-$8(A5)
		move.l	-$8(A5),D1
		moveq	#$0,D2
		moveq	#$0,D3
		move.l	$24(A3),A6
		jsr	-$30C(A6)
		move.l	D0,A2
		move.l	A2,D0
		bne.s	LC04B2
		move.l	-$8(A5),D1
		moveq	#$1,D3
		jsr	-$30C(A6)
		move.l	D0,A2
LC04B2		move.l	A2,D0
		movem.l	(SP)+,D2/D3/A2/A3/A6
		unlk	A5
		rts

*****************************************************************************

LC04BC		movem.l	D6/D7/A3,-(SP)
		move.l	D0,D7
		bra.s	LC04F6

LC04C4		move.l	D7,D0
		asl.l	#$2,D0
		move.l	D0,A3
		move.l	D0,A0
		move.l	(A0),D7
		move.l	-$4(A0),D1
		lsr.l	#$1,D1
		move.l	D1,D6
		bra.s	LC04F0

LC04D8		move.w	(A3)+,D0
		cmp.w	#$4AFC,D0
		bne.s	LC04EE
		subq.l	#$2,A3
		move.l	$2(A3),A0
		cmp.l	A3,A0
		bne.s	LC04EE
		move.l	A3,D0
		bra.s	LC04FC

LC04EE		subq.l	#$1,D6
LC04F0		moveq	#$0,D0
		cmp.l	D0,D6
		bhi.s	LC04D8
LC04F6		tst.l	D7
		bne.s	LC04C4
		moveq	#$0,D0
LC04FC		movem.l	(SP)+,D6/D7/A3
		rts

*****************************************************************************

LC0502		movem.l	D5-D7/A2/A3,-(SP)
		move.l	D0,D7
		bra.s	LC0540

LC050A		move.l	D7,D0
		asl.l	#$2,D0
		move.l	D0,A3
		move.l	(A3),D7
		moveq	#$0,D6
		move.l	-$4(A3),D5
		subq.l	#$4,D5
		bra.s	LC053C

LC051C		move.l	A3,A2
		add.l	D6,A2
		moveq	#$24,D0
		cmp.b	(A2),D0
		bne.s	LC053A
		moveq	#$5,D0
		move.l	A2,A0
		lea	Text8(PC),A1
		jsr	LC1138(PC)
		tst.l	D0
		bne.s	LC053A
		move.l	A2,D0
		bra.s	LC0546

LC053A		addq.l	#$1,D6
LC053C		cmp.l	D5,D6
		bcs.s	LC051C
LC0540		tst.l	D7
		bne.s	LC050A
		moveq	#$0,D0
LC0546		movem.l	(SP)+,D5-D7/A2/A3
		rts

*****************************************************************************

LC054C		link	A5,#-$7C
		movem.l	D2/D4-D7/A2/A3/A6,-(SP)
		move.l	$8(A5),A3
		movem.l	D0/D1/A0/A1,-$74(A5)
		move.l	-$68(A5),A2
		bset	#$0,$3(A2)
		move.l	A3,D0
		beq.s	LC0572
		bset	#$1,$3(A2)
LC0572		tst.w	-$72(A5)
		beq.s	LC057C
		moveq	#$A,D0
		or.l	D0,(A2)
LC057C		tst.w	-$6E(A5)
		beq.s	LC0586
		moveq	#$12,D0
		or.l	D0,(A2)
LC0586		move.l	A3,D0
		bne.s	LC058E
		lea	lW042A(PC),A3
LC058E		moveq	#$0,D5
		moveq	#$5,D0
		move.l	A3,A0
		lea	Text8(PC),A1
		jsr	LC1138(PC)
		tst.l	D0
		bne.s	LC05A6
		moveq	#$5,D5
		bra.s	LC05A6

LC05A4		addq.l	#$1,D5
LC05A6		moveq	#$20,D0
		cmp.b	$0(A3,D5.L),D0
		beq.s	LC05A4
		move.l	D5,D0
		move.l	D0,$24(SP)
		bra.s	LC05B8

LC05B6		addq.l	#$1,D5
LC05B8		move.l	A3,A2
		add.l	D5,A2
		move.b	(A2),D0
		moveq	#$20,D1
		cmp.b	D1,D0
		beq.s	LC05DE
		tst.b	D0
		beq.s	LC05D4
		moveq	#$A,D1
		cmp.b	D1,D0
		beq.s	LC05D4
		moveq	#$D,D1
		cmp.b	D1,D0
		bne.s	LC05D8
LC05D4		moveq	#$1,D0
		bra.s	LC05DA

LC05D8		moveq	#$0,D0
LC05DA		tst.l	D0
		beq.s	LC05B6
LC05DE		move.l	D5,D6
		bra.s	LC05E4

LC05E2		addq.l	#$1,D5
LC05E4		move.l	A3,A2
		add.l	D5,A2
		moveq	#$20,D0
		cmp.b	(A2),D0
		beq.s	LC05E2
		move.b	(A2),D0
		move.b	D0,$20(SP)
		move.b	$20(SP),D0
		beq.s	LC0612
		moveq	#$A,D1
		cmp.b	D1,D0
		beq.s	LC0612
		moveq	#$D,D1
		cmp.b	D1,D0
		beq.s	LC0612
		moveq	#$30,D1
		cmp.b	D1,D0
		blt.s	LC05B8
		moveq	#$39,D1
		cmp.b	D1,D0
		bgt.s	LC05B8
LC0612		move.l	A2,D1
		lea	-$1C(A5),A0
		move.l	A0,D2
		move.l	-$6C(A5),A6
		move.l	$24(A6),A6
		jsr	-$330(A6)
		move.l	D0,D7
		move.l	-$68(A5),A2
		tst.l	D7
		ble.s	LC064A
		tst.w	-$72(A5)
		bne.s	LC0642
		move.l	-$1C(A5),$10(A2)
		bset	#$3,$3(A2)
LC0642		add.l	D7,D5
		move.l	D5,D6
		bra.s	LC064A

LC0648		addq.l	#$1,D5
LC064A		moveq	#$20,D0
		cmp.b	$0(A3,D5.L),D0
		beq.s	LC0648
		move.l	D5,D4
		moveq	#$2E,D0
		cmp.b	$0(A3,D4.L),D0
		bne	LC085A
		addq.l	#$1,D5
		move.l	A3,A0
		add.l	D5,A0
		move.l	A0,D1
		lea	-$1C(A5),A1
		move.l	A1,D2
		move.l	-$6C(A5),A6
		move.l	$24(A6),A6
		jsr	-$330(A6)
		move.l	D0,D7
		tst.l	D7
		ble	LC085A
		tst.w	-$6E(A5)
		bne.s	LC0692
		move.l	-$1C(A5),$14(A2)
		bset	#$4,$3(A2)
LC0692		add.l	D7,D5
		bra.s	LC0698

LC0696		addq.l	#$1,D5
LC0698		move.l	A3,A2
		add.l	D5,A2
		move.b	(A2),D0
		beq.s	LC06AC
		moveq	#$A,D1
		cmp.b	D1,D0
		beq.s	LC06AC
		moveq	#$D,D1
		cmp.b	D1,D0
		bne.s	LC06B0
LC06AC		moveq	#$1,D1
		bra.s	LC06B2

LC06B0		moveq	#$0,D1
LC06B2		tst.l	D1
		bne.s	LC06BC
		moveq	#$28,D1
		cmp.b	D1,D0
		bne.s	LC0696
LC06BC						;^ move.l -$18(A5),D6
		move.l	D5,D6
		move.l	D6,D4
		moveq	#$28,D0
		cmp.b	(A2),D0
		bne	LC085A
		move.l	D6,D0
		subq.l	#$1,D0
		moveq	#$1,D6
		move.l	D0,-$18(A5)
		bra.s	LC06E0

LC06D8		move.b	$0(A3,D7.L),D0
		move.b	D0,(A2)
		addq.l	#$1,D6
LC06E0		lea	-$4B(A5),A0
		add.l	D6,A0
		move.l	A0,A2
		moveq	#$14,D0
		cmp.l	D0,D6
		bcc.s	LC06FA
		move.l	D5,D7
		add.l	D6,D7
		moveq	#$29,D0
		cmp.b	$0(A3,D7.L),D0
		bne.s	LC06D8
LC06FA		clr.b	(A2)
		addq.l	#$1,D5
		move.l	A3,A0
		add.l	D5,A0
		move.l	A0,D1
		lea	-$20(A5),A1
		move.l	A1,D2
		move.l	-$6C(A5),A6
		move.l	$24(A6),A6
		jsr	-$330(A6)
		move.l	D0,D7
		move.l	-$68(A5),A2
		tst.l	D7
		ble	LC080A
		add.l	D7,D5
		moveq	#$2E,D0
		cmp.b	$0(A3,D5.L),D0
		bne	LC080A
		addq.l	#$1,D5
		move.l	A3,A0
		add.l	D5,A0
		move.l	A0,D1
		lea	-$24(A5),A1
		move.l	A1,D2
		jsr	-$330(A6)
		move.l	D0,D7
		tst.l	D7
		ble	LC080A
		add.l	D7,D5
		moveq	#$2E,D0
		cmp.b	$0(A3,D5.L),D0
		bne	LC080A
		addq.l	#$1,D5
		move.l	A3,A0
		add.l	D5,A0
		move.l	A0,D1
		lea	-$28(A5),A1
		move.l	A1,D2
		jsr	-$330(A6)
		move.l	D0,D7
		tst.l	D7
		ble	LC080A
		add.l	D7,D5
		moveq	#$29,D0
		cmp.b	$0(A3,D5.L),D0
		bne.s	LC077E
		addq.l	#$1,D5
		bra.s	LC077E

LC077C		addq.l	#$1,D5
LC077E		moveq	#$20,D0
		cmp.b	$0(A3,D5.L),D0
		beq.s	LC077C
		move.l	D5,D4
*****************************************************************************
*		move.l	#1900,D0
*		add.l	-$28(A5),D0
;^ 1'patch y2k (5.12.2000) **************************************************
*		cmp.w	#77,-$28(A5)		;^
*		bhi.b	.skip			;^
*		add.w	#100,D0			;^
;^ **************************************************************************
*.skip		move.w	D0,-$2C(A5)
*****************************************************************************

;^ 2'patch y2k (20.12.2000) recognize 4 digit year in datestamps ************

		move.l	-$28(A5),D0		;^

		move.w	#2000,D1		;^
		cmp.w	#78,D0			;^
		bcs.b	.add_D1			;^

		move.w	#1900,D1		;^
		cmp.w	#100,D0			;^
		bcs.b	.add_D1			;^

		move.w	#0000,D1		;^
		cmp.w	#1978,D0		;^
		bcs.b	LC080A			;^

.add_D1		add.w	D1,D0			,^

		move.w	D0,-$2C(A5)
		move.l	-$24(A5),D0
		move.w	D0,-$2E(A5)
		move.l	-$20(A5),D0
		move.w	D0,-$30(A5)
		moveq	#$0,D0
		move.w	D0,-$32(A5)
		move.w	D0,-$34(A5)
		move.w	D0,-$36(A5)
		lea	-$36(A5),A0
		move.l	-$6C(A5),A6
		move.l	$28(A6),A6
		jsr	-$7E(A6)
		move.l	D0,D7		 	;seconds since 1.1.1978
						;^ tst.l D7
		beq.b	.skip1			;^ beq.b LC080A
						;^ move.l D7,D0
		move.l	#$15180,D1		;seconds per day
		jsr	LC11B4(PC)
.skip1		move.l	D0,$18(A2)		;^
		beq.b	.skip2			;^ move.l D7,D0
						;^ move.l #$15180,D1
						;^ jsr	LC11B4(PC)
		move.l	D1,D0
		moveq	#$3C,D1
		jsr	LC11B4(PC)
.skip2		move.l	D0,$1C(A2)		;^
		move.l	D7,D0
		beq.b	.skip3			;^
		moveq	#$3C,D1
		jsr	LC11B4(PC)
		moveq	#$32,D0
		jsr	LC1194(PC)
.skip3		move.l	D0,$20(A2)		;^

;^***************************************************************************

		bset	#$5,$3(A2)
LC080A		move.l	-$18(A5),D6
		btst	#$5,$3(A2)
		bne.s	LC085A
		moveq	#$19,D0
		moveq	#$0,D1
		lea	-$64(A5),A0
LC081E		move.b	D1,(A0)+
		dbra	D0,LC081E
		clr.b	-$58(A5)
		lea	-$4A(A5),A0
		move.l	A0,-$52(A5)
		lea	-$64(A5),A0
		move.l	A0,D1
		move.l	-$6C(A5),A6
		move.l	$24(A6),A6
		jsr	-$2EE(A6)
		tst.l	D0
		beq.s	LC085A
		lea	$18(A2),A0
		lea	-$64(A5),A1
		move.l	(A1)+,(A0)+
		move.l	(A1)+,(A0)+
		move.l	(A1)+,(A0)+
		bset	#$5,$3(A2)
LC085A		move.l	-$68(A5),A2
		move.l	$C(A2),A0
		move.l	A0,D0
		beq.s	LC0898
		lea	$28(A2),A1
		move.l	$14(A2),-(SP)
		move.l	$10(A2),-(SP)
		move.l	A0,-(SP)
		pea	Text9(PC)
		move.l	A1,-(SP)
		move.l	A1,$38(SP)
		jsr	RawDoFmt(PC)
		lea	$14(SP),SP
		move.l	$24(SP),A2
		move.l	A2,A0
LC088C		tst.b	(A0)+
		bne.s	LC088C
		subq.l	#$1,A0
		sub.l	A2,A0
		move.l	A0,D7
		bra.s	LC08A4

LC0898		move.l	A3,A2
		move.l	$24(SP),D0
		add.l	D0,A2
		move.l	D6,D7
		sub.l	D0,D7
LC08A4		move.l	D7,D0
		addq.l	#$1,D0
		moveq	#$1,D1
		swap	D1
		move.l	-$6C(A5),A6
		move.l	$2C(A6),A6
		jsr	-$2AC(A6)
		move.l	-$68(A5),A0
		move.l	D0,$C(A0)
		tst.l	D0
		bne.s	LC08D4
		move.l	A0,A1
		move.l	-$6C(A5),A0
		bsr	LC0BCC
		moveq	#$0,D0
		bra	LC0972

LC08D4		move.l	-$68(A5),A0
		bset	#$2,$3(A0)
		move.l	A2,A0
		move.l	-$68(A5),A1
		move.l	$C(A1),A1
		move.l	D7,D0
		move.l	-$6C(A5),A6
		move.l	$2C(A6),A6
		jsr	-$270(A6)
		bra.s	LC08FA

LC08F8		addq.l	#$1,D5
LC08FA		move.l	A3,A2
		add.l	D5,A2
		move.b	(A2),D0
		beq.s	LC090E
		moveq	#$A,D1
		cmp.b	D1,D0
		beq.s	LC090E
		moveq	#$D,D1
		cmp.b	D1,D0
		bne.s	LC0912
LC090E		moveq	#$1,D0
		bra.s	LC0914

LC0912		moveq	#$0,D0
LC0914		tst.l	D0
		beq.s	LC08F8
		move.l	-$68(A5),A2
		tst.l	D4
		bmi.s	LC0970
		move.l	D5,D7
		sub.l	D4,D7
		beq.s	LC0970
		move.l	D7,D0
		addq.l	#$1,D0
		moveq	#$1,D1
		swap	D1
		move.l	-$6C(A5),A6
		move.l	$2C(A6),A6
		jsr	-$2AC(A6)
		move.l	D0,$24(A2)
		tst.l	D0
		bne.s	LC0950
		move.l	-$6C(A5),A0
		move.l	A2,A1
		bsr	LC0BCC
		moveq	#$0,D0
		bra.s	LC0972

LC0950		move.l	-$68(A5),A2
		move.l	A3,A0
		add.l	D4,A0
		bset	#$6,$3(A2)
		move.l	$24(A2),A1
		move.l	D7,D0
		move.l	-$6C(A5),A6
		move.l	$2C(A6),A6
		jsr	-$270(A6)
LC0970		move.l	A2,D0
LC0972		movem.l	(SP)+,D2/D4-D7/A2/A3/A6
		unlk	A5
		rts

*****************************************************************************

LC097A		link	A5,#$0
		movem.l	A2/A3,-(SP)
		move.l	A0,A3
		move.l	A1,A2
		move.l	$8(A5),A0
		move.l	$E(A0),$C(A2)
		moveq	#$0,D0
		move.b	$B(A0),D0
		move.l	D0,$10(A2)
		move.l	$12(A0),-(SP)
		moveq	#$1,D0
		moveq	#$0,D1
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC054C
		movem.l	-$8(A5),A2/A3
		unlk	A5
		rts

*****************************************************************************

LC09B4		link	A5,#-$24
		movem.l	D2/D3/D5-D7/A2/A3/A6,-(SP)
		move.l	A0,A3
		move.l	A1,-$1C(A5)
		clr.b	-$16(A5)
		move.l	-$1C(A5),A2
		tst.l	$8(A2)
		bne.s	LC09E8
		moveq	#$40,D0
		lsl.l	#$2,D0
		moveq	#$0,D1
		move.l	$2C(A3),A6
		jsr	-$2AC(A6)
		move.l	D0,$8(A2)
		tst.l	D0
		beq	LC0BB6
LC09E8		move.l	#$1006,D0
		moveq	#$0,D1
		move.l	$2C(A3),A6
		jsr	-$2AC(A6)
		move.l	D0,$24(SP)
		tst.l	D0
		beq	LC0BB6
		move.l	$8(A5),D1
		move.l	#$3ED,D2
		move.l	$24(A3),A6
		jsr	-$1E(A6)
		move.l	D0,D7
		tst.l	D7
		beq	LC0B8E
		bset	#$0,$3(A2)
		move.l	D7,D1
		move.l	$8(A2),D2
		moveq	#$40,D3
		lsl.l	#$2,D3
		move.l	$24(A3),A6
		jsr	-$198(A6)
		tst.l	D0
		bne.s	LC0A48
		move.l	$8(A2),A1
		move.l	$2C(A3),A6
		jsr	-$2B2(A6)
		clr.l	$8(A2)
LC0A48		move.b	#$1,-$15(A5)
		clr.b	-$17(A5)
		bra	LC0B1E

LC0A56		move.l	D7,D1
		move.l	$24(SP),D2
		moveq	#$40,D3
		lsl.l	#$6,D3
		move.l	$24(A3),A6
		jsr	-$2A(A6)
		move.l	D0,D6
;^ patch minsize (9.12.2000) ************************************************
		moveq	#8,D0		;^ min. size-1 for versionstrings
		cmp.l	D0,D6		;^
;^		tst.l	D6
		ble	LC0B26
		tst.b	-$15(A5)
		beq.s	LC0A90
		clr.b	-$15(A5)
		moveq	#39,D0		;^ min. size-1 for executables
;^		moveq	#$14,D0
;^ **************************************************************************
		cmp.l	D0,D6
		ble.b	LC0A90 
		move.l	D2,A0
		cmp.l	#$3F3,(A0)
		bne.s	LC0A90
		move.b	#$1,-$17(A5)
LC0A90		moveq	#$0,D5
		bra.s	LC0AF4

LC0A94		move.l	$24(SP),A0
		add.l	D5,A0
		move.l	A0,A2
		moveq	#$24,D0
		cmp.b	(A2),D0
		bne.s	LC0AF2
		move.l	D6,D0
		sub.l	D5,D0
		moveq	#$5,D1
		cmp.l	D1,D0
		bge.s	LC0ABE
		neg.l	D0
		move.l	D0,D2
		move.l	D7,D1
		moveq	#$0,D3
		move.l	$24(A3),A6
		jsr	-$42(A6)
		bra.s	LC0AF8

LC0ABE		moveq	#$5,D0
		move.l	A2,A0
		lea	Text8(PC),A1
		jsr	LC1138(PC)
		tst.l	D0
		bne.s	LC0AF2
		tst.l	D5
		ble.s	LC0AE6
		move.l	D5,D0
		sub.l	D6,D0
		move.l	D0,D2
		move.l	D7,D1
		moveq	#$0,D3
		move.l	$24(A3),A6
		jsr	-$42(A6)
		bra.s	LC0AF8

LC0AE6		move.b	#$1,-$16(A5)
		move.l	A2,-$14(A5)
		bra.s	LC0AF8

LC0AF2		addq.l	#$1,D5
LC0AF4		cmp.l	D6,D5
		blt.s	LC0A94
LC0AF8		tst.b	-$16(A5)
		beq.s	LC0B18
		move.l	-$14(A5),-(SP)
		moveq	#$0,D0
		move.l	D0,D1
		move.l	A3,A0
		move.l	-$1C(A5),A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,-$1C(A5)
		bra.s	LC0B1E

LC0B18		tst.b	-$17(A5)
		bne.s	LC0B26
LC0B1E		tst.b	-$16(A5)
		beq	LC0A56
LC0B26		move.l	D7,D1
		move.l	$24(A3),A6
		jsr	-$24(A6)
		move.l	-$1C(A5),A2
		tst.b	-$16(A5)
		bne.s	LC0B8E
		tst.b	-$17(A5)
		beq.s	LC0B8E
		move.l	$8(A5),D1
		jsr	-$96(A6)
		move.l	D0,D7
		tst.l	D7
		beq.s	LC0B8E
		move.l	D7,D0
		bsr	LC0502
		tst.l	D0
		beq.s	LC0B6C
		move.l	D0,-(SP)
		moveq	#$0,D0
		move.l	D0,D1
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,A2
		bra.s	LC0B84

LC0B6C		move.l	D7,D0
		bsr	LC04BC
		tst.l	D0
		beq.s	LC0B84
		move.l	D0,-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC097A
		addq.w	#$4,SP
		move.l	D0,A2
LC0B84		move.l	D7,D1
		move.l	$24(A3),A6
		jsr	-$9C(A6)
LC0B8E		move.l	$24(SP),A1
		move.l	$2C(A3),A6
		jsr	-$2B2(A6)
		move.l	A2,D0
		beq.s	LC0BB2
		btst	#$0,$3(A2)
		bne.s	LC0BB2
		move.l	$8(A2),A1
		jsr	-$2B2(A6)
		clr.l	$8(A2)
LC0BB2		move.l	A2,D0
		bra.s	LC0BC4

LC0BB6		move.l	-$1C(A5),A2
		move.l	A3,A0
		move.l	A2,A1
		bsr.b	LC0BCC
		moveq	#$0,D0
LC0BC4		movem.l	(SP)+,D2/D3/D5-D7/A2/A3/A6
		unlk	A5
		rts

*****************************************************************************

LC0BCC		movem.l	A2/A3/A6,-(SP)
		move.l	A0,A3
		move.l	A1,A2
		move.l	$8(A2),A1
		move.l	$2C(A3),A6
		jsr	-$2B2(A6)
		move.l	$C(A2),A1
		jsr	-$2B2(A6)
		move.l	$24(A2),A1
		jsr	-$2B2(A6)
		move.l	A2,A1
		jsr	-$2B2(A6)
		movem.l	(SP)+,A2/A3/A6
		rts

*****************************************************************************

LC0BFC		link	A5,#-$20
		movem.l	D2/D3/D7/A2/A3/A6,-(SP)
		movem.l	A0/A1,-$14(A5)
		move.l	-$14(A5),A3
		moveq	#$64,D0
		moveq	#$1,D1
		swap	D1
		move.l	$2C(A3),A6
		jsr	-$2AC(A6)
		move.l	D0,A2
		move.l	A2,D0
		beq	LC1072
		moveq	#-$1,D0
		move.l	D0,$10(A2)
		move.l	D0,$14(A2)
		move.l	D0,$18(A2)
		move.l	D0,$1C(A2)
		move.l	D0,$20(A2)
		tst.l	-$10(A5)
		bne	LC0CE6
		move.l	#$80110001,D0
		moveq	#$0,D1
		move.l	$8(A5),A0
		move.l	$28(A3),A6
		jsr	-$24(A6)
		move.l	$2C(A3),A0
		subq.l	#$1,D0
		bne.s	LC0C8A
		moveq	#$0,D0
		move.w	$14(A0),D0
		move.l	D0,$10(A2)
		moveq	#$0,D0
		move.w	$22(A0),D0
		move.l	D0,$14(A2)
		pea	Text0(PC)
		moveq	#$1,D0
		move.l	D0,D1
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,A2
		bra	LC1072

LC0C8A		moveq	#$1,D0
		move.l	D0,(A2)
		move.l	A0,A6
		lea	VERName(PC),A1
		moveq	#$0,D0
		jsr	-$228(A6)
		move.l	D0,$18(SP)
		tst.l	D0
		beq	LC1072
		lea	Text5(PC),A0
		move.l	A0,$C(A2)
		moveq	#$0,D1
		move.l	D0,A0
		move.w	$14(A0),D1
		move.l	D1,$10(A2)
		moveq	#$0,D1
		move.w	$16(A0),D1
		move.l	D1,$14(A2)
		move.l	$18(A0),-(SP)
		moveq	#$1,D0
		move.l	D0,D1
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,A2
		move.l	$18(SP),A1
		move.l	$2C(A3),A6
		jsr	-$19E(A6)
		bra	LC1072

LC0CE6		move.l	D0,D1
		move.l	#$80110002,D0
		move.l	$8(A5),A0
		move.l	$28(A3),A6
		jsr	-$24(A6)
		move.l	D0,D7
		btst	#$0,D7
		beq.s	LC0D26
		move.l	-$10(A5),A0
		move.l	A3,A6
		jsr	LC10A4(PC)
		tst.l	D0
		beq.s	LC0D26
		moveq	#$1,D1
		move.l	D1,$4(A2)
		move.l	D0,-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC097A
		addq.w	#$4,SP
		move.l	D0,A2
		moveq	#$0,D7
LC0D26		btst	#$1,D7
		beq	LC0DB0
		move.l	$2C(A3),A6
		jsr	-$84(A6)
		move.l	A3,A0
		move.l	-$10(A5),A1
		bsr	LC0482
		move.l	D0,A3
		move.l	A3,D0
		beq.s	LC0DA4
		move.l	$4(A3),D0
		moveq	#-$2,D1
		cmp.l	D1,D0
		beq.s	LC0D58
		cmp.l	#$FFFFFC19,D0
		bne.s	LC0D80
LC0D58		move.l	-$14(A5),A3
		lea	Text10(PC),A0
		move.l	A3,A6
		jsr	LC10A4(PC)
		tst.l	D0
		beq.s	LC0DA2
		moveq	#$1,D1
		move.l	D1,$4(A2)
		move.l	D0,-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC097A
		addq.w	#$4,SP
		move.l	D0,A2
		bra.s	LC0DA2

LC0D80		moveq	#$2,D0
		move.l	D0,$4(A2)
		move.l	$8(A3),D0
		bsr	LC0502
		move.l	D0,-(SP)
		moveq	#$0,D0
		move.l	D0,D1
		move.l	-$14(A5),A0
		move.l	A2,A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,A2
LC0DA2		moveq	#$0,D7
LC0DA4		move.l	-$14(A5),A3
		move.l	$2C(A3),A6
		jsr	-$8A(A6)
LC0DB0		btst	#$2,D7
		beq	LC0E42
		move.l	-$10(A5),A0
LC0DBC		tst.b	(A0)+
		bne.s	LC0DBC
		subq.l	#$1,A0
		sub.l	-$10(A5),A0
		move.l	A0,D0
		beq.s	LC0E42
		move.l	A0,$20(SP)
		moveq	#$3A,D0
		move.l	-$10(A5),A1
		move.l	A0,D1
		cmp.b	-$1(A1,D1.L),D0
		bne.s	LC0E42
		clr.b	-$1(A1,D1.L)
		moveq	#$5,D1
		move.l	$24(A3),A6
		jsr	-$28E(A6)
		move.l	D0,D1
		move.l	-$10(A5),D2
		moveq	#$4,D3
		jsr	-$2AC(A6)
		move.l	D0,$1C(SP)
		moveq	#$5,D1
		jsr	-$294(A6)
		tst.l	$1C(SP)
		beq.s	LC0E34
		moveq	#$1,D0
		move.l	D0,(A2)
		move.l	D3,$4(A2)
		move.l	$1C(SP),A0
		tst.l	$1C(A0)
		beq.s	LC0E32
		move.l	$20(A0),D0
		bsr	LC04BC
		tst.l	D0
		beq.s	LC0E32
		move.l	D0,-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC097A
		addq.w	#$4,SP
		move.l	D0,A2
LC0E32		moveq	#$0,D7
LC0E34		move.l	-$10(A5),A0
		move.l	$20(SP),D0
		move.b	#$3A,-$1(A0,D0.L)
LC0E42		btst	#$3,D7
		beq.s	LC0EB4
		move.l	$2C(A3),A6
		jsr	-$84(A6)
		lea	$17A(A6),A0
		move.l	A0,$1C(SP)
		move.l	-$10(A5),D1
		move.l	$24(A3),A6
		jsr	-$366(A6)
		move.l	D0,A1
		move.l	$1C(SP),A0
		move.l	A3,A6
		jsr	LC10DE(PC)
		tst.l	D0
		beq.s	LC0EAC
		moveq	#$8,D1
		move.l	D1,$4(A2)
		move.l	D0,A0
		move.l	$A(A0),$C(A2)
		moveq	#$0,D1
		move.w	$14(A0),D1
		move.l	D1,$10(A2)
		moveq	#$0,D1
		move.w	$16(A0),D1
		move.l	D1,$14(A2)
		move.l	$18(A0),-(SP)
		moveq	#$1,D0
		move.l	D0,D1
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,A2
		moveq	#$0,D7
LC0EAC		move.l	$2C(A3),A6
		jsr	-$8A(A6)
LC0EB4		btst	#$4,D7
		beq.s	LC0F26
		move.l	$2C(A3),A6
		jsr	-$84(A6)
		lea	$15E(A6),A0
		move.l	A0,$1C(SP)
		move.l	-$10(A5),D1
		move.l	$24(A3),A6
		jsr	-$366(A6)
		move.l	D0,A1
		move.l	$1C(SP),A0
		move.l	A3,A6
		jsr	LC10DE(PC)
		tst.l	D0
		beq.s	LC0F1E
		moveq	#$10,D1
		move.l	D1,$4(A2)
		move.l	D0,A0
		move.l	$A(A0),$C(A2)
		moveq	#$0,D1
		move.w	$14(A0),D1
		move.l	D1,$10(A2)
		moveq	#$0,D1
		move.w	$16(A0),D1
		move.l	D1,$14(A2)
		move.l	$18(A0),-(SP)
		moveq	#$1,D0
		move.l	D0,D1
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC054C
		addq.w	#$4,SP
		move.l	D0,A2
		moveq	#$0,D7
LC0F1E		move.l	$2C(A3),A6
		jsr	-$8A(A6)
LC0F26		btst	#$5,D7
		beq.s	LC0F50
		moveq	#$20,D0
		move.l	D0,$4(A2)
		move.l	-$10(A5),-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC09B4
		addq.w	#$4,SP
		move.l	D0,A2
		move.l	A2,D0
		beq.s	LC0F4E
		btst	#$0,$3(A2)
		beq.s	LC0F50
LC0F4E		moveq	#$0,D7
LC0F50		btst	#$6,D7
		beq	LC0FE0
		move.l	-$10(A5),D1
		move.l	$24(A3),A6
		jsr	-$366(A6)
		move.l	D0,A0
LC0F66		tst.b	(A0)+
		bne.s	LC0F66
		subq.l	#$1,A0
		sub.l	D0,A0
		move.l	A0,D0
		addq.l	#$6,D0
		moveq	#$0,D1
		move.l	$2C(A3),A6
		jsr	-$2AC(A6)
		move.l	D0,$18(SP)
		tst.l	D0
		beq.s	LC0FC8
		lea	Text11(PC),A0
		move.l	D0,A1
LC0F8A		move.b	(A0)+,(A1)+
		bne.s	LC0F8A
		move.l	-$10(A5),D1
		move.l	$24(A3),A6
		jsr	-$366(A6)
		move.l	D0,A1
		move.l	$18(SP),A0
		jsr	LC1184(PC)
		moveq	#$40,D0
		move.l	D0,$4(A2)
		move.l	$18(SP),-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC09B4
		addq.w	#$4,SP
		move.l	D0,A2
		move.l	$18(SP),A1
		move.l	$2C(A3),A6
		jsr	-$2B2(A6)
		bra.s	LC0FD2

LC0FC8		move.l	A3,A0
		move.l	A2,A1
		bsr	LC0BCC
		sub.l	A2,A2
LC0FD2		move.l	A2,D0
		beq.s	LC0FDE
		btst	#$0,$3(A2)
		beq.s	LC0FE0
LC0FDE		moveq	#$0,D7
LC0FE0		btst	#$7,D7
		beq.s	LC1062
		move.l	-$10(A5),D1
		move.l	$24(A3),A6
		jsr	-$366(A6)
		move.l	D0,A0
LC0FF4		tst.b	(A0)+
		bne.s	LC0FF4
		subq.l	#$1,A0
		sub.l	D0,A0
		move.l	A0,D0
		addq.l	#$6,D0
		moveq	#$0,D1
		move.l	$2C(A3),A6
		jsr	-$2AC(A6)
		move.l	D0,$18(SP)
		tst.l	D0
		beq.s	LC1058
		lea	Text12(PC),A0
		move.l	D0,A1
LC1018		move.b	(A0)+,(A1)+
		bne.s	LC1018
		move.l	-$10(A5),D1
		move.l	$24(A3),A6
		jsr	-$366(A6)
		move.l	D0,A1
		move.l	$18(SP),A0
		jsr	LC1184(PC)
		move.l	#$80,$4(A2)
		move.l	$18(SP),-(SP)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC09B4
		addq.w	#$4,SP
		move.l	D0,A2
		move.l	$18(SP),A1
		move.l	$2C(A3),A6
		jsr	-$2B2(A6)
		bra.s	LC1062

LC1058		move.l	A3,A0
		move.l	A2,A1
		bsr	LC0BCC
		sub.l	A2,A2
LC1062		move.l	A2,D0
		beq.s	LC1072
		btst	#$0,$3(A2)
		bne.s	LC1072
		clr.l	$4(A2)
LC1072		move.l	A2,D0
		movem.l	(SP)+,D2/D3/D7/A2/A3/A6
		unlk	A5
		rts

*****************************************************************************

LC107C		link	A5,#$0
		movem.l	A2/A3,-(SP)
		move.l	$8(A5),A3
		move.l	$C(A5),A2
		pea	$10(A5)
		move.l	A3,A0
		move.l	A2,A1
		bsr	LC0BFC
		movem.l	-$8(A5),A2/A3
		unlk	A5
		rts

*****************************************************************************

		cnop	0,4

*****************************************************************************

LC10A4		movem.l	A2-A4/A6,-(SP)
		move.l	$2C(A6),A1
		move.l	$12C(A1),A2
		move.l	A0,A3
		move.l	$28(A6),A6
LC10B6		move.l	(A2)+,D0
		beq.s	LC10D8
		bgt.s	LC10C4
		bclr	#$1F,D0
		move.l	D0,A2
		bra.s	LC10B6

LC10C4		move.l	D0,A4
		move.l	D0,A1
		move.l	A3,A0
		move.l	$E(A1),A1
		jsr	-$A2(A6)
		tst.l	D0
		bne.s	LC10B6
		move.l	A4,D0
LC10D8		movem.l	(SP)+,A2-A4/A6
		rts

*****************************************************************************

LC10DE		movem.l	D2/A2/A3/A6,-(SP)
		move.l	$28(A6),A6
		move.l	A1,A3
		move.l	(A0),D2
LC10EA		move.l	D2,A2
		move.l	(A2),D2
		beq.s	LC1106
		move.l	A3,A0
		move.l	$A(A2),A1
		jsr	-$A2(A6)
		tst.l	D0
		bne.s	LC10EA
		move.l	A2,D0
		movem.l	(SP)+,D2/A2/A3/A6
		rts

LC1106		moveq	#$0,D0
		movem.l	(SP)+,D2/A2/A3/A6
		rts

*****************************************************************************

		cnop	0,4

*****************************************************************************

RawDoFmt	movem.l	A2-A4/A6,-(SP)
		move.l	$14(SP),A3
		move.l	$18(SP),A0
		lea	$1C(SP),A1
		lea	LC1134(PC),A2
		move.l	$4.w,A6
		jsr	-$20A(A6)
		movem.l	(SP)+,A2-A4/A6
		rts

LC1134		move.b	D0,(A3)+
		rts

*****************************************************************************

LC1138		movem.l	D6/D7/A2/A3,-(SP)
		move.l	A0,A3
		move.l	A1,A2
		move.l	D0,D7
LC1142		tst.l	D7
		beq.s	LC1166
		tst.b	(A3)
		beq.s	LC1166
		tst.b	(A2)
		beq.s	LC1166
		moveq	#$0,D0
		move.b	(A3)+,D0
		moveq	#$0,D1
		move.b	(A2)+,D1
		sub.l	D1,D0
		move.l	D0,D6
		tst.l	D6
		beq.s	LC1162
		move.l	D6,D0
		bra.s	LC117C

LC1162		subq.l	#$1,D7
		bra.s	LC1142

LC1166		tst.l	D7
		beq.s	LC117A
		tst.b	(A3)
		beq.s	LC1172
		moveq	#$1,D0
		bra.s	LC117C

LC1172		tst.b	(A2)
		beq.s	LC117A
		moveq	#-$1,D0
		bra.s	LC117C

LC117A		moveq	#$0,D0
LC117C		movem.l	(SP)+,D6/D7/A2/A3
		rts

*****************************************************************************

LC1184		move.l	A0,D0
LC1186		tst.b	(A0)+
		bne.s	LC1186
		subq.l	#$1,A0
LC118C		move.b	(A1)+,(A0)+
		bne.s	LC118C
		rts

*****************************************************************************

		cnop	0,4

*****************************************************************************

LC1194		movem.l	D2/D3,-(SP)
		move.l	D0,D2
		move.l	D1,D3
		swap	D2
		swap	D3
		mulu	D1,D2
		mulu	D0,D3
		mulu	D1,D0
		add.w	D3,D2
		swap	D2
		clr.w	D2
		add.l	D2,D0
		movem.l	(SP)+,D2/D3
		rts

*****************************************************************************

LC11B4		tst.l	D0
		bpl.b	LC11D6
		neg.l	D0
		tst.l	D1
		bpl.b	LC11CC
		neg.l	D1
		bsr.b	LC11E6
		neg.l	D1
		rts

LC11CC		bsr.b	LC11E6
		neg.l	D0
		neg.l	D1
		rts

LC11D6		tst.l	D1
		bpl.b	LC11E6
		neg.l	D1
		bsr.b	LC11E6
		neg.l	D0
		rts

LC11E6		move.l	D2,-(SP)
		swap	D1
		move.w	D1,D2
		bne.b	LC1210
		swap	D0
		swap	D1
		swap	D2
		move.w	D0,D2
		beq.b	LC1200
		divu	D1,D2
		move.w	D2,D0
LC1200		swap	D0
		move.w	D0,D2
		divu	D1,D2
		move.w	D2,D0
		swap	D2
		move.w	D2,D1
		move.l	(SP)+,D2
		rts

LC1210		move.l	D3,-(SP)
		moveq	#$10,D3
		cmp.w	#$80,D1
		bcc.b	LC1220
		rol.l	#$8,D1
		subq.w	#$8,D3
LC1220		cmp.w	#$800,D1
		bcc.b	LC122C
		rol.l	#$4,D1
		subq.w	#$4,D3
LC122C		cmp.w	#$2000,D1
		bcc.b	LC1238
		rol.l	#$2,D1
		subq.w	#$2,D3
LC1238		tst.w	D1
		bmi.b	LC1242
		rol.l	#$1,D1
		subq.w	#$1,D3
LC1242		move.w	D0,D2
		lsr.l	D3,D0
		swap	D2
		clr.w	D2
		lsr.l	D3,D2
		swap	D3
		divu	D1,D0
		move.w	D0,D3
		move.w	D2,D0
		move.w	D3,D2
		swap	D1
		mulu	D1,D2
		sub.l	D2,D0
		bcc.b	LC1266
		subq.w	#$1,D3
		add.l	D1,D0
LC1264		bcc.s	LC1264
LC1266		moveq	#$0,D1
		move.w	D3,D1
		swap	D3
		rol.l	D3,D0
		swap	D0
		exg	D0,D1
		move.l	(SP)+,D3
		move.l	(SP)+,D2
		rts

 end ************************************************************************
