NEW
  AUTO 3,1
				.LIST OFF
				.OP	65c02
				.OR $2000
				.TF BASIC.SYSTEM,TSYS
*--------------------------------------
				.MA	DEBUG
:1				bit $C000
				bpl :1
				sta	$C010
				.EM
*--------------------------------------
				.INB inc/io.d2.i
*--------------------------------------
HIMEM			.EQ $A000
LOWERCASE		.EQ 1
*--------------------------------------
BS.E.RANGE		.EQ $02
BS.E.NODEV		.EQ $03
BS.E.WPROT		.EQ $04
BS.E.ENDOFDATA	.EQ $05
BS.E.PATHNFND6	.EQ $06
BS.E.PATHNFND7	.EQ $07
BS.E.IO			.EQ $08
BS.E.DISKFULL	.EQ $09
BS.E.LOCKED		.EQ $0A
BS.E.INVOPT		.EQ $0B
BS.E.NOBUFFER	.EQ $0C
BS.E.MISMATCH	.EQ $0D
BS.E.TOOLARGE	.EQ $0E
BS.E.NODIRECT	.EQ $0F
BS.E.SYNTAX		.EQ $10
BS.E.DIRFULL	.EQ $11
BS.E.FNOTOPEN	.EQ $12
BS.E.DUPFILE	.EQ $13
BS.E.FBUSTY		.EQ $14
BS.E.FSTILLOPEN	.EQ $15
*--------------------------------------
CMDBITS0.PFIX	.EQ $80					Prefix needs fetching, pathname optional
CMDBITS0.SLOT	.EQ $40					No parameters to be processed
CMDBITS0.RRUN	.EQ $20					Command only valid during program
CMDBITS0.FNOPT	.EQ $10					Filename is optional
CMDBITS0.CRFLG	.EQ $08					CREATE allowed
CMDBITS0.T		.EQ $04					File type
CMDBITS0.FN2	.EQ $02					Filename '2' for RENAME
CMDBITS0.FN1	.EQ $01					Filename expected

CMDBITS1.A		.EQ $80 				Address
CMDBITS1.B		.EQ $40 				Byte
CMDBITS1.E		.EQ $20 				End address
CMDBITS1.L		.EQ $10					Length
CMDBITS1.LINE	.EQ $08 				'@' line number
CMDBITS1.SD		.EQ $04 				Slot and drive numbers
CMDBITS1.F		.EQ $02					Field
CMDBITS1.R		.EQ $01					Record

CMDBITS1.V		.EQ $00					Volume number ignored
*--------------------------------------
ZPPtr1			.EQ 0
ZPPtr2			.EQ 2
ZPInBufPtr		.EQ 4
ZPOutBufPtr		.EQ 6

ZPnCnt			.EQ 8

ZPInMask		.EQ 10
ZPBLOfsLBits	.EQ 11
ZPBLOfsHBits	.EQ 12
ZPBLLenBits		.EQ 13
bRAMFlag		.EQ 14

ZPCode			.EQ 15

ZP.WNDLFT		.EQ $20
ZP.WNDWDT		.EQ $21
ZP.WNDTOP		.EQ $22
ZP.WNDBOT		.EQ $23
ZP.CH    		.EQ $24
ZP.CV  		  	.EQ $25
ZP.BASL 		.EQ $28
ZP.BASH  		.EQ $29

ZP.PROMPT		.EQ $33

ZP.CSW			.EQ $36
ZP.KSW			.EQ $38

ZP.PCL   		.EQ $3A
ZP.PCH  		.EQ $3B
ZP.A1L   		.EQ $3C
ZP.A1H   		.EQ $3D
ZP.A2L  		.EQ $3E
ZP.A2H  		.EQ $3F
ZP.A4L			.EQ $40
ZP.A4H			.EQ $41

ZP.CMD			.EQ $42
ZP.UNITNUM		.EQ $43
ZP.BUFPTR		.EQ $44
ZP.BLKNUM		.EQ $46

AS.LINNUM		.EQ $50

AS.PGRMSTART	.EQ $67
AS.VARSTART		.EQ $69
AS.ARRAYSTART   .EQ $6B
AS.ARRAYEND		.EQ $6D
AS.STRINGSTART	.EQ $6F
AS.STRINGPTR	.EQ $71
AS.HIMEM 		.EQ $73

