	ifndef	??version
?debug	macro
	endm
publicdll macro	name
	public	name
	endm
	endif
	?debug	V 300h
	?debug	S "TREE-7.C"
	?debug	C E9854AFC2208545245452D372E43
	?debug	C E94019CA181B483A5C424F524C414E44435C494E434C5544455C43+
	?debug	C 4F4E494F2E48
	?debug	C E94019CA181B483A5C424F524C414E44435C494E434C5544455C5F+
	?debug	C 444546532E48
	?debug	C E94019CA181B483A5C424F524C414E44435C494E434C5544455C53+
	?debug	C 5444494F2E48
	?debug	C E94019CA181C483A5C424F524C414E44435C494E434C5544455C5F+
	?debug	C 4E46494C452E48
	?debug	C E94019CA181B483A5C424F524C414E44435C494E434C5544455C5F+
	?debug	C 4E554C4C2E48
	?debug	C E94019CA181C483A5C424F524C414E44435C494E434C5544455C53+
	?debug	C 54444C49422E48
	?debug	C E94019CA181C483A5C424F524C414E44435C494E434C5544455C53+
	?debug	C 5452494E472E48
	?debug	C E94019CA181A483A5C424F524C414E44435C494E434C5544455C54+
	?debug	C 494D452E48
	?debug	C E94019CA181A483A5C424F524C414E44435C494E434C5544455C4D+
	?debug	C 4154482E48
	?debug	C E94019CA1819483A5C424F524C414E44435C494E434C5544455C44+
	?debug	C 4F532E48
	?debug	C E94019CA1819483A5C424F524C414E44435C494E434C5544455C44+
	?debug	C 49522E48
	?debug	C E94019CA181F483A5C424F524C414E44435C494E434C5544455C53+
	?debug	C 59535C54494D45422E48
	?debug	C E94019CA181B483A5C424F524C414E44435C494E434C5544455C43+
	?debug	C 545950452E48
TREE-7_TEXT	segment byte public 'CODE'
TREE-7_TEXT	ends
DGROUP	group	_DATA,_BSS
	assume	cs:TREE-7_TEXT,ds:DGROUP
_DATA	segment word public 'DATA'
d@	label	byte
d@w	label	word
_DATA	ends
_BSS	segment word public 'BSS'
b@	label	byte
b@w	label	word
_LightPat	label	byte
	db	8704 dup (?)
_PatName	label	byte
	db	104 dup (?)
_BSS	ends
_DATA	segment word public 'DATA'
_FG	label	word
	db	15
	db	0
_BG	label	word
	db	2
	db	0
_DATA	ends
_BSS	segment word public 'BSS'
_Colour	label	word
	db	2 dup (?)
_Hilite	label	word
	db	2 dup (?)
_var	label	word
	db	78 dup (?)
_BSS	ends
_DATA	segment word public 'DATA'
_File	label	byte
	db	84
	db	114
	db	101
	db	101
	db	68
	db	102
	db	108
	db	116
	db	46
	db	100
	db	97
	db	116
	db	0
_DATA	ends
_BSS	segment word public 'BSS'
_cmd	label	byte
	db	6 dup (?)
_BSS	ends
_DATA	segment word public 'DATA'
_savex	label	word
	db	1
	db	0
_savey	label	word
	db	30
	db	0
	db	48
	db	48
	db	58
	db	48
	db	48
	db	58
	db	48
	db	48
	db	1 dup (0)
_DATA	ends
TREE-7_TEXT	segment byte public 'CODE'
	?debug	C E80108545245452D372E43854AFC22
   ;	
   ;	void main(int argc, char *argv[])
   ;	
	?debug	L 88
	assume	cs:TREE-7_TEXT
_main	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,128
	push	si
	push	di
	?debug	C E319000400160200
	?debug	C E318000400161900
	?debug	C E60461726776180A0800000461726763040A0600+
	?debug	C 00
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @1@86
	call	far ptr F_OVERFLOW@
