diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 21393b1b..e52dcf03 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BASIC.FX/BASIC.S.A.txt b/BASIC.FX/BASIC.S.A.txt index 13f56e29..e68f23fc 100644 --- a/BASIC.FX/BASIC.S.A.txt +++ b/BASIC.FX/BASIC.S.A.txt @@ -3,14 +3,14 @@ NEW *-------------------------------------- BS.ResetCSWKSW pha phx - + ldx #3 - + .1 lda GP.VECTOUT,x sta ZP.CSW,x dex bpl .1 - + plx pla rts @@ -85,14 +85,14 @@ L9A8B lda #$8D BS.SaveCSWKSW pha phx - + ldx #3 .1 lda ZP.CSW,x sta GP.VECTOUT,x dex bpl .1 - + plx pla @@ -101,12 +101,12 @@ BS.SetCSWKSW2VDOS phx ldx #3 - + .1 lda GP.VDOSO,x sta ZP.CSW,x dex bpl .1 - + plx pla rts @@ -125,7 +125,7 @@ BS.IO.IN bit GP.EXECACTV cmp #$88 beq .2 - + cmp #$FF bne BS.SaveCSWKSW @@ -167,7 +167,7 @@ BS.ERROUT sta GP.ERRCODE php lda #$0F sta MLI.LEVEL - + stz GP.IFILACTV stz GP.OFILACTV stz GP.PFXACTV @@ -389,7 +389,7 @@ L9C6C jsr BS.MLIRead bne L9C8E lda GP.FoundBITS+1 - and #$10 + and #CMDBITS1.L bne L9C8E dex @@ -419,11 +419,11 @@ L9C95 cmp #$BE bcs L9D1F jsr BS.GetFTableIdx - - lda XBC12 - sta XBC5A,x - lda XBC13 - sta XBC5B,x + + lda BS.CAT.EL + sta BS.OpenFiles+1,x + lda BS.CAT.EPB + sta BS.OpenFiles+2,x jsr BS.Filename2LineBuf L9CD3 lda #$A2 @@ -455,7 +455,7 @@ L9CF9 cmp #$FF bne L9D1C dec GP.CATFLAG - + stz GP.MLIRW.COUNT stz GP.MLIRW.COUNT+1 @@ -475,22 +475,22 @@ L9D1C lda #$05 L9D1F jmp BS.ERROUT L9D22 lda #$FF - sta XBC16 + sta BS.CAR.EICB jsr BS.GetFTableIdx - lda XBC5A,x - sta XBC12 - lda XBC5B,x - sta XBC13 + lda BS.OpenFiles+1,x + sta BS.CAT.EL + lda BS.OpenFiles+2,x + sta BS.CAT.EPB lda GP.SBUFADR+1 and #$01 tax lda GP.SBUFADR sec -L9D45 inc XBC16 - sbc XBC12 +L9D45 inc BS.CAR.EICB + sbc BS.CAT.EL bcs L9D45 dex @@ -521,7 +521,7 @@ BS.IO.IN.CAT cmp #$DD L9D72 lda GP.PREGA sta (ZP.BASL),y - + stz GP.PFXACTV ldx BS.CMDBUF.LEN @@ -535,13 +535,13 @@ L9D7F lda BS.CMDBUF.LEN,x rts *-------------------------------------- BS.Setup4readEFBytesAt200 - lda XBBFE + lda BS.REFNUM sta GP.MLIRW.REFNUM lda #$02 sta GP.MLIRW.DATAPTR+1 lda #$EF sta GP.MLIRW.COUNT - + stz GP.MLIRW.COUNT+1 stz GP.MLIRW.DATAPTR rts @@ -875,15 +875,15 @@ LA004 ldy #$00 BS.WriteTBUFAY sta GP.MLIRW.COUNT sty GP.MLIRW.COUNT+1 - + jsr BS.MLIWrite - + stz GP.TBUFPTR LA020 rts *-------------------------------------- LA021 jsr BS.KW.FRE - bcs LA047 + bcs LA020 lda AS.PGRMSTART+1 sta BS.TXTTAB+1 @@ -897,12 +897,10 @@ LA021 jsr BS.KW.FRE lda AS.STRINGSTART+1 sta BS.MEMSIZE+1 - + lda #$00 sta BS.MEMSIZE - jsr LA089 Z - -LA047 rts + jmp LA089 Z *-------------------------------------- BS.KW.FRE stz BS.TXTTAB @@ -1217,13 +1215,13 @@ LA1FB sta XBBB5 sta AS.HIMEM+1 clc adc #$04 - sta XBBE3 + sta BS.BUFPAGE rts LA24E sec rts - -XBBB5 .BS 1 + +XBBB5 .BS 1 *-------------------------------------- LA250 jsr BS.KW.FRE bcs LA29D @@ -1252,7 +1250,7 @@ LA250 jsr BS.KW.FRE sta AS.HIMEM+1 jsr LA3A3 - lda XBBE3 + lda BS.BUFPAGE cmp AS.HIMEM+1 beq LA2B7 @@ -1276,13 +1274,12 @@ LA29E pla *-------------------------------------- BS.SetFileBuf sta GP.SBUFADR+1 sta BS.BUFPAGEs,x - + stz GP.SBUFADR lda BS.REFNUMs,x sta GP.MLIMRKEOFBUF.REFNUM lda #MLI.C.SETBUF - jsr GP.GOSYSTEM - bcs LA29D + jmp GP.GOSYSTEM LA2B7 clc rts diff --git a/BASIC.FX/BASIC.S.B.txt b/BASIC.FX/BASIC.S.B.txt index a654b607..b7601d49 100644 --- a/BASIC.FX/BASIC.S.B.txt +++ b/BASIC.FX/BASIC.S.B.txt @@ -376,7 +376,7 @@ LA6BA stz GP.FoundBITS lda GP.VDEFDRV sta GP.ParamD lda AS.HIMEM+1 - sta XBBE3 + sta BS.BUFPAGE ldx GP.XLEN inx @@ -464,7 +464,8 @@ LA747 jsr BS.GetKWInCmdBuf ldy #$13 sty XBC09 - ldy #$40 + + ldy #CMDBITS0.SLOT sty GP.FoundBITS stx BS.ToAUXSaveX @@ -494,7 +495,7 @@ LA770 lsr dey dey sty MLI.PATHBUF - lda #$03 + lda #CMDBITS0.FN1+CMDBITS0.FN2 sta GP.FoundBITS dex jsr BS.GetCharSpaceSep @@ -528,7 +529,7 @@ LA7A6 lda GP.ParamS bcs LA76C lda GP.AllowedBITS - and #$21 + and #CMDBITS0.RRUN+CMDBITS0.FN1 lsr beq LA7C9 @@ -542,7 +543,7 @@ LA7A6 lda GP.ParamS LA7C9 bcc LA80B lda GP.AllowedBITS+1 - and #$04 + and #CMDBITS1.SD beq LA80B lda GP.FoundBITS @@ -550,7 +551,7 @@ LA7C9 bcc LA80B bcs LA7E1 lda GP.AllowedBITS - and #$90 + and #CMDBITS0.PFIX+CMDBITS0.FNOPT beq BS.SYNERR bpl LA80B @@ -563,7 +564,7 @@ LA7E1 lda BS.CMDBUF beq LA806 LA7ED lda GP.FoundBITS+1 - and #$04 + and #CMDBITS1.SD beq LA80B bcs LA806 @@ -571,7 +572,7 @@ LA7ED lda GP.FoundBITS+1 stz BS.CMDBUF.LEN stz BS.CMDBUF - lda #$01 + lda #CMDBITS0.FN1 tsb GP.FoundBITS LA806 jsr BS.GetVolAtSxDy @@ -587,7 +588,7 @@ LA80B lda GP.XCNUM beq .8 lda GP.AllowedBITS+1 - and #$04 + and #CMDBITS1.SD beq .8 lda GP.FoundBITS @@ -651,7 +652,7 @@ BS.GetVolAtSxDy lda GP.ParamS adc BS.CMDBUF.LEN cmp #$40 tax - lda #$10 + lda #BS.E.SYNTAX bcs LA8F5 ldy BS.CMDBUF.LEN @@ -674,13 +675,13 @@ LA8AF sta BS.CMDBUF,x bne LA8AF lda GP.XCNUM - cmp #$0B + cmp #$0B OPEN beq LA8F4 - cmp #$16 + cmp #$16 DELETE beq LA8F4 - cmp #$08 + cmp #$08 EXEC beq LA8F4 lda MLI.PATHBUF @@ -689,7 +690,7 @@ LA8AF sta BS.CMDBUF,x adc IO.LINEBUF+1 cmp #$40 tax - lda #$10 + lda #BS.E.SYNTAX bcs LA8F5 stx MLI.PATHBUF @@ -781,18 +782,17 @@ BS.GetChar lda IO.LINEBUF,x BS.TMPBUF3x2 asl BS.TMPBUF4 rol BS.TMPBUF4+1 rol BS.TMPBUF4+2 +BS.TMPBUF3x2.RTS rts *-------------------------------------- BS.IsIntCmd ldx #BSX.IsIntCmd.X jsr BS.ToAUX - bcc .8 + bcc BS.TMPBUF3x2.RTS dec GP.XCNUM $ff sec jmp GP.EXTRNCMD - -.8 rts *-------------------------------------- BS.TMPBUF3Reset stz BS.TMPBUF4 stz BS.TMPBUF4+1 @@ -826,7 +826,7 @@ LAB6F pha jsr LB36B stz GP.ParamA - stz MLI.MEMTABL+19 + stz MLI.MEMTABL+20 stz MLI.MEMTABL+21 stz MLI.MEMTABL+22 @@ -840,10 +840,11 @@ LAB6F pha bne LABA6 sta GP.ParamT - lda #$80 + lda #CMDBITS1.A sta GP.FoundBITS+1 - lda #$05 + lda #CMDBITS0.T+CMDBITS0.FN1 sta GP.FoundBITS + LABA3 jmp BS.KW.BRUN LABA6 sec @@ -992,7 +993,7 @@ LAC98 stx ZP.PCL bcc LAC98 LACB6 lda GP.FoundBITS+1 - and #$08 + and #CMDBITS1.LINE clc beq LACD9 @@ -1036,13 +1037,10 @@ LACFE lda #$02 sec sbc AS.PGRMSTART tax -* sta GP.SBUFADR + lda AS.PGRMEND+1 sbc AS.PGRMSTART+1 tay -* sta GP.SBUFADR+1 -* lda #$00 -* sta GP.SBUFADR+2 jsr BS.SetSBUFADRXY0 diff --git a/BASIC.FX/BASIC.S.C.txt b/BASIC.FX/BASIC.S.C.txt index 4c069d0e..6db364b6 100644 --- a/BASIC.FX/BASIC.S.C.txt +++ b/BASIC.FX/BASIC.S.C.txt @@ -4,8 +4,8 @@ NEW BS.KW.BSAVE bcc LAE2D lda GP.FoundBITS+1 - and #$B0 - cmp #$90 + and #CMDBITS1.A+CMDBITS1.E+CMDBITS1.L + cmp #CMDBITS1.A+CMDBITS1.L XAE00 bcc LAE31 @@ -22,7 +22,7 @@ XAE00 bcc LAE31 sta GP.FITYPE lda GP.FoundBITS - and #$04 + and #CMDBITS0.T bne LAE31 jsr BS.CreateFileOrDir @@ -61,7 +61,7 @@ LAE44 ldx #$06 ldx GP.FIAUXTYPE ldy GP.FIAUXTYPE+1 lda GP.FoundBITS - and #$04 + and #CMDBITS0.T bne LAEAB lda GP.FoundBITS+1 @@ -126,8 +126,9 @@ LAEC3 sec LAEC5 stx GP.MLIRW.COUNT sty GP.MLIRW.COUNT+1 + lda GP.FoundBITS+1 - and #$40 + and #CMDBITS1.B beq LAEF7 ldx #$02 @@ -160,7 +161,7 @@ LAEF7 ldx GP.XCNUM bvs LAF22 lda GP.FoundBITS+1 - and #$30 + and #CMDBITS1.E+CMDBITS1.L beq LAF22 ldx GP.MLIRW.COUNT @@ -318,7 +319,7 @@ LB018 stx BS.GetCharSep asl tax lda GP.FoundBITS - and #$40 + and #CMDBITS0.SLOT beq LB035 lda GP.FoundBITS+1 @@ -403,27 +404,28 @@ BS.RAMReset bit GP.CISPARE1 php sei - + sta IO.SETWRITEAUX - + lda #$FF sta AUX.RAMSIG dec sta AUX.RAMSIG+1 Set $E000-$FEFF as BLOCK FREE - + sta IO.CLRWRITEAUX plp .8 rts -*-------------------------------------- +*-------------------------------------- BS.KW.CAT lda #$27 .HS 2C BIT ABS BS.KW.CATALOG lda #$4F sta BS.CATWIDTH + lda GP.FoundBITS - and #$05 + and #CMDBITS0.T+CMDBITS0.FN1 lsr bne LB0BA @@ -452,8 +454,8 @@ LB0C1 jsr BS.OpenDir jsr BS.LINEBUFOUT jsr MON.CROUT - lda XBC14 - ora XBC15 +* lda BS.CAT.FileCnt +* ora BS.CAT.FileCnt+1 LB0E8 jsr LB241 bcs LB113 @@ -466,7 +468,7 @@ LB0E8 jsr LB241 LB0F7 ldx #BSX.MkCatLine.X jsr BS.ToAUX - + jsr BS.LINEBUFOUT LB0FD lda IO.KBD @@ -525,9 +527,7 @@ LB142 lda DIRENTBUF,y sta IO.LINEBUF rts *-------------------------------------- -BS.MkCatLineF ldx #BS.CMDBUF - ldy /BS.CMDBUF - jsr BS.SetSBUFADRXY +BS.MkCatLineF jsr BS.SetSBUFADRCMDBUF lda MLI.DEVNUM sta GP.MLIMRKEOFBUF.REFNUM @@ -576,13 +576,13 @@ BS.ReadDirEnt lda #$59 ldx #$03 LB1EA lda $27C,x - sta XBC12,x + sta BS.CAT.EL,x dex bpl LB1EA sta GP.MLIRW.COUNT lda #$01 - sta XBC16 + sta BS.CAR.EICB stz GP.SBUFADR+1 stz GP.SBUFADR+2 @@ -591,7 +591,7 @@ LB203 rts BS.CheckFTypeXAccessA pha lda GP.FoundBITS - and #$04 + and #CMDBITS0.T beq LB20F ldx GP.ParamT @@ -605,7 +605,7 @@ BS.OpenTypeXAccessA and GP.FIACCESS beq LB23D - lda XBBE3 + lda BS.BUFPAGE sta GP.OSYSBUF+1 lda #$0F sta MLI.LEVEL @@ -630,13 +630,13 @@ LB23D lda #BS.E.LOCKED LB241 lda GP.SBUFADR+1 and #$FE sta GP.SBUFADR+1 - ldy XBC16 + ldy BS.CAR.EICB lda #$00 - cpy XBC13 + cpy BS.CAT.EPB bcc LB25D tay - sty XBC16 + sty BS.CAR.EICB inc GP.SBUFADR+1 LB25A inc GP.SBUFADR+1 @@ -645,7 +645,7 @@ LB25D dey clc bmi LB268 - adc XBC12 + adc BS.CAT.EL bcc LB25D bcs LB25A @@ -658,17 +658,17 @@ LB268 adc #$04 jsr BS.MLIRead bcs LB28D - inc XBC16 + inc BS.CAR.EICB lda DIRENTBUF and #$F0 beq LB241 - lda XBC14 + lda BS.CAT.FileCnt bne .1 - dec XBC15 + dec BS.CAT.FileCnt+1 -.1 dec XBC14 +.1 dec BS.CAT.FileCnt LB28D rts *-------------------------------------- @@ -719,7 +719,7 @@ LB2D5 jsr BS.GetSysBuf stz GP.SBUFADR - lda XBBE3 + lda BS.BUFPAGE sta GP.SBUFADR+1 ldx GP.OPENCNT beq LB30E @@ -728,7 +728,7 @@ LB2D5 jsr BS.GetSysBuf txa asl asl - adc XBBE3 + adc BS.BUFPAGE pha LB2F2 cmp BS.BUFPAGEs,x @@ -750,7 +750,7 @@ LB2FB tya brk LB30D pla -LB30E sta XBBE3 +LB30E sta BS.BUFPAGE sta GP.OSYSBUF+1 stz MLI.LEVEL @@ -768,7 +768,7 @@ LB30E sta XBBE3 LB327 ldx GP.OSYSBUF+1 stx BS.REFNUMs lda GP.OREFNUM - sta XBBFE + sta BS.REFNUM LB333 sta GP.MLIRW.REFNUM sta GP.MLIMRKEOFBUF.REFNUM @@ -785,7 +785,7 @@ LB333 sta GP.MLIRW.REFNUM lda #MLI.C.NEWLINE jsr GP.GOSYSTEM lda GP.FoundBITS+1 - and #$03 + and #CMDBITS1.F+CMDBITS1.R beq LB364 jsr LB592 @@ -811,7 +811,7 @@ LB37B rts BS.KW.VERIFY bcs LB3B7 lda GP.FoundBITS - and #$01 + and #CMDBITS1.R bne LB38D ldy #0 @@ -825,7 +825,7 @@ LB38D clc * beq LB39F BS.KW.FLUSH lda GP.FoundBITS - and #$01 + and #CMDBITS1.R beq LB39F jsr BS.CheckFilename @@ -904,7 +904,7 @@ LB3FE lda GP.FITYPE LB41D jsr BS.GetSysBuf bcs LB3B9 - lda XBBE3 + lda BS.BUFPAGE sta GP.OSYSBUF+1 lda #$07 sta MLI.LEVEL @@ -928,7 +928,7 @@ LB443 lda #$00 ror sta GP.DIRFLG ldx GP.OPENCNT - lda XBBE3 + lda BS.BUFPAGE sta BS.BUFPAGEs+1,x lda GP.OREFNUM sta BS.REFNUMs+1,x @@ -942,7 +942,7 @@ BS.AddOpenFile asl tax lda MLI.PATHBUF ora GP.DIRFLG - sta XBC59,x + sta BS.OpenFiles,x and #$7F tay cmp #$1E @@ -953,13 +953,13 @@ BS.AddOpenFile asl LB473 sta ZP.PCL lda GP.ParamL - sta XBC5A,x + sta BS.OpenFiles+1,x lda GP.ParamL+1 - sta XBC5B,x + sta BS.OpenFiles+2,x LB481 inx lda MLI.PATHBUF,y - sta XBC5B,x + sta BS.OpenFiles+2,x dey dec ZP.PCL bne LB481 @@ -999,7 +999,7 @@ LB4B3 ldx ZP.PCH LB4B8 lda GP.EXECACTV bpl LB4CE - lda XBBFE + lda BS.REFNUM jsr BS.FindOpenFile bne LB4CE @@ -1018,7 +1018,7 @@ BS.FindOpenFile asl asl asl tax - lda XBC59,x + lda BS.OpenFiles,x sta GP.DIRFLG and #$7F cmp MLI.PATHBUF @@ -1032,14 +1032,14 @@ BS.FindOpenFile asl LB4EC sta ZP.PCL - lda XBC5A,x - sta XBBFF - lda XBC5B,x - sta XBC00 + lda BS.OpenFiles+1,x + sta BS.RecordSize + lda BS.OpenFiles+2,x + sta BS.RecordSize+1 LB4FA inx lda MLI.PATHBUF,y - cmp XBC5B,x + cmp BS.OpenFiles+2,x bne LB508 dey @@ -1049,7 +1049,7 @@ LB4FA inx LB508 rts *-------------------------------------- BS.KW.CLOSE lda GP.FoundBITS - and #$01 + and #CMDBITS0.FN1 beq LB562 jsr BS.CheckFilename @@ -1057,7 +1057,7 @@ BS.KW.CLOSE lda GP.FoundBITS LB515 sta GP.MLICF.REFNUM lda BS.BUFPAGEs,x - sta XBBE3 + sta BS.BUFPAGE bit GP.EXECFILE bmi LB53F @@ -1116,7 +1116,7 @@ BS.KW.POSITION jsr BS.CheckFilename bmi LB5F0 *-------------------------------------- LB592 lda GP.FoundBITS+1 - and #$03 + and #CMDBITS1.F+CMDBITS1.R beq LB5ED cmp #$03 @@ -1164,9 +1164,9 @@ LB5ED lda #BS.E.INVOPT LB5EF sec LB5F0 rts *-------------------------------------- -LB5F1 lda XBBFF +LB5F1 lda BS.RecordSize sta BS.TMPBUF4 - lda XBC00 + lda BS.RecordSize+1 sta BS.TMPBUF4+1 stz BS.TMPBUF4+2 @@ -1220,13 +1220,13 @@ BS.KW.READ jsr BS.CheckFilename bit GP.DIRFLG bmi LB69C - jsr LB6D0 + jsr BS.CheckBFR bcs LB69B ldx #$7F ldy #$EF lda GP.FoundBITS+1 - and #$10 + and #CMDBITS1.L beq LB67C ldy GP.ParamL @@ -1264,7 +1264,7 @@ LB69C lda #$59 lda #$01 sta GP.CATFLAG lda GP.FoundBITS+1 - and #$01 + and #CMDBITS1.R clc beq LB696 @@ -1280,11 +1280,11 @@ LB6CB lda #BS.E.RANGE sec rts *-------------------------------------- -LB6D0 lda GP.FoundBITS+1 - and #$43 +BS.CheckBFR lda GP.FoundBITS+1 + and #CMDBITS1.B+CMDBITS1.F+CMDBITS1.R beq LB719 - and #$01 + and #CMDBITS1.R beq LB6E5 jsr LB5F1 @@ -1292,16 +1292,16 @@ LB6D0 lda GP.FoundBITS+1 LB6E0 jsr LB712 bcs LB71A -LB6E5 - lda GP.FoundBITS+1 - and #$02 + +LB6E5 lda GP.FoundBITS+1 + and #CMDBITS1.F beq LB6F1 jsr LB5AD bcs LB71A LB6F1 lda GP.FoundBITS+1 - and #$40 + and #CMDBITS1.B beq LB719 jsr BS.MLIGetMark @@ -1343,7 +1343,7 @@ LB732 sec LB734 stz GP.MLIRW.DATAPTR lda #$02 sta GP.MLIRW.DATAPTR+1 - jsr LB6D0 + jsr BS.CheckBFR bcc LB757 cmp #$02 @@ -1388,64 +1388,63 @@ LB77B sta GP.MLIRW.REFNUM bpl LB78A lda #BS.E.LOCKED + sec -LB788 sec - rts +LB788 rts LB78A ldx GP.ParamL ldy GP.ParamL+1 lda GP.FoundBITS+1 - and #$10 + and #CMDBITS1.L bne LB79D ldx GP.FIAUXTYPE ldy GP.FIAUXTYPE+1 -LB79D txa - pha +LB79D phx jsr BS.GetFTableIdx pla - sta XBC5A,x - sta XBBFF + sta BS.OpenFiles+1,x + sta BS.RecordSize tya - sta XBC5B,x - sta XBC00 + sta BS.OpenFiles+2,x + sta BS.RecordSize+1 jsr BS.MLIGetEOF bcs LB788 - lda XBC00 + lda BS.RecordSize+1 bne LB7C8 - lda XBBFF + lda BS.RecordSize cmp #$02 bcc LB7CD -LB7C8 jsr LB7D0 +LB7C8 jsr BS.FileLenDivRS bcs LB788 LB7CD jmp LB74B *-------------------------------------- -LB7D0 ldx #$03 +BS.FileLenDivRS ldx #$03 -LB7D2 lda GP.MLIMRKEOFBUF.REFNUM,x - sta XBC09,x +LB7D2 lda GP.SBUFADR-1,x + sta BS.TMPBUF4-1,x dex bne LB7D2 stz BS.TMPBUF4+3 stz XBC0E - ldy #$18 + ldy #24 LB7E3 jsr BS.TMPBUF3x2 rol BS.TMPBUF4+3 rol XBC0E sec lda BS.TMPBUF4+3 - sbc XBBFF + sbc BS.RecordSize tax lda XBC0E - sbc XBC00 + sbc BS.RecordSize+1 bcc LB805 stx BS.TMPBUF4+3 @@ -1460,11 +1459,11 @@ LB805 dey clc beq LB839 - lda XBBFF + lda BS.RecordSize sec sbc BS.TMPBUF4+3 tax - lda XBC00 + lda BS.RecordSize+1 sbc XBC0E tay txa @@ -1475,10 +1474,10 @@ LB805 dey adc GP.SBUFADR+1 sta GP.SBUFADR+1 bcc .1 - + inc GP.SBUFADR+2 -.1 lda #$02 +.1 lda #BS.E.RANGE LB839 rts *-------------------------------------- @@ -1514,7 +1513,7 @@ BS.KW.MEM jsr MON.CROUT sta $260,x dex bpl .1 - + lda AS.HIMEM sta $260+10 lda AS.HIMEM+1 @@ -1531,18 +1530,19 @@ BS.KW.MEM jsr MON.CROUT lda XBC10 cmp #6 bne .2 - + jsr MON.CROUT - + clc rts *-------------------------------------- BS.KW.ONLINE jsr MON.CROUT - ldx #BS.CMDBUF - ldy /BS.CMDBUF - jsr BS.SetSBUFADRXY - + jsr BS.SetSBUFADRCMDBUF + + lda MLI.DEVNUM + pha + lda #$10 .1 sta GP.MLIMRKEOFBUF.REFNUM @@ -1550,32 +1550,35 @@ BS.KW.ONLINE jsr MON.CROUT lda #MLI.C.ONLINE jsr GP.GOSYSTEM bcs .7 - + lda BS.CMDBUF and #$0F inc sta BS.CMDBUF.LEN lda #'/' sta BS.CMDBUF - + jsr BS.GetFileInfo bcs .7 - + ldx #BSX.Online.X jsr BS.ToAUX - + jsr BS.LINEBUFOUT - + .7 lda GP.MLIMRKEOFBUF.REFNUM eor #$80 bmi .1 - + clc adc #$10 bpl .1 - + jsr MON.CROUT - + + pla + sta MLI.DEVNUM + clc rts *-------------------------------------- @@ -1598,7 +1601,7 @@ BS.Expand2PATHBUF BS.ToAUX stx .1+1 sei - + tsx sta IO.SETALTZP stx $100 @@ -1612,24 +1615,24 @@ BS.ToAUX stx .1+1 .1 ldx #$FF SELF MODIFIED jsr BSX.JMPX - + stx .3+1 php plx stx .2+1 - + sei - + tsx stx $101 ldx $100 txs sta IO.CLRALTZP - + bit IO.RROMBNK1 - + cli - + .2 ldx #$FF SELF MODIFIED phx .3 ldx #$FF SELF MODIFIED @@ -1646,6 +1649,9 @@ BS.GetFTableIdx lda GP.MLIRW.REFNUM tax rts *-------------------------------------- +BS.SetSBUFADRCMDBUF + ldx #BS.CMDBUF + ldy /BS.CMDBUF BS.SetSBUFADRXY0 stz GP.SBUFADR+2 diff --git a/BASIC.FX/BASIC.S.D.txt b/BASIC.FX/BASIC.S.D.txt index 8e73b274..f69acc40 100644 --- a/BASIC.FX/BASIC.S.D.txt +++ b/BASIC.FX/BASIC.S.D.txt @@ -155,7 +155,7 @@ BS.TXTTAB .DA $0800 BS.MEMSIZE .DA HIMEM-$400 XBBE2 .BS 1 -XBBE3 .BS 1 +BS.BUFPAGE .BS 1 BS.BAS.HDR .BS 5 XBBE9 .BS 1 @@ -165,9 +165,9 @@ XBBEC .BS 1 XBBED .BS 1 BS.BUFPAGEs .BS 8 BS.REFNUMs .BS 8 -XBBFE .BS 1 -XBBFF .BS 1 -XBC00 .BS 3 +BS.REFNUM .BS 1 +BS.RecordSize .BS 2 + .BS 2 BS.CALLX .BS 1 BS.GetCharSep .BS 1 BS.GetCharMax .BS 1 @@ -183,11 +183,10 @@ XBC10 .BS 1 BS.CATWIDTH .BS 1 -XBC12 .BS 1 -XBC13 .BS 1 -XBC14 .BS 1 -XBC15 .BS 1 -XBC16 .BS 1 +BS.CAT.EL .BS 1 +BS.CAT.EPB .BS 1 +BS.CAT.FileCnt .BS 2 +BS.CAR.EICB .BS 1 *-------------------------------------- .LIST ON BS.FREESPACE .EQ $BC17-* @@ -197,10 +196,7 @@ BS.FREESPACE .EQ $BC17-* BS.CMDBUF.LEN .BS 1 keep this in $BC page, flagged in MLI.MEMTABL BS.CMDBUF .BS 65 *-------------------------------------- -XBC59 .BS 1 -XBC5A .BS 1 - -XBC5B .BS 165 +BS.OpenFiles .BS 167 *-------------------------------------- MAN SAVE usr/src/basic.fx/basic.s.d diff --git a/BASIC.FX/BASIC.S.LDR.txt b/BASIC.FX/BASIC.S.LDR.txt index 40b449c8..bbdb7049 100644 --- a/BASIC.FX/BASIC.S.LDR.txt +++ b/BASIC.FX/BASIC.S.LDR.txt @@ -56,21 +56,25 @@ LDR.START1 ldx #$FF ldx #$01 jsr LDR.MoveXpages + + lda bRAMFlag + sta GP.CISPARE1 - lda #$CF page 0,1,4,5,6,7 + lda #%11001111 pages 0,1,...,4,5,6,7 protected sta MLI.MEMTABL - ldx #19 HIMEM=$A000 + ldx #19 .1 stz MLI.MEMTABL,x dex bne .1 lda #$FF - sta MLI.MEMTABL+20 + sta MLI.MEMTABL+20 HIMEM=$A000 sta MLI.MEMTABL+21 sta MLI.MEMTABL+22 - lda #$C3 + + lda #%11000011 pages $B8,$B9,...,$BE,$BF protected sta MLI.MEMTABL+23 bit IO.RRAMWRAMBNK2 @@ -313,7 +317,9 @@ LDR.KSW lda GP.INVECT0 lda #$8D rts *-------------------------------------- -LDR.ShrinkRAM lda MLI.DEVPTRS3D2 +LDR.ShrinkRAM stz bRAMFlag + + lda MLI.DEVPTRS3D2 ldx MLI.DEVPTRS3D2+1 cmp MLI.DEVPTRS S0D1=NOVEV @@ -362,7 +368,7 @@ LDR.ShrinkRAM lda MLI.DEVPTRS3D2 dex bpl .7 - dec GP.CISPARE1 Tell BYE to reset that... + dec bRAMFlag Tell BYE to reset that... php sei diff --git a/BASIC.FX/BASIC.S.txt b/BASIC.FX/BASIC.S.txt index b009c3ea..90296756 100644 --- a/BASIC.FX/BASIC.S.txt +++ b/BASIC.FX/BASIC.S.txt @@ -57,6 +57,7 @@ CMDBITS1.V .EQ $00 ;Volume number ignored Ptr1 .EQ 0 Ptr2 .EQ 2 ZPCode .EQ 4 +bRAMFlag .EQ 6 ZP.WNDLFT .EQ $20 ZP.WNDWDT .EQ $21