AS.CURLINE		.EQ $75
AS.LOWTR 		.EQ $9B
AS.PGRMEND		.EQ $AF
AS.TXTPTR		.EQ $B8
AS.ERRFLG		.EQ $D8
AS.ERRNUM		.EQ $DE
AS.TRCFLG		.EQ $F2
AS.REMSTK		.EQ $F8
*--------------------------------------
ZPXPtr1			.EQ	0
ZPXPtr2			.EQ	2
*--------------------------------------
IO.LINEBUF		.EQ $200
*--------------------------------------
DIRENTBUF		.EQ $259
DIRENTBUF.STNL	.EQ $25D
DIRENTBUF.TYPE	.EQ $269

DIRENTBUF.UBLK	.EQ $26C
DIRENTBUF.EOF	.EQ $26E

DIRENTBUF.ACCESS	.EQ $277
DIRENTBUF.AUXT	.EQ $278

MLI.PATHBUF		.EQ $280
*--------------------------------------
AUX.RAMSIG		.EQ $3D0				FFFEF3+"RAM"
*--------------------------------------
DOS.WARMSTART	.EQ $03D0
DOS.COLDSTART   .EQ $03D3
DOS.FILEMGR     .EQ $03D6
DOS.RWTS        .EQ $03D9
DOS.FILEMGRPARM .EQ $03DC
DOS.RWTSPARM    .EQ $03E3
DOS.RECONNECT   .EQ $03DA
DOS.JMPBRKVECT  .EQ $03EF

MON.AMPERSANDJMP	.EQ $03F5
MON.USRJMP      .EQ $03F8
MON.NMIJMP      .EQ $03FB
MON.IRQVECT     .EQ $03FE
MON.BRKVECT     .EQ $03F0
MON.POWERUP     .EQ $03F2
MON.POWERUPBYTE .EQ $03F4
*--------------------------------------
MLI.MAXPATH		.EQ 64
MLI.C.ALLOCIRQ		.EQ $40
MLI.C.DEALLOCIRQ	.EQ $41
MLI.C.ATALK			.EQ $42
MLI.C.QUIT			.EQ $65
MLI.C.READBLOCK		.EQ	$80
MLI.C.WRITEBLOCK	.EQ	$81
MLI.C.GETTIME		.EQ $82
MLI.C.CREATE		.EQ $C0
MLI.C.DESTROY		.EQ $C1
MLI.C.RENAME		.EQ $C2
MLI.C.SETFILEINFO	.EQ	$C3
MLI.C.GETFILEINFO	.EQ	$C4
MLI.C.ONLINE		.EQ	$C5
MLI.C.SETPREFIX		.EQ	$C6
MLI.C.GETPREFIX		.EQ	$C7
MLI.C.OPEN			.EQ	$C8
MLI.C.NEWLINE		.EQ	$C9
MLI.C.READ			.EQ	$CA
MLI.C.WRITE			.EQ	$CB
MLI.C.CLOSE			.EQ $CC
MLI.C.FLUSH			.EQ $CD
MLI.C.SETMARK		.EQ $CE
MLI.C.GETMARK		.EQ $CF
MLI.C.SETEOF		.EQ $D0
MLI.C.GETEOF		.EQ $D1
MLI.C.SETBUF		.EQ $D2
MLI.C.GETBUF		.EQ $D3
*--------------------------------------
MLI				.EQ $BF00
MLI.DEVPTRS		.EQ $BF10
MLI.DEVPTRS3D2	.EQ $BF26
MLI.DEVNUM      .EQ $BF30
MLI.DEVCNT      .EQ $BF31
MLI.DEVLST      .EQ $BF32
MLI.MEMTABL     .EQ $BF58
MLI.DATETIME	.EQ $BF90
MLI.LEVEL       .EQ $BF94
MLI.MACHID      .EQ $BF98
MLI.SLTBYT      .EQ $BF99
MLI.PFIXPTR     .EQ $BF9A
MLI.MLIACTV     .EQ $BF9B
MLI.IVERSION    .EQ $BFFD
*--------------------------------------
IO.KBD          .EQ $C000				R
IO.CLR80STORE	.EQ $C000				W
IO.SET80STORE	.EQ $C001				W
IO.CLRREADAUX	.EQ $C002				W
IO.SETREADAUX	.EQ $C003				W
IO.CLRWRITEAUX	.EQ $C004				W
IO.SETWRITEAUX	.EQ $C005				W
IO.CLRALTZP		.EQ $C008				W
IO.SETALTZP		.EQ $C009				W
IO.CLR80DISP	.EQ $C00C				W
IO.SET80DISP	.EQ $C00D				W
IO.KSTROBE      .EQ $C010				W
IO.RROMBNK2		.EQ $C082				R
IO.RRAMWRAMBNK2	.EQ $C083				RR
IO.RROMBNK1		.EQ $C08A				R
IO.RRAMWRAMBNK1	.EQ $C08B				RR
*--------------------------------------
AS.RESTART      .EQ $D43C
AS.RESTART1     .EQ $D43F
AS.FINDLINE		.EQ $D61A
AS.CLEAR1		.EQ $D665
AS.NEXTSTMT		.EQ $D7D2
AS.EXECSTMT     .EQ $D820
AS.BITERRFLG	.EQ $D865
AS.NORMAL       .EQ $F273
AS.COLDBOOT     .EQ $E000
AS.INTPRINTAX   .EQ $ED24
*--------------------------------------
MON.BREAKV		.EQ $FA59
MON.INIT		.EQ $FB2F
MON.HOME		.EQ $FC58
MON.CLREOL		.EQ $FC9C
MON.RDKEY		.EQ $FD0C
MON.KEYIN0		.EQ $FD10
MON.KEYIN		.EQ $FD1B
MON.GETLN		.EQ $FD6A
MON.CROUT		.EQ $FD8E
MON.COUT		.EQ $FDED
MON.COUT1		.EQ $FDF0
MON.IIGSID		.EQ $FE1F
MON.SETINV		.EQ $FE80
MON.SETNORM		.EQ $FE84
MON.SETKBD		.EQ $FE89
MON.SETVID		.EQ $FE93
MON.ENTERMON	.EQ $FF69
*--------------------------------------
		.INB usr/src/basic.fx/basic.s.ldr