@1@86:
   ;	
   ;	{
   ;	 int fl;
   ;	 int i;
   ;	 char tmp[81];
   ;	 char StTime[9]="00:00:00";
   ;	
	?debug	L 93
	mov	ax,word ptr DGROUP:d@w+21
	mov	word ptr [bp-12],ax
	mov	ax,word ptr DGROUP:d@w+21+2
	mov	word ptr [bp-10],ax
	mov	ax,word ptr DGROUP:d@w+21+4
	mov	word ptr [bp-8],ax
	mov	ax,word ptr DGROUP:d@w+21+6
	mov	word ptr [bp-6],ax
	mov	al,byte ptr DGROUP:d@w+21+8
	mov	byte ptr [bp-4],al
   ;	
   ;	 char a;
   ;	 int Pattern;
   ;	 int ActivePats=0;
   ;	
	?debug	L 96
	mov	word ptr [bp-16],0
   ;	
   ;	 struct tm *time_now;
   ;	 time_t secs_now;
   ;	 struct timeb t;
   ;	 double TFCP;
   ;	 int lk;
   ;	 int lx;
   ;	
   ;	 cmd[0] = 0x1b;
   ;	
	?debug	L 104
	mov	byte ptr DGROUP:_cmd,27
   ;	
   ;	 cmd[1] = '0';
   ;	
	?debug	L 105
	mov	byte ptr DGROUP:_cmd+1,48
   ;	
   ;	 cmd[4] = 'E';
   ;	
	?debug	L 106
	mov	byte ptr DGROUP:_cmd+4,69
   ;	
   ;	 cmd[5] = 0;
   ;	
	?debug	L 107
	mov	byte ptr DGROUP:_cmd+5,0
   ;	
   ;	
   ;	 Pattern=LASTPAT;
   ;	
	?debug	L 109
	mov	word ptr [bp-14],8
   ;	
   ;	
   ;	 tzset();
   ;	
	?debug	L 111
	call	far ptr _tzset
   ;	
   ;	
   ;	 var.invert = 0;
   ;	
	?debug	L 113
	mov	word ptr DGROUP:_var+26,0
   ;	
   ;	 var.AutoMode = 0;
   ;	
	?debug	L 114
	mov	word ptr DGROUP:_var+28,0
   ;	
   ;	 var.Port = 0;
   ;	
	?debug	L 115
	mov	word ptr DGROUP:_var+30,0
   ;	
   ;	
   ;	 Colour = OneColor(FG, BG);
   ;	
	?debug	L 117
	push	word ptr DGROUP:_BG
	push	word ptr DGROUP:_FG
	call	far ptr @OneColor$qii
	add	sp,4
	mov	word ptr DGROUP:_Colour,ax
   ;	
   ;	 Hilite = OneColor(WHITE, RED);
   ;	
	?debug	L 118
	mov	ax,4
	push	ax
	mov	ax,15
	push	ax
	call	far ptr @OneColor$qii
	add	sp,4
	mov	word ptr DGROUP:_Hilite,ax
   ;	
   ;	 var.PiDF = .1;
   ;	
	?debug	L 119
	fld	qword ptr DGROUP:s@
	fstp	qword ptr DGROUP:_var
   ;	
   ;	 var.PpDF = 15.0;
   ;	
	?debug	L 120
	fld	dword ptr DGROUP:s@+8
	fstp	qword ptr DGROUP:_var+8
   ;	
   ;	 var.PgDF = 30.0;
   ;	
	?debug	L 121
	fld	dword ptr DGROUP:s@+12
	fstp	qword ptr DGROUP:_var+16
   ;	
   ;	 var.PatSel = 0;
   ;	
	?debug	L 122
	fwait	
	mov	word ptr DGROUP:_var+32,0
   ;	
   ;	
   ;	 TFCP = GetTime()+var.PpDF;
   ;	
	?debug	L 124
	call	far ptr @GetTime$qv
	fadd	qword ptr DGROUP:_var+8
	fstp	qword ptr [bp-42]
   ;	
   ;	
   ;	 GetDefaults();
   ;	
	?debug	L 126
	fwait	
	call	far ptr @GetDefaults$qv
   ;	
   ;	
   ;	 if(argc>1)
   ;	
	?debug	L 128
	cmp	word ptr [bp+6],1
	jg	@@24
	jmp	@1@1430
@@24:
   ;	
   ;	  {
   ;	   for(i=1; i<argc; i++)
   ;	
	?debug	L 130
	mov	word ptr [bp-2],1
	mov	ax,word ptr [bp+8]
	add	ax,4
	mov	word ptr [bp-46],ax
	mov	ax,word ptr [bp-2]
	cmp	ax,word ptr [bp+6]
	jl	@@25
	jmp	@1@1430
@@25:
@1@198:
   ;	
   ;	    {
   ;	     /* user wants command line help */
   ;	     if(argv[i][0] == '?' || !strncmpi(argv[i],"/H",2) || !strncmpi(argv[i],"\H",2))
   ;	
	?debug	L 133
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	les	bx,dword ptr es:[bx]
	cmp	byte ptr es:[bx],63
	je	short @1@282
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+16
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@282
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+19
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@310
@1@282:
   ;	
   ;	      {
   ;	       ShowHelpScreen();
   ;	
	?debug	L 135
	call	far ptr @ShowHelpScreen$qv
   ;	
   ;	       _setcursortype(_NORMALCURSOR);
   ;	
	?debug	L 136
	mov	ax,2
	push	ax
	call	far ptr __setcursortype
	add	sp,2
   ;	
   ;	       exit(0);
   ;	
	?debug	L 137
	xor	ax,ax
	push	ax
	call	far ptr _exit
	add	sp,2
@1@310:
   ;	
   ;	      } /* end if */
   ;	
   ;	     /* user wants new default file */
   ;	     if(!strncmpi(argv[i],"/N",2) || !strncmpi(argv[i],"\N",2))
   ;	
	?debug	L 141
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+21
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@366
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+24
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@394
@1@366:
   ;	
   ;	      {
   ;	       GetDefaultPatterns();
   ;	
	?debug	L 143
	call	far ptr @GetDefaultPatterns$qv
   ;	
   ;	       SaveDefaults();
   ;	
	?debug	L 144
	call	far ptr @SaveDefaults$qv
@1@394:
   ;	
   ;	      }
   ;	
   ;	     /* user specifies filename to use */
   ;	     if(!strncmpi(argv[i],"/F",2) || !strncmpi(argv[i],"\F",2))
   ;	
	?debug	L 148
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+26
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@450
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+29
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@534
@1@450:
   ;	
   ;	      {
   ;	       fl=0;
   ;	
	?debug	L 150
	xor	si,si
@1@478:
   ;	
   ;	       do
   ;	        {
   ;	         File[fl]=argv[i][fl+2];
   ;	
	?debug	L 153
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	les	bx,dword ptr es:[bx]
	mov	al,byte ptr es:[bx+si+2]
	mov	byte ptr DGROUP:_File[si],al
   ;	
   ;	        } while(argv[i][fl+2]);
   ;	
	?debug	L 154
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	les	bx,dword ptr es:[bx]
	cmp	byte ptr es:[bx+si+2],0
	jne	short @1@478
@1@534:
   ;	
   ;	      } /* end if */
   ;	
   ;	     /* see if we should start in automode */
   ;	     if(!strncmpi(argv[i],"/A",2) || !strncmpi(argv[i],"\A",2))
   ;	
	?debug	L 158
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+31
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@590
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+34
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@618
@1@590:
   ;	
   ;	      {
   ;	       var.AutoMode=1;
   ;	
	?debug	L 160
	mov	word ptr DGROUP:_var+28,1
   ;	
   ;	       Pattern=0;
   ;	
	?debug	L 161
	mov	word ptr [bp-14],0
@1@618:
   ;	
   ;	      }
   ;	
   ;	     /* see if we should start in manual mode */
   ;	     if(!strncmpi(argv[i],"/M",2) || !strncmpi(argv[i],"\M",2))
   ;	
	?debug	L 165
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+36
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@674
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+39
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@702
@1@674:
   ;	
   ;	      Pattern = argv[i][2]-'1';
   ;	
	?debug	L 166
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	les	bx,dword ptr es:[bx]
	mov	al,byte ptr es:[bx+2]
	cbw	
	add	ax,-49
	mov	word ptr [bp-14],ax
@1@702:
   ;	
   ;	
   ;	     /* get serial port */
   ;	     if(!strncmpi(argv[i],"/P1",3) || !strncmpi(argv[i],"\P1",3)) var.Port = 0;
   ;	
	?debug	L 169
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+41
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@758
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+45
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@786
@1@758:
	mov	word ptr DGROUP:_var+30,0
@1@786:
   ;	
   ;	     if(!strncmpi(argv[i],"/P2",3) || !strncmpi(argv[i],"\P2",3)) var.Port = 1;
   ;	
	?debug	L 170
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+48
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@842
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+52
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@870
@1@842:
	mov	word ptr DGROUP:_var+30,1
@1@870:
   ;	
   ;	     if(!strncmpi(argv[i],"/P3",3) || !strncmpi(argv[i],"\P3",3)) var.Port = 2;
   ;	
	?debug	L 171
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+55
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@926
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+59
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@954
@1@926:
	mov	word ptr DGROUP:_var+30,2
@1@954:
   ;	
   ;	     if(!strncmpi(argv[i],"/P4",3) || !strncmpi(argv[i],"\P4",3)) var.Port = 3;
   ;	
	?debug	L 172
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+62
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@1010
	mov	ax,3
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+66
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @1@1038
@1@1010:
	mov	word ptr DGROUP:_var+30,3
@1@1038:
   ;	
   ;	
   ;	     /* set up for delayed start */
   ;	     if(!strncmpi(argv[i],"/S",2) || !strncmpi(argv[i],"\S",2))
   ;	
	?debug	L 175
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+69
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	short @1@1094
	mov	ax,2
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+72
	push	ax
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	push	word ptr es:[bx+2]
	push	word ptr es:[bx]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	je	@@26
	jmp	@1@1346
@@26:
@1@1094:
   ;	
   ;	      {
   ;	       fl=0;
   ;	
	?debug	L 177
	xor	si,si
@1@1122:
   ;	
   ;	       do
   ;	        {
   ;	         StTime[fl]=argv[i][fl+2];
   ;	
	?debug	L 180
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	les	bx,dword ptr es:[bx]
	mov	al,byte ptr es:[bx+si+2]
	mov	byte ptr [bp+si-12],al
   ;	
   ;	         fl++;
   ;	
	?debug	L 181
	inc	si
   ;	
   ;	        } while(argv[i][fl+1]);
   ;	
	?debug	L 182
	mov	es,word ptr [bp+10]
	mov	bx,word ptr [bp-46]
	les	bx,dword ptr es:[bx]
	cmp	byte ptr es:[bx+si+1],0
	jne	short @1@1122
   ;	
   ;	       strcat(StTime,":00");
   ;	
	?debug	L 183
	push	ss
	pop	es
	lea	di,word ptr [bp-12]
	mov	si,offset DGROUP:s@+74
	mov	cx,-1
	xor	ax,ax
	repnz 	scasb	
	dec	di
	mov	cx,4
	rep 	movsb	
   ;	
   ;	       ShowDelayScreen(StTime);
   ;	
	?debug	L 184
	push	ss
	lea	ax,word ptr [bp-12]
	push	ax
	call	far ptr @ShowDelayScreen$qnzc
	add	sp,4
@1@1206:
   ;	
   ;	
   ;	       do
   ;	        {
   ;	         ftime(&t);
   ;	
	?debug	L 188
	push	ss
	lea	ax,word ptr [bp-34]
	push	ax
	call	far ptr _ftime
	add	sp,4
   ;	
   ;	         time(&secs_now);
   ;	
	?debug	L 189
	push	ss
	lea	ax,word ptr [bp-24]
	push	ax
	call	far ptr _time
	add	sp,4
   ;	
   ;	         time_now = localtime(&secs_now);
   ;	
	?debug	L 190
	push	ss
	lea	ax,word ptr [bp-24]
	push	ax
	call	far ptr _localtime
	add	sp,4
	mov	word ptr [bp-18],dx
	mov	word ptr [bp-20],ax
   ;	
   ;	         strftime(tmp, 9, "%X:%S", time_now);
   ;	
	?debug	L 191
	push	dx
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+78
	push	ax
	mov	ax,9
	push	ax
	push	ss
	lea	ax,word ptr [bp-128]
	push	ax
	call	far ptr _strftime
	add	sp,14
   ;	
   ;	         QPrintRC(tmp, 12, 16, Colour);
   ;	
	?debug	L 192
	push	word ptr DGROUP:_Colour
	mov	ax,16
	push	ax
	mov	ax,12
	push	ax
	push	ss
	lea	ax,word ptr [bp-128]
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	         if(GetChar()=='Q')
   ;	
	?debug	L 193
	call	far ptr @GetChar$qv
	cmp	al,81
	jne	short @1@1262
   ;	
   ;	          {
   ;	           clrscr();
   ;	
	?debug	L 195
	call	far ptr _clrscr
   ;	
   ;	           AskToExit(43);
   ;	
	?debug	L 196
	mov	ax,43
	push	ax
	call	far ptr @AskToExit$qi
	add	sp,2
   ;	
   ;	           ShowDelayScreen(StTime);
   ;	
	?debug	L 197
	push	ss
	lea	ax,word ptr [bp-12]
	push	ax
	call	far ptr @ShowDelayScreen$qnzc
	add	sp,4
@1@1262:
   ;	
   ;	          }
   ;	        } while(strcmp(StTime,tmp));
   ;	
	?debug	L 199
	mov	ax,ss
	lea	si,word ptr [bp-12]
	push	ss
	pop	es
	lea	di,word ptr [bp-128]
	push	ax
	xor	ax,ax
	mov	cx,-1
	repnz 	scasb	
	not	cx
	sub	di,cx
	mov	ax,ds
	pop	ds
	push	ax
	xor	ax,ax
	repz 	cmpsb	
	pop	ds
	je	short @1@1318
	sbb	ax,ax
	sbb	ax,-1
@1@1318:
	or	ax,ax
	je	@@27
	jmp	@1@1206
@@27:
@1@1346:
	?debug	L 130
	add	word ptr [bp-46],4
	inc	word ptr [bp-2]
	mov	ax,word ptr [bp-2]
	cmp	ax,word ptr [bp+6]
	jge	@@28
	jmp	@1@198
@@28:
@1@1430:
   ;	
   ;	      } /* end if */
   ;	    } /* next i */
   ;	  } /* end if */
   ;	 textmode(C80);
   ;	
	?debug	L 203
	mov	ax,3
	push	ax
	call	far ptr _textmode
	add	sp,2
   ;	
   ;	
   ;	 if(var.PatSel)
   ;	
	?debug	L 205
	cmp	word ptr DGROUP:_var+32,0
	je	short @1@1486
   ;	
   ;	  {
   ;	   GetUserPatterns();
   ;	
	?debug	L 207
	call	far ptr @GetUserPatterns$qv
   ;	
   ;	   QPrintRC("User Def", MENUY+3, MENUX+PATTERN_TYPE_X, Colour);
   ;	
	?debug	L 208
	push	word ptr DGROUP:_Colour
	mov	ax,44
	push	ax
	mov	ax,4
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+84
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	  }
   ;	
	?debug	L 209
	jmp	short @1@1514
@1@1486:
   ;	
   ;	 else
   ;	  {
   ;	   GetDefaultPatterns();
   ;	
	?debug	L 212
	call	far ptr @GetDefaultPatterns$qv
   ;	
   ;	   QPrintRC("Built In", MENUY+3, MENUX+PATTERN_TYPE_X, Colour);
   ;	
	?debug	L 213
	push	word ptr DGROUP:_Colour
	mov	ax,44
	push	ax
	mov	ax,4
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+93
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
@1@1514:
   ;	
   ;	  }
   ;	
   ;	 ShowInvert();
   ;	
	?debug	L 216
	call	far ptr @ShowInvert$qv
   ;	
   ;	
   ;	 if(var.AutoMode || Pattern<LASTPAT)
   ;	
	?debug	L 218
	cmp	word ptr DGROUP:_var+28,0
	jne	short @1@1570
	cmp	word ptr [bp-14],8
	jge	short @1@1598
@1@1570:
   ;	
   ;	  MarkActive(Pattern);
   ;	
	?debug	L 219
	push	word ptr [bp-14]
	call	far ptr @MarkActive$qi
	add	sp,2
@1@1598:
   ;	
   ;	
   ;	 _setcursortype(_NOCURSOR);
   ;	
	?debug	L 221
	xor	ax,ax
	push	ax
	call	far ptr __setcursortype
	add	sp,2
   ;	
   ;	
   ;	 window(1, MENUY+12, 80, 25);
   ;	
	?debug	L 223
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,13
	push	ax
	mov	ax,1
	push	ax
	call	far ptr _window
	add	sp,8
@1@1626:
   ;	
   ;	
   ;	 do
   ;	  {
   ;	   a=GetChar();
   ;	
	?debug	L 227
	call	far ptr @GetChar$qv
	mov	dl,al
   ;	
   ;	   switch(a)
   ;	
	?debug	L 228
	cbw	
	mov	dx,ax
	sub	ax,33
	mov	bx,ax
	cmp	bx,62
	jbe	@@29
	jmp	@1@3166
@@29:
	shl	bx,1
	jmp	word ptr cs:@1@C3442[bx]
@1@1738:
   ;	
   ;	   {
   ;	    case '1':
   ;	    case '2':
   ;	    case '3':
   ;	    case '4':
   ;	    case '5':
   ;	    case '6':
   ;	    case '7':
   ;	    case '8':
   ;	     Pattern = a-'1';
   ;	
	?debug	L 238
	mov	ax,dx
	add	ax,-49
	mov	word ptr [bp-14],ax
   ;	
   ;	     var.Seq = 1;
   ;	
	?debug	L 239
	mov	word ptr DGROUP:_var+24,1
   ;	
   ;	     MarkActive(Pattern);
   ;	
	?debug	L 240
	push	ax
	call	far ptr @MarkActive$qi
	add	sp,2
   ;	
   ;	     break;
   ;	
	?debug	L 241
	jmp	@1@3166
@1@1766:
   ;	
   ;	
   ;	    /* toggle automode */
   ;	    case 'M':
   ;	     var.AutoMode = !var.AutoMode;
   ;	
	?debug	L 245
	mov	ax,word ptr DGROUP:_var+28
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+28,ax
   ;	
   ;	     Pattern = 0;
   ;	
	?debug	L 246
	mov	word ptr [bp-14],0
   ;	
   ;	     MarkActive(Pattern);
   ;	
	?debug	L 247
	xor	ax,ax
	push	ax
	call	far ptr @MarkActive$qi
	add	sp,2
   ;	
   ;	     if(var.AutoMode)
   ;	
	?debug	L 248
	cmp	word ptr DGROUP:_var+28,0
	je	short @1@1822
   ;	
   ;	      {
   ;	       MarkActive(Pattern);
   ;	
	?debug	L 250
	push	word ptr [bp-14]
	call	far ptr @MarkActive$qi
	add	sp,2
   ;	
   ;	       TFCP = GetTime()+var.PpDF;
   ;	
	?debug	L 251
	call	far ptr @GetTime$qv
	fadd	qword ptr DGROUP:_var+8
	fstp	qword ptr [bp-42]
   ;	
   ;	       ShowSpeed();
   ;	
	?debug	L 252
	fwait	
	call	far ptr @ShowSpeed$qv
   ;	
   ;	      }
   ;	
	?debug	L 253
	jmp	@1@3166
@1@1822:
   ;	
   ;	     else
   ;	      {
   ;	       QPrintRC("                           ", 49, 49, Colour);
   ;	
	?debug	L 256
	push	word ptr DGROUP:_Colour
	mov	ax,49
	push	ax
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+102
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	jmp	@1@3166
@1@1850:
   ;	
   ;	      }
   ;	     break;
   ;	
   ;	    case '_':
   ;	    case '-':
   ;	     var.PiDF -= 0.05;
   ;	
	?debug	L 262
	fld	qword ptr DGROUP:s@+130
	fsubr	qword ptr DGROUP:_var
	fstp	qword ptr DGROUP:_var
   ;	
   ;	     if(var.PiDF < 0.0) var.PiDF = 0.0;
   ;	
	?debug	L 263
	fld	qword ptr DGROUP:_var
	fldz	
	fcompp
	fstsw	word ptr [bp-44]
	fwait	
	mov	ax,word ptr [bp-44]
	sahf	
	jbe	short @1@1906
	fldz	
	fstp	qword ptr DGROUP:_var
	fwait	
@1@1906:
   ;	
   ;	     ShowSpeed();
   ;	
	?debug	L 264
	call	far ptr @ShowSpeed$qv
   ;	
   ;	     break;
   ;	
	?debug	L 265
	jmp	@1@3166
@1@1934:
   ;	
   ;	
   ;	    case '+':
   ;	    case '=':
   ;	     var.PiDF = var.PiDF + 0.05;
   ;	
	?debug	L 269
	fld	qword ptr DGROUP:_var
	fadd	qword ptr DGROUP:s@+130
	fstp	qword ptr DGROUP:_var
   ;	
   ;	     if(var.PiDF > 99.0) var.PiDF = 99.0;
   ;	
	?debug	L 270
	fld	qword ptr DGROUP:_var
	fcomp	dword ptr DGROUP:s@+138
	fstsw	word ptr [bp-44]
	fwait	
	mov	ax,word ptr [bp-44]
	sahf	
	jbe	short @1@1990
	fld	dword ptr DGROUP:s@+138
	fstp	qword ptr DGROUP:_var
	fwait	
@1@1990:
   ;	
   ;	     ShowSpeed();
   ;	
	?debug	L 271
	call	far ptr @ShowSpeed$qv
   ;	
   ;	     break;
   ;	
	?debug	L 272
	jmp	@1@3166
@1@2018:
   ;	
   ;	
   ;	    case ',':
   ;	    case '<':
   ;	     var.PpDF = var.PpDF - 1.0;
   ;	
	?debug	L 276
	fld	qword ptr DGROUP:_var+8
	fld1	
	fsub	
	fstp	qword ptr DGROUP:_var+8
   ;	
   ;	     if(var.PpDF < 0.0) var.PpDF = 0.0;
   ;	
	?debug	L 277
	fld	qword ptr DGROUP:_var+8
	fldz	
	fcompp
	fstsw	word ptr [bp-44]
	fwait	
	mov	ax,word ptr [bp-44]
	sahf	
	jbe	short @1@2074
	fldz	
	fstp	qword ptr DGROUP:_var+8
	fwait	
@1@2074:
   ;	
   ;	     TFCP = GetTime() + var.PpDF;
   ;	
	?debug	L 278
	call	far ptr @GetTime$qv
	fadd	qword ptr DGROUP:_var+8
	fstp	qword ptr [bp-42]
   ;	
   ;	     ShowSpeed();
   ;	
	?debug	L 279
	fwait	
	call	far ptr @ShowSpeed$qv
   ;	
   ;	     break;
   ;	
	?debug	L 280
	jmp	@1@3166
@1@2102:
   ;	
   ;	
   ;	    case '.':
   ;	    case '>':
   ;	     var.PpDF = var.PpDF + 1.0;
   ;	
	?debug	L 284
	fld	qword ptr DGROUP:_var+8
	fld1	
	fadd	
	fstp	qword ptr DGROUP:_var+8
   ;	
   ;	     if(var.PpDF > 999) var.PpDF = 999;
   ;	
	?debug	L 285
	fld	qword ptr DGROUP:_var+8
	fcomp	dword ptr DGROUP:s@+142
	fstsw	word ptr [bp-44]
	fwait	
	mov	ax,word ptr [bp-44]
	sahf	
	jbe	short @1@2158
	fld	dword ptr DGROUP:s@+142
	fstp	qword ptr DGROUP:_var+8
	fwait	
@1@2158:
   ;	
   ;	     TFCP = GetTime() + var.PpDF;
   ;	
	?debug	L 286
	call	far ptr @GetTime$qv
	fadd	qword ptr DGROUP:_var+8
	fstp	qword ptr [bp-42]
   ;	
   ;	     ShowSpeed();
   ;	
	?debug	L 287
	fwait	
	call	far ptr @ShowSpeed$qv
   ;	
   ;	     break;
   ;	
	?debug	L 288
	jmp	@1@3166
@1@2186:
   ;	
   ;	
   ;	    /* toggle invert */
   ;	    case 'I':
   ;	     var.invert = !var.invert;
   ;	
	?debug	L 292
	mov	ax,word ptr DGROUP:_var+26
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+26,ax
   ;	
   ;	     ShowInvert();
   ;	
	?debug	L 293
	call	far ptr @ShowInvert$qv
   ;	
   ;	     break;
   ;	
	?debug	L 294
	jmp	@1@3166
@1@2214:
   ;	
   ;	
   ;	    /* toggle user patterns */
   ;	    case 'U':
   ;	     var.PatSel = !var.PatSel;
   ;	
	?debug	L 298
	mov	ax,word ptr DGROUP:_var+32
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+32,ax
   ;	
   ;	     if(var.PatSel)
   ;	
	?debug	L 299
	cmp	word ptr DGROUP:_var+32,0
	je	short @1@2270
   ;	
   ;	      {
   ;	       GetUserPatterns();
   ;	
	?debug	L 301
	call	far ptr @GetUserPatterns$qv
   ;	
   ;	       QPrintRC("User Def", MENUY+3, MENUX+PATTERN_TYPE_X, Colour);
   ;	
	?debug	L 302
	push	word ptr DGROUP:_Colour
	mov	ax,44
	push	ax
	mov	ax,4
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+146
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	      }
   ;	
	?debug	L 303
	jmp	@1@3166
@1@2270:
   ;	
   ;	     else
   ;	      {
   ;	       GetDefaultPatterns();
   ;	
	?debug	L 306
	call	far ptr @GetDefaultPatterns$qv
   ;	
   ;	       QPrintRC("Built In", MENUY+3, MENUX+PATTERN_TYPE_X, Colour);
   ;	
	?debug	L 307
	push	word ptr DGROUP:_Colour
	mov	ax,44
	push	ax
	mov	ax,4
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+155
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	jmp	@1@3166
@1@2298:
   ;	
   ;	      }
   ;	     break;
   ;	
   ;	    /* turn all outputs Off */
   ;	    case 'O':
   ;	     Pattern = LASTPAT;
   ;	
	?debug	L 313
	mov	word ptr [bp-14],8
   ;	
   ;	     MarkActive(Pattern);
   ;	
	?debug	L 314
	mov	ax,8
	push	ax
	call	far ptr @MarkActive$qi
	add	sp,2
   ;	
   ;	     QPrintRC("Off ", 48, 38, Colour);
   ;	
	?debug	L 315
	push	word ptr DGROUP:_Colour
	mov	ax,38
	push	ax
	mov	ax,48
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+164
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	     break;
   ;	
	?debug	L 316
	jmp	@1@3166
@1@2326:
   ;	
   ;	
   ;	    /* change Printer Port */
   ;	    case 'P':
   ;	     if(var.Port == 0)
   ;	
	?debug	L 320
	cmp	word ptr DGROUP:_var+30,0
	jne	short @1@2382
   ;	
   ;	      var.Port = 1;
   ;	
	?debug	L 321
	mov	word ptr DGROUP:_var+30,1
	jmp	short @1@2410
@1@2382:
   ;	
   ;	     else
   ;	      var.Port = 0;
   ;	
	?debug	L 323
	mov	word ptr DGROUP:_var+30,0
@1@2410:
   ;	
   ;	     ShowPort();
   ;	
	?debug	L 324
	call	far ptr @ShowPort$qv
   ;	
   ;	     break;
   ;	
	?debug	L 325
	jmp	@1@3166
@1@2438:
   ;	
   ;	
   ;	    case '!':
   ;	    case '@':
   ;	    case '#':
   ;	    case '$':
   ;	    case '%':
   ;	    case '^':
   ;	    case '&':
   ;		case '*': /* shift 1 to 8 */
   ;	    switch(a)
   ;	
	?debug	L 335
	mov	bx,dx
	cmp	bx,38
	jne	@@30
	jmp	@1@2858
@@30:
	jg	short @1@2578
	sub	bx,33
	cmp	bx,4
	jbe	@@31
	jmp	@1@2914
@@31:
	shl	bx,1
	jmp	word ptr cs:@1@C1634[bx]
@1@2578:
	cmp	bx,42
	je	short @1@2886
	cmp	bx,64
	je	short @1@2718
	cmp	bx,94
	je	short @1@2830
	jmp	short @1@2914
@1@2690:
   ;	
   ;	    {
   ;	     case '!': var.LockPattern[0] = !var.LockPattern[0]; break; /*1 */
   ;	
	?debug	L 337
	mov	ax,word ptr DGROUP:_var+58
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+58,ax
	jmp	short @1@2914
@1@2718:
   ;	
   ;	     case '@': var.LockPattern[1] = !var.LockPattern[1]; break; /*2 */
   ;	
	?debug	L 338
	mov	ax,word ptr DGROUP:_var+60
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+60,ax
	jmp	short @1@2914
@1@2746:
   ;	
   ;	     case '#': var.LockPattern[2] = !var.LockPattern[2]; break; /*3 */
   ;	
	?debug	L 339
	mov	ax,word ptr DGROUP:_var+62
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+62,ax
	jmp	short @1@2914
@1@2774:
   ;	
   ;	     case '$': var.LockPattern[3] = !var.LockPattern[3]; break; /*4 */
   ;	
	?debug	L 340
	mov	ax,word ptr DGROUP:_var+64
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+64,ax
	jmp	short @1@2914
@1@2802:
   ;	
   ;	     case '%': var.LockPattern[4] = !var.LockPattern[4]; break; /*5 */
   ;	
	?debug	L 341
	mov	ax,word ptr DGROUP:_var+66
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+66,ax
	jmp	short @1@2914
@1@2830:
   ;	
   ;	     case '^': var.LockPattern[5] = !var.LockPattern[5]; break; /*6 */
   ;	
	?debug	L 342
	mov	ax,word ptr DGROUP:_var+68
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+68,ax
	jmp	short @1@2914
@1@2858:
   ;	
   ;	     case '&': var.LockPattern[6] = !var.LockPattern[6]; break; /*7 */
   ;	
	?debug	L 343
	mov	ax,word ptr DGROUP:_var+70
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+70,ax
	jmp	short @1@2914
@1@2886:
   ;	
   ;	     case '*': var.LockPattern[7] = !var.LockPattern[7]; break; /*8 */
   ;	
	?debug	L 344
	mov	ax,word ptr DGROUP:_var+72
	neg	ax
	sbb	ax,ax
	inc	ax
	mov	word ptr DGROUP:_var+72,ax
@1@2914:
   ;	
   ;	    } /* END switch */
   ;	   ActivePats = 0;
   ;	
	?debug	L 346
	mov	word ptr [bp-16],0
   ;	
   ;	   for(lk=0; lk<LASTPAT; lk++)
   ;	
	?debug	L 347
	xor	ax,ax
	mov	si,offset DGROUP:_var+58
@1@2970:
   ;	
   ;	    {
   ;	     if(var.LockPattern[lk])
   ;	
	?debug	L 349
	cmp	word ptr [si],0
	je	short @1@3026
   ;	
   ;	      {
   ;	       ActivePats = 1;
   ;	
	?debug	L 351
	mov	word ptr [bp-16],1
@1@3026:
	?debug	L 347
	add	si,2
	inc	ax
	cmp	si,offset DGROUP:_var+74
	jne	short @1@2970
   ;	
   ;	      }
   ;	    } /* NEXT lk */
   ;	   break;
   ;	
	?debug	L 354
	jmp	short @1@3166
@1@3138:
   ;	
   ;	
   ;	  case 'Q':
   ;	   AskToExit(43);
   ;	
	?debug	L 357
	mov	ax,43
	push	ax
	call	far ptr @AskToExit$qi
	add	sp,2
   ;	
   ;	   MarkActive(Pattern);
   ;	
	?debug	L 358
	push	word ptr [bp-14]
	call	far ptr @MarkActive$qi
	add	sp,2
   ;	
   ;	   break;
   ;	
	?debug	L 359
@1@3166:
   ;	
   ;	  } /* eND switch */
   ;	
   ;	 if(var.AutoMode)
   ;	
	?debug	L 362
	cmp	word ptr DGROUP:_var+28,0
	jne	@@32
	jmp	@1@3390
@@32:
   ;	
   ;	  {
   ;	   if(GetTime() >= TFCP)
   ;	
	?debug	L 364
	call	far ptr @GetTime$qv
	fcomp	qword ptr [bp-42]
	fstsw	word ptr [bp-44]
	fwait	
	mov	ax,word ptr [bp-44]
	sahf	
	jb	short @1@3362
   ;	
   ;	    {
   ;	     TFCP = GetTime() + var.PpDF;
   ;	
	?debug	L 366
	call	far ptr @GetTime$qv
	fadd	qword ptr DGROUP:_var+8
	fstp	qword ptr [bp-42]
	fwait	
@1@3250:
   ;	
   ;	     do
   ;	      {
   ;	       Pattern = rand() % LASTPAT;
   ;	
	?debug	L 369
	call	far ptr _rand
	mov	bx,8
	cwd	
	idiv	bx
	mov	word ptr [bp-14],dx
   ;	
   ;	      } while(var.LockPattern[Pattern] && ActivePats);
   ;	
	?debug	L 370
	mov	bx,word ptr [bp-14]
	shl	bx,1
	cmp	word ptr DGROUP:_var[bx+58],0
	je	short @1@3334
	cmp	word ptr [bp-16],0
	jne	short @1@3250
@1@3334:
   ;	
   ;	     var.Seq = 0;
   ;	
	?debug	L 371
	mov	word ptr DGROUP:_var+24,0
   ;	
   ;	     MarkActive(Pattern);
   ;	
	?debug	L 372
	push	word ptr [bp-14]
	call	far ptr @MarkActive$qi
	add	sp,2
   ;	
   ;	    }
   ;	
	?debug	L 373
	jmp	short @1@3390
@1@3362:
   ;	
   ;	   else
   ;	    {
   ;	     sprintf(tmp,"%3.0f",TFCP - GetTime());
   ;	
	?debug	L 376
	call	far ptr @GetTime$qv
	fsubr	qword ptr [bp-42]
	sub	sp,8
	fstp	qword ptr [bp-140]
	push	ds
	mov	ax,offset DGROUP:s@+169
	push	ax
	push	ss
	fwait	
	lea	ax,word ptr [bp-128]
	push	ax
	call	far ptr _sprintf
	add	sp,16
   ;	
   ;	     QPrintRC(tmp,MENUY+3,MENUX+AUTOMODE_X+4,Colour);
   ;	
	?debug	L 377
	push	word ptr DGROUP:_Colour
	mov	ax,24
	push	ax
	mov	ax,4
	push	ax
	push	ss
	lea	ax,word ptr [bp-128]
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
@1@3390:
   ;	
   ;	    } /* end if */
   ;	  } /* end if */
   ;	 SendNextPattern(Pattern);
   ;	
	?debug	L 380
	push	word ptr [bp-14]
	call	far ptr @SendNextPattern$qi
	add	sp,2
	jmp	@1@1626
   ;	
   ;	} while(1);/* LOOP */
   ;	} /* end function  */
   ;	
	?debug	L 382
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E31A0574696D65620A001E01
	?debug	C E31C02746D12001E06
	?debug	C E31B000400161C00
	?debug	C E31D0009001A02
	?debug	C E31E0051001A02
	?debug	C E6026C6B04080178098D0904000004544643500F+
	?debug	C 02D6FF0001741A02DEFF0008736563735F6E6F77+
	?debug	C 0602E8FF000874696D655F6E6F771B02ECFF000A+
	?debug	C 416374697665506174730402F0FF000750617474+
	?debug	C 65726E0402F2FF00016102080145066F0A040200+
	?debug	C 06537454696D651D02F4FF0003746D701E0280FF+
	?debug	C 0001690402FEFF0002666C04080119029C040406+
	?debug	C 000461726763040A0600000461726776180A0800+
	?debug	C 00
	?debug	E
	?debug	E
