{  File: [Iris]<WMicro>DLion>Start.asm
Modification History:
	Grundler.PA:	 1-Sep-84 17:58:05 add copyright notice
	Grundler.PA:	14-Nov-83 14:35:52
	Fasnacht.PA:    8-Nov-83  9:53:21}
	
{ 	Copyright (C) 1983 by Xerox Corporation.  All rights reserved.}
	
	GET	"RS232CDefs.asm"
	GET	"SysDefs.asm"
	GET	"CommonDefs.asm"

	IMP	ClearMiscControl1Bit	;Common
	IMP	DisableRST	;Common
	IMP	GetTOD		;BookKeepingTask
	IMP	MainLoop	;BookKeepingTask
	IMP	PutMPanel	;Common
	IMP	ReadKeyboard	;BookKeepingTask
	IMP	SetMiscControl1Bit	;Common
	IMP	Wait		;Common
	EXP	Start

Start:
	DI			;For Initializing
	LXI	SP,UserStkStart	;Initialize user stack pointer
	MVI	A,ResetRst75+Rst75DisableMsk+Rst65DisableMsk
	CALL	DisableRST	;Disable RST 6.5 and 7.5, clear 7.5 FF (RS232C, Floppy)
	MVI	A,DisableFDC	;Disable floppy controller, Enable Waits
	OUT	FDCState
	IN	DmaStatus	;Clear the DMA status register
	XRA	A		;Clear A
	OUT	DmaMode		;Disable controller
	EI			;For mouse halting
	CMA			;Set all clock bits high
	OUT	MiscClocks1	
	LXI	H,MPStartDomino	;Initialize the Maintenance Panel
	CALL	PutMPanel	;MP ← StartDomino (500)
	OUT	MouseClr	;Clear hardware counters
	MVI	A,KBDiag	;Set KB diag mode
	CALL	SetMiscControl1Bit
	LXI	H,KBDiagWait	;Initialize delay for KBDiag signal
	CALL	Wait		;Wait 15 msec
	MVI	A,nKBDiag		;Clear KB diag mode
	CALL	ClearMiscControl1Bit	;clear bit in register

{Initialize the TOD state.}
	LXI	H,MPInitTOD
	CALL	PutMPanel	;MP ← InitTOD (501)
	CALL	GetTOD
	LXI	H,MPInitTODDone
	CALL	PutMPanel	;MP ← InitTODDone (502) and RET
	CALL	ReadKeyboard	;Initialize KeyMap in IO Page
	JMP	MainLoop

	END	Start