{File name:  dbStartLisp4K.mc
 purcell 12-Jan-85 10:57:19	daybreak mapflag format {%1}
don 29-21-Jan-85 12:01:29  daybreak assembler
don 29-Dec-83 10:17:06
 }

SetTask[0];

dbinitthru:
	rhTT ←  0,	c1;
	TT{0FF00} ← ~0FF,	c2;
	,	c3;

	Rx ← 40,	c1;
	Rx ← Rx LRot8,	c2;
{	omit for ldb
	,	c3;

Set[dirtyFlag1, Add[dirtyFlag, 1]];{%1}

	Map ← [rhTT,TT],	c1;
	MDR ← Rx{4000} or dirtyFlag1,	c2;{DLion 31; Dove 0C1}
	end omit}
	{IOPCtl ← IOPInMode %M},	c3;

	rhRx ← Rx ← uIOPage,	c1;
	stackP ← 0,	c2;
	Q ← 7, ClrIntErr,	c3;

{set all keys up; 1403D thru 14043 ← -1}
KeyLoop:	MAR ← [rhRx,IOPage.keyBitsm1+Q], BRANCH[$,KeyDone],	c1;
	MDR ← TT xor ~TT, CANCELBR[$,0],	c2;
	Q ← Q - 1, ZeroBr, GOTO[KeyLoop],	c3;

KeyDone:
	{KCtl ← 0, %M}TT ← 0+1, CANCELBR[$,0],	c2;
	uWDC ← TT, GOTO[EFCHaveLink],	c3;

	{ E N D }