_main	endp
@1@C1634	label	word
	dw	@1@2690
	dw	@1@2914
	dw	@1@2746
	dw	@1@2774
	dw	@1@2802
@1@C3442	label	word
	dw	@1@2438
	dw	@1@3166
	dw	@1@2438
	dw	@1@2438
	dw	@1@2438
	dw	@1@2438
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@2438
	dw	@1@1934
	dw	@1@2018
	dw	@1@1850
	dw	@1@2102
	dw	@1@3166
	dw	@1@3166
	dw	@1@1738
	dw	@1@1738
	dw	@1@1738
	dw	@1@1738
	dw	@1@1738
	dw	@1@1738
	dw	@1@1738
	dw	@1@1738
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@2018
	dw	@1@1934
	dw	@1@2102
	dw	@1@3166
	dw	@1@2438
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@2186
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@1766
	dw	@1@3166
	dw	@1@2298
	dw	@1@2326
	dw	@1@3138
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@2214
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@3166
	dw	@1@2438
	dw	@1@1850
   ;	
   ;	void AskToExit(int y)
   ;	
	?debug	L 389
	assume	cs:TREE-7_TEXT
@AskToExit$qi	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	push	si
	push	di
	?debug	C E60179040A060000
	mov	di,word ptr [bp+6]
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @2@86
	call	far ptr F_OVERFLOW@
@2@86:
   ;	
   ;	{
   ;	 int s;
   ;	 char a;
   ;	
   ;	 for(s=1000; s<2001; s+=100)
   ;	
	?debug	L 394
	mov	si,1000
	jmp	short @2@170
@2@114:
   ;	
   ;	  {
   ;	   sound(s);
   ;	
	?debug	L 396
	push	si
	call	far ptr _sound
	add	sp,2
   ;	
   ;	   delay(10);
   ;	
	?debug	L 397
	mov	ax,10
	push	ax
	call	far ptr _delay
	add	sp,2
	?debug	L 394
	add	si,100
@2@170:
	cmp	si,2001
	jl	short @2@114
   ;	
   ;	  }
   ;	 nosound();
   ;	
	?debug	L 399
	call	far ptr _nosound
   ;	
   ;	 QPrintRC("Press \"Y\" to quit", y, 1, Hilite);
   ;	
	?debug	L 400
	push	word ptr DGROUP:_Hilite
	mov	ax,1
	push	ax
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+175
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	 QPrintRC("Y", y, 8, Hilite + 128);
   ;	
	?debug	L 401
	mov	ax,word ptr DGROUP:_Hilite
	add	ax,128
	push	ax
	mov	ax,8
	push	ax
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+193
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
@2@226:
   ;	
   ;	 do
   ;	  {
   ;	   a = GetChar();
   ;	
	?debug	L 404
	call	far ptr @GetChar$qv
	mov	dl,al
   ;	
   ;	  } while(!a);
   ;	
	?debug	L 405
	cbw	
	or	ax,ax
	je	short @2@226
   ;	
   ;	
   ;	 if(a == 'Y')
   ;	
	?debug	L 407
	cmp	dl,89
	jne	short @2@338
   ;	
   ;	  {
   ;	   Send_All_Sockets("................");
   ;	
	?debug	L 409
	push	ds
	mov	ax,offset DGROUP:s@+195
	push	ax
	call	far ptr @Send_All_Sockets$qnzc
	add	sp,4
   ;	
   ;	   SaveDefaults();
   ;	
	?debug	L 410
	call	far ptr @SaveDefaults$qv
   ;	
   ;	   textmode(C80);
   ;	
	?debug	L 411
	mov	ax,3
	push	ax
	call	far ptr _textmode
	add	sp,2
   ;	
   ;	   _setcursortype(_NORMALCURSOR);
   ;	
	?debug	L 412
	mov	ax,2
	push	ax
	call	far ptr __setcursortype
	add	sp,2
   ;	
   ;	   exit(0);
   ;	
	?debug	L 413
	xor	ax,ax
	push	ax
	call	far ptr _exit
	add	sp,2
@2@338:
   ;	
   ;	  }
   ;	} /* end function AskToExit */
   ;	
	?debug	L 415
	pop	di
	pop	si
	pop	bp
	ret	
	?debug	C E601610208017C00880004020001730408011A00+
	?debug	C 39000406000179040801080067000C0700
	?debug	E
	?debug	E
@AskToExit$qi	endp
   ;	
   ;	void DelayTime(void)
   ;	
	?debug	L 422
	assume	cs:TREE-7_TEXT
@DelayTime$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,10
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @3@86
	call	far ptr F_OVERFLOW@
@3@86:
   ;	
   ;	{
   ;	 double dt;
   ;	
   ;	 dt = GetTime() + var.PiDF;
   ;	
	?debug	L 426
	call	far ptr @GetTime$qv
	fadd	qword ptr DGROUP:_var
	fstp	qword ptr [bp-8]
	fwait	
@3@114:
   ;	
   ;	 while(GetTime() < dt);
   ;	
	?debug	L 427
	call	far ptr @GetTime$qv
	fcomp	qword ptr [bp-8]
	fstsw	word ptr [bp-10]
	fwait	
	mov	ax,word ptr [bp-10]
	sahf	
	jb	short @3@114
   ;	
   ;	} /* end function  */
   ;	
	?debug	L 428
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E60264740F02F8FF00
	?debug	E
	?debug	E
@DelayTime$qv	endp
   ;	
   ;	void GetDefaultPatterns(void)
   ;	
	?debug	L 435
	assume	cs:TREE-7_TEXT
@GetDefaultPatterns$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,4
	push	si
	push	di
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @4@86
	call	far ptr F_OVERFLOW@
@4@86:
   ;	
   ;	{
   ;	 int p,s,x;
   ;	 char tmp[17];
   ;	
   ;	 ShowMainScreen();
   ;	
	?debug	L 440
	call	far ptr @ShowMainScreen$qv
   ;	
   ;	
   ;	 /* pattern 1 */
   ;	 p=0;
   ;	
	?debug	L 443
	mov	word ptr [bp-2],0
   ;	
   ;	 s=0;
   ;	
	?debug	L 444
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Forward");
   ;	
	?debug	L 445
	push	ds
	pop	es
	xor	ax,ax
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+212
	mov	di,ax
	mov	cx,4
	rep 	movsw	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],"X...............");
   ;	
	?debug	L 447
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+220
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X..............");
   ;	
	?debug	L 448
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+237
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X.............");
   ;	
	?debug	L 449
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+254
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X............");
   ;	
	?debug	L 450
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+271
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"....X...........");
   ;	
	?debug	L 451
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+288
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".....X..........");
   ;	
	?debug	L 452
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+305
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"......X.........");
   ;	
	?debug	L 453
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+322
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".......X........");
   ;	
	?debug	L 454
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+339
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"........X.......");
   ;	
	?debug	L 455
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+356
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".........X......");
   ;	
	?debug	L 456
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+373
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..........X.....");
   ;	
	?debug	L 457
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+390
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...........X....");
   ;	
	?debug	L 458
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+407
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"............X...");
   ;	
	?debug	L 459
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+424
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".............X..");
   ;	
	?debug	L 460
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+441
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..............X.");
   ;	
	?debug	L 461
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+458
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  "...............X");
   ;	
	?debug	L 462
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+475
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 463
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 /* pattern 2 */
   ;	 p=1;
   ;	
	?debug	L 466
	mov	word ptr [bp-2],1
   ;	
   ;	 s=0;
   ;	
	?debug	L 467
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Reverse");
   ;	
	?debug	L 468
	push	ds
	pop	es
	mov	ax,1
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+492
	mov	di,ax
	mov	cx,4
	rep 	movsw	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],"...............X");
   ;	
	?debug	L 470
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+500
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..............X.");
   ;	
	?debug	L 471
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+517
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".............X..");
   ;	
	?debug	L 472
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+534
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"............X...");
   ;	
	?debug	L 473
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+551
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...........X....");
   ;	
	?debug	L 474
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+568
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..........X.....");
   ;	
	?debug	L 475
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+585
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".........X......");
   ;	
	?debug	L 476
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+602
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"........X.......");
   ;	
	?debug	L 477
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+619
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".......X........");
   ;	
	?debug	L 478
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+636
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"......X.........");
   ;	
	?debug	L 479
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+653
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".....X..........");
   ;	
	?debug	L 480
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+670
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"....X...........");
   ;	
	?debug	L 481
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+687
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X............");
   ;	
	?debug	L 482
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+704
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X.............");
   ;	
	?debug	L 483
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+721
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X..............");
   ;	
	?debug	L 484
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+738
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  "X...............");
   ;	
	?debug	L 485
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+755
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 486
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 /* pattern 3 */
   ;	 p=2;
   ;	
	?debug	L 489
	mov	word ptr [bp-2],2
   ;	
   ;	 s=0;
   ;	
	?debug	L 490
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Bounce");
   ;	
	?debug	L 491
	push	ds
	pop	es
	mov	ax,2
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+772
	mov	di,ax
	mov	cx,3
	rep 	movsw	
	movsb	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],"X...............");
   ;	
	?debug	L 493
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+779
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X..............");
   ;	
	?debug	L 494
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+796
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X.............");
   ;	
	?debug	L 495
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+813
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X............");
   ;	
	?debug	L 496
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+830
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"....X...........");
   ;	
	?debug	L 497
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+847
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".....X..........");
   ;	
	?debug	L 498
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+864
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"......X.........");
   ;	
	?debug	L 499
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+881
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".......X........");
   ;	
	?debug	L 500
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+898
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"........X.......");
   ;	
	?debug	L 501
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+915
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".........X......");
   ;	
	?debug	L 502
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+932
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..........X.....");
   ;	
	?debug	L 503
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+949
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...........X....");
   ;	
	?debug	L 504
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+966
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"............X...");
   ;	
	?debug	L 505
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+983
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".............X..");
   ;	
	?debug	L 506
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1000
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..............X.");
   ;	
	?debug	L 507
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1017
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...............X");
   ;	
	?debug	L 508
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1034
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...............X");
   ;	
	?debug	L 509
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1051
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..............X.");
   ;	
	?debug	L 510
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1068
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".............X..");
   ;	
	?debug	L 511
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1085
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"............X...");
   ;	
	?debug	L 512
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1102
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...........X....");
   ;	
	?debug	L 513
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1119
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..........X.....");
   ;	
	?debug	L 514
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1136
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".........X......");
   ;	
	?debug	L 515
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1153
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"........X.......");
   ;	
	?debug	L 516
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1170
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".......X........");
   ;	
	?debug	L 517
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1187
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"......X.........");
   ;	
	?debug	L 518
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1204
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".....X..........");
   ;	
	?debug	L 519
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1221
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"....X...........");
   ;	
	?debug	L 520
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1238
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X............");
   ;	
	?debug	L 521
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1255
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X.............");
   ;	
	?debug	L 522
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1272
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X..............");
   ;	
	?debug	L 523
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1289
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  "X...............");
   ;	
	?debug	L 524
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1306
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 525
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 /* pattern 4 */
   ;	 p=3;
   ;	
	?debug	L 528
	mov	word ptr [bp-2],3
   ;	
   ;	 s=0;
   ;	
	?debug	L 529
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Back & Forth");
   ;	
	?debug	L 530
	push	ds
	pop	es
	mov	ax,3
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+1323
	mov	di,ax
	mov	cx,6
	rep 	movsw	
	movsb	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],"X..............X");
   ;	
	?debug	L 532
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1336
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X............X.");
   ;	
	?debug	L 533
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1353
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X..........X..");
   ;	
	?debug	L 534
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1370
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X........X...");
   ;	
	?debug	L 535
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1387
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"....X......X....");
   ;	
	?debug	L 536
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1404
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".....X....X.....");
   ;	
	?debug	L 537
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1421
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"......X..X......");
   ;	
	?debug	L 538
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1438
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".......XX.......");
   ;	
	?debug	L 539
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1455
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".......XX.......");
   ;	
	?debug	L 540
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1472
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"......X..X......");
   ;	
	?debug	L 541
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1489
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".....X....X.....");
   ;	
	?debug	L 542
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1506
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"....X......X....");
   ;	
	?debug	L 543
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1523
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X........X...");
   ;	
	?debug	L 544
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1540
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X..........X..");
   ;	
	?debug	L 545
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1557
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X............X.");
   ;	
	?debug	L 546
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1574
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  "X..............X");
   ;	
	?debug	L 547
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1591
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 548
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 /* pattern 5 */
   ;	 p=4;
   ;	
	?debug	L 551
	mov	word ptr [bp-2],4
   ;	
   ;	 s=0;
   ;	
	?debug	L 552
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Spaz");
   ;	
	?debug	L 553
	push	ds
	pop	es
	mov	ax,4
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+1608
	mov	di,ax
	mov	cx,2
	rep 	movsw	
	movsb	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],".X.X.X.X.X.X.X.X");
   ;	
	?debug	L 555
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1613
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  "X.X.X.X.X.X.X.X.");
   ;	
	?debug	L 556
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1630
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 557
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 /* pattern 6 */
   ;	 p=5;
   ;	
	?debug	L 560
	mov	word ptr [bp-2],5
   ;	
   ;	 s=0;
   ;	
	?debug	L 561
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Fwd Marquee");
   ;	
	?debug	L 562
	push	ds
	pop	es
	mov	ax,5
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+1647
	mov	di,ax
	mov	cx,6
	rep 	movsw	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],"X...X...X...X...");
   ;	
	?debug	L 564
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1659
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X...X...X...X..");
   ;	
	?debug	L 565
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1676
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X...X...X...X.");
   ;	
	?debug	L 566
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1693
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X...X...X...X");
   ;	
	?debug	L 567
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1710
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"X...X...X...X...");
   ;	
	?debug	L 568
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1727
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X...X...X...X..");
   ;	
	?debug	L 569
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1744
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X...X...X...X.");
   ;	
	?debug	L 570
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1761
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  "...X...X...X...X");
   ;	
	?debug	L 571
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1778
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 572
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 /* pattern 7 */
   ;	 p=6;
   ;	
	?debug	L 575
	mov	word ptr [bp-2],6
   ;	
   ;	 s=0;
   ;	
	?debug	L 576
	mov	word ptr [bp-4],0
   ;	
   ;	 strcpy(PatName[p],"Rev Marquee");
   ;	
	?debug	L 577
	push	ds
	pop	es
	mov	ax,6
	mov	dx,13
	imul	dx
	add	ax,offset DGROUP:_PatName
	mov	si,offset DGROUP:s@+1795
	mov	di,ax
	mov	cx,6
	rep 	movsw	
   ;	
   ;	
   ;	 strcpy(LightPat[p][s++],"X...X...X...X...");
   ;	
	?debug	L 579
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1807
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X...X...X...X");
   ;	
	?debug	L 580
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1824
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X...X...X...X.");
   ;	
	?debug	L 581
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1841
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],".X...X...X...X..");
   ;	
	?debug	L 582
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1858
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"X...X...X...X...");
   ;	
	?debug	L 583
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1875
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"...X...X...X...X");
   ;	
	?debug	L 584
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1892
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s++],"..X...X...X...X.");
   ;	
	?debug	L 585
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	inc	word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1909
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 strcpy(LightPat[p][s],  ".X...X...X...X..");
   ;	
	?debug	L 586
	push	ds
	pop	es
	mov	ax,word ptr [bp-2]
	mov	dx,1088
	imul	dx
	push	es
	push	ax
	mov	ax,word ptr [bp-4]
	mov	dx,17
	imul	dx
	pop	di
	add	di,ax
	add	di,offset DGROUP:_LightPat
	mov	si,offset DGROUP:s@+1926
	pop	es
	mov	cx,8
	rep 	movsw	
	movsb	
   ;	
   ;	 var.last[p]=s;
   ;	
	?debug	L 587
	mov	bx,word ptr [bp-2]
	shl	bx,1
	mov	ax,word ptr [bp-4]
	mov	word ptr DGROUP:_var[bx+38],ax
   ;	
   ;	
   ;	 strcpy(PatName[LASTPAT-1],"random?");
   ;	
	?debug	L 589
	push	ds
	pop	es
	mov	di,offset DGROUP:_PatName+91
	mov	si,offset DGROUP:s@+1943
	mov	cx,4
	rep 	movsw	
   ;	
   ;	 var.last[LASTPAT-1]=1;
   ;	
	?debug	L 590
	mov	word ptr DGROUP:_var+52,1
   ;	
   ;	
   ;	 ShowCurrentName(LASTPAT);
   ;	
	?debug	L 592
	mov	ax,8
	push	ax
	call	far ptr @ShowCurrentName$qi
	add	sp,2
   ;	
   ;	} /* end function GetDefaultPatterns */
   ;	
	?debug	L 593
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E601730402FCFF0001700402FEFF00
	?debug	E
	?debug	E
