;********************************************************
;*							*
;*	ONE-SECTOR LOADER FOR FIRST STAGE DD BOOT	*
;*							*
;********************************************************
;
;
;	... READ CBIOS FROM SINGLE DENSITY TRACK ZERO ...
;
ONESECT:
	LD	HL,DIRBUF
	LD	C,2
	CALL	MONITR+36	;READ SIGNON MESSAGE INTO TEMP BUFFER
	JR	NZ,BTERR
	LD	HL,CBIOS
	LD	B,BIOSLEN/128
	LD	C,3
OSEC2:	PUSH	HL		;SAVE PARAMETERS
	PUSH	BC
	CALL	MONITR+36	;CALL MONITOR DISK READ ROUTINE
	POP	BC
	POP	HL
	JR	NZ,BTERR
	LD	DE,128
	ADD	HL,DE
	INC	C
	DJNZ	OSEC2		;REPEAT UNTIL ALL BIOS READ IN
;
;	... PUT COLDSTART INIT HERE TO CONSERVE BIOS SPACE ..
;
	IF	WINCH
	LD	A,RST+ON
	OUT	(SASI+1),A	;RESET SASI BUS CONTROLLER(S)
	LD	A,RST+OFF
	OUT	(SASI+1),A
	ENDIF
	IF	SERIAL
	LD	HL,(MONITR+16)	;PATCH MONITOR CONOUT VECTOR TO
	LD	(MONITR+13),HL	; DIRECT OUTPUT TO BUILT-IN CRT DRIVER
	ENDIF
	LD	HL,DIRBUF
	CALL	PMSG		;OUTPUT SIGNON MSG PARKED IN 'DIRBUF'
	XOR	A
	LD	(IOBYTE),A	;CLEAR IOBYTE
	LD	A,USRDRV
	LD	(IOBYTE+1),A	;SET DEFAULT DRIVE/USER FOR COLDSTART
	LD	HL,SCRATCH
	LD	(HL),0
	LD	DE,SCRATCH+1
	LD	BC,SCRLEN-1
	LDIR			;ZERO-OUT SCRATCH MEMORY FOR BIOS
;       LD	HL,LSTINIT
;	LD	B,6
;	LD	C,LSTCTL
;	OTIR			;SET PRINTER PARITY/LENGTH/STOP BITSŠ;	LD	B,2
;	LD	C,LSTBAUD
;	OTIR			;SET PRINTER BAUDRATE
	LD	A,1
	LD	(TRKTAB+4),A	;SET DRIVE ZERO TO DOUBLE DENSITY
	JP	CBIOS		;EXECUTE BIOS COLDSTART ROUTINE
;
;
;LSTINIT:			;SERIAL PRINTER INIT CONSTANTS
;	DEFB	4
;	DEFB	01000101B	;16X CLOCK / 1 STOP BIT / ODD PARITY
;	DEFB	3
;	DEFB	01000001B	;RX 7 BIT CHARACTERS
;	DEFB	5
;	DEFB	10101010B	;TX 7 BIT CHARACTERS / DTR AND RTS HIGH
;
;	DEFB	01000111B	;PROGRAM CTC AND LOAD TIME CONST
;	DEFB	32		;DIVIDE BY 32 GIVES 1200 BAUD
;
;
;
BTERR:	LD	A,'?'
	CALL	MONITR+12	;OUTPUT ERROR INDICATION TO CONSOLE
	LD	A,'G'-64
	CALL	MONITR+12
	JP	MONITR+3	;JUMP BACK TO MONITOR ROM
;
;
;