*--------------------------------------
X.Unpak.XatYA	sty ZPOutBufPtr
				sta ZPOutBufPtr+1
				lda PAKME.Table,x
				sta ZPInBufPtr
				lda PAKME.Table+1,x
				sta ZPInBufPtr+1
		.INB usr/src/shared/x.unpak.s
*--------------------------------------
PAKME.Table
PAKME.MAIN		.DA MAIN.PAK
PAKME.GP		.DA GP.PAK
PAKME.AUX		.DA AUX.PAK

MAIN.PAK		.DA #0
				.DA MAIN.LEN
				
LDR.MAIN.SRC	.PH HIMEM
LDR.MAIN.DST	.EQ *
		.INB usr/src/basic.fx/basic.s.a
		.INB usr/src/basic.fx/basic.s.b
		.INB usr/src/basic.fx/basic.s.c
		.INB usr/src/basic.fx/basic.s.d
MAIN.LEN		.EQ *-LDR.MAIN.DST
				.EP

GP.PAK			.DA #0
				.DA GP.LEN

LDR.GP.SRC		.PH $BE00
LDR.GP.DST		.EQ *
		.INB usr/src/basic.fx/basic.s.gp
GP.LEN			.EQ *-LDR.GP.DST
				.EP

AUX.PAK			.DA #0
				.DA AUX.LEN

LDR.AUX.SRC		.EQ *
LDR.AUX.DST		.EQ $E000
BB.PRODOS		.EQ $E000
		.INB usr/src/shared/x.bb.prodos.s
BB.SOS			.EQ $E200
		.INB usr/src/shared/x.bb.sos.s
BB.FX2			.EQ $E400
		.INB usr/src/shared/x.bb.fx2.s
X.TRkFMT.Z		.EQ $10
				.PH $E800
		.INB usr/src/shared/x.trkfmt.s
				.BS $E900-*
				.LIST OFF
		.INB usr/src/basic.fx/basic.s.xf
		.INB usr/src/basic.fx/basic.s.xm
		.INB usr/src/basic.fx/basic.s.x
				.EP
AUX.LEN			.EQ *-LDR.AUX.SRC
*--------------------------------------
				.AS "PAKME"				TAG
				.DA $2000				BIN ORG
				.DA #3					Chunk Count
				.DA PAKME.Table			Chunks
*--------------------------------------
MAN
SAVE usr/src/basic.fx/basic.s
ASM