@GetDefaultPatterns$qv	endp
   ;	
   ;	void GetDefaults(void)
   ;	
	?debug	L 600
	assume	cs:TREE-7_TEXT
@GetDefaults$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,6
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @5@86
	call	far ptr F_OVERFLOW@
@5@86:
   ;	
   ;	{
   ;	 int n;
   ;	 FILE *fp;
   ;	 File_Exists(File,&n);
   ;	
	?debug	L 604
	push	ss
	lea	ax,word ptr [bp-2]
	push	ax
	push	ds
	mov	ax,offset DGROUP:_File
	push	ax
	call	far ptr @File_Exists$qnzcni
	add	sp,8
   ;	
   ;	 if(n)
   ;	
	?debug	L 605
	cmp	word ptr [bp-2],0
	je	short @5@142
   ;	
   ;	  {
   ;	   fp=fopen(File, "rb");
   ;	
	?debug	L 607
	push	ds
	mov	ax,offset DGROUP:s@+1951
	push	ax
	push	ds
	mov	ax,offset DGROUP:_File
	push	ax
	call	far ptr _fopen
	add	sp,8
	mov	word ptr [bp-4],dx
	mov	word ptr [bp-6],ax
   ;	
   ;	   fread(&var, sizeof(var), 1, fp);
   ;	
	?debug	L 608
	push	dx
	push	ax
	mov	ax,1
	push	ax
	mov	ax,78
	push	ax
	push	ds
	mov	ax,offset DGROUP:_var
	push	ax
	call	far ptr _fread
	add	sp,12
   ;	
   ;	   fclose(fp);
   ;	
	?debug	L 609
	push	word ptr [bp-4]
	push	word ptr [bp-6]
	call	far ptr _fclose
	add	sp,4
@5@142:
   ;	
   ;	  } /* endif */
   ;	} /* end function GetDefaults */
   ;	
	?debug	L 611
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E3200446494C4514001E10
	?debug	C E321000400160800
	?debug	C E31F000400162000
	?debug	C E60266701F02FAFF00016E0402FEFF00
	?debug	E
	?debug	E
@GetDefaults$qv	endp
   ;	
   ;	void GetUserPatterns(void)
   ;	
	?debug	L 618
	assume	cs:TREE-7_TEXT
@GetUserPatterns$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,52
	push	si
	push	di
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @6@86
	call	far ptr F_OVERFLOW@
@6@86:
   ;	
   ;	{
   ;	 int x,p,s;
   ;	 int done;
   ;	 char tmp[35];
   ;	 FILE *fp;
   ;	
   ;	 File_Exists("PATTERN.DAT",&x);
   ;	
	?debug	L 625
	push	ss
	lea	ax,word ptr [bp-2]
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+1954
	push	ax
	call	far ptr @File_Exists$qnzcni
	add	sp,8
   ;	
   ;	 ShowMainScreen();
   ;	
	?debug	L 626
	call	far ptr @ShowMainScreen$qv
   ;	
   ;	 if(x)
   ;	
	?debug	L 627
	cmp	word ptr [bp-2],0
	jne	@@33
	jmp	@6@506
@@33:
   ;	
   ;	  {
   ;	   fp=fopen("PATTERN.DAT","rt");
   ;	
	?debug	L 629
	push	ds
	mov	ax,offset DGROUP:s@+1978
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+1966
	push	ax
	call	far ptr _fopen
	add	sp,8
	mov	word ptr [bp-10],dx
	mov	word ptr [bp-12],ax
   ;	
   ;	
   ;	   /* for each of the eight patterns */
   ;	   for(p=0; p<LASTPAT; p++)
   ;	
	?debug	L 632
	mov	word ptr [bp-4],0
	mov	word ptr [bp-14],offset DGROUP:_PatName
	mov	word ptr [bp-16],offset DGROUP:_var+38
@6@170:
   ;	
   ;	    {
   ;	     x = 40;
   ;	
	?debug	L 634
	mov	word ptr [bp-2],40
   ;	
   ;	     fscanf(fp,"%s\n",PatName[p]);
   ;	
	?debug	L 635
	push	ds
	push	word ptr [bp-14]
	push	ds
	mov	ax,offset DGROUP:s@+1981
	push	ax
	push	word ptr [bp-10]
	push	word ptr [bp-12]
	call	far ptr _fscanf
	add	sp,12
   ;	
   ;	     s=0;
   ;	
	?debug	L 636
	mov	word ptr [bp-6],0
   ;	
   ;	     done=0;
   ;	
	?debug	L 637
	mov	word ptr [bp-8],0
@6@198:
   ;	
   ;	     do
   ;	      {
   ;	       fscanf(fp,"%s\n", tmp);
   ;	
	?debug	L 640
	push	ss
	lea	ax,word ptr [bp-52]
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+1985
	push	ax
	push	word ptr [bp-10]
	push	word ptr [bp-12]
	call	far ptr _fscanf
	add	sp,12
   ;	
   ;	       if(strcmp(strupr(tmp),"LAST"))
   ;	
	?debug	L 641
	push	ss
	lea	ax,word ptr [bp-52]
	push	ax
	call	far ptr _strupr
	add	sp,4
	push	ds
	pop	es
	mov	di,offset DGROUP:s@+1989
	push	ax
	xor	ax,ax
	mov	cx,-1
	repnz 	scasb	
	not	cx
	sub	di,cx
	pop	si
	push	ds
	mov	ds,dx
	xor	ax,ax
	repz 	cmpsb	
	pop	ds
	je	short @6@254
	sbb	ax,ax
	sbb	ax,-1
@6@254:
	or	ax,ax
	je	short @6@310
   ;	
   ;	        {
   ;	         s++;
   ;	
	?debug	L 643
	inc	word ptr [bp-6]
   ;	
   ;	         var.last[p]=s;
   ;	
	?debug	L 644
	mov	bx,word ptr [bp-16]
	mov	ax,word ptr [bp-6]
	mov	word ptr [bx],ax
   ;	
   ;	        }
   ;	
	?debug	L 645
	jmp	short @6@338
@6@310:
   ;	
   ;	       else
   ;	        done=1;
   ;	
	?debug	L 647
	mov	word ptr [bp-8],1
@6@338:
   ;	
   ;	      } while(!done);
   ;	
	?debug	L 648
	cmp	word ptr [bp-8],0
	je	short @6@198
	?debug	L 632
	add	word ptr [bp-14],13
	add	word ptr [bp-16],2
	inc	word ptr [bp-4]
	cmp	word ptr [bp-4],8
	jge	@@34
	jmp	@6@170
@@34:
   ;	
   ;	    } /* next p */
   ;	   fclose(fp);
   ;	
	?debug	L 650
	push	word ptr [bp-10]
	push	word ptr [bp-12]
	call	far ptr _fclose
	add	sp,4
@6@506:
   ;	
   ;	  } /* end if data file found */
   ;	} /* end function GetUserPatterns */
   ;	
	?debug	L 652
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E3220023001A02
	?debug	C E60266701F02F4FF0003746D702202CCFF000464+
	?debug	C 6F6E650402F8FF0001730402FAFF0001700402FC+
	?debug	C FF0001780402FEFF00
	?debug	E
	?debug	E
@GetUserPatterns$qv	endp
   ;	
   ;	void MakeRandomPattern(void)
   ;	
	?debug	L 659
	assume	cs:TREE-7_TEXT
@MakeRandomPattern$qv	proc	far
	?debug	B
	push	si
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @7@86
	call	far ptr F_OVERFLOW@
@7@86:
   ;	
   ;	{
   ;	 int p = LASTPAT-1;
   ;	
	?debug	L 661
   ;	
   ;	
   ;	 for(p=0; p<16; p++)
   ;	
	?debug	L 663
	xor	si,si
@7@114:
   ;	
   ;	  {
   ;	   if(random(2) == 1)
   ;	
	?debug	L 665
	xor	ax,ax
	mov	dx,-32768
	push	ax
	push	dx
	call	far ptr _rand
	cwd	
	shl	ax,1
	rcl	dx,1
	push	dx
	push	ax
	call	far ptr F_LDIV@
	cmp	ax,1
	jne	short @7@170
   ;	
   ;	    LightPat[LASTPAT-1][0][p] = 'X';
   ;	
	?debug	L 666
	mov	byte ptr DGROUP:_LightPat[si+7616],88
	jmp	short @7@198
@7@170:
   ;	
   ;	   else
   ;	    LightPat[LASTPAT-1][0][p] = '.';
   ;	
	?debug	L 668
	mov	byte ptr DGROUP:_LightPat[si+7616],46
@7@198:
	?debug	L 663
	inc	si
	cmp	si,16
	jl	short @7@114
   ;	
   ;	  }
   ;	 LightPat[LASTPAT-1][0][p] = 0;
   ;	
	?debug	L 670
	mov	byte ptr DGROUP:_LightPat[si+7616],0
   ;	
   ;	 var.Seq=0;
   ;	
	?debug	L 671
	mov	word ptr DGROUP:_var+24,0
   ;	
   ;	} /* end function MakeRandomPattern */
   ;	
	?debug	L 672
	pop	si
	ret	
	?debug	C E6017004080111004800040600
	?debug	E
	?debug	E
@MakeRandomPattern$qv	endp
   ;	
   ;	void MarkActive(int p)
   ;	
	?debug	L 680
	assume	cs:TREE-7_TEXT
@MarkActive$qi	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	push	si
	push	di
	?debug	C E60170040A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @8@86
	call	far ptr F_OVERFLOW@
@8@86:
   ;	
   ;	{
   ;	 char tmp[13];
   ;	 int x=MENUX+AUTOMODE_X;
   ;	
	?debug	L 683
	mov	si,20
   ;	
   ;	 int y=MENUY+3;
   ;	
	?debug	L 684
	mov	di,4
   ;	
   ;	
   ;	 ShowCurrentName(p);
   ;	
	?debug	L 686
	push	word ptr [bp+6]
	call	far ptr @ShowCurrentName$qi
	add	sp,2
   ;	
   ;	
   ;	 window(1,1,80,25);
   ;	
	?debug	L 688
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,1
	push	ax
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	
   ;	 if(var.AutoMode)
   ;	
	?debug	L 690
	cmp	word ptr DGROUP:_var+28,0
	je	short @8@142
   ;	
   ;	  {
   ;	   QPrintRC("Auto", y, x, Hilite);
   ;	
	?debug	L 692
	push	word ptr DGROUP:_Hilite
	push	si
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+1994
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	  }
   ;	
	?debug	L 693
	jmp	short @8@170
@8@142:
   ;	
   ;	 else
   ;	  {
   ;	   QPrintRC("Manual ", y, x, Colour);
   ;	
	?debug	L 696
	push	word ptr DGROUP:_Colour
	push	si
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+1999
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
@8@170:
   ;	
   ;	  }
   ;	 window(1, MENUY+12, 80, 25);
   ;	
	?debug	L 698
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,13
	push	ax
	mov	ax,1
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	} /* end function MarkActive */
   ;	
	?debug	L 699
	pop	di
	pop	si
	pop	bp
	ret	
	?debug	C E601790408011B00620004070001780408011700+
	?debug	C 61000406000170040A060000
	?debug	E
	?debug	E
@MarkActive$qi	endp
   ;	
   ;	void ShowCurrentName(int p)
   ;	
	?debug	L 706
	assume	cs:TREE-7_TEXT
@ShowCurrentName$qi	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,24
	push	si
	push	di
	?debug	C E60170040A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @9@86
	call	far ptr F_OVERFLOW@
@9@86:
   ;	
   ;	{
   ;	 char tmp[20];
   ;	 int i;
   ;	 int x=MENUX+62;
   ;	
	?debug	L 710
	mov	word ptr [bp-2],65
   ;	
   ;	 int y=MENUY+1;
   ;	
	?debug	L 711
   ;	
   ;	
   ;	 window(1,1,80,25);
   ;	
	?debug	L 713
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,1
	push	ax
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	
   ;	 for(i=0; i<LASTPAT; i++)
   ;	
	?debug	L 715
	xor	si,si
	mov	di,offset DGROUP:_PatName
	mov	word ptr [bp-4],2
@9@142:
   ;	
   ;	  {
   ;	   sprintf(tmp,"%d-%-12.12s",i+1,PatName[i]);
   ;	
	?debug	L 717
	push	ds
	push	di
	mov	ax,si
	inc	ax
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+2007
	push	ax
	push	ss
	lea	ax,word ptr [bp-24]
	push	ax
	call	far ptr _sprintf
	add	sp,14
   ;	
   ;	   if(i==p)
   ;	
	?debug	L 718
	cmp	si,word ptr [bp+6]
	jne	short @9@198
   ;	
   ;	    QPrintRC(tmp,y+i,x,Hilite);
   ;	
	?debug	L 719
	push	word ptr DGROUP:_Hilite
	push	word ptr [bp-2]
	push	word ptr [bp-4]
	push	ss
	lea	ax,word ptr [bp-24]
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	jmp	short @9@226
@9@198:
   ;	
   ;	   else
   ;	    QPrintRC(tmp,y+i,x,Colour);
   ;	
	?debug	L 721
	push	word ptr DGROUP:_Colour
	push	word ptr [bp-2]
	push	word ptr [bp-4]
	push	ss
	lea	ax,word ptr [bp-24]
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
@9@226:
	?debug	L 715
	add	di,13
	inc	word ptr [bp-4]
	inc	si
	cmp	di,offset DGROUP:_PatName+104
	jne	short @9@142
   ;	
   ;	  }
   ;	 window(1, MENUY+12, 80, 25);
   ;	
	?debug	L 723
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,13
	push	ax
	mov	ax,1
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	} /* end function ShowCurrentName */
   ;	
	?debug	L 724
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E3230014001A02
	?debug	C E601780402FEFF00016904080132009400040600+
	?debug	C 03746D702302E8FF000170040A060000
	?debug	E
	?debug	E
@ShowCurrentName$qi	endp
   ;	
   ;	void SaveDefaults(void)
   ;	
	?debug	L 732
	assume	cs:TREE-7_TEXT
@SaveDefaults$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,4
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @10@86
	call	far ptr F_OVERFLOW@
@10@86:
   ;	
   ;	{
   ;	 FILE *fp;
   ;	 int n;
   ;	
   ;	 fp = fopen(File,"wb");
   ;	
	?debug	L 737
	push	ds
	mov	ax,offset DGROUP:s@+2019
	push	ax
	push	ds
	mov	ax,offset DGROUP:_File
	push	ax
	call	far ptr _fopen
	add	sp,8
	mov	word ptr [bp-2],dx
	mov	word ptr [bp-4],ax
   ;	
   ;	 fwrite(&var,sizeof(var),1,fp);
   ;	
	?debug	L 738
	push	dx
	push	ax
	mov	ax,1
	push	ax
	mov	ax,78
	push	ax
	push	ds
	mov	ax,offset DGROUP:_var
	push	ax
	call	far ptr _fwrite
	add	sp,12
   ;	
   ;	 fclose(fp);
   ;	
	?debug	L 739
	push	word ptr [bp-2]
	push	word ptr [bp-4]
	call	far ptr _fclose
	add	sp,4
   ;	
   ;	} /* end function SaveDefaults */
   ;	
	?debug	L 740
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E60266701F02FCFF00
	?debug	E
	?debug	E
@SaveDefaults$qv	endp
   ;	
   ;	void SendNextPattern(int p)
   ;	
	?debug	L 747
	assume	cs:TREE-7_TEXT
@SendNextPattern$qi	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	push	si
	?debug	C E60170040A060000
	mov	si,word ptr [bp+6]
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @11@86
	call	far ptr F_OVERFLOW@
@11@86:
   ;	
   ;	{
   ;	 if(p==LASTPAT)
   ;	
	?debug	L 749
	cmp	si,8
	jne	short @11@198
   ;	
   ;	  {
   ;	   if(var.invert)
   ;	
	?debug	L 751
	cmp	word ptr DGROUP:_var+26,0
	je	short @11@170
   ;	
   ;	    Send_All_Sockets("XXXXXXXXXXXXXXXX");
   ;	
	?debug	L 752
	push	ds
	mov	ax,offset DGROUP:s@+2022
	push	ax
	call	far ptr @Send_All_Sockets$qnzc
	add	sp,4
	jmp	short @11@198
@11@170:
   ;	
   ;	   else
   ;	    Send_All_Sockets("................");
   ;	
	?debug	L 754
	push	ds
	mov	ax,offset DGROUP:s@+2039
	push	ax
	call	far ptr @Send_All_Sockets$qnzc
	add	sp,4
@11@198:
   ;	
   ;	  }
   ;	
   ;	 if(p == LASTPAT-1)
   ;	
	?debug	L 757
	cmp	si,7
	jne	short @11@254
   ;	
   ;	  MakeRandomPattern();
   ;	
	?debug	L 758
	push	cs
	call	near ptr @MakeRandomPattern$qv
@11@254:
   ;	
   ;	
   ;	 ShowCurrentPattern(LightPat[p][var.Seq]);       // show in scroll
   ;	
	?debug	L 760
	mov	ax,si
	mov	dx,1088
	imul	dx
	push	ax
	mov	ax,word ptr DGROUP:_var+24
	mov	dx,17
	imul	dx
	pop	dx
	add	dx,ax
	add	dx,offset DGROUP:_LightPat
	push	ds
	push	dx
	call	far ptr @ShowCurrentPattern$qnzc
	add	sp,4
   ;	
   ;	
   ;	 var.dy=(++var.dy) % 30;
   ;	
	?debug	L 762
	inc	word ptr DGROUP:_var+36
	mov	ax,word ptr DGROUP:_var+36
	mov	bx,30
	cwd	
	idiv	bx
	mov	word ptr DGROUP:_var+36,dx
   ;	
   ;	
   ;	 Send_All_Sockets(LightPat[p][var.Seq]);
   ;	
	?debug	L 764
	mov	ax,si
	mov	dx,1088
	imul	dx
	push	ax
	mov	ax,word ptr DGROUP:_var+24
	mov	dx,17
	imul	dx
	pop	dx
	add	dx,ax
	add	dx,offset DGROUP:_LightPat
	push	ds
	push	dx
	call	far ptr @Send_All_Sockets$qnzc
	add	sp,4
   ;	
   ;	 if(p >= 0 && p <= LASTPAT)
   ;	
	?debug	L 765
	or	si,si
	jl	short @11@338
	cmp	si,8
	jg	short @11@338
   ;	
   ;	  var.Seq++;
   ;	
	?debug	L 766
	inc	word ptr DGROUP:_var+24
@11@338:
   ;	
   ;	
   ;	
   ;	 if(var.Seq > var.last[p])
   ;	
	?debug	L 769
	mov	bx,si
	shl	bx,1
	mov	ax,word ptr DGROUP:_var[bx+38]
	cmp	ax,word ptr DGROUP:_var+24
	jge	short @11@394
   ;	
   ;	  var.Seq = 0;
   ;	
	?debug	L 770
	mov	word ptr DGROUP:_var+24,0
@11@394:
   ;	
   ;	
   ;	 DelayTime();
   ;	
	?debug	L 772
	push	cs
	call	near ptr @DelayTime$qv
   ;	
   ;	} /* end function SendNextPattern */
   ;	
	?debug	L 773
	pop	si
	pop	bp
	ret	
	?debug	C E601700408010700CF000C0600
	?debug	E
	?debug	E
