CP/M 3 System Guide	E  Root Module of Relocatable BIOS

638
	   639   OQED			@adrv	ds		1	; currently melected dimk drive
	   640   OOEE			@rdrv	ds		I	; controller relative disk drive
	   641   OOEP			@trk	ds		2	. current track number
	   642   00Fl			@eect	ds		2	; Current Sector number
	   643   00F3			@dma	ds		2	; Current DMA address
	   644   00F5	00		@cnt	db		0	; record count for multisector transfer
	   645   00F6	00		@dbnk	db		0	' bank for DMA operations
	   646
	   647
	   648				cseg		; common memory
	   649
	   650   023B	00		@cbnk	db		0	; bank fOr processor operations
	   651
	   652
	   653   023C				end
	AUXIN		0198	99	397#
	AUXIST		017D	113	367#
	AUXOST		OlOC	114	277#
	AUXOUT		OOEO	98	230#
	BANKED		FFFF	8#	186
	BAUDllO		0003
	BAUD1200O		0008
	BAUD134		0004
	BAUDl5O		0005
	BAUDl8OO		00009
	BAUD19200		OOOF
	BAUD24OO		OOOA
	BAUD3OO		0006
	BAUD36OO		000B
	BAUD48OO		OOOC
	BAUD5O		0001
	BAUD6OO		0007
	BAUD72OO		OOOD
	BAUD75		0002
	BAUD96OO		OOOE
	BAUDNONE		0000
	BELL		0007	27#	632
	BNKSEL		0225	124	475#
	BOOT		0000	91	138#
	BOOT1		0063	164	168#
	BOOTSTACK		00D2	139	178	1981
	CCP		0100	31#	171	181
	CI1		016F	319	345#
	CINEXT		019E	403#	411
	CINITLOOP		0005	141#	143
	CIRDY		01B2	408	415#
	CISNEXT		0182	372#	379
	CIST1		015D	318	331#	375	 406
	CONEXT		OOEB	244#	258
	CONIN		0192	95	388#
	CONOST		0106	112	267#
	CONOUT		OODA	96	220#
	CONST		0177	94	357#
	COSNEXT		0117	292#	304
	COST1		0166	327	3381
	COSTER		012C	250]	297	3081
	CR		OOOD	25#	632
	CTLQ		0011	281	320
	CTLS		0013	291	323
	DEVTBL		00D2	115	2041
	DINITLOOP		0017	1491	163
	DINITNEXI'		0036	152	1611
	DRIVEMSG		00]D1	463	6321
	FALSE		0000	6#
	FLUSH		OOCF	120	6261
	GETDRV		00D6	118	211#
	HOME		006E	101	5201
	INSCAN		019B	390	4001	413
	IPCHL		01B6	159	4231	511
	ISTSCAN		0180	359	3701
	LF		OOOA	26#	632
	LIST		00E6	97	2391
	LISTST		0112	109	2879
	MBINOUT		0003
	MBINPUT		0001
	MBOUTPUT		0002
	MBSERIAL		0008
	MBSOFTBAUD		0004
	MBXONXOFF		0010	314
	NULTIO		OOCB	119	6191



Listing E-1.  (continued)
CP/M 3 System Guide	E  Root Module of Relocatable BIOS
	NEXT	0lD1	443#	456
	NEXTDIGIT	01E6	452#
	NOTFIRSTSELECT	006D	506	513#
	NOTOUTDEVICE	00FF	246	255#
	NOTOUTREADY	00Fl	249#	250
	NOTQ	0150	320	322#
	HOTS	0157	323	325#
	OSTSCAN	0115	269	279	290#
	OUTSCAN	00E9	223	232	242#
	PDECL	01D3	445#	447
	PMSGEXIT	01C8	432	436#
	PMSGLOOP	01B9	431#	435
	READ	0094	106	SBS#
	RWCOMMON	OOBD	591	606#
	SECTORMSG	00E8	46?	634#
	SECTRN	0089	110	573#
	SELDSK	003F	102	500#
	SETBNK	0085	125	562#
	SETDMA	007D	105	550#
	SETJUMPS	0078	169	179	184#
	SETSEC	0077	104	538#
	SETTRK	0071	103	528#
	STOPLOOP	OlDE	446	448#
	TABLElO	01F3	442	459#
	TRACKMSG	00E3	465	633#
	TRUE	FFFF	S#	  6	8
	WBOOT	006C	92	177#
	WRITE	OOAA	107	599#
	XOFFLIST	022B	317	481#
	?AUXI	0015	79	 99#
	?AUXIS	0036	82	113#
	?AUXO	0012	79	 98#
	?AUXOS	0039	82	114#
	?BANK	0000	63	477
	?BNKSL	0051	83	l24#	187
	?BOOT	0000	79	 91#
	?CI	0000	49	347	417
	?CINIT	0000	50	116	142
	?CIST	0000	49	333
	?CO	0000	49	252
	?CONIN	0009	79	 95#
	?CONO	OOOC	79	 96#	434	450	464
	?CONOS	0033	82	112#
	?CONST	0006	79	 941
	?COST	0000	49	316	340
	?DEVIN	003F	82	116#
	?DRTBL	0042	82	118#
	?DVTBL	003C	82	115#
	?FLUSH	0048	83	1201
	?HOME	0018	80	lOll
	?INIT	0000	44	145
	?LDCCP	0000	45]	170
	?LIST	OOOF	79	 97#
	?LISTS	002D	81	109#
	?MLTIO	0045	83	119#
	?MOV	004B	83	1221
	?MOVE	0000	62	122
	?PDEC	OICB	71	4411	466	468
	?PDERR	OIFD	72	4621
	?PMSG	01B7	71	4271	463	465]	467
	?READ	0027	80	106#
	?RLCCP	0000	45	180
	?SCTRN	0030	81	1101
	?SLDSK	OO1B	80	1021
	?STBNK	0054	83	125#
	?STDMA	0024	80	1051
	?STSEC	0021	80	1041
	?STTRK	00lE	80	1031
	?TIM	004E	83	1231
	?TIME	0000	67	123
	?WBOOT	0003	79	921	192
	?WRITE	002A	80	1071
	?XMOV	0057	83	1261
	?XMOVE	0000	62	126
	@ADRV	OOED	56	156	464	501	586	600	639#
	@AIVEC	0000	38	368	398
	@AOVEC	0000	38	231	278
	@BNKBF	0000	40
	@CBNK	023B	61	476	554	650#
	@CIVEC	0000	38	358	389
	@CNT	00F5	57	620	6441
	@COVEC	0000	38	222	268



