diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index fdcee5d0..ba48c03e 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 704cf1e3..59c0d479 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BASIC.FX/BASIC.S.A.txt b/BASIC.FX/BASIC.S.A.txt index 272c6f55..13c3709e 100644 --- a/BASIC.FX/BASIC.S.A.txt +++ b/BASIC.FX/BASIC.S.A.txt @@ -122,21 +122,23 @@ BS.IO.IN bit GP.EXECACTV jsr MON.KEYIN0 cmp #$8D beq .5 + + cmp #$88 + beq .2 cmp #$FF bne BS.SaveCSWKSW -* lda ZP.PROMPT -* >DEBUG - txa + +.2 txa beq BS.IO.IN.BS - lda #$88 +.3 lda #$88 jsr MON.COUT lda #$A0 jsr MON.COUT - bra BS.IO.IN.BS + bra BS.IO.IN.BS .5 jsr BS.SaveAXY sta IO.LINEBUF,x @@ -154,7 +156,7 @@ BS.IO.IN.BS lda #$88 bra BS.SaveCSWKSW L9AE8 jsr BS.RestoreAXY - bra BS.SaveCSWKSW + jmp BS.SaveCSWKSW *-------------------------------------- BS.NODEVERR lda #$03 @@ -169,7 +171,7 @@ BS.ERROUT sta GP.ERRCODE stz GP.IFILACTV stz GP.OFILACTV stz GP.PFXACTV - stz GP.MLICF.REFNUM + stz GP.MLICF.REFNUM Close All jsr BS.MLIClose bcs L9B27 @@ -202,7 +204,7 @@ L9B30 php plp bcs L9B53 - jsr BS.CROUT + jsr MON.CROUT jmp AS.RESTART1 L9B4D ldx AS.REMSTK @@ -358,8 +360,8 @@ BS.ReadOneByte lda GP.MLIRW.COUNT sta GP.ParamL lda #$01 sta GP.MLIRW.COUNT - lda #MLI.C.READ - jsr GP.GOSYSTEM + + jsr BS.MLIRead bcs L9C66 lda GP.ParamL @@ -372,8 +374,7 @@ L9C66 rts L9C67 lda GP.PREGA sta (ZP.BASL),y -L9C6C lda #MLI.C.READ - jsr GP.GOSYSTEM +L9C6C jsr BS.MLIRead bcs L9C66 lda GP.MLIRW.TRANS @@ -405,8 +406,7 @@ L9C95 cmp #$BE sta (ZP.BASL),y lda #$4F sta BS.CATWIDTH - lda #MLI.C.GETMARK - jsr GP.GOSYSTEM + jsr BS.MLIGetMark bcs L9D1F lda GP.SBUFADR @@ -457,8 +457,7 @@ L9CF9 cmp #$FF stz GP.MLIRW.COUNT stz GP.MLIRW.COUNT+1 - lda #MLI.C.READ - jsr GP.GOSYSTEM + jsr BS.MLIRead jsr LB157 pha lda GP.MLIRW.REFNUM @@ -545,20 +544,17 @@ BS.Setup4readEFBytesAt200 *-------------------------------------- BS.VSYSO jsr BS.SaveAXY cmp #$84 - bne L9DC5 + bne .1 jsr BS.WriteTBUF stz GP.INPTR stz GP.IFILACTV stz GP.OFILACTV stz GP.PFXACTV - ldx #$08 - jsr BS.SetState - jmp BS.RestoreAXY + jmp BS.SetState8RestAXY + +.1 jsr BS.SetState4RestAXY -L9DC5 ldx #$04 - jsr BS.SetState - jsr BS.RestoreAXY jmp BS.JMP.GP.VSYSO *-------------------------------------- BS.IO.OUT.CAT jsr BS.SaveAXY @@ -579,7 +575,7 @@ L9DE7 ldx GP.PREGX L9DEB inx dex - beq L9DFA + beq BS.SetState4RestAXY jsr BS.ResetCSWKSW jsr BS.DOSCMD @@ -587,8 +583,12 @@ L9DEB inx jsr BS.SaveCSWKSW -L9DFA ldx #$04 - jsr BS.SetState +BS.SetState4RestAXY + ldx #$04 + .HS 2C BIT ABS +BS.SetState8RestAXY + ldx #$08 + jsr BS.SetState jmp BS.RestoreAXY L9E02 sty GP.PREGY @@ -681,7 +681,7 @@ L9E8A jsr BS.SaveAXY jsr BS.WriteTBUF sta GP.OFILACTV jsr BS.ResetCSWKSW - lda #$15 + lda #BS.E.FSTILLOPEN jsr GP.PRINTERR L9EA0 jsr BS.RestoreAXY @@ -728,7 +728,7 @@ L9ED2 dec GP.STRINGS bcs L9EE9 jsr BS.WriteTBUF - jsr BS.KW.01 + jsr BS.KW.FRE lda AS.STRINGSTART+1 sbc AS.ARRAYEND+1 @@ -765,7 +765,7 @@ BS.AS.KW.CALL lda #$02 bne L9F32 BS.AS.KW.LET tya - jmp L9ED2 + bra L9ED2 BS.AS.KW.TRACE sty GP.DTRACE bne L9F2E @@ -779,7 +779,7 @@ L9F2E lda #$4A L9F32 tya jmp AS.EXECSTMT - +*-------------------------------------- BS.AS.KW.RESUME stz AS.ERRNUM tya bne L9EF0 @@ -797,7 +797,7 @@ L9F3D jsr BS.ResetCSWKSW jmp L9ECA BS.AS.KW.FLASH lda #$E3 - bne L9F5E + .HS 2C BIT ABS BS.AS.KW.NORMAL BS.AS.KW.INVERSE lda #$A3 @@ -831,25 +831,24 @@ BS.SetState stx GP.STATE rts *-------------------------------------- BS.PRINTERR tay - ldx BS.ERRCODES-1,y + ldx BS.ERRCODES-2,y BS.PRINTERRX jsr BS.PRINTERRMSGX ldx GP.INPTR stx BS.CATWIDTH - jsr BS.CROUT + jsr MON.CROUT lda #$87 - jsr BS.COUT + jsr MON.COUT BS.LINEBUFOUT ldx #$00 .1 lda IO.LINEBUF+1,x - jsr BS.COUT + jsr MON.COUT inx cpx BS.CATWIDTH bcc .1 -BS.CROUT lda #$8D -BS.COUT jmp MON.COUT + jmp MON.CROUT *-------------------------------------- BS.PRINTERRMSGX ldy #$00 clc @@ -862,7 +861,7 @@ L9FBA jsr L9FD6 ora #$10 L9FC4 tay - lda BS.TBL6,y + lda BS.TBL6-1,y beq L9FD5 ldy GP.INPTR @@ -914,8 +913,8 @@ LA004 ldy #$00 BS.WriteTBUFAY sta GP.MLIRW.COUNT sty GP.MLIRW.COUNT+1 - lda #MLI.C.WRITE - jsr GP.GOSYSTEM + + jsr BS.MLIWrite stz GP.TBUFPTR @@ -924,7 +923,7 @@ BS.WriteTBUFAY sta GP.MLIRW.COUNT LA01F clc LA020 rts *-------------------------------------- -LA021 jsr BS.KW.01 +LA021 jsr BS.KW.FRE bcs LA047 lda AS.PGRMSTART+1 @@ -943,12 +942,14 @@ LA021 jsr BS.KW.01 jsr LA089 Z LA047 rts +*-------------------------------------- +BS.KW.FRE stz BS.TXTTAB -BS.KW.01 stz BS.TXTTAB lda #$03 sta XBBD9 lda AS.HIMEM+1 sta XBBD8 + lda AS.STRINGSTART+1 sta BS.TXTTAB+1 sec @@ -993,9 +994,11 @@ LA08D lda BS.MEMSIZE+1 LA0A3 lda AS.VARSTART sbc #$06 sta ZP.A2L + lda AS.VARSTART+1 sbc #$00 sta ZP.A2H + lda AS.ARRAYSTART sta XBBDC lda XBBDA @@ -1031,7 +1034,7 @@ LA0E0 sta XBBDA sta XBBDB bcc LA0A3 -LA0F8 lda #$0C +LA0F8 lda #BS.E.NOBUFFER LA0FA rts LA0FB clc @@ -1142,7 +1145,7 @@ LA170 ldy #$02 clc LA198 rts - +*-------------------------------------- LA199 lda XBBD7 sta ZP.PCH lda XBBD8 @@ -1164,7 +1167,7 @@ LA1AD lda (ZP.PCL),y bne LA1AD rts - +*-------------------------------------- LA1BC cmp XBBD7 bcc LA1C8 @@ -1205,10 +1208,10 @@ LA1F2 clc lda XBBDD sbc AS.STRINGSTART+1 rts - +*-------------------------------------- LA1F9 lda #$04 LA1FB sta XBBB5 - jsr BS.KW.01 + jsr BS.KW.FRE bcs LA24E lda AS.STRINGSTART+1 @@ -1231,7 +1234,7 @@ LA1FB sta XBBB5 lda AS.HIMEM+1 sbc ZP.PCH sta XBBEE - jsr LA35F + jsr BS.MoveMemUp lda #$00 sec sbc XBBB5 @@ -1250,7 +1253,7 @@ LA1FB sta XBBB5 LA24E sec rts -LA250 jsr BS.KW.01 +LA250 jsr BS.KW.FRE bcs LA29D lda AS.HIMEM+1 @@ -1268,13 +1271,15 @@ LA250 jsr BS.KW.01 lda AS.HIMEM+1 sbc AS.STRINGSTART+1 sta XBBEE - jsr LA383 + jsr BS.MoveMemDown + lda #$04 sta XBBE2 clc adc AS.HIMEM+1 sta AS.HIMEM+1 jsr LA3A3 + lda XBBE3 cmp AS.HIMEM+1 beq LA2B7 diff --git a/BASIC.FX/BASIC.S.B.txt b/BASIC.FX/BASIC.S.B.txt index 4578e130..396d581b 100644 --- a/BASIC.FX/BASIC.S.B.txt +++ b/BASIC.FX/BASIC.S.B.txt @@ -1,8 +1,6 @@ NEW AUTO 3,1 *-------------------------------------- -BS.WHICHBITS .HS 8040201008040201 - BS.GETBUFR jsr LA1FB bcs LA304 @@ -45,7 +43,7 @@ LA2F6 ldx #$08 LA303 clc LA304 rts - +*-------------------------------------- BS.FREEBUFR lda GP.OPENCNT asl asl @@ -88,7 +86,7 @@ LA345 lda AS.HIMEM+1 LA34E dex bne LA32F -LA351 jsr BS.KW.01 +LA351 jsr BS.KW.FRE LA354 clc rts @@ -97,32 +95,32 @@ LA356 pha jsr LA29F pla rts - -LA35F ldy #$00 +*-------------------------------------- +BS.MoveMemUp ldy #$00 cpy XBBEE - beq LA376 + beq .2 -LA366 lda (ZP.PCL),y +.1 lda (ZP.PCL),y sta (ZP.A1L),y iny - bne LA366 + bne .1 inc ZP.PCH inc ZP.A1H dec XBBEE - bne LA366 + bne .1 -LA376 cpy XBBED - beq LA382 +.2 cpy XBBED + beq .8 lda (ZP.PCL),y sta (ZP.A1L),y iny - bne LA376 + bne .2 -LA382 rts +.8 rts *-------------------------------------- -LA383 ldy XBBED +BS.MoveMemDown ldy XBBED XA386 beq LA38F SELF MODIFIED LA388 jsr LA39A @@ -133,7 +131,7 @@ LA38F cpy XBBEE beq LA3A2 dec XBBEE - jmp LA388 + bra LA388 *-------------------------------------- LA39A dey lda (ZP.PCL),y @@ -178,7 +176,7 @@ LA3BF clc iny jsr LA3FD - jmp LA3AE + bra LA3AE LA3D6 lda ZP.A2L sta XBBDC @@ -253,7 +251,8 @@ LA411 jsr LA021 sta ZP.PCH lda #$03 sta XA386+1 - jsr LA383 + jsr BS.MoveMemDown + lda #$07 sta XA386+1 lda ZP.A1L @@ -293,7 +292,8 @@ LA480 lda BS.BAS.HDR sta ZP.PCL lda XBBEA sta ZP.PCH - jsr LA35F + jsr BS.MoveMemUp + lda XBBED clc adc ZP.PCL @@ -398,7 +398,7 @@ LA508 lda BS.PRODOSTYPES.ASC,y lda DIRENTBUF.AUXT ldx DIRENTBUF.AUXT+1 jsr BS.AXDEC2LINEBUFY - jmp LA544 + bra LA544 LA533 lda #$C1 sta $249 @@ -616,7 +616,7 @@ BS.DOSCMD lda #$FF eor #'-' beq LA6A5 -LA6A2 jmp BS.ERR10 +LA6A2 jmp BS.SYNERR LA6A5 jsr BS.IsIntCmdMTR bcs LA6A2 @@ -628,7 +628,7 @@ LA6A5 jsr BS.IsIntCmdMTR bne LA6BA jsr MON.CLREOL - jsr BS.CROUT + jsr MON.CROUT LA6BA stz GP.FoundBITS stz GP.FoundBITS+1 @@ -670,7 +670,10 @@ LA6F8 pla LA703 cmp #'/' beq LA70B - + + cmp #'.' .. or ../ + beq LA70B + cmp #'A' bcc LA73D @@ -679,17 +682,19 @@ LA70B dex sta BS.GetCharSep lsr sta BS.GetCharMax - ldy #$00 - jsr LAA2D + +* ldy #$00 + + jsr BS.GetKWInCmdBufAtX dey sty BS.CMDBUF.LEN lda #CMDBITS0.FN1 sta GP.FoundBITS -LA723 lda BS.CMDBUF.LEN,y - sta MLI.PATHBUF,y - dey - bpl LA723 + phx + jsr BS.Expand2PATHBUF + plx + bcs LA73A dex jsr BS.GetCharSpaceSep @@ -701,13 +706,13 @@ LA723 lda BS.CMDBUF.LEN,y lsr bcs LA770 -LA73A jmp BS.ERR10 +LA73A jmp BS.SYNERR LA73D lda GP.XCNUM - cmp #$06 + cmp #$06 RUN ???? bne LA73A -LA744 jmp LA7A6 +LA744 bra LA7A6 LA747 jsr BS.GetKWInCmdBuf beq LA73A @@ -730,7 +735,7 @@ LA747 jsr BS.GetKWInCmdBuf cmp #$08 bcc LA79F -LA76C lda #$02 +LA76C lda #BS.E.RANGE sec LA76F rts @@ -755,7 +760,7 @@ LA770 lsr bne LA73A bcc LA7A6 - +*-------------------------------------- LA795 jsr BS.GetCharSpaceSep beq LA73A @@ -787,7 +792,7 @@ LA7A6 lda GP.ParamS lda GP.STATE bne LA7C9 - lda #$0F + lda #BS.E.NODIRECT sec rts @@ -803,12 +808,12 @@ LA7C9 bcc LA80B lda GP.AllowedBITS and #$90 - beq BS.ERR10 + beq BS.SYNERR bpl LA80B LA7E1 lda BS.CMDBUF - eor #$2F + eor #'/' beq LA7ED lda MLI.PFIXPTR @@ -837,7 +842,6 @@ LA80B lda GP.XCNUM sta BS.KW.JMPADDR lda BS.KW.JMP+1,x sta BS.KW.JMPADDR+1 -* >DEBUG clc txa @@ -864,12 +868,12 @@ LA80B lda GP.XCNUM and #$08 bne LA844 - lda #$06 + lda #BS.E.PATHNFND6 rts LA844 jmp (BS.KW.JMPADDR) -BS.ERR10 lda #$10 +BS.SYNERR lda #BS.E.SYNTAX LA849 sec rts *-------------------------------------- @@ -900,7 +904,7 @@ BS.GetVolAtSxDy lda GP.ParamS lda GP.ParamS sta GP.VDEFSLT lda BS.CMDBUF - eor #$2F + eor #'/' beq LA8F4 lda IO.LINEBUF+1 @@ -922,9 +926,9 @@ LA89D dex lda BS.CMDBUF,y sta BS.CMDBUF,x - jmp LA89D + bra LA89D -LA8AA lda #$2F +LA8AA lda #'/' sta BS.CMDBUF LA8AF sta BS.CMDBUF,x @@ -959,9 +963,9 @@ LA8D9 dex lda MLI.PATHBUF+1,y sta MLI.PATHBUF+1,x - jmp LA8D9 + bra LA8D9 -LA8E6 lda #$2F +LA8E6 lda #'/' sta MLI.PATHBUF+1 LA8EB sta MLI.PATHBUF+1,x @@ -987,7 +991,7 @@ LA8FB cmp BS.KW.OPT,y cmp #'T' beq LA90A -LA907 jmp BS.ERR10 +LA907 jmp BS.SYNERR LA90A lda #$04 and GP.AllowedBITS @@ -1011,7 +1015,7 @@ LA90A lda #$04 jmp BS.GetFTypeASC LA931 sec - lda #$0B + lda #BS.E.INVOPT rts LA935 lda BS.KW.OPT.PBITSLO,y @@ -1095,7 +1099,6 @@ LA9AF lda BS.TMPBUF4,x clc rts -LA9BE jmp BS.ERR10 LA9C1 jmp LA76C BS.GetFTypeASC ldy #$00 @@ -1108,7 +1111,7 @@ LA9C6 sta BS.TMPBUF4,y jsr BS.GetCharSpaceSep bne LA9C6 - beq LA9BE +LA9BE jmp BS.SYNERR LA9D5 stx GP.INPTR LA9D8 ldx #$00 @@ -1149,7 +1152,7 @@ BS.GetPathInPathBuf jsr BS.GetChar UC sta MLI.PATHBUF,y iny - cmp #$2C + cmp #',' beq LAA45 cmp #$20 @@ -1166,6 +1169,8 @@ BS.GetPathInPathBuf *-------------------------------------- BS.GetKWInCmdBuf ldx #$00 + +BS.GetKWInCmdBufAtX ldy #$00 LAA2D jsr BS.GetChar UC @@ -1198,18 +1203,18 @@ BS.GetCharSpaceSep LAA56 clc LAA57 rts *-------------------------------------- -BS.GetCharUC lda IO.LINEBUF,x - and #$7F - cmp #$61 - bcc .1 +*BS.GetCharUC lda IO.LINEBUF,x +* and #$7F +* cmp #$61 +* bcc .1 - and #$5F +* and #$5F -.1 inx - cmp BS.GetCharSep - beq BS.GetCharUC +*.1 inx +* cmp BS.GetCharSep +* beq BS.GetCharUC - rts +* rts *-------------------------------------- BS.GetChar lda IO.LINEBUF,x and #$7F @@ -1220,10 +1225,10 @@ BS.GetChar lda IO.LINEBUF,x rts *-------------------------------------- -BS.GetDecDigit cmp #$30 +BS.GetDecDigit cmp #'0' bcc LAA72 - cmp #$3A + cmp #'9'+1 bcc LAA76 LAA72 sec @@ -1276,16 +1281,16 @@ LAAB8 lda #$FF sec LAABB rts *-------------------------------------- -BS.GetHexDigit cmp #$30 +BS.GetHexDigit cmp #'0' bcc LAACC - cmp #$3A + cmp #'9'+1 bcc LAAD2 - cmp #$41 + cmp #'A' bcc LAACC - cmp #$47 + cmp #'F'+1 bcc LAAD0 LAACC sec @@ -1346,6 +1351,7 @@ LAB14 lda BS.CMDBUF,y LAB20 lda GP.XCNUM asl tax + lda BS.KW.PBITS-1,x sta GP.AllowedBITS+1 lda BS.KW.PBITS-2,x @@ -1367,7 +1373,7 @@ BS.TMPBUF3Reset stz BS.TMPBUF4 stz BS.TMPBUF4+2 rts *-------------------------------------- -BS.KW.APPEND lda GP.FITYPE +BS.KW.DASH lda GP.FITYPE cmp #$FC beq BS.KW.RUN @@ -1385,7 +1391,7 @@ LAB63 cmp #$FF cmp #$B3 beq LAB6F - lda #$0D + lda #BS.E.MISMATCH sec rts @@ -1419,8 +1425,8 @@ LABA6 sec bcs LABA3 jmp BS.QUIT.IIgs - -BS.KW.X05 jsr LA411 +*-------------------------------------- +BS.KW.CHAIN jsr LA411 lda AS.HIMEM+1 sta BS.AS.HIMEMSave ldx XBBEA @@ -1435,7 +1441,7 @@ BS.KW.X05 jsr LA411 jsr LA480 lda #$00 beq LABE6 - +*-------------------------------------- BS.KW.RUN stz GP.IFILACTV stz AS.ERRNUM @@ -1462,15 +1468,15 @@ LABF4 jsr AS.NORMAL sta ZP.PROMPT ldx #$04 jsr BS.SetState - jmp BS.ERR10 - -BS.KW.RESTORE jsr LAC1D + jmp BS.SYNERR +*-------------------------------------- +BS.KW.LOAD jsr LAC1D bcs LAC33 BS.ENTRY jsr AS.CLEAR1 jsr BS.SetState0 - lda #$00 - sta ZP.CH + + stz ZP.CH jmp AS.RESTART1 LAC1D jsr LB562 @@ -1493,8 +1499,7 @@ LAC34 lda #$01 jsr BS.CheckFTypeXAccessA bcs LAC33 - lda #MLI.C.GETEOF - jsr GP.GOSYSTEM + jsr BS.MLIGetEOF bcs LAC33 lda AS.PGRMSTART @@ -1509,7 +1514,7 @@ LAC34 lda #$01 cmp AS.HIMEM+1 -LAC5E lda #$0E +LAC5E lda #BS.E.TOOLARGE bcs LAC33 ldx GP.SBUFADR @@ -1580,7 +1585,7 @@ LACB6 lda GP.FoundBITS+1 clc LACD9 rts *-------------------------------------- -BS.KW.STORE bcc LACFE +BS.KW.SAVE bcc LACFE lda #$FC sta GP.ParamT @@ -1622,8 +1627,7 @@ LACFE lda #$02 jsr BS.WriteXYBytes bcs LAD47 - lda #MLI.C.SETEOF - jsr GP.GOSYSTEM + jsr BS.MLISetEOF bcs LAD47 jsr BS.MLIClose @@ -1675,7 +1679,7 @@ LAD82 stx GP.CRACCESS lda #MLI.C.CREATE jmp GP.GOSYSTEM -LAD8D lda #$0C +LAD8D lda #BS.E.NOBUFFER rts *-------------------------------------- BS.KW.RENAME lda GP.FoundBITS @@ -1684,10 +1688,12 @@ BS.KW.RENAME lda GP.FoundBITS lda #MLI.C.RENAME bcs LAD9E - jmp BS.ERR10 + jmp BS.SYNERR *-------------------------------------- BS.KW.DELETE lda #MLI.C.DESTROY - + .HS 2C BIT ABS +BS.SETPREFIX lda #MLI.C.SETPREFIX + LAD9E jmp GP.GOSYSTEM *-------------------------------------- BS.KW.LOCK jsr BS.GetFileInfo @@ -1704,20 +1710,18 @@ BS.KW.UNLOCK1 sta GP.FIACCESS jmp BS.SetFileInfo *-------------------------------------- BS.KW.PREFIX lda GP.FoundBITS+1 - and #$04 - sec - bne LADCB + and #CMDBITS1.SD + + bne BS.SETPREFIX lda GP.FoundBITS lsr + bcs BS.SETPREFIX -LADCB lda #MLI.C.SETPREFIX - bcs LAD9E - - lda ZP.PROMPT +BS.GETPREFIX lda ZP.PROMPT beq LADF0 - jsr BS.CROUT + jsr MON.CROUT ldx #$00 LADD8 cpx BS.CMDBUF.LEN @@ -1725,12 +1729,12 @@ LADD8 cpx BS.CMDBUF.LEN lda BS.CMDBUF,x ora #$80 - jsr BS.COUT + jsr MON.COUT inx bne LADD8 -LADE8 jsr BS.CROUT - jsr BS.CROUT +LADE8 jsr MON.CROUT + jsr MON.CROUT clc rts diff --git a/BASIC.FX/BASIC.S.C.txt b/BASIC.FX/BASIC.S.C.txt index 93c98859..831eeadf 100644 --- a/BASIC.FX/BASIC.S.C.txt +++ b/BASIC.FX/BASIC.S.C.txt @@ -102,16 +102,14 @@ LAE80 ldx GP.ParamL LAEA5 bcs LAEC5 - lda #$02 + lda #BS.E.RANGE + .HS 2C BIT ABS + +LAEAB lda #BS.E.INVOPT sec rts -LAEAB lda #$0B - sec - rts - -LAEAF lda #MLI.C.GETEOF - jsr GP.GOSYSTEM +LAEAF jsr BS.MLIGetEOF bcs LAEC3 ldx GP.SBUFADR @@ -119,7 +117,7 @@ LAEAF lda #MLI.C.GETEOF lda GP.SBUFADR+2 beq LAEC5 - lda #$0E + lda #BS.E.TOOLARGE LAEC3 sec rts @@ -135,8 +133,7 @@ LAED4 lda GP.ParamB,x dex bpl LAED4 -LAEDD lda #MLI.C.SETMARK - jsr GP.GOSYSTEM +LAEDD jsr BS.MLISetMark ldx GP.XCNUM bcc LAEF7 @@ -146,8 +143,7 @@ LAEDD lda #MLI.C.SETMARK cpx #$0F bne LAEC3 - lda #MLI.C.SETEOF - jsr GP.GOSYSTEM + jsr BS.MLISetEOF bcc LAEDD rts @@ -166,8 +162,7 @@ LAEF7 ldx GP.XCNUM ldx GP.MLIRW.COUNT ldy GP.MLIRW.COUNT+1 jsr BS.SetSBUFADRXY0 - lda #MLI.C.SETEOF - jsr GP.GOSYSTEM + jsr BS.MLISetEOF LAF22 lda #MLI.C.WRITE @@ -184,10 +179,9 @@ LAF24 jsr GP.GOSYSTEM LAF35 jmp BS.MLIClose -LAF38 sec - rts +LAF38 rts *-------------------------------------- -BS.KW.SAVE bcc LAF4E +BS.KW.STORE bcc LAF4E lda #$FD sta GP.ParamT @@ -205,7 +199,7 @@ LAF4E jsr LA411 jsr BS.CheckFTypeXAccessA bcs LAF95 - jsr BS.SetupRW5AtBBE4 + jsr BS.SetupRWBASHDR jsr BS.WriteXYBytes bcs LAF95 @@ -220,17 +214,15 @@ LAF4E jsr LA411 jsr BS.WriteXYBytes bcs LAF95 - lda #MLI.C.GETMARK - jsr GP.GOSYSTEM + jsr BS.MLIGetMark - lda #MLI.C.SETEOF - jsr GP.GOSYSTEM + jsr BS.MLISetEOF bcs LAF95 jsr BS.SetFileInfoNoDate bcs LAF95 - jsr BS.MLIClose +LAF92 jsr BS.MLIClose LAF95 php pha @@ -239,21 +231,21 @@ LAF95 php plp LAF9C rts *-------------------------------------- -BS.SetupRW5AtBBE4 - lda #$E4 +BS.SetupRWBASHDR + lda #BS.BAS.HDR sta GP.MLIRW.DATAPTR - lda #$BB + lda /BS.BAS.HDR sta GP.MLIRW.DATAPTR+1 ldy #$00 ldx #$05 rts *-------------------------------------- -BS.KW.LOAD ldx #$FD +BS.KW.RESTORE ldx #$FD lda #$01 jsr BS.CheckFTypeXAccessA bcs LAF9C - jsr BS.SetupRW5AtBBE4 + jsr BS.SetupRWBASHDR jsr BS.ReadXYBytes bcs LAF9C @@ -281,33 +273,44 @@ BS.KW.LOAD ldx #$FD jsr BS.ReadXYBytes bcs LAF9C - jsr BS.MLIClose - jmp LAF95 + bra LAF92 -LAFF3 lda #$0E +LAFF3 lda #BS.E.TOOLARGE sec rts *-------------------------------------- -BS.ReadXYBytes lda #MLI.C.READ - .HS 2C BIT ABS - -BS.WriteXYBytes lda #MLI.C.WRITE +BS.ReadXYBytes clc + .HS B0 BCS +BS.WriteXYBytes sec sty GP.MLIRW.COUNT+1 stx GP.MLIRW.COUNT + bcc BS.MLIRead +BS.MLIWrite lda #MLI.C.WRITE + .HS 2C BIT ABS +BS.MLIRead lda #MLI.C.READ .HS 2C BIT ABS BS.MLIClose lda #MLI.C.CLOSE + .HS 2C BIT ABS +BS.MLIGetEOF lda #MLI.C.GETEOF + .HS 2C BIT ABS +BS.MLISetEOF lda #MLI.C.SETEOF + .HS 2C BIT ABS +BS.MLIGetMark lda #MLI.C.GETMARK + .HS 2C BIT ABS +BS.MLISetMark lda #MLI.C.SETMARK jmp GP.GOSYSTEM *-------------------------------------- -BS.KW.IN lda #$00 - sta BS.GetCharSep +BS.KW.PR lda #$00 + tax beq LB018 *-------------------------------------- -BS.KW.PR lda #$02 - sta BS.GetCharSep +BS.KW.IN ldx #$02 lda #$08 -LB018 ora GP.ParamINPR +LB018 stx BS.GetCharSep + + ora GP.ParamINPR asl tax lda GP.FoundBITS @@ -368,13 +371,13 @@ LB081 lda (ZP.PCL),y cmp #$D8 beq LB07F -LB087 lda #$03 +LB087 lda #BS.E.NODEV sec rts *-------------------------------------- BS.KW.BYE jsr LB562 jsr LB36B - lda #$65 +* lda #$65 jsr MLI .DA #MLI.C.QUIT .DA GP.MLIRW @@ -409,15 +412,15 @@ LB0BA bcs LB0C1 LB0C1 jsr LB1BA bcs LB127 - jsr BS.CROUT + jsr MON.CROUT jsr LB128 jsr BS.LINEBUFOUT - jsr BS.CROUT + jsr MON.CROUT jsr BS.LINEBUFCLR80 ldx #$10 jsr BS.PRINTERRMSGX jsr BS.LINEBUFOUT - jsr BS.CROUT + jsr MON.CROUT lda XBC14 ora XBC15 @@ -449,12 +452,12 @@ LB10E lda #$FF LB113 jsr BS.MLIClose bcs LB127 - jsr BS.CROUT + jsr MON.CROUT jsr LB157 bcs LB127 jsr BS.LINEBUFOUT - jsr BS.CROUT + jsr MON.CROUT clc LB127 rts @@ -462,7 +465,7 @@ LB127 rts LB128 jsr BS.LINEBUFCLR80 ldx #$01 ldy DIRENTBUF.STNL - lda #$AF + lda #"/" cpy #$F0 bcc LB13A @@ -501,7 +504,7 @@ LB157 ldx #BS.CMDBUF tax inx stx BS.CMDBUF.LEN - lda #$AF + lda #"/" sta BS.CMDBUF jsr BS.GetFileInfo bcs LB127 @@ -550,8 +553,7 @@ BS.ReadDirEnt lda #$59 sta GP.MLIRW.COUNT stz GP.MLIRW.COUNT+1 - lda #MLI.C.READ - jsr GP.GOSYSTEM + jsr BS.MLIRead bcs LB203 ldx #$03 @@ -600,11 +602,10 @@ LB210 cpx GP.FITYPE LB238 rts -LB239 lda #$0D - sec - rts +LB239 lda #BS.E.MISMATCH + .HS 2C BIT ABS -LB23D lda #$0A +LB23D lda #BS.E.LOCKED sec rts *-------------------------------------- @@ -633,12 +634,10 @@ LB25D dey LB268 adc #$04 sta GP.SBUFADR - lda #MLI.C.SETMARK - jsr GP.GOSYSTEM + jsr BS.MLISetMark bcs LB28D - lda #MLI.C.READ - jsr GP.GOSYSTEM + jsr BS.MLIRead bcs LB28D inc XBC16 @@ -667,8 +666,7 @@ BS.KW.EXEC jsr BS.CheckFilename jsr BS.ZeroSBUFADR - lda #MLI.C.SETMARK - jsr GP.GOSYSTEM + jsr BS.MLISetMark bcs LB2B5 lda GP.MLIMRKEOFBUF.REFNUM @@ -680,7 +678,7 @@ LB2B5 pha sec rts -LB2BC lda #$14 +LB2BC lda #BS.E.FBUSTY sec rts @@ -694,7 +692,7 @@ LB2CA lda GP.FITYPE cmp #$04 beq LB2D5 - lda #$0D + lda #BS.E.MISMATCH LB2D3 sec rts @@ -789,8 +787,8 @@ LB36B lda GP.EXECACTV jsr LB515 LB37B rts - -BS.KW.X10 bcs LB3B7 +*-------------------------------------- +BS.KW.VERIFY bcs LB3B7 lda GP.FoundBITS and #$01 @@ -798,7 +796,7 @@ BS.KW.X10 bcs LB3B7 ldx #$00 jsr BS.PRINTERRX - jsr BS.CROUT + jsr MON.CROUT LB38D clc rts @@ -818,21 +816,17 @@ LB39F sta GP.MLICF.REFNUM jsr GP.GOSYSTEM LB3A7 rts - -BS.KW.03 php +*-------------------------------------- +BS.KW.OPEN php jsr BS.CheckFilename bcs LB3BB plp - lda #$14 - sec - rts - -LB3B3 lda #$0D - sec - rts - -LB3B7 lda #$06 + lda #BS.E.FBUSTY + .HS 2C BIT ABS +LB3B3 lda #BS.E.MISMATCH + .HS 2C BIT ABS +LB3B7 lda #BS.E.PATHNFND6 LB3B9 sec rts @@ -948,7 +942,7 @@ LB481 inx dec ZP.PCL bne LB481 -BS.KW.X07 clc +BS.KW.NOMON clc rts BS.CheckFilename @@ -956,7 +950,7 @@ BS.CheckFilename and #$01 bne LB49A - lda #$10 + lda #BS.E.SYNTAX sec rts @@ -992,7 +986,7 @@ LB4B8 lda GP.EXECACTV ldx #$08 bne LB4AE -LB4CE lda #$12 +LB4CE lda #BS.E.FNOTOPEN sec rts @@ -1030,8 +1024,8 @@ LB4FA inx bne LB4FA LB508 rts - -BS.KW.X06 lda GP.FoundBITS +*-------------------------------------- +BS.KW.CLOSE lda GP.FoundBITS and #$01 beq LB562 @@ -1090,7 +1084,7 @@ LB573 stz GP.MLICF.REFNUM sta MLI.LEVEL jmp BS.MLIClose *-------------------------------------- -BS.KW.CLOSE jsr BS.CheckFilename +BS.KW.POSITION jsr BS.CheckFilename bcs LB5EF sta GP.MLIRW.REFNUM @@ -1132,8 +1126,7 @@ LB5CB lda GP.ParamF clc beq LB5F0 - lda #MLI.C.READ - jsr GP.GOSYSTEM + jsr BS.MLIRead bcs LB5EF lda GP.ParamF @@ -1144,7 +1137,7 @@ LB5CB lda GP.ParamF sta GP.ParamF+1 bcs LB5CB -LB5ED lda #$0B +LB5ED lda #BS.E.INVOPT LB5EF sec LB5F0 rts *-------------------------------------- @@ -1191,11 +1184,11 @@ LB62F rol BS.TMPBUF4,x clc rts -LB642 lda #$02 +LB642 lda #BS.E.RANGE sec rts *-------------------------------------- -BS.KW.X04 jsr BS.CheckFilename +BS.KW.READ jsr BS.CheckFilename bcs LB69B sta GP.MLIRW.REFNUM @@ -1254,16 +1247,12 @@ LB69C lda #$59 jsr BS.ZeroSBUFADR - lda #MLI.C.SETMARK - jsr GP.GOSYSTEM - bcs LB6CA - - lda #$FF - sta GP.IFILACTV + jsr BS.MLISetMark + bcc LB696 LB6CA rts -LB6CB lda #$02 +LB6CB lda #BS.E.RANGE tax sec rts @@ -1292,8 +1281,7 @@ LB6F1 lda GP.FoundBITS+1 and #$40 beq LB719 - lda #MLI.C.GETMARK - jsr GP.GOSYSTEM + jsr BS.MLIGetMark bcs LB71A ldx #$00 @@ -1308,15 +1296,14 @@ LB703 lda GP.ParamB,x bcs LB6CB -LB712 lda #MLI.C.SETMARK - jsr GP.GOSYSTEM +LB712 jsr BS.MLISetMark bcs LB71A LB719 clc LB71A ldx #$00 rts *-------------------------------------- -BS.KW.X08 jsr BS.CheckFilename +BS.KW.WRITE jsr BS.CheckFilename bcs LB732 sta GP.MLIRW.REFNUM @@ -1325,7 +1312,7 @@ BS.KW.X08 jsr BS.CheckFilename bit GP.DIRFLG bpl LB734 - lda #$0A + lda #BS.E.LOCKED LB732 sec rts @@ -1342,8 +1329,7 @@ LB734 stz GP.MLIRW.DATAPTR cpx #$02 beq LB732 -LB74B lda #MLI.C.SETEOF - jsr GP.GOSYSTEM +LB74B jsr BS.MLISetEOF bcs LB732 jsr LB6E0 @@ -1358,12 +1344,12 @@ LB757 lda AS.HIMEM clc rts *-------------------------------------- -BS.KW.X09 php +BS.KW.APPEND php jsr BS.CheckFilename bcc LB77A plp - jsr BS.KW.03 + jsr BS.KW.OPEN bcs LB788 lda GP.OREFNUM @@ -1378,7 +1364,7 @@ LB77B sta GP.MLIRW.REFNUM bit GP.DIRFLG bpl LB78A - lda #$0A + lda #BS.E.LOCKED LB788 sec rts @@ -1401,8 +1387,7 @@ LB79D txa tya sta XBC5B,x sta XBC00 - lda #MLI.C.GETEOF - jsr GP.GOSYSTEM + jsr BS.MLIGetEOF bcs LB788 lda XBC00 @@ -1418,13 +1403,15 @@ LB7C8 jsr LB7D0 LB7CD jmp LB74B *-------------------------------------- LB7D0 ldx #$03 + LB7D2 lda GP.MLIMRKEOFBUF.REFNUM,x sta XBC09,x dex bne LB7D2 - stx BS.TMPBUF4+3 - stx XBC0E + stz BS.TMPBUF4+3 + stz XBC0E + ldy #$18 LB7E3 jsr BS.TMPBUF3x2 @@ -1464,33 +1451,130 @@ LB805 dey tya adc GP.SBUFADR+1 sta GP.SBUFADR+1 - lda GP.SBUFADR+2 - adc #$00 - sta GP.SBUFADR+2 - lda #$02 + bcc .1 + + inc GP.SBUFADR+2 + +.1 lda #$02 LB839 rts *-------------------------------------- -BS.GetFileInfo lda #$0A - sta GP.SSGINFO +BS.GetFileInfo ldx #$0A lda #MLI.C.GETFILEINFO bne LB858 BS.SetFileInfoNoDate - stz GP.FIMDATE - stz GP.FIMDATE+1 - stz GP.FICDATE - stz GP.FICDATE+1 + ldx #7 -BS.SetFileInfo lda #$07 - sta GP.SSGINFO +.1 stz GP.FIMDATE,x + dex + bpl .1 + +BS.SetFileInfo ldx #$07 lda #MLI.C.SETFILEINFO -LB858 jmp GP.GOSYSTEM +LB858 stx GP.SSGINFO + jmp GP.GOSYSTEM BS.JMP.GP.VSYSO jmp (GP.VSYSO) BS.JMP.GP.VSYSI jmp (GP.VSYSI) *-------------------------------------- +BS.Expand2PATHBUF + lda #1 + sta MLI.PATHBUF + lda #'/' set target path = 1/ + sta MLI.PATHBUF+1 +* >DEBUG + cmp BS.CMDBUF new path is absolute ? + beq .1 + + jsr MLI no, get current path as a base + .DA #MLI.C.GETPREFIX + .DA BS.Expand2.P + +.1 stz BS.Expand.Ptr + +.2 jsr BS.Expand.GetN + beq .8 + + cmp #'.' + bne .6 + + jsr BS.Expand.GetN + beq .9 + + cmp #'/' /./ ???? discard + beq .2 + + cmp #'.' /.DIR.... + bne .5 + + jsr BS.Expand.GetN + beq .3 /.. + + cmp #'/' + bne .9 + + ldy MLI.PATHBUF remove /DIR/.. + cpy #1 + beq .9 only / + +.3 dey + lda MLI.PATHBUF,y + cmp #'/' + bne .3 + + sty MLI.PATHBUF + bra .2 + +.5 pha + lda #'.' + jsr BS.Expand.PutN + pla + +.6 jsr BS.Expand.PutN + +.7 jsr BS.Expand.GetN + beq .8 + + jsr BS.Expand.PutN + + cmp #'/' + bne .7 + + bra .2 + +.8 ldy MLI.PATHBUF + +.80 lda MLI.PATHBUF,y + sta BS.CMDBUF.LEN,y + dey + bpl .80 + + clc + rts + +.9 sec + rts + +BS.Expand.GetN ldx BS.Expand.Ptr + cpx BS.CMDBUF.LEN + beq .8 + + inc BS.Expand.Ptr + lda BS.CMDBUF,x NZ + +.8 rts + +BS.Expand.PutN inc MLI.PATHBUF + ldy MLI.PATHBUF + sta MLI.PATHBUF,y + rts + +BS.Expand.Ptr .BS 1 +BS.Expand2.P .DA #1 + .DA MLI.PATHBUF +*-------------------------------------- BS.ToUpper cmp #'a' bcc .9 diff --git a/BASIC.FX/BASIC.S.D.txt b/BASIC.FX/BASIC.S.D.txt index 1bdf99af..2a889186 100644 --- a/BASIC.FX/BASIC.S.D.txt +++ b/BASIC.FX/BASIC.S.D.txt @@ -135,83 +135,86 @@ BS.KW.LEN .DA #$47 BS.KW.TABLE .AS "BSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND" *-------------------------------------- BS.KW.JMP .DA BS.JMP.XTRNADDR $00 - .DA BS.KW.PR .DA BS.KW.IN + .DA BS.KW.PR .DA BS.KW.CAT - .DA BS.KW.01 + .DA BS.KW.FRE .DA BS.KW.BYE .DA BS.KW.RUN .DA BS.KW.BRUN .DA BS.KW.EXEC $10 - .DA BS.KW.RESTORE + .DA BS.KW.LOAD .DA BS.KW.LOCK - .DA BS.KW.03 - .DA BS.KW.X04 - .DA BS.KW.STORE + .DA BS.KW.OPEN + .DA BS.KW.READ + .DA BS.KW.SAVE .DA BS.KW.BLOAD .DA BS.KW.BSAVE - .DA BS.KW.X05 $20 - .DA BS.KW.X06 + .DA BS.KW.CHAIN $20 + .DA BS.KW.CLOSE .DA BS.KW.FLUSH - .DA BS.KW.X07 - .DA BS.KW.SAVE - .DA BS.KW.X08 - .DA BS.KW.X09 + .DA BS.KW.NOMON + .DA BS.KW.STORE + .DA BS.KW.WRITE + .DA BS.KW.APPEND .DA BS.KW.CREATE .DA BS.KW.DELETE $30 .DA BS.KW.PREFIX .DA BS.KW.RENAME .DA BS.KW.UNLOCK - .DA BS.KW.X10 + .DA BS.KW.VERIFY .DA BS.KW.CATALOG - .DA BS.KW.LOAD - .DA BS.KW.CLOSE - .DA BS.KW.APPEND $40 + .DA BS.KW.RESTORE + .DA BS.KW.POSITION + .DA BS.KW.DASH $40 *-------------------------------------- -BS.KW.PBITS .DA $8040 - .DA $8040 - .DA $0495 - .DA $0000 - .DA $0000 - .DA $0C11 - .DA $F401 - .DA $0701 - .DA $0401 - .DA $0401 - .DA $142D - .DA $5321 - .DA $0409 - .DA $F405 - .DA $F40D - .DA $0C01 - .DA $0001 - .DA $0001 - .DA $0000 - .DA $0409 - .DA $4321 - .DA $142D - .DA $040D - .DA $0401 - .DA $0491 - .DA $0403 - .DA $0401 - .DA $0411 - .DA $0495 - .DA $0401 - .DA $0321 - .DA $0401 -BS.KW.OPT .AS "ABELSDFRV@" +BS.KW.PBITS .DA $8040 IN + .DA $8040 PR + .DA $0495 CAT + .DA $0000 FRE + .DA $0000 BYE + .DA $0C11 RUN + .DA $F401 BRUN + .DA $0701 EXEC + .DA $0401 LOAD + .DA $0401 LOCK + .DA $142D OPEN + .DA $5321 READ + .DA $0409 SAVE + .DA $F405 BLOAD + .DA $F40D BSAVE + .DA $0C01 CHAIN + .DA $0001 CLOSE + .DA $0001 FLUSH + .DA $0000 NOMON + .DA $0409 STORE + .DA $4321 WRITE + .DA $142D APPEND + .DA $040D CREATE + .DA $0401 DELETE + .DA $0491 PREFIX + .DA $0403 RENAME + .DA $0401 UNLOCK + .DA $0411 VERIFY + .DA $0495 CATALOG + .DA $0401 RESTORE + .DA $0321 POSITION + .DA $0401 DASH +BS.KW.OPT .AS "ABELS@FRVD" +*-------------------------------------- +BS.WHICHBITS +* .HS 8040201008040201 BS.KW.OPT.PBITSLO .DA #$80 .DA #$40 .DA #$20 .DA #$10 - .DA #$04 + .DA #$08 .DA #$04 .DA #$02 .DA #$01 .DA #$00 - .DA #$08 + .DA #$04 BS.KW.OPT.PBITSHI .DA #$05 .DA #$12 @@ -283,9 +286,9 @@ BS.BIERRTBL .DA #$03 .DA #$14 .DA #$0B .DA #$0C + .DA #$08 *-------------------------------------- -BS.ERRCODES .DA #$08 - .DA #$54 +BS.ERRCODES .DA #$54 .DA #$5B .DA #$66 .DA #$6F @@ -304,39 +307,13 @@ BS.ERRCODES .DA #$08 .DA #$D9 .DA #$E1 .DA #$EC + .DA #$F3 *-------------------------------------- -BS.TBL6 .DA #$F3 - .DA #$C1 - .DA #$C3 - .DA #$C4 - .DA #$C5 - .DA #$C6 - .DA #$C9 - .DA #$CC - .DA #$CD - .DA #$CE - .DA #$CF - .DA #$D2 - .DA #$D4 - .DA #$D5 - .DA #$A0 +BS.TBL6 .AS -"ACDEFILMNORTU " .DA #$00 +*-------------------------------------- .DA #$00 - .DA #$C2 - .DA #$C7 - .DA #$C8 - .DA #$CB - .DA #$D0 - .DA #$D3 - .DA #$D6 - .DA #$D7 - .DA #$D8 - .DA #$D9 - .DA #$AF - .DA #$A8 - .DA #$A9 - .DA #$AE - .DA #$BA + .AS -"BGHKPSVWXY/().:" *-------------------------------------- BS.TBL7 .DA #$2A .DA #$05 diff --git a/BASIC.FX/BASIC.S.GP..txt b/BASIC.FX/BASIC.S.GP..txt index d0dd3b8f..6e1ae09a 100644 --- a/BASIC.FX/BASIC.S.GP..txt +++ b/BASIC.FX/BASIC.S.GP..txt @@ -123,10 +123,8 @@ GP.FITYPE .BS 1 GP.FIAUXTYPE .BS 2 GP.STTYPE .BS 1 GP.FIBLOKS .BS 2 -GP.FIMDATE .BS 2 -GP.FICDATE .BS 2 - - .BS 4 +GP.FIMDATE .BS 4 +GP.FICDATE .BS 4 *-------------------------------------- GP.MLIMRKEOFBUF .DA #2 GP.MLIMRKEOFBUF.REFNUM diff --git a/BASIC.FX/BASIC.S.LDR.txt b/BASIC.FX/BASIC.S.LDR.txt index b483ec12..9dd22e7f 100644 --- a/BASIC.FX/BASIC.S.LDR.txt +++ b/BASIC.FX/BASIC.S.LDR.txt @@ -172,7 +172,7 @@ L214E jsr MLI tax inx stx MLI.PATHBUF - lda #$2F + lda #'/' sta MLI.PATHBUF+1 jsr MLI .DA #MLI.C.SETPREFIX diff --git a/BASIC.FX/BASIC.S.txt b/BASIC.FX/BASIC.S.txt index 80e15a52..9b0efa3e 100644 --- a/BASIC.FX/BASIC.S.txt +++ b/BASIC.FX/BASIC.S.txt @@ -13,6 +13,27 @@ NEW *-------------------------------------- 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 @@ -167,6 +188,7 @@ 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 diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index ddca6f0a..38552546 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -265,9 +265,10 @@ Ctrl.CR lda #C.CR >CMP.G ViewPortHm1 bne .1 - jsr SCRN.LineBufOut Bottom line, all done, just CEOL + jsr SCRN.LineBufOut Bottom line, CEOL... bcs .99 - jmp SCRN.GotoCurXCurY + + jmp SCRN.UpdateViewPort ...and scroll .1 dec >CMP.G ViewPortHm1 diff --git a/BIN/EDIT.S.DLG.txt b/BIN/EDIT.S.DLG.txt index eced04d1..4b375e96 100644 --- a/BIN/EDIT.S.DLG.txt +++ b/BIN/EDIT.S.DLG.txt @@ -807,7 +807,7 @@ DLG.CTRL.CharIn.BUT rts *-------------------------------------- DLG.DrawBar phy - jsr SCRN.LineBufInitBar + jsr SCRN.LineBufInitDLGBar ldy #S.DLG.W lda (ZPPTR1),y @@ -840,15 +840,14 @@ DLG.DrawBar phy iny bra .3 -.4 jsr DLG.VBarToLineBuf - - jmp SCRN.LineBufOut +.4 jmp SCRN.LineBufOut *-------------------------------------- DLG.VBarToLineBuf ldy #0 -.1 lda SEQ.DLG.RIGHT,y +.1 lda SEQ.DLG.VBAR,y beq .8 + jsr SCRN.ToLineBuf iny bra .1 diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 5f58ee39..a17ee051 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -551,6 +551,10 @@ SCRN.LineBufInitBar phx ldx #SEQ.BAR-SEQS bra SCRN.LineBufInit +SCRN.LineBufInitDLGBar + phx + ldx #SEQ.DLG.BAR-SEQS + bra SCRN.LineBufInit SCRN.LineBufInitDLG phx ldx #SEQ.DLG-SEQS diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 86a03efe..8cb5dea2 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -460,10 +460,13 @@ CharIn.TmpByte10pA CS.END SEQS .EQ * SEQ.BAR .AZ "\e[7m\e[37;40m" +SEQ.DLG.BAR .AS "\e[0m\e[37;40m" + .DA #C.SO,#'x',#C.SI + .AZ "\e[7m\e[37;40m" SEQ.DLG .AS "\e[30;46m" .DA #C.SO,#'x',#C.SI .DA #0 -SEQ.DLG.RIGHT .AS "\e[37;40m" +SEQ.DLG.VBAR .AS "\e[37;40m" .DA #C.SO,#'x',#C.SI .DA #0 SEQ.DLG.LBL .AZ "\e[0m\e[30;46m" diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 41b0819d..34f647b8 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -358,7 +358,13 @@ OPEN.SnY >AR.Sn.SELECT S0.MR lda #W5100.AR.Sn.MR.IPRAW sta W5100.DR,x - >AR.Sn.SELECT S0.PROTO + >AR.Sn.SELECT S0.MSSR + lda /K.ETH.FRAME.LEN + sta W5100.DR,x + lda #K.ETH.FRAME.LEN + sta W5100.DR,x + +* >AR.Sn.SELECT S0.PROTO tya sta W5100.DR,x @@ -368,6 +374,23 @@ OPEN.SnY >AR.Sn.SELECT S0.MR * >AR.Sn.SELECT Sn.TTL lda #K.IP.TTL sta W5100.DR,x + + >AR.Sn.SELECT S0.PORT + stz W5100.DR,x + stz W5100.DR,x + +* >AR.Sn.SELECT S0.DHAR + + ldy #10 DHAR+DIPR + lda #$ff + +.1 sta W5100.DR,x + dey + bpl .1 + +* >AR.Sn.SELECT S0.DPORT + stz W5100.DR,x + stz W5100.DR,x >AR.Sn.SELECT S0.CR lda #W5100.AR.Sn.CR.OPEN @@ -721,6 +744,8 @@ WRITE php .11 lda Sn.IO.BASE,y sta Sn.IO + ora #$30 + sta $426 lda Sn.TX.BASE,y sta Sn.BASE lda Sn.RXTX.MASK,y diff --git a/SCMASM.31/SCI.S.CPAR.txt b/SCMASM.31/SCI.S.CPAR.txt index ba1e7695..cb3fcc47 100644 --- a/SCMASM.31/SCI.S.CPAR.txt +++ b/SCMASM.31/SCI.S.CPAR.txt @@ -268,7 +268,16 @@ SCAN.COMMAND.TABLE .2 INY next byte in command table JSR GET.NEXT.NONBLANK BEQ .4 ...end of WBUF contents - EOR COMMAND.TABLE,Y + + cmp #'a' + bcc .20 + + cmp #'z'+1 + bcs .20 + + eor #$20 + +.20 EOR COMMAND.TABLE,Y BEQ .2 ...same so far ASL Might be last char BNE .4 ...No, try next command diff --git a/SYS/KERNEL.S.ERRORX.txt b/SYS/KERNEL.S.ERRORX.txt index 0f3cd2f2..945373ac 100644 --- a/SYS/KERNEL.S.ERRORX.txt +++ b/SYS/KERNEL.S.ERRORX.txt @@ -112,7 +112,7 @@ ERRORX.MSG .AT "Bad MLI Call" .AT "Dup. Filename" .AT "Vol Is Full" .AT "Dir Is Full" - .AT "Incompatible File Format" + .AT "Incomp. File Format" .AT "Unsupp. Storage" .AT "End Of File" .AT "File Locked"