@SendNextPattern$qi	endp
   ;	
   ;	void Send_All_Sockets(char *s)
   ;	
	?debug	L 780
	assume	cs:TREE-7_TEXT
@Send_All_Sockets$qnzc	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,2
	push	si
	?debug	C E60173190A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @12@86
	call	far ptr F_OVERFLOW@
@12@86:
   ;	
   ;	{
   ;	 int i;
   ;	
   ;	 for(i=0; i<16; i++)
   ;	
	?debug	L 784
	xor	cx,cx
	mov	dx,48
	mov	ax,55
	mov	byte ptr [bp-1],al
	mov	si,word ptr [bp+6]
@12@142:
   ;	
   ;	  {
   ;	   if(i<10)
   ;	
	?debug	L 786
	cmp	cx,10
	jge	short @12@198
   ;	
   ;	    cmd[2] = i + '0';
   ;	
	?debug	L 787
	mov	byte ptr DGROUP:_cmd+2,dl
	jmp	short @12@226
@12@198:
   ;	
   ;	   else
   ;	    cmd[2] = i + 'A' - 10;
   ;	
	?debug	L 789
	mov	al,byte ptr [bp-1]
	mov	byte ptr DGROUP:_cmd+2,al
@12@226:
   ;	
   ;	
   ;	   if(var.invert)
   ;	
	?debug	L 791
	cmp	word ptr DGROUP:_var+26,0
	je	short @12@338
   ;	
   ;	    {
   ;	     if(s[i] == 'X')
   ;	
	?debug	L 793
	mov	es,word ptr [bp+8]
	cmp	byte ptr es:[si],88
	jne	short @12@310
   ;	
   ;	      cmd[3] = '1';
   ;	
	?debug	L 794
	mov	byte ptr DGROUP:_cmd+3,49
	jmp	short @12@422
@12@310:
   ;	
   ;	     else
   ;	      cmd[3] = '0';
   ;	
	?debug	L 796
	mov	byte ptr DGROUP:_cmd+3,48
	jmp	short @12@422
@12@338:
   ;	
   ;	    }
   ;	   else
   ;	    {
   ;	     if(s[i] == 'X')
   ;	
	?debug	L 800
	mov	es,word ptr [bp+8]
	cmp	byte ptr es:[si],88
	jne	short @12@394
   ;	
   ;	      cmd[3] = '1';
   ;	
	?debug	L 801
	mov	byte ptr DGROUP:_cmd+3,49
	jmp	short @12@422
@12@394:
   ;	
   ;	     else
   ;	      cmd[3] = '0';
   ;	
	?debug	L 803
	mov	byte ptr DGROUP:_cmd+3,48
@12@422:
	?debug	L 784
	inc	dl
	inc	byte ptr [bp-1]
	inc	si
	inc	cx
	cmp	dl,64
	jne	short @12@142
   ;	
   ;	    }
   ;	  } // next i
   ;	} /* end function Send_All_Sockets */
   ;	
	?debug	L 806
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E60169040801170085000401000173190A060000
	?debug	E
	?debug	E
@Send_All_Sockets$qnzc	endp
   ;	
   ;	void ShowCurrentPattern(char *a)
   ;	
	?debug	L 814
	assume	cs:TREE-7_TEXT
@ShowCurrentPattern$qnzc	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,4
	push	si
	push	di
	?debug	C E60161190A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @13@86
	call	far ptr F_OVERFLOW@
@13@86:
   ;	
   ;	{
   ;	 int i,j;
   ;	 int x=MENUX+1;
   ;	
	?debug	L 817
   ;	
   ;	 int y=MENUY+9;
   ;	
	?debug	L 818
	mov	word ptr [bp-2],10
   ;	
   ;	
   ;	 window(1, 1, 80, 25);
   ;	
	?debug	L 820
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,1
	push	ax
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	 textattr(Colour);
   ;	
	?debug	L 821
	push	word ptr DGROUP:_Colour
	call	far ptr _textattr
	add	sp,2
   ;	
   ;	 for(j=0; j<16; j++)
   ;	
	?debug	L 822
	xor	di,di
	mov	word ptr [bp-4],4
	mov	si,word ptr [bp+6]
@13@142:
   ;	
   ;	  {
   ;	   gotoxy(x + (j<<1), y);
   ;	
	?debug	L 824
	push	word ptr [bp-2]
	push	word ptr [bp-4]
	call	far ptr _gotoxy
	add	sp,4
   ;	
   ;	   if(var.invert)
   ;	
	?debug	L 825
	cmp	word ptr DGROUP:_var+26,0
	je	short @13@254
   ;	
   ;	    {
   ;	     if(a[j] == 'X')
   ;	
	?debug	L 827
	mov	es,word ptr [bp+8]
	cmp	byte ptr es:[si],88
	jne	short @13@226
   ;	
   ;	      putch('.');
   ;	
	?debug	L 828
	mov	ax,46
	push	ax
	call	far ptr _putch
	add	sp,2
	jmp	short @13@338
@13@226:
   ;	
   ;	     else
   ;	      putch('Û');
   ;	
	?debug	L 830
	mov	ax,-37
	push	ax
	call	far ptr _putch
	add	sp,2
	jmp	short @13@338
@13@254:
   ;	
   ;	    }
   ;	   else
   ;	    {
   ;	     if(a[j] == 'X')
   ;	
	?debug	L 834
	mov	es,word ptr [bp+8]
	cmp	byte ptr es:[si],88
	jne	short @13@310
   ;	
   ;	      putch('Û');
   ;	
	?debug	L 835
	mov	ax,-37
	push	ax
	call	far ptr _putch
	add	sp,2
	jmp	short @13@338
@13@310:
   ;	
   ;	     else
   ;	      putch('.');
   ;	
	?debug	L 837
	mov	ax,46
	push	ax
	call	far ptr _putch
	add	sp,2
@13@338:
	?debug	L 822
	add	word ptr [bp-4],2
	inc	si
	inc	di
	cmp	di,16
	jl	short @13@142
   ;	
   ;	    }
   ;	  } /* next j */
   ;	
   ;	 window(1, MENUY+12, 80, 25);
   ;	
	?debug	L 841
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,13
	push	ax
	mov	ax,1
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	 gotoxy(savex, savey);
   ;	
	?debug	L 842
	push	word ptr DGROUP:_savey
	push	word ptr DGROUP:_savex
	call	far ptr _gotoxy
	add	sp,4
   ;	
   ;	 cputs(a);
   ;	
	?debug	L 843
	push	word ptr [bp+8]
	push	word ptr [bp+6]
	call	far ptr _cputs
	add	sp,4
   ;	
   ;	 cputs("\r\n");
   ;	
	?debug	L 844
	push	ds
	mov	ax,offset DGROUP:s@+2056
	push	ax
	call	far ptr _cputs
	add	sp,4
   ;	
   ;	 savex=wherex();
   ;	
	?debug	L 845
	call	far ptr _wherex
	mov	word ptr DGROUP:_savex,ax
   ;	
   ;	 savey=wherey();
   ;	
	?debug	L 846
	call	far ptr _wherey
	mov	word ptr DGROUP:_savey,ax
   ;	
   ;	} /* end function ShowCurrentPattern */
   ;	
	?debug	L 847
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E601790402FEFF00016A0408013E00BA00040700+
	?debug	C 0161190A060000
	?debug	E
	?debug	E
@ShowCurrentPattern$qnzc	endp
   ;	
   ;	void ShowMainScreen(void)
   ;	
	?debug	L 854
	assume	cs:TREE-7_TEXT
@ShowMainScreen$qv	proc	far
	?debug	B
	push	si
	push	di
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @14@86
	call	far ptr F_OVERFLOW@
@14@86:
   ;	
   ;	{
   ;	 int y;
   ;	 int x;
   ;	
   ;	 window(1,1,80,25);
   ;	
	?debug	L 859
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,1
	push	ax
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	 textattr(OneColor(FG, BG));
   ;	
	?debug	L 860
	push	word ptr DGROUP:_BG
	push	word ptr DGROUP:_FG
	call	far ptr @OneColor$qii
	add	sp,4
	push	ax
	call	far ptr _textattr
	add	sp,2
   ;	
   ;	 clrscr();
   ;	
	?debug	L 861
	call	far ptr _clrscr
   ;	
   ;	 /* pattern name box */
   ;	 Box(MENUY, MENUX+60,MENUY+9,MENUX+77, 2, Hilite);
   ;	
	?debug	L 863
	push	word ptr DGROUP:_Hilite
	mov	ax,2
	push	ax
	mov	ax,80
	push	ax
	mov	ax,10
	push	ax
	mov	ax,63
	push	ax
	mov	ax,1
	push	ax
	call	far ptr @Box$qiiiiii
	add	sp,12
   ;	
   ;	
   ;	 y = MENUY+5;
   ;	
	?debug	L 865
	mov	si,6
   ;	
   ;	 x = MENUX;
   ;	
	?debug	L 866
	mov	di,3
   ;	
   ;	 QPrintRC("ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿", y, x, Colour); y++;
   ;	
	?debug	L 867
	push	word ptr DGROUP:_Colour
	mov	ax,3
	push	ax
	mov	ax,6
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+2059
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("³0³0³0³0³0³0³0³0³0³1³1³1³1³1³1³1³ Socket", y, x, Colour); y++;
   ;	
	?debug	L 868
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2093
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("³1³2³3³4³5³6³7³8³9³0³1³2³3³4³5³6³ Number", y, x, Colour); y++;
   ;	
	?debug	L 869
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2134
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("ÃÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄÅÄ´", y, x, Colour); y++;
   ;	
	?debug	L 870
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2175
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ Current item", y, x, Colour); y++;
   ;	
	?debug	L 871
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2209
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ", y, x, Colour); y++;
   ;	
	?debug	L 872
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2256
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ", y, x, Colour);
   ;	
	?debug	L 873
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2290
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	
   ;	 y = MENUY;
   ;	
	?debug	L 875
	mov	si,1
   ;	
   ;	 QPrintRC("ÉÍÍÍÍÑÍÍËÍÍÍÍÑÍÍËÍÍÍÍÍÑÍËÍÍÍÍÍÍÑÍËÍÍÍÍÑÍËÍÍÍÍÍÍÍÑÍ»", y, x, Colour); y++;
   ;	
	?debug	L 876
	push	word ptr DGROUP:_Colour
	push	di
	mov	ax,1
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+2367
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("ºIntv³+\x18ºItem³>\x18ºMode ³MºInvert³IºPort³PºPattern³Uº", y, x, Colour); y++;
   ;	
	?debug	L 877
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2419
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("ºTime³-\x19ºTime³<\x19º     ÀÄ¶      ÀÄ¶    ÀÄ¶SelectnÀÄ¶", y, x, Colour); y++;
   ;	
	?debug	L 878
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2471
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("º    ÀÄÄ¶    ÀÄÄ¶       º        º      º         º", y, x, Colour); y++;
   ;	
	?debug	L 879
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2523
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
	inc	si
   ;	
   ;	 QPrintRC("ÈÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍ¼", y, x, Colour); y++;
   ;	
	?debug	L 880
	push	word ptr DGROUP:_Colour
	push	di
	push	si
	push	ds
	mov	ax,offset DGROUP:s@+2575
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	
   ;	       // QPrintRC("ºTime (Secs)³<\x19ºChg³-\x19º    ÀÄ¶   ÀÄ¶    ÀÄ¶    ÀÄ¶", y, x, Colour); y++;
   ;	
   ;	 ShowSpeed();
   ;	
	?debug	L 884
	call	far ptr @ShowSpeed$qv
   ;	
   ;	
   ;	 ShowPort();
   ;	
	?debug	L 886
	call	far ptr @ShowPort$qv
   ;	
   ;	
   ;	 if(var.AutoMode)
   ;	
	?debug	L 888
	cmp	word ptr DGROUP:_var+28,0
	je	short @14@142
   ;	
   ;	  {
   ;	   ShowSpeed();
   ;	
	?debug	L 890
	call	far ptr @ShowSpeed$qv
@14@142:
   ;	
   ;	  } /* end if */
   ;	} /* end function ShowMainScreen */
   ;	
	?debug	L 892
	pop	di
	pop	si
	ret	
	?debug	C E601780408016B00630104070001790408016700+
	?debug	C 6401040600
	?debug	E
	?debug	E
@ShowMainScreen$qv	endp
   ;	
   ;	void ShowSpeed(void)
   ;	
	?debug	L 899
	assume	cs:TREE-7_TEXT
@ShowSpeed$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,10
	push	si
	push	di
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @15@86
	call	far ptr F_OVERFLOW@
@15@86:
   ;	
   ;	{
   ;	 int x=MENUX+MODE_TIMEX;
   ;	
	?debug	L 901
	mov	si,12
   ;	
   ;	 int y=MENUY+3;
   ;	
	?debug	L 902
	mov	di,4
   ;	
   ;	 char tmp[10];
   ;	
   ;	 window(1, 1, 80, 25);
   ;	
	?debug	L 905
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,1
	push	ax
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	 sprintf(tmp,"%3.0f",var.PpDF);
   ;	
	?debug	L 906
	fld	qword ptr DGROUP:_var+8
	sub	sp,8
	fstp	qword ptr [bp-22]
	push	ds
	mov	ax,offset DGROUP:s@+2627
	push	ax
	push	ss
	fwait	
	lea	ax,word ptr [bp-10]
	push	ax
	call	far ptr _sprintf
	add	sp,16
   ;	
   ;	 QPrintRC(tmp, y, x, Hilite);
   ;	
	?debug	L 907
	push	word ptr DGROUP:_Hilite
	push	si
	push	di
	push	ss
	lea	ax,word ptr [bp-10]
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	
   ;	 x=MENUX+PAT_TIMEX;
   ;	
	?debug	L 909
	mov	si,4
   ;	
   ;	 sprintf(tmp,"%4.2f",var.PiDF);
   ;	
	?debug	L 910
	fld	qword ptr DGROUP:_var
	sub	sp,8
	fstp	qword ptr [bp-22]
	push	ds
	mov	ax,offset DGROUP:s@+2633
	push	ax
	push	ss
	fwait	
	lea	ax,word ptr [bp-10]
	push	ax
	call	far ptr _sprintf
	add	sp,16
   ;	
   ;	 QPrintRC(tmp, y, x, Hilite);
   ;	
	?debug	L 911
	push	word ptr DGROUP:_Hilite
	push	si
	push	di
	push	ss
	lea	ax,word ptr [bp-10]
	push	ax
	call	far ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	
   ;	 window(1, MENUY+12, 80, 25);
   ;	
	?debug	L 913
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,13
	push	ax
	mov	ax,1
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	} /* end function ShowSpeed */
   ;	
	?debug	L 914
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E324000A001A02
	?debug	C E603746D702402F6FF0001790408011E00940004+
	?debug	C 070001780408011A009300040600
	?debug	E
	?debug	E
@ShowSpeed$qv	endp
   ;	
   ;	int OneColor(int foreground,int background)
   ;	
	?debug	L 923
	assume	cs:TREE-7_TEXT
@OneColor$qii	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	?debug	C E60A6261636B67726F756E64040A0800000A666F+
	?debug	C 726567726F756E64040A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @16@86
	call	far ptr F_OVERFLOW@
@16@86:
   ;	
   ;	{
   ;	 /* the foreground will be stored in the low nybble and the background in the next to the lowest */
   ;	
   ;	 return ((background & 0xf) << 4) | (foreground & 0xf);
   ;	
	?debug	L 927
	mov	ax,word ptr [bp+8]
	and	ax,15
	mov	cl,4
	shl	ax,cl
	mov	dx,word ptr [bp+6]
	and	dx,15
	or	ax,dx
   ;	
   ;	} /* end function OneColor */
   ;	
	?debug	L 928
	pop	bp
	ret	
	?debug	C E60A666F726567726F756E64040A0600000A6261+
	?debug	C 636B67726F756E64040A080000
	?debug	E
	?debug	E
@OneColor$qii	endp
   ;	
   ;	int Instr(char *s,char *b)
   ;	
	?debug	L 936
	assume	cs:TREE-7_TEXT
@Instr$qnzct1	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,2
	push	si
	push	di
	?debug	C E60162190A0A00000173190A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @17@86
	call	far ptr F_OVERFLOW@
@17@86:
   ;	
   ;	{
   ;	 int n;
   ;	
   ;	 for(n=0; n<strlen(s); n++)
   ;	
	?debug	L 940
	xor	si,si
	mov	ax,word ptr [bp+6]
	mov	word ptr [bp-2],ax
	jmp	short @17@254
@17@142:
   ;	
   ;	  if(!strncmpi(s+n,b,strlen(b)))
   ;	
	?debug	L 941
	les	di,dword ptr [bp+10]
	xor	ax,ax
	mov	cx,-1
	repnz 	scasb	
	not	cx
	dec	cx
	push	cx
	push	word ptr [bp+12]
	push	word ptr [bp+10]
	push	word ptr [bp+8]
	push	word ptr [bp-2]
	call	far ptr _strnicmp
	add	sp,10
	or	ax,ax
	jne	short @17@198
   ;	
   ;	   return n;
   ;	
	?debug	L 942
	mov	ax,si
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
@17@198:
	?debug	L 940
	inc	word ptr [bp-2]
	inc	si
@17@254:
	les	di,dword ptr [bp+6]
	xor	ax,ax
	mov	cx,-1
	repnz 	scasb	
	not	cx
	dec	cx
	cmp	cx,si
	ja	short @17@142
   ;	
   ;	
   ;	 return -1;
   ;	
	?debug	L 944
	mov	ax,-1
   ;	
   ;	} /* end function Instr */
   ;	
	?debug	L 945
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E6016E040801180067000406000173190A060000+
	?debug	C 0162190A0A0000
	?debug	E
	?debug	E
