NEW AUTO 3,1 *-------------------------------------- BSX.JMPX jmp (BSX.JMP,x) BSX.JMP BSX.CheckOpt.X .EQ *-BSX.JMP .DA BSX.CheckOpt BSX.GetDecNum.X .EQ *-BSX.JMP .DA BSX.GetDecNum BSX.Expand.X .EQ *-BSX.JMP .DA BSX.Expand BSX.IsIntCmd.X .EQ *-BSX.JMP .DA BSX.IsIntCmd BSX.GetErrA.X .EQ *-BSX.JMP .DA BSX.GetErrA BSX.GetMsgY.X .EQ *-BSX.JMP .DA BSX.GetMsgY BSX.MkCatLine.X .EQ *-BSX.JMP .DA BSX.MkCatLine BSX.MkCatLineF.X .EQ *-BSX.JMP .DA BSX.MkCatLineF BSX.Online.X .EQ *-BSX.JMP .DA BSX.Online BSX.OnlineErr.X .EQ *-BSX.JMP .DA BSX.OnlineErr BSX.InitPath.X .EQ *-BSX.JMP .DA BSX.InitPath BSX.SetPath.X .EQ *-BSX.JMP .DA BSX.SetPath BSX.GetPath.X .EQ *-BSX.JMP .DA BSX.GetPath *-------------------------------------- BSX.FMT.CheckP.X .EQ *-BSX.JMP .DA BSX.FMT.CheckP BSX.FMT.D2.X .EQ *-BSX.JMP .DA BSX.FMT.D2 BSX.FMT.GetCatBlk.X .EQ *-BSX.JMP .DA BSX.FMT.GetCatBlk *-------------------------------------- BSX.Mem.X .EQ *-BSX.JMP .DA BSX.Mem BSX.Fre0.X .EQ *-BSX.JMP .DA BSX.Fre0 BSX.Fre1.X .EQ *-BSX.JMP .DA BSX.Fre1 *-------------------------------------- BSX.Rel.X .EQ *-BSX.JMP .DA BSX.Rel *-------------------------------------- BSX.CheckOpt jsr BS.TMPBUF3Reset jsr BSX.ToUpper ldx BS.ToAUXSaveX ldy #$09 LA8FB cmp BSX.KW.OPT,y beq LA935 dey bpl LA8FB cmp #'T' beq LA90A LA907 lda #BS.E.SYNTAX sec rts LA90A lda #CMDBITS0.T and GP.AllowedBITS beq LA931 tsb GP.FoundBITS stz XBC08 lda #$12 sta XBC09 jsr BS.GetCharSpaceSep beq LA907 cmp #'$' beq LA984 cmp #'A' bcc LA96E jmp BSX.GetFTypeASC LA931 lda #BS.E.INVOPT sec rts LA935 lda BSX.KW.OPT.PBITSLO,y beq LA955 and GP.AllowedBITS+1 beq LA931 cmp #$04 bne LA94F and GP.FoundBITS+1 bne LA955 lda #$01 sta GP.ParamD lda #CMDBITS1.SD LA94F tsb GP.FoundBITS+1 LA955 lda BSX.KW.OPT.PBITSHI,y and #$03 sta XBC08 lda BSX.KW.OPT.PBITSHI,y lsr lsr sta XBC09 jsr BS.GetCharSpaceSep beq LA9BE cmp #'$' beq LA984 LA96E stx GP.INPTR jsr BSX.GetDecDigit bcc LA97A bmi LA9C1 bcs LA9BE LA97A ldx GP.INPTR jsr BS.GetCharSpaceSep bne LA96E beq LA99D LA984 jsr BS.GetCharSpaceSep beq LA9BE LA989 stx GP.INPTR jsr BSX.GetHexDigit bcc LA995 bmi LA9C1 bcs LA9BE LA995 ldx GP.INPTR jsr BS.GetCharSpaceSep bne LA989 LA99D ldx #$02 LA99F cpx XBC08 beq LA9AC lda BS.TMPBUF4,x bne LA9C1 dex bne LA99F LA9AC ldy XBC09 LA9AF lda BS.TMPBUF4,x sta GP.ParamA,y dey dex bpl LA9AF ldx GP.INPTR clc rts LA9C1 lda #BS.E.RANGE .HS 2C BIT ABS LA9BE lda #BS.E.SYNTAX sec rts *-------------------------------------- BSX.GetDecNum ldx BS.ToAUXSaveX bra LA96E *-------------------------------------- BSX.GetDecDigit cmp #'0' bcc LAA72 cmp #'9'+1 bcc LAA76 LAA72 sec ora #$00 rts LAA76 and #$0F pha lda BS.TMPBUF4+2 cmp #$1A bcs LAAA2 ldx #$02 LAA82 lda BS.TMPBUF4,x pha dex bpl LAA82 jsr BS.TMPBUF3x2 jsr BS.TMPBUF3x2 ldx #$00 clc LAA92 pla adc BS.TMPBUF4,x sta BS.TMPBUF4,x inx txa eor #$03 bne LAA92 jsr BS.TMPBUF3x2 LAAA2 pla bcs LAAB8 adc BS.TMPBUF4 sta BS.TMPBUF4 bcc LAABB clc inc BS.TMPBUF4+1 bne LAABB inc BS.TMPBUF4+2 bne LAABB LAAB8 lda #$FF sec LAABB rts *-------------------------------------- BSX.GetHexDigit cmp #'0' bcc LAACC cmp #'9'+1 bcc LAAD2 cmp #'A' bcc LAACC cmp #'F'+1 bcc LAAD0 LAACC sec ora #$00 rts LAAD0 sbc #$06 LAAD2 and #$0F ldx #$03 LAAD6 jsr BS.TMPBUF3x2 bcs LAAB8 dex bpl LAAD6 ora BS.TMPBUF4 sta BS.TMPBUF4 rts *-------------------------------------- BSX.KW.OPT .AS "ABEL@DFRVS" *-------------------------------------- BSX.WHICHBITS * .HS 8040201008040201 BSX.KW.OPT.PBITSLO .DA #$80 .DA #$40 .DA #$20 .DA #$10 .DA #$08 .DA #$04 .DA #$02 .DA #$01 .DA #$00 .DA #$04 BSX.KW.OPT.PBITSHI .DA #$05 .DA #$12 .DA #$19 .DA #$21 .DA #$45 .DA #$28 .DA #$31 .DA #$39 .DA #$40 .DA #$24 *-------------------------------------- BSX.GetFTypeASC ldy #$00 .1 sta BS.TMPBUF4,y iny cpy #$03 beq .3 jsr BS.GetCharSpaceSep bne .1 .2 lda #BS.E.SYNTAX sec rts .3 stx GP.INPTR .4 ldx #$00 lda XBC08 cmp #$0F beq .2 asl adc XBC08 tay .5 lda BS.TMPBUF4,x eor BSX.PRODOSTYPES.ASC,y asl bne .6 iny inx cpx #$03 bne .5 beq .7 .6 inc XBC08 bne .4 .7 lda #$0E sec sbc XBC08 tay lda BSX.PRODOSTYPES.H,y sta GP.ParamT ldx GP.INPTR clc rts *-------------------------------------- BSX.Expand stz BSX.Expand.Ptr start at first char of BS.CMDBUF .2 jsr BSX.Expand.GetN beq .8 cmp #'.' bne .6 jsr BSX.Expand.GetN beq .9 cmp #'/' /./ ???? discard beq .2 cmp #'.' /.DIR.... bne .5 jsr BSX.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 BSX.Expand.PutN pla .6 jsr BSX.Expand.PutN .7 jsr BSX.Expand.GetN beq .8 jsr BSX.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 BSX.Expand.GetN ldx BSX.Expand.Ptr cpx BS.CMDBUF.LEN beq .8 inc BSX.Expand.Ptr lda BS.CMDBUF,x NZ .8 rts BSX.Expand.PutN inc MLI.PATHBUF ldy MLI.PATHBUF sta MLI.PATHBUF,y rts BSX.Expand.Ptr .BS 1 *-------------------------------------- BSX.IsIntCmd lda #BSX.IntCmds sta ZPXPtr1 lda /BSX.IntCmds sta ZPXPtr1+1 ldx #38 stx GP.XCNUM .1 ldy #$ff .2 iny lda BS.CMDBUF,y jsr BSX.ToUpper eor (ZPXPtr1),y asl bne .3 bcc .2 sty GP.XLEN lda GP.XCNUM asl tax lda BSX.KW.PBITS-2,x sta GP.AllowedBITS lda BSX.KW.PBITS-1,x sta GP.AllowedBITS+1 lda BSX.KW.JMP,x sta BS.KW.JMPADDR lda BSX.KW.JMP+1,x sta BS.KW.JMPADDR+1 clc rts .3 iny bcs .4 lda (ZPXPtr1),y asl bra .3 .4 tya clc adc ZPXPtr1 sta ZPXPtr1 bcc .5 inc ZPXPtr1+1 .5 dec GP.XCNUM bne .1 sec rts *-------------------------------------- BSX.IntCmds .AT "PATH" .AT "FORMAT" .AT "CD" .AT "ONLINE" .AT "MEM" .AT "MTR" .AT "-" .AT "POSITION" .AT "RESTORE" .AT "CATALOG" .AT "VERIFY" .AT "UNLOCK" .AT "RENAME" .AT "PREFIX" .AT "DELETE" .AT "CREATE" .AT "APPEND" .AT "WRITE" .AT "STORE" .AT "NOMON" .AT "FLUSH" .AT "CLOSE" .AT "CHAIN" .AT "BSAVE" .AT "BLOAD" .AT "SAVE" .AT "READ" .AT "OPEN" .AT "LOCK" .AT "LOAD" .AT "EXEC" .AT "BRUN" .AT "RUN" .AT "BYE" .AT "FRE" .AT "CAT" .AT "PR#" .AT "IN#" *-------------------------------------- BSX.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 .DA $0000 MTR .DA $0000 MEM .DA $0000 ONLINE .DA $0491 CD .DA #$18 FORMAT .DA #$F6 .DA $0091 PATH *-------------------------------------- BSX.KW.JMP .DA BS.KW.EXTERNAL 0 .DA BS.KW.IN 1 .DA BS.KW.PR 2 .DA BS.KW.CAT 3 .DA BS.KW.FRE 4 .DA BS.KW.BYE 5 .DA BS.KW.RUN 6 .DA BS.KW.BRUN 7 .DA BS.KW.EXEC 8 .DA BS.KW.LOAD 9 .DA BS.KW.LOCK 10 .DA BS.KW.OPEN 11 .DA BS.KW.READ 12 .DA BS.KW.SAVE 13 .DA BS.KW.BLOAD 14 .DA BS.KW.BSAVE 15 .DA BS.KW.CHAIN 16 .DA BS.KW.CLOSE 17 .DA BS.KW.FLUSH 18 .DA BS.KW.NOMON 19 .DA BS.KW.STORE 20 .DA BS.KW.WRITE 21 .DA BS.KW.APPEND 22 .DA BS.KW.CREATE 23 .DA BS.KW.DELETE 24 .DA BS.KW.PREFIX 25 .DA BS.KW.RENAME 26 .DA BS.KW.UNLOCK 27 .DA BS.KW.VERIFY 28 .DA BS.KW.CATALOG 29 .DA BS.KW.RESTORE 30 .DA BS.KW.POSITION 31 .DA BS.KW.DASH 32 .DA BS.KW.MTR 33 .DA BS.KW.MEM 34 .DA BS.KW.ONLINE 35 .DA BS.KW.PREFIX 36 (CD) .DA BS.KW.FORMAT 37 .DA BS.KW.PATH 38 *-------------------------------------- BSX.GetErrA tax ldy BSX.MSG.IDX-2,x BSX.GetMSGY ldx #$00 clc stz GP.INPTR .1 jsr .4 bne .2 jsr .4 ora #$10 .2 tax lda BSX.TBL6-1,x beq .3 ldx GP.INPTR sta IO.LINEBUF+1,x inc GP.INPTR bne .1 .3 rts *-------------------------------------- .4 lda BSX.MSG,y bcs .6 beq .5 lsr lsr lsr lsr sec rts .5 iny lda BSX.MSG,y sta GP.INPTR iny bne .4 .6 iny and #$0F clc rts *-------------------------------------- * .DA #$00 "Copyright..." (VERIFY with no arg) * .DA #$10 CATALOG header * .DA #$36 CATALOG footer *-------------------------------------- BSX.MSG.IDX .DA #$54 .DA #$5B .DA #$66 .DA #$6F .DA #$75 .DA #$75 .DA #$7E .DA #$84 .DA #$8A .DA #$91 .DA #$9B .DA #$A8 .DA #$B4 .DA #$BF .DA #$C9 .DA #$D1 .DA #$D9 .DA #$E1 .DA #$EC .DA #$F3 *-------------------------------------- BSX.TBL6 .AS -"ACDEFILMNORTU " .DA #$00 *-------------------------------------- .DA #$00 .AS -"BGHKPSVWXY/().:" *-------------------------------------- BSX.MSG .DA #$2A .DA #$05 .DA #$0A .DA #$B6 .DA #$02 .DA #$03 .DA #$CE .DA #$10 .DA #$50 .DA #$57 .DA #$4E .DA #$2A .DA #$80 .DA #$5D .DA #$C4 .DA #$BF .DA #$E9 .DA #$18 .DA #$4E .DA #$00 .DA #$10 .DA #$C0 .DA #$A0 .DA #$54 .DA #$EE .DA #$01 .DA #$7A .DA #$20 .DA #$40 .DA #$6E .DA #$00 .DA #$1E .DA #$8A .DA #$36 .DA #$56 .DA #$43 .DA #$00 .DA #$2F .DA #$2B .DA #$41 .DA #$C4 .DA #$3E .DA #$00 .DA #$40 .DA #$49 .DA #$35 .DA #$67 .DA #$4E .DA #$06 .DA #$D0 .DA #$1C .DA #$0A .DA #$05 .DA #$4F .DA #$01 .DA #$7A .DA #$20 .DA #$40 .DA #$6E .DA #$5B .DA #$44 .DA #$0F .DA #$00 .DA #$16 .DA #$01 .DA #$7A .DA #$20 .DA #$40 .DA #$6E .DA #$D0 .DA #$64 .DA #$30 .DA #$FE .DA #$00 .DA #$2C .DA #$CA .DA #$C1 .DA #$7E .DA #$01 .DA #$7A .DA #$20 .DA #$40 .DA #$60 .DA #$FF .DA #$B1 .DA #$90 .DA #$24 .DA #$E4 .DA #$BB .DA #$AB .DA #$F0 .DA #$9A .DA #$E3 .DA #$40 .DA #$76 .DA #$24 .DA #$E2 .DA #$A9 .DA #$94 .DA #$2C .DA #$43 .DA #$F0 .DA #$08 .DA #$B6 .DA #$C4 .DA #$E0 .DA #$5B .DA #$AC .DA #$42 .DA #$C4 .DA #$3F .DA #$49 .DA #$3E .DA #$A5 .DA #$E3 .DA #$1C .DA #$1F .DA #$05 .DA #$1C .DA #$03 .DA #$E9 .DA #$AC .DA #$E5 .DA #$AD .DA #$93 .DA #$F0 .DA #$60 .DA #$BA .DA #$E4 .DA #$BB .DA #$AB .DA #$F0 .DA #$36 .DA #$06 .DA #$04 .DA #$E5 .DA #$D7 .DA #$7F .DA #$56 .DA #$74 .DA #$E7 .DA #$A2 .DA #$04 .DA #$43 .DA #$F0 .DA #$69 .DA #$07 .DA #$17 .DA #$63 .DA #$E0 .DA #$51 .DA #$B1 .DA #$84 .DA #$C4 .DA #$BF .DA #$9A .DA #$E0 .DA #$1D .DA #$55 .DA #$4B .DA #$06 .DA #$E1 .DA #$07 .DA #$16 .DA #$71 .DA #$01 .DA #$74 .DA #$F0 .DA #$56 .DA #$74 .DA #$EC .DA #$0A .DA #$05 .DA #$4E .DA #$86 .DA #$06 .DA #$81 .DA #$C2 .DA #$03 .DA #$F0 .DA #$05 .DA #$BA .DA #$02 .DA #$B1 .DA #$8E .DA #$CA .DA #$AE .DA #$71 .DA #$B0 .DA #$24 .DA #$F0 .DA #$9A .DA #$CE .DA #$36 .DA #$B4 .DA #$2C .DA #$E2 .DA #$A8 .DA #$81 .DA #$93 .DA #$F0 .DA #$06 .DA #$0A .DA #$9C .DA #$10 .DA #$9E .DA #$4B .DA #$BA .DA #$BF .DA #$36 .DA #$B4 .DA #$2C .DA #$AB .DA #$0A .DA #$E5 .DA #$D7 .DA #$7F .DA #$56 .DA #$74 .DA #$E9 .DA #$AC .DA #$EA .DA #$05 .DA #$49 .DA #$F0 .DA #$3D .DA #$05 .DA #$76 .DA #$21 .DA #$C4 .DA #$E5 .DA #$67 .DA #$4E .DA #$91 .DA #$84 .DA #$F0 .DA #$56 .DA #$74 .DA #$E0 .DA #$1D .DA #$06 .DA #$0A .DA #$F0 .DA #$56 .DA #$74 .DA #$0C .DA #$06 .DA #$0D .DA #$E0 .DA #$6C .DA #$67 .DA #$7E .DA #$A0 .DA #$54 .DA #$9F *-------------------------------------- BSX.Online jsr BSX.OnlineInit jsr BSX.OnlineSxDy ldx BS.CMDBUF.LEN .2 lda BS.CMDBUF.LEN,x ora #$80 sta IO.LINEBUF+5,x dex bne .2 lda GP.FIBLOKS ldx GP.FIBLOKS+1 ldy #28 jsr BSX.AXDEC2LINEBUFY lda #"/" sta IO.LINEBUF+30 lda GP.FIAUXTYPE ldx GP.FIAUXTYPE+1 ldy #34 jsr BSX.AXDEC2LINEBUFY clc rts *-------------------------------------- BSX.OnlineErr pha jsr BSX.OnlineInit pla pha jsr BSX.GetErrA ldx GP.INPTR .10 lda IO.LINEBUF+1,x sta IO.LINEBUF+11,x dex bpl .10 pla ldx #12 .1 cmp BS.BIERRTBL,x beq .2 dex bpl .1 lda #$27 bra .3 .2 lda BS.MLIERTBL,x .3 pha lsr lsr lsr lsr ora #$B0 sta IO.LINEBUF+7 pla and #$0F ora #$B0 sta IO.LINEBUF+8 lda #"(" sta IO.LINEBUF+6 lda #")" sta IO.LINEBUF+9 lda #" " sta IO.LINEBUF+5 jsr BSX.OnlineSxDy clc rts *-------------------------------------- BSX.OnlineInit jsr BS.LINEBUFCLR80 lda #39 sta BS.CATWIDTH rts *-------------------------------------- BSX.OnlineSxDy lda #"S" sta IO.LINEBUF+1 lda #"D" sta IO.LINEBUF+3 lda GP.MLIMRKEOFBUF.REFNUM asl php lsr lsr lsr lsr lsr ora #$B0 sta IO.LINEBUF+2 lda #$B0 plp adc #1 sta IO.LINEBUF+4 rts *-------------------------------------- BSX.InitPath ldx #0 .1 inx lda MLI.PATHBUF,x sta BSX.PATH-1,x cpx MLI.PATHBUF bne .1 ldy #0 .2 lda BSX.BIN,y beq .8 iny inx sta BSX.PATH-1,x bra .2 .8 stx BSX.PATH.LEN clc rts *-------------------------------------- BSX.SetPath clc rts *-------------------------------------- BSX.GetPath ldx BSX.PATH.LEN stx BS.CMDBUF.LEN .1 lda BSX.PATH-1,x sta BS.CMDBUF-1,x dex bne .1 clc rts *-------------------------------------- BSX.Mem ldx #16+14 stx BS.CATWIDTH ldx #0 asl pha asl asl asl tay .1 lda BS.MEM.MSG1,y sta IO.LINEBUF+1,x lda BS.MEM.MSG2,x sta IO.LINEBUF+17,x iny inx cpx #16 bne .1 ply ldx $261,y phx lda $260,y pha ldy #20 jsr BSX.AXDEC2LINEBUFY pla ldy #27 jsr BSX.AHEX2LINEBUFY pla ldy #25 jsr BSX.AHEX2LINEBUFY clc rts *-------------------------------------- BS.MEM.MSG1 .AS -"Program Start : " .AS -"Var Start : " .AS -"Array Start : " .AS -"Array End : " .AS -"String Start : " .AS -"Himem : " BS.MEM.MSG2 .AS -" ( ) " *-------------------------------------- BSX.MkCatLine jsr BS.LINEBUFCLR80 lda #$A2 sta IO.LINEBUF lda DIRENTBUF and #$0F tay LA4E0 lda DIRENTBUF,y ora #$80 sta IO.LINEBUF+1,y dey bne LA4E0 .DO LOWERCASE=1 lda DIRENTBUF+$1D bpl .18 lda DIRENTBUF and #$0f tay .10 cpy #8 bcs .13 lda DIRENTBUF+$1D and BSX.WHICHBITS,y beq .15 bne .14 .13 lda DIRENTBUF+$1C and BSX.WHICHBITS-8,y beq .15 .14 lda IO.LINEBUF+1,y eor #$20 sta IO.LINEBUF+1,y .15 dey bne .10 .18 .FIN stz BS.TMPBUF4+2 lda DIRENTBUF.TYPE ldx #$0E LA4F3 iny iny cmp BSX.PRODOSTYPES.H,x beq LA505 iny dex bpl LA4F3 ldy #$13 jsr BSX.AHEX2LINEBUFY bne LA549 LA505 ldx #$02 pha LA508 lda BSX.PRODOSTYPES.ASC,y sta $212,x dey dex bpl LA508 pla bit BS.CATWIDTH bvc LA561 ldy #$4E cmp #$06 beq LA533 cmp #$04 bne LA549 lda #$D2 sta $249 lda DIRENTBUF.AUXT ldx DIRENTBUF.AUXT+1 jsr BSX.AXDEC2LINEBUFY bra LA544 LA533 lda #$C1 sta $249 lda DIRENTBUF.AUXT jsr BSX.AHEX2LINEBUFY lda DIRENTBUF.AUXT+1 jsr BSX.AHEX2LINEBUFY LA544 lda #$BD sta $24A LA549 lda DIRENTBUF.EOF+2 sta BS.TMPBUF4+2 lda DIRENTBUF.EOF ldx DIRENTBUF.EOF+1 ldy #$46 jsr BSX.AXDEC2LINEBUFY ldx #$18 ldy #$3D jsr LA57E LA561 ldy #$1B lda DIRENTBUF.UBLK ldx DIRENTBUF.UBLK+1 jsr BSX.AXDEC2LINEBUFY lda DIRENTBUF.ACCESS and #$C2 cmp #$C2 beq LA57A lda #$AA sta IO.LINEBUF+1 LA57A ldx #$21 ldy #$2C LA57E lda $25A,x lsr sta XBC10 lda DIRENTBUF,x pha and #$1F sta XBC0F pla rol rol rol rol and #$0F beq LA5B1 cmp #$0D bcs LA5B1 sta XBC0E asl adc XBC0E sta XBC0E lda XBC0F beq LA5B1 lda XBC10 cmp #$64 bcc LA5C3 LA5B1 tya sec sbc #$06 tay ldx #$08 LA5B8 lda BSX.NODATE,x sta IO.LINEBUF+1,y dey dex bpl LA5B8 rts LA5C3 lda $25C,x pha lda $25B,x ldx #$00 cmp #$3C bcc LA5D1 txa LA5D1 jsr LA618 lda #$BA sta IO.LINEBUF+1,y dey pla ldx #$00 cmp #$18 bcc LA5E2 txa LA5E2 cmp #$0A php jsr BSX.AXDEC2LINEBUFY plp bcs LA5EC dey LA5EC dey lda XBC10 jsr LA618 dey ldx XBC0E inx inx inx LA5FA lda BSX.MONTHS-4,x sta IO.LINEBUF+1,y dey dex cpx XBC0E bne LA5FA lda #$AD sta IO.LINEBUF+1,y sta $205,y dey lda XBC0F ldx #$00 jmp BSX.AXDEC2LINEBUFY LA618 clc adc #$64 jsr BSX.AXDEC2LINEBUFY iny rts *-------------------------------------- BSX.MONTHS .AS -"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" BSX.NODATE .AS -"" *-------------------------------------- BSX.MkCatLineF jsr BS.LINEBUFCLR80 ldy #$36 jsr BSX.GetMSGY jsr BS.TMPBUF3Reset lda GP.FIAUXTYPE ldx GP.FIAUXTYPE+1 ldy #$3D jsr BSX.AXDEC2LINEBUFY lda GP.FIBLOKS ldx GP.FIBLOKS+1 ldy #$26 jsr BSX.AXDEC2LINEBUFY lda GP.FIAUXTYPE sec sbc GP.FIBLOKS pha lda GP.FIAUXTYPE+1 sbc GP.FIBLOKS+1 tax pla ldy #$10 jsr BSX.AXDEC2LINEBUFY clc rts *-------------------------------------- BSX.AHEX2LINEBUFY pha and #$0F jsr LA62B pla lsr lsr lsr lsr LA62B ora #$B0 cmp #$BA bcc LA633 adc #$06 LA633 sta IO.LINEBUF+1,y dey lda #$A4 sta IO.LINEBUF+1,y rts *-------------------------------------- BSX.AXDEC2LINEBUFY stx BS.TMPBUF4+1 sta BS.TMPBUF4 .1 jsr .2 lda BS.TMPBUF4+3 ora #$B0 sta IO.LINEBUF+1,y dey lda BS.TMPBUF4 ora BS.TMPBUF4+1 ora BS.TMPBUF4+2 bne .1 rts .2 ldx #$18 lda #$00 sta BS.TMPBUF4+3 .3 jsr BS.TMPBUF3x2 rol BS.TMPBUF4+3 sec lda BS.TMPBUF4+3 sbc #$0A bcc .4 sta BS.TMPBUF4+3 inc BS.TMPBUF4 .4 dex bne .3 rts *-------------------------------------- BSX.PRODOSTYPES.H .DA #$FF .DA #$FE .DA #$FD .DA #$FC .DA #$FB .DA #$FA .DA #$F0 .DA #$0F .DA #$06 .DA #$04 .DA #$EF .DA #$1A .DA #$1B .DA #$19 .DA #$B3 BSX.PRODOSTYPES.ASC .AS -"S16ADBASPAWPPASTXTBINDIRCMDINTIVRBASVARRELSYS" *-------------------------------------- BSX.ToUpper cmp #'a' bcc .9 cmp #'z'+1 bcs .9 eor #$20 .9 rts *-------------------------------------- BSX.BIN .AZ "/BIN/" *-------------------------------------- .DUMMY BSX.PATH.LEN .BS 1 BSX.PATH .BS 64 .ED *-------------------------------------- MAN SAVE usr/src/basic.fx/basic.s.x LOAD usr/src/basic.fx/basic.s ASM