NEW AUTO 3,1 *-------------------------------------- VEDRIVE.ReadConf jsr MLI .DA #MLIGETPREFIX .DA MLIGETPREFIX.P bcs .9 ldx #0 ldy CONF.FILEPATH .1 lda CONF.FILENAME,x iny sta CONF.FILEPATH,y inx cpx #CONF.FILENAME.L bne .1 sty CONF.FILEPATH lda #CONF.FILEPATH pha lda /CONF.FILEPATH pha >LDYAI VEDRIVE.CONF jsr PrintFYA jsr MLI .DA #MLIOPEN .DA MLIOPEN.P bcc .10 >LDYAI VEDRIVE.CONFKO jsr PrintFYA sec rts .10 lda MLIOPEN.P+5 sta MLINEWLINE.P+1 sta MLIREAD.P+1 sta MLICLOSE.P+1 jsr MLI .DA #MLINEWLINE .DA MLINEWLINE.P bcs .9 .2 jsr MLI .DA #MLIREAD .DA MLIREAD.P bcs .8 jsr VEDRIVE.CONF.L bcc .2 >LDYAI VEDRIVE.CONFSYN jsr PrintFYA sec bra .9 .8 cmp #MLI.E.EOF sec bne .9 lda CONF.NIC bmi .9 lda CONF.SLOT beq .9 lda CONF.SERVER beq .9 clc .9 php pha jsr MLI .DA #MLICLOSE .DA MLICLOSE.P pla plp rts *-------------------------------------- VEDRIVE.CONF.L lda CONF.LBUF cmp #13 CR beq .8 cmp #'#' comment beq .8 lda #CONF.LBUF sta ZPPtr1 lda /CONF.LBUF sta ZPPtr1+1 ldy #CONF.KW lda /CONF.KW jsr VEDRIVE.CONF.KW bcs .9 ldx idx jmp (.5,x) .5 .DA VEDRIVE.CONF.KW.NIC .DA VEDRIVE.CONF.KW.SLOT .DA VEDRIVE.CONF.KW.ADDRESS .DA VEDRIVE.CONF.KW.MASK .DA VEDRIVE.CONF.KW.GATEWAY .DA VEDRIVE.CONF.KW.SERVER .DA VEDRIVE.CONF.KW.PORT .8 clc rts .9 sec rts *-------------------------------------- VEDRIVE.CONF.KW.NIC jsr VEDRIVE.CONF.SKIPSP bcs .9 ldy #CONF.KW.NIC lda /CONF.KW.NIC jsr VEDRIVE.CONF.KW bcs .9 lda idx sta CONF.NIC clc .9 rts *-------------------------------------- VEDRIVE.CONF.KW.SLOT jsr VEDRIVE.CONF.SKIPSP bcs .9 lda (ZPPtr1) cmp #'1' bcc .9 cmp #'8' bcs .9 and #$0F sta CONF.SLOT clc rts .9 sec rts *-------------------------------------- VEDRIVE.CONF.KW.ADDRESS ldx #CONF.ADDRESS-CONF.IPCFG .HS 2C BIT ABS VEDRIVE.CONF.KW.MASK ldx #CONF.MASK-CONF.IPCFG .HS 2C BIT ABS VEDRIVE.CONF.KW.GATEWAY ldx #CONF.GATEWAY-CONF.IPCFG .HS 2C BIT ABS VEDRIVE.CONF.KW.SERVER ldx #CONF.SERVER-CONF.IPCFG jsr VEDRIVE.CONF.SKIPSP bcs .9 jsr VEDRIVE.CONF.GetIPatX .9 rts *-------------------------------------- VEDRIVE.CONF.KW.PORT jsr VEDRIVE.CONF.SKIPSP bcs .9 jsr VEDRIVE.CONF.GetInt bcs .9 lda int sta CONF.PORT+1 lda int+1 sta CONF.PORT .9 rts *-------------------------------------- VEDRIVE.CONF.KW sty ZPPtr2 sta ZPPtr2+1 ldy #$ff .1 iny lda (ZPPtr1),y cmp #13 CR beq .2 cmp #32 SPACE bne .1 .2 sty len stz idx .3 lda len cmp (ZPPtr2) bne .6 tay .4 lda (ZPPtr2),y dey cmp (ZPPtr1),y bne .6 tya bne .4 lda ZPPtr1 clc adc len sta ZPPtr1 bcc .5 inc ZPPtr1+1 .5 clc rts .6 lda (ZPPtr2) sec adc ZPPtr2 sta ZPPtr2 bcc .7 inc ZPPtr2+1 .7 inc idx inc idx lda (ZPPtr2) bne .3 sec rts *-------------------------------------- VEDRIVE.CONF.SKIPSP lda (ZPPtr1) cmp #32 bne .9 bra .3 .1 lda (ZPPtr1) cmp #13 beq .9 .2 cmp #32 bne .8 .3 inc ZPPtr1 bne .1 inc ZPPtr1+1 bra .1 .8 clc .9 rts *-------------------------------------- VEDRIVE.CONF.GetIPatX jsr VEDRIVE.CONF.GetShort bcs .9 ldy #4 .1 sta CONF.IPCFG,x inx dey beq .9 CC jsr VEDRIVE.GetCharPtr1 bcs .9 cmp #'.' sec bne .9 jsr VEDRIVE.CONF.GetShort bcc .1 .9 rts *-------------------------------------- VEDRIVE.CONF.GetShort jsr VEDRIVE.CONF.GetInt bcs .9 lda int+1 sec bne .9 lda int clc .9 rts *-------------------------------------- VEDRIVE.CONF.GetInt stz int stz int+1 .1 lda (ZPPtr1) cmp #'0' bcc .8 cmp #'9'+1 bcs .8 inc ZPPtr1 bne .2 inc ZPPtr1+1 .2 and #$0F pha lda int+1 pha lda int pha asl int rol int+1 x2 asl int rol int+1 x4 pla clc adc int sta int pla adc int+1 sta int+1 x4+1 = x5 asl int rol int+1 x10 pla clc adc int sta int bcc .1 inc int+1 bra .1 .8 clc rts *-------------------------------------- VEDRIVE.GetCharPtr1 lda (ZPPtr1) cmp #13 beq .9 inc ZPPtr1 bne .8 inc ZPPtr1+1 .8 clc .9 rts *-------------------------------------- MAN SAVE usr/src/sys/pm.vedrive.s.cf LOAD usr/src/sys/pm.vedrive.s ASM