@Instr$qnzct1	endp
   ;	
   ;	void ShowHelpScreen(void)
   ;	
	?debug	L 952
	assume	cs:TREE-7_TEXT
@ShowHelpScreen$qv	proc	far
	?debug	B
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @18@58
	call	far ptr F_OVERFLOW@
@18@58:
   ;	
   ;	{
   ;	 clrscr();
   ;	
	?debug	L 954
	call	far ptr _clrscr
   ;	
   ;	 puts("Welcome to the Light Controller");
   ;	
	?debug	L 955
	push	ds
	mov	ax,offset DGROUP:s@+2639
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("------------------------------------\n");
   ;	
	?debug	L 956
	push	ds
	mov	ax,offset DGROUP:s@+2671
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("The command line parameters are:\n");
   ;	
	?debug	L 958
	push	ds
	mov	ax,offset DGROUP:s@+2709
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("/Pxxx            where xxx is the desired port (this will override");
   ;	
	?debug	L 960
	push	ds
	mov	ax,offset DGROUP:s@+2743
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("                  the port in the default file)\n");
   ;	
	?debug	L 961
	push	ds
	mov	ax,offset DGROUP:s@+2810
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("/Fyyyyyy.yyy     where yyyyyy.yyy is the file name for");
   ;	
	?debug	L 963
	push	ds
	mov	ax,offset DGROUP:s@+2859
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("                  the default settings.  You should use a different");
   ;	
	?debug	L 964
	push	ds
	mov	ax,offset DGROUP:s@+2914
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("                  for each copy of this program you run with\n");
   ;	
	?debug	L 965
	push	ds
	mov	ax,offset DGROUP:s@+2982
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("/Shh:mm          where hh:mm is the time for the program to begin");
   ;	
	?debug	L 967
	push	ds
	mov	ax,offset DGROUP:s@+3044
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("                  (24 hour time)\n");
   ;	
	?debug	L 968
	push	ds
	mov	ax,offset DGROUP:s@+3110
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts(" NOTE: There is NO space after the /P or /F.  e.g. If the file name is");
   ;	
	?debug	L 970
	push	ds
	mov	ax,offset DGROUP:s@+3144
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("       \"OUTSIDE.DFT\" then the entry would be /FOUTSIDE.DFT\n");
   ;	
	?debug	L 971
	push	ds
	mov	ax,offset DGROUP:s@+3215
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("/Mn              Start in manual mode with pattern n\n");
   ;	
	?debug	L 973
	push	ds
	mov	ax,offset DGROUP:s@+3275
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("/A               Start in automode\n");
   ;	
	?debug	L 975
	push	ds
	mov	ax,offset DGROUP:s@+3329
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("/N               Make New default file.  Use this if the file");
   ;	
	?debug	L 977
	push	ds
	mov	ax,offset DGROUP:s@+3365
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("                  gets corrupted.  This will cause the program");
   ;	
	?debug	L 978
	push	ds
	mov	ax,offset DGROUP:s@+3427
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 puts("                  to create a new default file.\n");
   ;	
	?debug	L 979
	push	ds
	mov	ax,offset DGROUP:s@+3490
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	
   ;	 puts("(Press any key to exit to DOS)");
   ;	
	?debug	L 981
	push	ds
	mov	ax,offset DGROUP:s@+3539
	push	ax
	call	far ptr _puts
	add	sp,4
   ;	
   ;	 getch();
   ;	
	?debug	L 982
	call	far ptr _getch
   ;	
   ;	} /* end function ShowHelpScreen */
   ;	
	?debug	L 983
	ret	
	?debug	E
	?debug	E
@ShowHelpScreen$qv	endp
   ;	
   ;	void QPrintRC(char *str,int y,int x,int color)
   ;	
	?debug	L 990
	assume	cs:TREE-7_TEXT
@QPrintRC$qnzciii	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,4
	?debug	C E605636F6C6F72040A0E00000178040A0C000001+
	?debug	C 79040A0A000003737472190A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @19@86
	call	far ptr F_OVERFLOW@
@19@86:
   ;	
   ;	{
   ;	 int h,v;
   ;	
   ;	 window(1, 1, 80, 25);
   ;	
	?debug	L 994
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,1
	push	ax
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	 /* save window coordinates */
   ;	 h=wherex();
   ;	
	?debug	L 996
	call	far ptr _wherex
	mov	word ptr [bp-2],ax
   ;	
   ;	 v=wherey();
   ;	
	?debug	L 997
	call	far ptr _wherey
	mov	word ptr [bp-4],ax
   ;	
   ;	
   ;	 /* set new color */
   ;	 textattr(color);
   ;	
	?debug	L 1000
	push	word ptr [bp+14]
	call	far ptr _textattr
	add	sp,2
   ;	
   ;	 gotoxy(x,y);
   ;	
	?debug	L 1001
	push	word ptr [bp+10]
	push	word ptr [bp+12]
	call	far ptr _gotoxy
	add	sp,4
   ;	
   ;	 cputs(str);
   ;	
	?debug	L 1002
	push	word ptr [bp+8]
	push	word ptr [bp+6]
	call	far ptr _cputs
	add	sp,4
   ;	
   ;	
   ;	 /* restore cursor */
   ;	 gotoxy(h,v);
   ;	
	?debug	L 1005
	push	word ptr [bp-4]
	push	word ptr [bp-2]
	call	far ptr _gotoxy
	add	sp,4
   ;	
   ;	
   ;	 window(1, MENUY+12, 80, 25);
   ;	
	?debug	L 1007
	mov	ax,25
	push	ax
	mov	ax,80
	push	ax
	mov	ax,13
	push	ax
	mov	ax,1
	push	ax
	call	far ptr _window
	add	sp,8
   ;	
   ;	} /* end function QPrintRC */
   ;	
	?debug	L 1008
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E601760402FCFF0001680402FEFF000373747219+
	?debug	C 0A0600000179040A0A00000178040A0C00000563+
	?debug	C 6F6C6F72040A0E0000
	?debug	E
	?debug	E
@QPrintRC$qnzciii	endp
   ;	
   ;	char GetChar(void)
   ;	
	?debug	L 1015
	assume	cs:TREE-7_TEXT
@GetChar$qv	proc	far
	?debug	B
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @20@58
	call	far ptr F_OVERFLOW@
@20@58:
   ;	
   ;	{
   ;	 if(kbhit())
   ;	
	?debug	L 1017
	call	far ptr _kbhit
	or	ax,ax
	je	short @20@114
   ;	
   ;	  return toupper(getch());
   ;	
	?debug	L 1018
	call	far ptr _getch
	push	ax
	call	far ptr _toupper
	add	sp,2
	ret	
@20@114:
   ;	
   ;	 else
   ;	  return 0;
   ;	
	?debug	L 1020
	mov	al,0
   ;	
   ;	} /* end function GetChar */
   ;	
	?debug	L 1021
	ret	
	?debug	E
	?debug	E
@GetChar$qv	endp
   ;	
   ;	void Box(int toprow,int leftcol,int bottomrow,int rightcol,int FrameType,int color)
   ;	
	?debug	L 1028
	assume	cs:TREE-7_TEXT
@Box$qiiiiii	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,10
	push	si
	push	di
	?debug	C E605636F6C6F72040A100000094672616D655479+
	?debug	C 7065040A0E0000087269676874636F6C040A0C00+
	?debug	C 0009626F74746F6D726F77040A0A0000076C6566+
	?debug	C 74636F6C040A08000006746F70726F77040A0600+
	?debug	C 00
	mov	di,word ptr [bp+10]
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @21@86
	call	far ptr F_OVERFLOW@
@21@86:
   ;	
   ;	{
   ;	 /* draw a Box at the specified co-ordinates in one of the following patterns:
   ;	 1= single horizontal and vertical
   ;	 2= double horizontal and vertical
   ;	 3= double horizontal,single vertical
   ;	 4= single horizontal,double vertical
   ;	
   ;	 all others,use the FrameType character for the frame (eg 65= use cap. A)
   ;	 */
   ;	
   ;	 char ulc; /* upper left corner  */
   ;	 char urc; /* upper right corner */
   ;	 char llc; /* lower left corner  */
   ;	 char lrc; /* lower right corner */
   ;	 char hm;  /* horizontal members */
   ;	 char vm;  /* vertical members   */
   ;	
   ;	 int i;
   ;	
   ;	 int h,v;
   ;	
   ;	 /* save window coordinates */
   ;	 h=wherex();
   ;	
	?debug	L 1051
	call	far ptr _wherex
	mov	word ptr [bp-8],ax
   ;	
   ;	 v=wherey();
   ;	
	?debug	L 1052
	call	far ptr _wherey
	mov	word ptr [bp-10],ax
   ;	
   ;	
   ;	 textattr(color);
   ;	
	?debug	L 1054
	push	word ptr [bp+16]
	call	far ptr _textattr
	add	sp,2
   ;	
   ;	
   ;	 switch(FrameType)
   ;	
	?debug	L 1056
	mov	bx,word ptr [bp+14]
	dec	bx
	cmp	bx,3
	jbe	@@35
	jmp	@21@310
@@35:
	shl	bx,1
	jmp	word ptr cs:@21@C450[bx]
@21@198:
   ;	
   ;	 {
   ;	  case 1: ulc='Ú'; urc='¿'; llc='À'; lrc='Ù'; hm='Ä'; vm='³'; break;
   ;	
	?debug	L 1058
	mov	byte ptr [bp-1],218
	mov	byte ptr [bp-2],191
	mov	byte ptr [bp-3],192
	mov	byte ptr [bp-4],217
	mov	byte ptr [bp-5],196
	mov	byte ptr [bp-6],179
	jmp	short @21@338
@21@226:
   ;	
   ;	  case 2: ulc='É'; urc='»'; llc='È'; lrc='¼'; hm='Í'; vm='º'; break;
   ;	
	?debug	L 1059
	mov	byte ptr [bp-1],201
	mov	byte ptr [bp-2],187
	mov	byte ptr [bp-3],200
	mov	byte ptr [bp-4],188
	mov	byte ptr [bp-5],205
	mov	byte ptr [bp-6],186
	jmp	short @21@338
@21@254:
   ;	
   ;	  case 3: ulc='Õ'; urc='¸'; llc='Ô'; lrc='¾'; hm='Í'; vm='³'; break;
   ;	
	?debug	L 1060
	mov	byte ptr [bp-1],213
	mov	byte ptr [bp-2],184
	mov	byte ptr [bp-3],212
	mov	byte ptr [bp-4],190
	mov	byte ptr [bp-5],205
	mov	byte ptr [bp-6],179
	jmp	short @21@338
@21@282:
   ;	
   ;	  case 4: ulc='Ö'; urc='·'; llc='Ó'; lrc='½'; hm='Ä'; vm='º'; break;
   ;	
	?debug	L 1061
	mov	byte ptr [bp-1],214
	mov	byte ptr [bp-2],183
	mov	byte ptr [bp-3],211
	mov	byte ptr [bp-4],189
	mov	byte ptr [bp-5],196
	mov	byte ptr [bp-6],186
	jmp	short @21@338
@21@310:
   ;	
   ;	  default: ulc=FrameType; urc=FrameType; llc=FrameType;
   ;	
	?debug	L 1062
	mov	al,byte ptr [bp+14]
	mov	byte ptr [bp-1],al
	mov	byte ptr [bp-2],al
	mov	byte ptr [bp-3],al
   ;	
   ;	   lrc=FrameType; hm=FrameType; vm=FrameType; break;
   ;	
	?debug	L 1063
	mov	byte ptr [bp-4],al
	mov	byte ptr [bp-5],al
	mov	byte ptr [bp-6],al
@21@338:
   ;	
   ;	 }
   ;	
   ;	 /* place the corners */
   ;	 gotoxy(leftcol,toprow);     cprintf("%c",ulc);     /* upper left corner */
   ;	
	?debug	L 1067
	push	word ptr [bp+6]
	push	word ptr [bp+8]
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-1]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3570
	push	ax
	call	far ptr _cprintf
	add	sp,6
   ;	
   ;	 gotoxy(rightcol,toprow);    cprintf("%c",urc);    /* upper right corner */
   ;	
	?debug	L 1068
	push	word ptr [bp+6]
	push	word ptr [bp+12]
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-2]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3573
	push	ax
	call	far ptr _cprintf
	add	sp,6
   ;	
   ;	 gotoxy(leftcol,bottomrow);  cprintf("%c",llc);  /* lower left corner */
   ;	
	?debug	L 1069
	push	di
	push	word ptr [bp+8]
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-3]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3576
	push	ax
	call	far ptr _cprintf
	add	sp,6
   ;	
   ;	 gotoxy(rightcol,bottomrow); cprintf("%c",lrc); /* lower right corner */
   ;	
	?debug	L 1070
	push	di
	push	word ptr [bp+12]
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-4]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3579
	push	ax
	call	far ptr _cprintf
	add	sp,6
   ;	
   ;	
   ;	 /* draw the vertical lines */
   ;	 for(i=toprow+1; i<bottomrow; i++)
   ;	
	?debug	L 1073
	mov	si,word ptr [bp+6]
	inc	si
	cmp	si,di
	jge	short @21@478
@21@394:
   ;	
   ;	  {
   ;	   gotoxy(leftcol,i);  cprintf("%c",vm);
   ;	
	?debug	L 1075
	push	si
	push	word ptr [bp+8]
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-6]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3582
	push	ax
	call	far ptr _cprintf
	add	sp,6
   ;	
   ;	   gotoxy(rightcol,i); cprintf("%c",vm);
   ;	
	?debug	L 1076
	push	si
	push	word ptr [bp+12]
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-6]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3585
	push	ax
	call	far ptr _cprintf
	add	sp,6
	?debug	L 1073
	inc	si
	cmp	si,di
	jl	short @21@394
@21@478:
   ;	
   ;	  }
   ;	
   ;	 /* draw the horizontal lines */
   ;	 for(i=leftcol+1; i<rightcol; i++)
   ;	
	?debug	L 1080
	mov	si,word ptr [bp+8]
	inc	si
	cmp	si,word ptr [bp+12]
	jge	short @21@618
@21@534:
   ;	
   ;	  {
   ;	   gotoxy(i,toprow);    cprintf("%c",hm);
   ;	
	?debug	L 1082
	push	word ptr [bp+6]
	push	si
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-5]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3588
	push	ax
	call	far ptr _cprintf
	add	sp,6
   ;	
   ;	   gotoxy(i,bottomrow); cprintf("%c",hm);
   ;	
	?debug	L 1083
	push	di
	push	si
	call	far ptr _gotoxy
	add	sp,4
	mov	al,byte ptr [bp-5]
	cbw	
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3591
	push	ax
	call	far ptr _cprintf
	add	sp,6
	?debug	L 1080
	inc	si
	cmp	si,word ptr [bp+12]
	jl	short @21@534
@21@618:
   ;	
   ;	  }
   ;	
   ;	 /* restore cursor */
   ;	 gotoxy(h,v);
   ;	
	?debug	L 1087
	push	word ptr [bp-10]
	push	word ptr [bp-8]
	call	far ptr _gotoxy
	add	sp,4
   ;	
   ;	} /* end function Box */
   ;	
	?debug	L 1088
	pop	di
	pop	si
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E601760402F6FF0001680402F8FF000169040801+
	?debug	C 6601FF0104060002766D0202FAFF0002686D0202+
	?debug	C FBFF00036C72630202FCFF00036C6C630202FDFF+
	?debug	C 00037572630202FEFF0003756C630202FFFF0006+
	?debug	C 746F70726F77040A060000076C656674636F6C04+
	?debug	C 0A08000009626F74746F6D726F770408010B00DF+
	?debug	C 010C0700087269676874636F6C040A0C00000946+
	?debug	C 72616D6554797065040A0E000005636F6C6F7204+
	?debug	C 0A100000
	?debug	E
	?debug	E
@Box$qiiiiii	endp
@21@C450	label	word
	dw	@21@198
	dw	@21@226
	dw	@21@254
	dw	@21@282
   ;	
   ;	void File_Exists(char *f,int *x)
   ;	
	?debug	L 1095
	assume	cs:TREE-7_TEXT
@File_Exists$qnzcni	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,44
	?debug	C E325000400160400
	?debug	C E60178250A0A00000166190A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @22@86
	call	far ptr F_OVERFLOW@
@22@86:
   ;	
   ;	{
   ;	 /* return a TRUE if the requested file "f" File_Existss */
   ;	 struct ffblk ffblk;
   ;	 *x= (findfirst(f,&ffblk,0)==0);
   ;	
	?debug	L 1099
	xor	ax,ax
	push	ax
	push	ss
	lea	ax,word ptr [bp-44]
	push	ax
	push	word ptr [bp+8]
	push	word ptr [bp+6]
	call	far ptr _findfirst
	add	sp,10
	or	ax,ax
	jne	short @22@142
	mov	ax,1
	jmp	short @22@170
@22@142:
	xor	ax,ax
@22@170:
	les	bx,dword ptr [bp+10]
	mov	word ptr es:[bx],ax
   ;	
   ;	} /* end function File_Exists */
   ;	
	?debug	L 1100
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E326056666626C6B2B001E1A
	?debug	C E3270015001A02
	?debug	C E328000D001A02
	?debug	C E6056666626C6B2602D4FF000166190A06000001+
	?debug	C 78250A0A0000
	?debug	E
	?debug	E
@File_Exists$qnzcni	endp
   ;	
   ;	double GetTime(void)
   ;	
	?debug	L 1107
	assume	cs:TREE-7_TEXT
@GetTime$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,14
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @23@86
	call	far ptr F_OVERFLOW@
