// B R A V O 
// &&LT ADDED dire,btable TO OF STRUCTURE, fndir->fndp0, maxfn 25
// ** GYPSY COPIED FROM BFS.C:
manifest lFID=3
structure STRING[ length byte; body ↑ 1,255 byte ]
structure TIME[ blank word 2 ]
manifest lTIME=size TIME/16
structure LD[
	blank word 6
	name @STRING
	fileId word lFID
	created @TIME
	read @TIME
	written @TIME
	]
// ** END GYPSY ADDITION

structure LF :
	[ sl word;
	maxsiz word;
	dirty bit 1;
	lf bit 15;
	id word;
	link word;
	doc word;
	pc word;
	] 
structure VPA :
	[ fn byte;
	fp byte;
	] 
structure PCTB :
	[ maxpc   word;
	macpc   word;
	rgcp word;
	] 
structure PCD :
	[ [ live bit 1;
	lf bit 7;
	id bit 8;
	esc word;
	] 
	= [ p bit 7;
	rc bit 9;
	vpaddr word;
	] ] 
structure [
	[ lh  byte;
	rh  byte;
	] 
	= [ bit0 bit 1;
	blank bit 14;
	odd bit 1;
	] 
	= [ funl bit 11;
	funr bit 5;
	] 
	] 
structure SEL :
	[ type 	word;
	doc	word;
	ww	word;
	cpfirst	word;
	xfirst	word;
	cplast	word;
	xlast	word;
// 	cpfirstorig	word; // **
// 	xfirstorig	word; // **
// 	cplastorig	word; // **
// 	xlastorig	word; // **
	ulmode 	word;
	ulmodewas word; // **
	uldocoff word ; // **
	ulcpfirstoff word; // **
	ulcplastoff word ; // **
	last	word;
	] 
// ** GYPSY deleted FS structures
structure BS:
	[
	dirty	bit	1;
	blank	bit	15;
	] 
structure OF:
	[ 
	macfp	word;
	version	word = fileid	word;
	sn1	word;
	sn2	word;
	wmode	word;
	wf	word;
	macpos	word;
	pos	word;
	bphint	word;
	dire	word; // &&LT
	btable	word; // &&LT
	rgda	word;
	last	word;
	] 
structure DIR:
	[ 
	type	bit	6;
	siz	bit	10;
	sn1	word;
	sn2	word;
	version	word;
	blank	word;
	da	word;
	name	word;
	] 
// minimal structure for a stream
structure STREAM [
	blank word
	open word
	close word
	gets word
	puts word
	reset word
	putback word
	error word
	endof word
	stateof word
	blank word
	blank word
	blank word
	type word
	]
structure RB[
	@STREAM
	readPointer word
	writePointer word
	bufferStart word
	bufferEnd word
	]
manifest
	[ vmtbmask = #37;
	deltamaxpc = 5;
	trivpctb = 6;
	xleftmargstd = 30; // **
	xrightmargstd = 565; // **
	maxww = 15;
	lfl = 7;
	chperpage = 512;
	pctbl = 2;
	maxbp = 15;
	maxfn = 25; // &&LT
	maxlf = 15;
	maxdoc = 15;
	maxdl = 70;
	maxl = 20;
	maxstream = 6;
	maxfun = 5;
	DSPFONTPTR = #1011;
	sbfnaml = 50;
	uloff = 0;
	ulunknown = 1;
	ulmode1 = 2;
	ulmode2 = 3;
	maxtab = 10;
	tabwidthstd = 8;
	lfwidth = 4;
	lfedoc = 1;
	sell = (offset SEL.last)/16
	xbugloc = #424;
	ybugloc = #425;
	bug = #177030;
	maxcblind = 15;
	xjump = xleftmargstd/2;
	curmap = #431;
	snone = 0;
	sline = 1;
	sreset = 2;
	sdown = 3;
	sup = 4;
	sjump = 5;
	schar = 6;
	sword = 7;
	sstar = 8;
	sph = 9;
	mastx = 28;
	idtx0 = 3;
	idtx1 = 4;
	idtx2 = 5;
	idtx3 = 6;
	idtx4 = 7;
	doctx0 = 0;
	doctx1 = 1;
	doctx2 = 2;
	doctx3 = 3;
	doctx4 = 4;
	doctx5 = 5;
	docsys = 0;
	idlogo = 1;
	idstate = 2;
	idpast = 3;
	idcr1 = 14;
	idcr2 = 8;
	idcr3 = 9;
	idtx0current = 9;
	idtx1current = 10;
	idtx2current = 11;
	idtx3current = 12;
	idtx4current = 13;
	wwsys = 0;
	buffercom = $1;
	maxcom = 21;
	yescomno = 10;
	idcom = 15;

	fnscr = 1;
	fndp0 = 2; // &&LT
	fnput = 3;
// ** GYPSY MOVED OTHER fn's & minuserfn TO GINN.DF

	lfsys = 0;
	DISKRWCH = 5;
	DISKWOCH = 4;
	DISPLAYOPEN = 10;
	DISKROCH = 3;
	zone1 = 9;
	ptflag = 1;
	ptname = 2;
	ptsl = 3;
	ptparam = 4;
	ptlabel = 5;
	fsparunknown = 1;
	maxdiffsiz = 50;
	ofsiz = (offset OF.last)/16;
	bpbuff = 0;
	nTracks = 203;
	nHeads = 2;
	nSectors = 12;
	stackl = 1600;
	osmachinecode = #1766;
	osmachinecodel = #6500-osmachinecode;
	]