Listing E-1.  (continued)
CP/M 3 System Guide	E  Root Module of Relocatable BIOS
@CTBL	0000	51	205	313
@DBNK	00F6	57	563	645#
@DMA	00F3	57	552	643#
@DTBL	0000	55	148	212	503	587   601
@LOVEC	0000	38	240	288
@MXT'PA	0000	39	193
@RDRV	OOEE	56	155	508	610	640#
@SECT	OOF1	56	468	540	642#
@TRK	OOEF	56	466	530	641#



Listing E-1.  (continued)


End of Appendix E
Appendix F
System Control Block Definidon for CP/M 3 BIOS

	The SCB.ASM module contains the public definitions of the
various fields in the System Control Block. The BIOS can reference
the public variables.


:	title 'System Control Block Definition for CP/M3 BIOS'
2
	3		public @civec,	@covec.	@aivec,	@aovec	@lovec, @bnkbf
	4		public @cradma,	@crdsk.	@vinfo,	@resel,	@fx, @usrcd
	5		public @mltio,	@ermde.	@erdsk,	@m*dja,	@bflgs
	6                               public @date,  @hour.				@min,	@sec.  
?erjmp, @m;tpa
	7
	8
	9	FEOO =	srb*base equ     OFEOOH		 ,  Base	of the SCB
10
	11	FE22	=	@CIVEC	equ	scb$base+22h	, Console Input Redirection
	12						, vector (word.  r/w)
	13	FE24	=	@COVEC	equ	scb$base+24h	, Console Output Redirection
	14						, Vector (word,  r/w)
	15	FE26	=	@AIVEC	equ	scb$base+26h	. Auxi1iary Input Redirection
	16						, Vector (word,  r/w)
	17	FE2B	=	@AOVEC	equ	scb$base+28h	, Auxiliary Output Redirection
	18						, Vector (word. r/w)
	19	FE2A	=	@LOVEC	equ	scb$base+2Ah	, List Output Redirection
	20						, Vector (word,  r/w)
	21	FE35	=	@BNKBF	equ	scb$base+35h	, Address of 128 Byte Buffer
	22						,  for Banked BIOS (word, r/o)
	23	FE3C	=	@CRDMA	equ	scb$base+3Ch	, Current DMA Address
	24						,  (word.  r/o)
	25	FE3E	=	@CRDSK	equ	scb$base+3Eh	. Current Disk (byte. r/o)
	26	FE3F	=	@VINFO	equ	scb$base+3Fh	, BDOS Variable "INFO"
	27						,  (word,  r/o)
	29	FE41	=	@RESEL	equ	scb$base+41h	' FCO Flag (byte,  r/o)
	29	FE43	=	@FX	equ	scb$base+43h	. BDOS Function )br Error
	30						, Mess age   (byte,  r/o)
	31	FE44	=	@USRCD	equ	scb$base+44h	, current User Code (byte, r/o)
	32	FE4A	=	@MLTIO	equ	scb$base+4Ah	. Current Multi-Sector Count
	33						'  (byte. r/w)
	34	FE4B	=	@ERMOE	equ	scb$base+4Bh	' BDOS Error Mode (byte. r/o)
	35	FE51	=	@BROSK	equ	scb$base+5lh	, BDOS Error Disk (byte.r/o)
	36	FE54	=	@MED!A	equ	scb$base+54h	' Set by BIOS to indicate
	37						,  open door (byte. r/w)
	38	FE57	=	@BFLOS	equ	scb$base+57h	'  BDOS Message Size Flag (byte. r/o)
	39	FE58	=	@iDATE	equ	scb$base+58h	, Date in Days Since I Jan 78
	40						,  (word,  r/w)
	41	FE5A	=	@HOUR	equ	scb$base+5Ah	.  Hour in BCD (byte. r/w)
	42	FE5B	=	@MIN	equ	scb$base+58h	' Minute in BCD (byte. r/w)
	43	FE5c	=	@SEC	equ	scb$base+5Ch	. Second in BCID (byte. r/w)
	44	FET)F	=	@ERJMP	equ	scb$base+5Fh	, BDOS Error "Message Jump
	45						.  (word.  r/w)
	46	FE62	=	@MXTPA	equ	scb$base+62h	,  Top of User TPA
	47						,  (address at 6, 7)(word, r/o)
	4B	0000			end



Listing F-l= System Control Block Definition for CP/M 3 BIOS