@23@86:
   ;	
   ;	{
   ;	 struct timeb t;
   ;	 ftime(&t);
   ;	
	?debug	L 1110
	push	ss
	lea	ax,word ptr [bp-10]
	push	ax
	call	far ptr _ftime
	add	sp,4
   ;	
   ;	 return (double)t.time+(double)t.millitm/1000.0;
   ;	
	?debug	L 1111
	mov	ax,word ptr [bp-8]
	mov	dx,word ptr [bp-10]
	mov	word ptr [bp-14],dx
	mov	word ptr [bp-12],ax
	fild	dword ptr [bp-14]
	mov	ax,word ptr [bp-6]
	mov	word ptr [bp-14],ax
	fild	word ptr [bp-14]
	fdiv	dword ptr DGROUP:s@+3594
	fadd	
   ;	
   ;	} /* end function GetTime */
   ;	
	?debug	L 1112
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E601741A02F6FF00
	?debug	E
	?debug	E
@GetTime$qv	endp
   ;	
   ;	void ShowDelayScreen(char *StTime)
   ;	
	?debug	L 1119
	assume	cs:TREE-7_TEXT
@ShowDelayScreen$qnzc	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,82
	?debug	C E606537454696D65190A060000
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @24@86
	call	far ptr F_OVERFLOW@
@24@86:
   ;	
   ;	{
   ;	 char tmp[81];
   ;	
   ;	 textmode(C40);
   ;	
	?debug	L 1123
	mov	ax,1
	push	ax
	call	far ptr _textmode
	add	sp,2
   ;	
   ;	 _setcursortype(_NOCURSOR);
   ;	
	?debug	L 1124
	xor	ax,ax
	push	ax
	call	far ptr __setcursortype
	add	sp,2
   ;	
   ;	 textattr(OneColor(FG, BG));
   ;	
	?debug	L 1125
	push	word ptr DGROUP:_BG
	push	word ptr DGROUP:_FG
	push	cs
	call	near ptr @OneColor$qii
	add	sp,4
	push	ax
	call	far ptr _textattr
	add	sp,2
   ;	
   ;	 clrscr();
   ;	
	?debug	L 1126
	call	far ptr _clrscr
   ;	
   ;	 sprintf(tmp,"Tree Light will begin at %s",StTime);
   ;	
	?debug	L 1127
	push	word ptr [bp+8]
	push	word ptr [bp+6]
	push	ds
	mov	ax,offset DGROUP:s@+3598
	push	ax
	push	ss
	lea	ax,word ptr [bp-82]
	push	ax
	call	far ptr _sprintf
	add	sp,12
   ;	
   ;	 QPrintRC(tmp, 8, 5, Colour);
   ;	
	?debug	L 1128
	push	word ptr DGROUP:_Colour
	mov	ax,5
	push	ax
	mov	ax,8
	push	ax
	push	ss
	lea	ax,word ptr [bp-82]
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	
   ;	 QPrintRC("Current Time",10,14,Colour);
   ;	
	?debug	L 1130
	push	word ptr DGROUP:_Colour
	mov	ax,14
	push	ax
	mov	ax,10
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3626
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	 QPrintRC("ÉÍÍÍÍÍÍÍÍÍÍ»",11,14,Colour);
   ;	
	?debug	L 1131
	push	word ptr DGROUP:_Colour
	mov	ax,14
	push	ax
	mov	ax,11
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3639
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	 QPrintRC("º xx:xx:xx º",12,14,Colour);
   ;	
	?debug	L 1132
	push	word ptr DGROUP:_Colour
	mov	ax,14
	push	ax
	mov	ax,12
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3652
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	 QPrintRC("ÈÍÍÍÍÍÍÍÍÍÍ¼",13,14,Colour);
   ;	
	?debug	L 1133
	push	word ptr DGROUP:_Colour
	mov	ax,14
	push	ax
	mov	ax,13
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3665
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	
   ;	 QPrintRC("('Q' to abort to DOS)", 15, 10, Colour);
   ;	
	?debug	L 1135
	push	word ptr DGROUP:_Colour
	mov	ax,10
	push	ax
	mov	ax,15
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3678
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	} /* end function ShowDelayScreen */
   ;	
	?debug	L 1136
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E3290051001A02
	?debug	C E603746D702902AEFF0006537454696D65190A06+
	?debug	C 0000
	?debug	E
	?debug	E
@ShowDelayScreen$qnzc	endp
   ;	
   ;	void ShowPort(void)
   ;	
	?debug	L 1143
	assume	cs:TREE-7_TEXT
@ShowPort$qv	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,14
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @25@86
	call	far ptr F_OVERFLOW@
@25@86:
   ;	
   ;	{
   ;	 char tmp[10];
   ;	 int x=MENUX+PORTX;
   ;	
	?debug	L 1146
	mov	word ptr [bp-12],37
   ;	
   ;	 int y=MENUY+3;
   ;	
	?debug	L 1147
	mov	word ptr [bp-14],4
   ;	
   ;	
   ;	 sprintf(tmp,"Com:%d",var.Port+1);
   ;	
	?debug	L 1149
	mov	ax,word ptr DGROUP:_var+30
	inc	ax
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3700
	push	ax
	push	ss
	lea	ax,word ptr [bp-10]
	push	ax
	call	far ptr _sprintf
	add	sp,10
   ;	
   ;	 QPrintRC(tmp, y, x, Hilite);
   ;	
	?debug	L 1150
	push	word ptr DGROUP:_Hilite
	push	word ptr [bp-12]
	push	word ptr [bp-14]
	push	ss
	lea	ax,word ptr [bp-10]
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	} /* end function ShowPort */
   ;	
	?debug	L 1151
	mov	sp,bp
	pop	bp
	ret	
	?debug	C E32A000A001A02
	?debug	C E601790402F2FF0001780402F4FF0003746D702A+
	?debug	C 02F6FF00
	?debug	E
	?debug	E
@ShowPort$qv	endp
   ;	
   ;	void ShowInvert(void)
   ;	
	?debug	L 1158
	assume	cs:TREE-7_TEXT
@ShowInvert$qv	proc	far
	?debug	B
	push	si
	push	di
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @26@86
	call	far ptr F_OVERFLOW@
@26@86:
   ;	
   ;	{
   ;	 int x=MENUX+INVERTX;
   ;	
	?debug	L 1160
	mov	si,28
   ;	
   ;	 int y=MENUY+3;
   ;	
	?debug	L 1161
	mov	di,4
   ;	
   ;	
   ;	 if(var.invert)
   ;	
	?debug	L 1163
	cmp	word ptr DGROUP:_var+26,0
	je	short @26@142
   ;	
   ;	  QPrintRC("Invert", y, x, Hilite);
   ;	
	?debug	L 1164
	push	word ptr DGROUP:_Hilite
	mov	ax,28
	push	ax
	mov	ax,4
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3707
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
	jmp	short @26@170
@26@142:
   ;	
   ;	 else
   ;	  QPrintRC("No    ", y, x, Colour);
   ;	
	?debug	L 1166
	push	word ptr DGROUP:_Colour
	push	si
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+3714
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
@26@170:
   ;	
   ;	
   ;	
   ;	 x=MENUX+AUTOMODE_X;
   ;	
	?debug	L 1169
	mov	si,20
   ;	
   ;	 if(var.AutoMode)
   ;	
	?debug	L 1170
	cmp	word ptr DGROUP:_var+28,0
	je	short @26@226
   ;	
   ;	  QPrintRC("Auto", y, x, Hilite);
   ;	
	?debug	L 1171
	push	word ptr DGROUP:_Hilite
	mov	ax,20
	push	ax
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+3721
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
	pop	di
	pop	si
	ret	
@26@226:
   ;	
   ;	 else
   ;	  {
   ;	   QPrintRC("      ", y-1, x, Colour);
   ;	
	?debug	L 1174
	push	word ptr DGROUP:_Colour
	push	si
	mov	ax,di
	dec	ax
	push	ax
	push	ds
	mov	ax,offset DGROUP:s@+3726
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	   QPrintRC("Manual", y, x, Colour);
   ;	
	?debug	L 1175
	push	word ptr DGROUP:_Colour
	push	si
	push	di
	push	ds
	mov	ax,offset DGROUP:s@+3733
	push	ax
	push	cs
	call	near ptr @QPrintRC$qnzciii
	add	sp,10
   ;	
   ;	  }
   ;	} /* end function ShowInvert */
   ;	
	?debug	L 1177
	pop	di
	pop	si
	ret	
	?debug	C E601790408011800980004070001780408011400+
	?debug	C 9700040600
	?debug	E
	?debug	E
@ShowInvert$qv	endp
	?debug	C E9
	?debug	C FA95030000
TREE-7_TEXT	ends
_DATA	segment word public 'DATA'
s@	label	byte
	db	154
	db	153
	db	153
	db	153
	db	153
	db	153
	db	185
	db	'?'
	db	0
	db	0
	db	'pA'
	db	0
	db	0
	db	240
	db	'A/H'
	db	0
	db	'H'
	db	0
	db	'/N'
	db	0
	db	'N'
	db	0
	db	'/F'
	db	0
	db	'F'
	db	0
	db	'/A'
	db	0
	db	'A'
	db	0
	db	'/M'
	db	0
	db	'M'
	db	0
	db	'/P1'
	db	0
	db	'P1'
	db	0
	db	'/P2'
	db	0
	db	'P2'
	db	0
	db	'/P3'
	db	0
	db	'P3'
	db	0
	db	'/P4'
	db	0
	db	'P4'
	db	0
	db	'/S'
	db	0
	db	'S'
	db	0
	db	':00'
	db	0
	db	'%X:%S'
	db	0
	db	'User Def'
	db	0
	db	'Built In'
	db	0
	db	'                           '
	db	0
	db	154
	db	153
	db	153
	db	153
	db	153
	db	153
	db	169
	db	'?'
	db	0
	db	0
	db	198
	db	'B'
	db	0
	db	192
	db	'yDUser Def'
	db	0
	db	'Built In'
	db	0
	db	'Off '
	db	0
	db	'%3.0f'
	db	0
	db	'Press "Y" to quit'
	db	0
	db	'Y'
	db	0
	db	'................'
	db	0
	db	'Forward'
	db	0
	db	'X...............'
	db	0
	db	'.X..............'
	db	0
	db	'..X.............'
	db	0
	db	'...X............'
	db	0
	db	'....X...........'
	db	0
	db	'.....X..........'
	db	0
	db	'......X.........'
	db	0
	db	'.......X........'
	db	0
	db	'........X.......'
	db	0
	db	'.........X......'
	db	0
	db	'..........X.....'
	db	0
	db	'...........X....'
	db	0
	db	'............X...'
	db	0
	db	'.............X..'
	db	0
	db	'..............X.'
	db	0
	db	'...............X'
	db	0
	db	'Reverse'
	db	0
	db	'...............X'
	db	0
	db	'..............X.'
	db	0
	db	'.............X..'
	db	0
	db	'............X...'
	db	0
	db	'...........X....'
	db	0
	db	'..........X.....'
	db	0
	db	'.........X......'
	db	0
	db	'........X.......'
	db	0
	db	'.......X........'
	db	0
	db	'......X.........'
	db	0
	db	'.....X..........'
	db	0
	db	'....X...........'
	db	0
	db	'...X............'
	db	0
	db	'..X.............'
	db	0
	db	'.X..............'
	db	0
	db	'X...............'
	db	0
	db	'Bounce'
	db	0
	db	'X...............'
	db	0
	db	'.X..............'
	db	0
	db	'..X.............'
	db	0
	db	'...X............'
	db	0
	db	'....X...........'
	db	0
	db	'.....X..........'
	db	0
	db	'......X.........'
	db	0
	db	'.......X........'
	db	0
	db	'........X.......'
	db	0
	db	'.........X......'
	db	0
	db	'..........X.....'
	db	0
	db	'...........X....'
	db	0
	db	'............X...'
	db	0
	db	'.............X..'
	db	0
	db	'..............X.'
	db	0
	db	'...............X'
	db	0
	db	'...............X'
	db	0
	db	'..............X.'
	db	0
	db	'.............X..'
	db	0
	db	'............X...'
	db	0
	db	'...........X....'
	db	0
	db	'..........X.....'
	db	0
	db	'.........X......'
	db	0
	db	'........X.......'
	db	0
	db	'.......X........'
	db	0
	db	'......X.........'
	db	0
	db	'.....X..........'
	db	0
	db	'....X...........'
	db	0
	db	'...X............'
	db	0
	db	'..X.............'
	db	0
	db	'.X..............'
	db	0
	db	'X...............'
	db	0
	db	'Back & Forth'
	db	0
	db	'X..............X'
	db	0
	db	'.X............X.'
	db	0
	db	'..X..........X..'
	db	0
	db	'...X........X...'
	db	0
	db	'....X......X....'
	db	0
	db	'.....X....X.....'
	db	0
	db	'......X..X......'
	db	0
	db	'.......XX.......'
	db	0
	db	'.......XX.......'
	db	0
	db	'......X..X......'
	db	0
	db	'.....X....X.....'
	db	0
	db	'....X......X....'
	db	0
	db	'...X........X...'
	db	0
	db	'..X..........X..'
	db	0
	db	'.X............X.'
	db	0
	db	'X..............X'
	db	0
	db	'Spaz'
	db	0
	db	'.X.X.X.X.X.X.X.X'
	db	0
	db	'X.X.X.X.X.X.X.X.'
	db	0
	db	'Fwd Marquee'
	db	0
	db	'X...X...X...X...'
	db	0
	db	'.X...X...X...X..'
	db	0
	db	'..X...X...X...X.'
	db	0
	db	'...X...X...X...X'
	db	0
	db	'X...X...X...X...'
	db	0
	db	'.X...X...X...X..'
	db	0
	db	'..X...X...X...X.'
	db	0
	db	'...X...X...X...X'
	db	0
	db	'Rev Marquee'
	db	0
	db	'X...X...X...X...'
	db	0
	db	'...X...X...X...X'
	db	0
	db	'..X...X...X...X.'
	db	0
	db	'.X...X...X...X..'
	db	0
	db	'X...X...X...X...'
	db	0
	db	'...X...X...X...X'
	db	0
	db	'..X...X...X...X.'
	db	0
	db	'.X...X...X...X..'
	db	0
	db	'random?'
	db	0
	db	'rb'
	db	0
	db	'PATTERN.DAT'
	db	0
	db	'PATTERN.DAT'
	db	0
	db	'rt'
	db	0
	db	'%s'
	db	10
	db	0
	db	'%s'
	db	10
	db	0
	db	'LAST'
	db	0
	db	'Auto'
	db	0
	db	'Manual '
	db	0
	db	'%d-%-12.12s'
	db	0
	db	'wb'
	db	0
	db	'XXXXXXXXXXXXXXXX'
	db	0
	db	'................'
	db	0
	db	13
	db	10
	db	0
	db	218
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	194
	db	196
	db	191
	db	0
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'0'
	db	179
	db	'1'
	db	179
	db	'1'
	db	179
	db	'1'
	db	179
	db	'1'
	db	179
	db	'1'
	db	179
	db	'1'
	db	179
	db	'1'
	db	179
	db	' Socket'
	db	0
	db	179
	db	'1'
	db	179
	db	'2'
	db	179
	db	'3'
	db	179
	db	'4'
	db	179
	db	'5'
	db	179
	db	'6'
	db	179
	db	'7'
	db	179
	db	'8'
	db	179
	db	'9'
	db	179
	db	'0'
	db	179
	db	'1'
	db	179
	db	'2'
	db	179
	db	'3'
	db	179
	db	'4'
	db	179
	db	'5'
	db	179
	db	'6'
	db	179
	db	' Number'
	db	0
	db	195
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	197
	db	196
	db	180
	db	0
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' '
	db	179
	db	' Current item'
	db	0
	db	192
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	193
	db	196
	db	217
	db	0
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	196
	db	0
	db	201
	db	205
	db	205
	db	205
	db	205
	db	209
	db	205
	db	205
	db	203
	db	205
	db	205
	db	205
	db	205
	db	209
	db	205
	db	205
	db	203
	db	205
	db	205
	db	205
	db	205
	db	205
	db	209
	db	205
	db	203
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	209
	db	205
	db	203
	db	205
	db	205
	db	205
	db	205
	db	209
	db	205
	db	203
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	209
	db	205
	db	187
	db	0
	db	186
	db	'Intv'
	db	179
	db	'+'
	db	24
	db	186
	db	'Item'
	db	179
	db	'>'
	db	24
	db	186
	db	'Mode '
	db	179
	db	'M'
	db	186
	db	'Invert'
	db	179
	db	'I'
	db	186
	db	'Port'
	db	179
	db	'P'
	db	186
	db	'Pattern'
	db	179
	db	'U'
	db	186
	db	0
	db	186
	db	'Time'
	db	179
	db	'-'
	db	25
	db	186
	db	'Time'
	db	179
	db	'<'
	db	25
	db	186
	db	'     '
	db	192
	db	196
	db	182
	db	'      '
	db	192
	db	196
	db	182
	db	'    '
	db	192
	db	196
	db	182
	db	'Selectn'
	db	192
	db	196
	db	182
	db	0
	db	186
	db	'    '
	db	192
	db	196
	db	196
	db	182
	db	'    '
	db	192
	db	196
	db	196
	db	182
	db	'       '
	db	186
	db	'        '
	db	186
	db	'      '
	db	186
	db	'         '
	db	186
	db	0
	db	200
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	202
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	202
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	202
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	202
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	202
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	188
	db	0
	db	'%3.0f'
	db	0
	db	'%4.2f'
	db	0
	db	'Welcome to the Light Controller'
	db	0
	db	'------------------------------------'
	db	10
	db	0
	db	'The command line parameters are:'
	db	10
	db	0
	db	'/Pxxx            where xxx is the desired port (this will ove'
	db	'rride'
	db	0
	db	'                  the port in the default file)'
	db	10
	db	0
	db	'/Fyyyyyy.yyy     where yyyyyy.yyy is the file name for'
	db	0
	db	'                  the default settings.  You should use a dif'
	db	'ferent'
	db	0
	db	'                  for each copy of this program you run with'
	db	10
	db	0
	db	'/Shh:mm          where hh:mm is the time for the program to b'
	db	'egin'
	db	0
	db	'                  (24 hour time)'
	db	10
	db	0
	db	' NOTE: There is NO space after the /P or /F.  e.g. If the fil'
	db	'e name is'
	db	0
	db	'       "OUTSIDE.DFT" then the entry would be /FOUTSIDE.DFT'
	db	10
	db	0
	db	'/Mn              Start in manual mode with pattern n'
	db	10
	db	0
	db	'/A               Start in automode'
	db	10
	db	0
	db	'/N               Make New default file.  Use this if the file'
	db	0
	db	'                  gets corrupted.  This will cause the progra'
	db	'm'
	db	0
	db	'                  to create a new default file.'
	db	10
	db	0
	db	'(Press any key to exit to DOS)'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	'%c'
	db	0
	db	0
	db	0
	db	'zDTree Light will begin at %s'
	db	0
	db	'Current Time'
	db	0
	db	201
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	187
	db	0
	db	186
	db	' xx:xx:xx '
	db	186
	db	0
	db	200
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	205
	db	188
	db	0
	db	'('
	db	39
	db	'Q'
	db	39
	db	' to abort to DOS)'
	db	0
	db	'Com:%d'
	db	0
	db	'Invert'
	db	0
	db	'No    '
	db	0
	db	'Auto'
	db	0
	db	'      '
	db	0
	db	'Manual'
	db	0
_DATA	ends
TREE-7_TEXT	segment byte public 'CODE'
TREE-7_TEXT	ends
	extrn	F_LDIV@:far
	public	@MakeRandomPattern$qv
	public	@DelayTime$qv
	extrn	__setargv__:far
	extrn	F_OVERFLOW@:far
	public	_main
	public	_savey
	public	_savex
	public	_cmd
	public	_File
	public	_var
	public	_Hilite
	public	_Colour
	public	_BG
	public	_FG
	public	_PatName
	public	_LightPat
	public	@ShowSpeed$qv
	public	@ShowPort$qv
	public	@ShowMainScreen$qv
	public	@ShowInvert$qv
	public	@ShowHelpScreen$qv
	public	@ShowDelayScreen$qnzc
	public	@ShowCurrentName$qi
	public	@ShowCurrentPattern$qnzc
	public	@SendNextPattern$qi
	public	@Send_All_Sockets$qnzc
	public	@SaveDefaults$qv
	public	@QPrintRC$qnzciii
	public	@OneColor$qii
	public	@MarkActive$qi
	public	@Instr$qnzct1
	public	@GetUserPatterns$qv
	public	@GetTime$qv
	public	@GetDefaultPatterns$qv
	public	@GetDefaults$qv
	public	@GetChar$qv
	public	@File_Exists$qnzcni
	public	@Box$qiiiiii
	public	@AskToExit$qi
	extrn	_toupper:far
	extrn	_ftime:far
	extrn	_findfirst:far
	extrn	_sound:far
_pokeb	equ	pokeb
_poke	equ	poke
_peekb	equ	peekb
_peek	equ	peek
	extrn	_nosound:far
	extrn	_delay:far
	extrn	__stklen:word
	extrn	_tzset:far
	extrn	_strftime:far
	extrn	_localtime:far
	extrn	_strupr:far
	extrn	_strnicmp:far
	extrn	_time:far
	extrn	_rand:far
	extrn	_exit:far
_atoi	equ	atoi
_abs	equ	abs
	extrn	_sprintf:far
	extrn	_puts:far
	extrn	_fwrite:far
	extrn	_fscanf:far
	extrn	_fread:far
	extrn	_fopen:far
	extrn	_fclose:far
	extrn	_cputs:far
	extrn	_cprintf:far
	extrn	__setcursortype:far
	extrn	_window:far
	extrn	_textmode:far
	extrn	_textattr:far
	extrn	_putch:far
	extrn	_kbhit:far
	extrn	_getch:far
	extrn	_wherey:far
	extrn	_wherex:far
	extrn	_gotoxy:far
	extrn	_clrscr:far
_s@	equ	s@
	?debug	C EA050C
	?debug	C E32B00000023040500
	?debug	C EB07465F4C444956402B00
	?debug	C E32C00000023010400
	?debug	C EC15404D616B6552616E646F6D5061747465726E+
	?debug	C 2471762C1800
	?debug	C E32D00000023010400
	?debug	C EC0D4044656C617954696D652471762D1800
	?debug	C EB0B5F5F736574617267765F5F2B00
	?debug	C EB0B465F4F564552464C4F57402B00
	?debug	C E32E00000023010400
	?debug	C EC055F6D61696E2E1800
	?debug	C EC065F7361766579040000
	?debug	C EC065F7361766578040000
	?debug	C E32F0006001A02
	?debug	C EC045F636D642F0000
	?debug	C E330000D001A02
	?debug	C EC055F46696C65300000
	?debug	C E331004E001E21
	?debug	C E3320014001A04
	?debug	C E3330014001A04
	?debug	C EC045F766172310000
	?debug	C EC075F48696C697465040000
	?debug	C EC075F436F6C6F7572040000
	?debug	C EC035F4247040000
	?debug	C EC035F4647040000
	?debug	C E335000D001A02
	?debug	C E3340068001A35
	?debug	C EC085F5061744E616D65340000
	?debug	C E3380011001A02
	?debug	C E3370040041A38
	?debug	C E3360000221A37
	?debug	C EC095F4C69676874506174360000
	?debug	C E33900000023010400
	?debug	C EC0D4053686F775370656564247176391800
	?debug	C E33A00000023010400
	?debug	C EC0C4053686F77506F72742471763A1800
	?debug	C E33B00000023010400
	?debug	C EC124053686F774D61696E53637265656E247176+
	?debug	C 3B1800
	?debug	C E33C00000023010400
	?debug	C EC0E4053686F77496E766572742471763C1800
	?debug	C E33D00000023010400
	?debug	C EC124053686F7748656C7053637265656E247176+
	?debug	C 3D1800
	?debug	C E33E00000023010400
	?debug	C EC154053686F7744656C617953637265656E2471+
	?debug	C 6E7A633E1800
	?debug	C E33F00000023010400
	?debug	C EC134053686F7743757272656E744E616D652471+
	?debug	C 693F1800
	?debug	C E34000000023010400
	?debug	C EC184053686F7743757272656E74506174746572+
	?debug	C 6E24716E7A63401800
	?debug	C E34100000023010400
	?debug	C EC134053656E644E6578745061747465726E2471+
	?debug	C 69411800
	?debug	C E34200000023010400
	?debug	C EC164053656E645F416C6C5F536F636B65747324+
	?debug	C 716E7A63421800
	?debug	C E34300000023010400
	?debug	C EC10405361766544656661756C74732471764318+
	?debug	C 00
	?debug	C E34400000023010400
	?debug	C EC1140515072696E74524324716E7A6369696944+
	?debug	C 1800
	?debug	C E34500000023040400
	?debug	C EC0D404F6E65436F6C6F7224716969451800
	?debug	C E34600000023010400
	?debug	C EC0E404D61726B416374697665247169461800
	?debug	C E34700000023040400
	?debug	C EC0D40496E73747224716E7A637431471800
	?debug	C E34800000023010400
	?debug	C EC1340476574557365725061747465726E732471+
	?debug	C 76481800
	?debug	C E349000000230F0400
	?debug	C EC0B4047657454696D65247176491800
	?debug	C E34A00000023010400
	?debug	C EC164047657444656661756C745061747465726E+
	?debug	C 732471764A1800
	?debug	C E34B00000023010400
	?debug	C EC0F4047657444656661756C74732471764B1800
	?debug	C E34C00000023020400
	?debug	C EC0B40476574436861722471764C1800
	?debug	C E34D00000023010400
	?debug	C EC134046696C655F45786973747324716E7A636E+
	?debug	C 694D1800
	?debug	C E34E00000023010400
	?debug	C EC0C40426F7824716969696969694E1800
	?debug	C E34F00000023010400
	?debug	C EC0D4041736B546F457869742471694F1800
	?debug	C E35000000023040400
	?debug	C EB085F746F75707065725000
	?debug	C E35100000023010400
	?debug	C EB065F6674696D655100
	?debug	C E35200000023040400
	?debug	C EB0A5F66696E6466697273745200
	?debug	C E35300000023010400
	?debug	C EB065F736F756E645300
	?debug	C E35400000023010400
	?debug	C E35500000023010400
	?debug	C E35600000023020400
	?debug	C E35700000023040400
	?debug	C E35800000023010400
	?debug	C EB085F6E6F736F756E645800
	?debug	C E35900000023010400
	?debug	C EB065F64656C61795900
	?debug	C E35A0666696E645F742B001E2E
	?debug	C E35B0015001A02
	?debug	C E35C000D001A02
	?debug	C E35D075245475041434B14001E35
	?debug	C E35E05535245475308001E40
	?debug	C E35F045245475310001F45
	?debug	C E36008574F52445245475310001E48
	?debug	C E36108425954455245475308001E51
	?debug	C E36209646F73646174655F7405001E5A
	?debug	C E363046461746504001E5F
	?debug	C E36409646F7374696D655F7404001E63
	?debug	C E3650474696D6504001E68
	?debug	C E3660664657668647212001E6D
	?debug	C E3670008001A02
	?debug	C E36807666174696E666F06001E73
	?debug	C E3690A6469736B667265655F7408001E78
	?debug	C E36A05646672656508001E7D
	?debug	C E36B08444F534552524F5205001E8082
	?debug	C E36C07434F554E54525922001E8087
	?debug	C E36D0005001A02
	?debug	C E36E0002001A02
	?debug	C E36F0002001A02
	?debug	C E3700002001A02
	?debug	C E3710002001A02
	?debug	C E3720002001A02
	?debug	C E373000A001A02
	?debug	C E37404786663622C001E8094
	?debug	C E3750005001A02
	?debug	C E3760366636225001E8099
	?debug	C E3770008001A02
	?debug	C E3780003001A02
	?debug	C E379000A001A02
	?debug	C EB085F5F73746B6C656E0A00
	?debug	C E37A0B5F657863657074696F6E6C24001E80A4
	?debug	C E37B09657863657074696F6E1E001E80AA
	?debug	C E37C00000023010400
	?debug	C EB065F747A7365747C00
	?debug	C E37D000000230A0400
	?debug	C EB095F7374726674696D657D00
	?debug	C E37E000000231B0400
	?debug	C EB0A5F6C6F63616C74696D657E00
	?debug	C E37F00000023190400
	?debug	C EB075F7374727570727F00
	?debug	C E3808000000023040400
	?debug	C EB095F7374726E69636D70808000
	?debug	C E3808100000023010400
	?debug	C E3808200000023060400
	?debug	C EB055F74696D65808200
	?debug	C E3808300000023040400
	?debug	C E3808400000023040400
	?debug	C EB055F72616E64808400
	?debug	C E3808500000023010400
	?debug	C EB055F65786974808500
	?debug	C E3808600000023040400
	?debug	C E3808700000023040400
	?debug	C E3808800000023040401
	?debug	C EB085F737072696E7466808800
	?debug	C E3808900000023040400
	?debug	C EB055F70757473808900
	?debug	C E3808A000000230A0400
	?debug	C EB075F667772697465808A00
	?debug	C E3808B00000023040401
	?debug	C EB075F667363616E66808B00
	?debug	C E3808C000000230A0400
	?debug	C EB065F6672656164808C00
	?debug	C E3808D000000231F0400
	?debug	C EB065F666F70656E808D00
	?debug	C E3808E00000023040400
	?debug	C EB075F66636C6F7365808E00
	?debug	C E3808F00000023040400
	?debug	C EB065F6370757473808F00
	?debug	C E3809000000023040401
	?debug	C EB085F637072696E7466809000
	?debug	C E3809100000023010400
	?debug	C EB0F5F5F736574637572736F7274797065809100
	?debug	C E3809200000023010400
	?debug	C EB075F77696E646F77809200
	?debug	C E3809300000023010400
	?debug	C EB095F746578746D6F6465809300
	?debug	C E3809400000023010400
	?debug	C EB095F7465787461747472809400
	?debug	C E3809500000023040400
	?debug	C EB065F7075746368809500
	?debug	C E3809600000023040400
	?debug	C EB065F6B62686974809600
	?debug	C E3809700000023040400
	?debug	C EB065F6765746368809700
	?debug	C E3809800000023040400
	?debug	C EB075F776865726579809800
	?debug	C E3809900000023040400
	?debug	C EB075F776865726578809900
	?debug	C E3809A00000023010400
	?debug	C EB075F676F746F7879809A00
	?debug	C E3809B00000023010400
	?debug	C EB075F636C72736372809B00
	?debug	C E3809C09746578745F696E666F0B001E80B0
	?debug	C E607636C6F636B5F740606000674696D655F7406+
	?debug	C 06000777636861725F740206000446494C452006+
	?debug	C 000666706F735F740606000673697A655F740A06+
	?debug	C 000574696D65621A07000666696E645F745A0700+
	?debug	C 056666626C6B260700075245475041434B5D0700+
	?debug	C 0553524547535E070004524547535F0700084259+
	?debug	C 54455245475361070008574F5244524547536007+
	?debug	C 0009646F73646174655F74620700046461746563+
	?debug	C 070009646F7374696D655F746407000474696D65+
	?debug	C 6507000664657668647266070007666174696E66+
	?debug	C 6F6807000A6469736B667265655F746907000564+
	?debug	C 667265656A070008444F534552524F526B070007+
	?debug	C 434F554E5452596C070004786663627407000366+
	?debug	C 63627607000B5F657863657074696F6E6C7A0700+
	?debug	C 09657863657074696F6E7B070002746D1C070009+
	?debug	C 746578745F696E666F809C0700
	?debug	F pokeb 84 24 0
	?debug	F poke 85 24 0
	?debug	F peekb 86 24 0
	?debug	F peek 87 24 0
	?debug	F @randomize$qv 129 24 0
	?debug	F @random$qi 131 24 0
	?debug	F atoi 134 24 0
	?debug	F abs 135 24 0
	?debug	C E2000474696D650600076D696C6C69746D040008+
	?debug	C 74696D657A6F6E65040007647374666C616704C0+
	?debug	C 0A000000
	?debug	C E20006746D5F736563040006746D5F6D696E0400+
	?debug	C 07746D5F686F7572040007746D5F6D6461790400+
	?debug	C 06746D5F6D6F6E040007746D5F79656172040007+
	?debug	C 746D5F77646179040007746D5F79646179040008+
	?debug	C 746D5F697364737404C012000000
	?debug	C E200056C6576656C040005666C6167730A000266+
	?debug	C 64020004686F6C640800056273697A6504000662+
	?debug	C 756666657221000463757270210006697374656D+
	?debug	C 700A0005746F6B656E04C014000000
	?debug	C E2000B66665F726573657276656427000966665F+
	?debug	C 61747472696202000866665F6674696D650A0008+
	?debug	C 66665F66646174650A000866665F6673697A6506+
	?debug	C 000766665F6E616D6528C02B000000
	?debug	C E20004506944460F0004507044460F0004506744+
	?debug	C 460F0003536571040006696E7665727404000841+
	?debug	C 75746F4D6F6465040004506F7274040006506174+
	?debug	C 53656C04000A4175746F477270496E6304000264+
	?debug	C 790400046C61737432000B4C6F636B5061747465+
	?debug	C 726E33C04E000000
	?debug	C E2000872657365727665645B0006617474726962+
	?debug	C 02000777725F74696D650A000777725F64617465+
	?debug	C 0A000473697A650600046E616D655CC02B000000
	?debug	C E20004725F61780A0004725F62780A0004725F63+
	?debug	C 780A0004725F64780A0004725F62700A0004725F+
	?debug	C 73690A0004725F64690A0004725F64730A000472+
	?debug	C 5F65730A0007725F666C6167730AC014000000
	?debug	C E2000265730A000263730A000273730A00026473+
	?debug	C 0AC008000000
	?debug	C E20001786000016861C010000000
	?debug	C E2000261780A000262780A000263780A00026478+
	?debug	C 0A000273690A000264690A000563666C61670A00+
	?debug	C 05666C6167730AC010000000
	?debug	C E20002616C0800026168080002626C0800026268+
	?debug	C 080002636C0800026368080002646C0800026468+
	?debug	C 08C008000000
	?debug	C E200036461790800056D6F6E7468080004796561+
	?debug	C 720A00096461796F667765656B08C005000000
	?debug	C E2000764615F7965617204000664615F64617902+
	?debug	C 000664615F6D6F6E02C004000000
	?debug	C E20004686F75720800066D696E75746508000673+
	?debug	C 65636F6E64080007687365636F6E6408C0040000+
	?debug	C 00
	?debug	C E2000674695F6D696E08000774695F686F757208+
	?debug	C 000774695F68756E6408000674695F73656308C0+
	?debug	C 04000000
	?debug	C E2000764685F6E65787406000764685F61747472+
	?debug	C 04000864685F73747261740A000864685F696E74+
	?debug	C 65720A000764685F6E616D6567C012000000
	?debug	C E2000866695F73636C757302000866695F666174+
	?debug	C 696402000866695F6E636C75730A000866695F62+
	?debug	C 7973656304C006000000
	?debug	C E2000E746F74616C5F636C7573746572730A000E+
	?debug	C 617661696C5F636C7573746572730A0013736563+
	?debug	C 746F72735F7065725F636C75737465720A001062+
	?debug	C 797465735F7065725F736563746F720AC0080000+
	?debug	C 00
	?debug	C E2000864665F617661696C0A000864665F746F74+
	?debug	C 616C0A000764665F627365630A000864665F7363+
	?debug	C 6C75730AC008000000
	?debug	C E2000B64655F6578746572726F7204000864655F+
	?debug	C 636C61737302000964655F616374696F6E020008+
	?debug	C 64655F6C6F63757302C005000000
	?debug	C E20007636F5F64617465040007636F5F63757272+
	?debug	C 6D0008636F5F74687365706E0008636F5F646573+
	?debug	C 65706F0008636F5F6474736570700008636F5F74+
	?debug	C 6D73657071000C636F5F637572727374796C6502+
	?debug	C 0009636F5F646967697473020007636F5F74696D+
	?debug	C 65020007636F5F63617365060008636F5F646173+
	?debug	C 6570720007636F5F66696C6C73C022000000
	?debug	C E20009786663625F666C6167020009786663625F+
	?debug	C 72657376750009786663625F6174747202000878+
	?debug	C 6663625F66636276C02C000000
	?debug	C E200096663625F64726976650200086663625F6E+
	?debug	C 616D657700076663625F65787478000A6663625F+
	?debug	C 637572626C6B04000B6663625F72656373697A65+
	?debug	C 04000B6663625F66696C73697A65060008666362+
	?debug	C 5F646174650400086663625F7265737679000A66+
	?debug	C 63625F63757272656302000A6663625F72616E64+
	?debug	C 6F6D06C025000000
	?debug	C E20004747970650400046E616D65190004617267+
	?debug	C 311000046172673210000672657476616C10C024+
	?debug	C 000000
	?debug	C E20004747970650400046E616D65190004617267+
	?debug	C 310F0004617267320F000672657476616C0FC01E+
	?debug	C 000000
	?debug	C E2000777696E6C65667408000677696E746F7008+
	?debug	C 000877696E726967687408000977696E626F7474+
	?debug	C 6F6D0800096174747269627574650800086E6F72+
	?debug	C 6D61747472080008637572726D6F646508000C73+
	?debug	C 637265656E68656967687408000B73637265656E+
	?debug	C 7769647468080004637572780800046375727908+
	?debug	C C00B000000
	end
