Kernel 0.93+ : #138 #139 #140.......pffff

This commit is contained in:
Rémy GIBERT
2019-12-14 19:44:01 +01:00
parent ce645607b9
commit f796f9a665
10 changed files with 280 additions and 388 deletions

Binary file not shown.

View File

@@ -57,25 +57,30 @@ CS.INIT clc
CS.RUN >INC.G ArgIndex CS.RUN >INC.G ArgIndex
>SYSCALL ArgV >SYSCALL ArgV
bcs .8 bcs .8
>STYA ZPPtr1 >STYA ZPPtr1
lda (ZPPtr1) lda (ZPPtr1)
cmp #'-' cmp #'-'
bne .4 bne .4
ldy #1 ldy #1
lda (ZPPtr1),y lda (ZPPtr1),y
ldx OptionList ldx #OptionVars-OptionList-1
.2 cmp OptionList,x .2 cmp OptionList,x
beq .3 beq .3
dex dex
bne .2 bpl .2
.9 >PUSHBI 0 .9 >PUSHBI 0
>LDYA L.MSG.USAGE >LDYA L.MSG.USAGE
>SYSCALL printf >SYSCALL printf
lda #E.SYN lda #E.SYN
sec sec
.99 rts .99 rts
.3 ldy OptionVars-1,x
.3 ldy OptionVars,x
lda #$80 lda #$80
sta (pData),y sta (pData),y
bra CS.RUN bra CS.RUN
@@ -86,6 +91,7 @@ CS.RUN >INC.G ArgIndex
>LDA.G ArgIndex >LDA.G ArgIndex
>STA.G StrMode >STA.G StrMode
bra CS.RUN bra CS.RUN
.5 >LDA.G hSrcBasePath .5 >LDA.G hSrcBasePath
bne .9 bne .9
>LDYA ZPPtr1 >LDYA ZPPtr1
@@ -274,7 +280,7 @@ CS.QUIT jsr LeaveSubDir
*-------------------------------------- *--------------------------------------
CS.END CS.END
*-------------------------------------- *--------------------------------------
OptionList >PSTR "CRcr" OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
*-------------------------------------- *--------------------------------------
MSG.USAGE .AS "Usage : CHMOD mode [File *,? wildcards allowed]\r\n" MSG.USAGE .AS "Usage : CHMOD mode [File *,? wildcards allowed]\r\n"

View File

@@ -50,6 +50,7 @@ CS.INIT
.1 >INC.G ArgCount .1 >INC.G ArgCount
>SYSCALL ArgV >SYSCALL ArgV
bcs .7 bcs .7
>STYA ZPPtr1 >STYA ZPPtr1
lda (ZPPtr1) lda (ZPPtr1)
cmp #'-' cmp #'-'
@@ -57,42 +58,45 @@ CS.INIT
ldy #1 ldy #1
lda (ZPPtr1),y lda (ZPPtr1),y
ldx OptionList ldx #OptionVars-OptionList-1
.2 cmp OptionList,x .2 cmp OptionList,x
beq .3 beq .3
dex dex
bne .2 bne .2
.99 >PUSHBI 0 .99 >PUSHBI 0
>LDYA L.MSG.USAGE >LDYA L.MSG.USAGE
>SYSCALL printf >SYSCALL printf
lda #E.SYN lda #E.SYN
sec sec
rts rts
.3 ldy OptionVars-1,x
.3 ldy OptionVars,x
lda #$80 lda #$80
sta (pData),y sta (pData),y
bra .1 bra .1
.4 ldy #index *--------------------------------------
lda (pData),y .4 >LDA.G HexFileType
bne .5 bne .5
>LDYA ZPPtr1
jsr InitSrcDirYA
bcc .1
rts
.5 ldy #HexFileType
lda (pData),y
bne .99
jsr GetHexFileType jsr GetHexFileType
bcs .99 bcs .99
bra .1 bra .1
.7 ldy #index processed all args .5 >LDA.G hSrcBasePath
lda (pData),y bne .99
beq .99 , no src ? ERROR
ldy #HexFileType >LDYA ZPPtr1
lda (pData),y jsr InitSrcDirYA
bcs .99
bra .1
*--------------------------------------
.7 >LDA.G hSrcBasePath
beq .99 no src ? ERROR
>LDA.G HexFileType
beq .99 we also have a TYPE beq .99 we also have a TYPE
>LDYAI 256 >LDYAI 256
>SYSCALL getmem >SYSCALL getmem
bcs .99 bcs .99
@@ -148,7 +152,7 @@ CS.RUN ldy #S.PS.hStdIn
CS.RUN.DIR CS.RUN.DIR
CS.RUN.DEV CS.RUN.DEV
.8 jsr GetNextEntry .8 jsr GetNextEntry
clc.9 clc
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN.FILE jsr CS.RUN.GetFilePath CS.RUN.FILE jsr CS.RUN.GetFilePath
@@ -303,11 +307,11 @@ IsDigit16 cmp #'0'
*-------------------------------------- *--------------------------------------
CS.END CS.END
*-------------------------------------- *--------------------------------------
OptionList >PSTR "CRcr" OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
*-------------------------------------- *--------------------------------------
MSG.USAGE .AS "Usage : CHTYP [File *,? wildcards allowed] [File type]\r\n" MSG.USAGE .AS "Usage : CHTYP type [File *,? wildcards allowed]\r\n"
.AS " File types : 0xx (Hexadecimal byte),SYS,TXT...\r\n" .AS " type : 0xx (Hexadecimal byte),SYS,TXT...\r\n"
.AS " -C : Continue on error\r\n" .AS " -C : Continue on error\r\n"
.AZ " -R : Recurse subdirectories\r\n" .AZ " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]" MSG.OK .AZ "[OK]"

View File

@@ -218,28 +218,28 @@ CS.RUN.PRINTCR >PUSHBI 0
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN.OUT.MN ldy #$ff CS.RUN.OUT.MN ldy #0
ldx StartChar ldx StartChar
beq .2 beq .2
.1 iny .1 lda (ZPBufPtr),y
lda (ZPBufPtr),y
beq CS.RUN.PRINTCR beq CS.RUN.PRINTCR
iny
dex dex
bne .1 bne .1
.2 ldx EndChar .2 lda (ZPBufPtr),y
beq .8
.3 iny
lda (ZPBufPtr),y
beq .8 beq .8
cpy EndChar cpy EndChar
bne .3 beq .3
lda #0 iny
bra .2
.3 lda #0
sta (ZPBufPtr),y sta (ZPBufPtr),y
.8 ldy StartChar .8 ldy StartChar
@@ -264,7 +264,7 @@ CS.RUN.AddYToBufPtr
adc ZPBufPtr adc ZPBufPtr
sta ZPBufPtr sta ZPBufPtr
bcc .8 bcc .8
lda ZPBufPtr+1 inc ZPBufPtr+1
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
CS.QUIT lda hToClose CS.QUIT lda hToClose

View File

@@ -28,29 +28,6 @@ NEW
* ^X = Cut Block * ^X = Cut Block
* ^Y = End Of File * ^Y = End Of File
*-------------------------------------- *--------------------------------------
Prompt.Editor cmp #C.DEL
beq Ctrl.DEL
cmp #C.SPACE
bcc .3
pha
jsr BUF.ComputeCOffset
pla
jsr BUF.InsertA
bcs .9
jsr SCRN.UpdateCurrentLine
bcs .9
jmp Ctrl.FS
.9 rts
.3 asl
tax
jmp (J.CTRL,x)
*--------------------------------------
Ctrl.DEL jsr BUF.ComputeCOffset Ctrl.DEL jsr BUF.ComputeCOffset
lda BUF.COffset lda BUF.COffset
@@ -99,15 +76,15 @@ Ctrl.A >LDYA L.MSG.HELP
inc ZPPTR1+1 inc ZPPTR1+1
bra .1 bra .1
.8 lda #PromptModeHelp .8 jsr SCRN.ResetStatusBar
>STA.G PromptMode
jsr SCRN.UpdateStatusBar >PUSHBI 0
bcs .9 >LDYA L.MSG.STATUSBAR.H
>SYSCALL printf
>SYSCALL getchar >SYSCALL getchar
bcs .9 bcs .9
>STZ.G PromptMode
jmp SCRN.UpDateMain jmp SCRN.UpDateMain
.9 rts .9 rts
@@ -432,9 +409,8 @@ Ctrl.N
clc clc
rts rts
*-------------------------------------- *--------------------------------------
Ctrl.R lda #PromptModeReplace Ctrl.R clc
>STA.G PromptMode rts
jmp SCRN.UpdateStatusBar
*-------------------------------------- *--------------------------------------
Ctrl.Q lda #$FF Ctrl.Q lda #$FF
>STA.G bExit >STA.G bExit
@@ -574,108 +550,9 @@ Ctrl.Z jsr BUF.ComputeCOffset
.8 jsr SCRN.UpdateCurrentLine .8 jsr SCRN.UpdateCurrentLine
bcs .9 bcs .9
.80 jsr SCRN.UpdateStatusBar
bcs .9
jmp SCRN.GotoCurXCurY
*--------------------------------------
Prompt.Help >STZ.G PromptMode
Prompt.Help.Upd jsr SCRN.UpdateStatusBar .80 jsr SCRN.GotoCurXCurY
bcs Prompt.Find.RTS
jmp SCRN.UpdateMain
*--------------------------------------
Prompt.Find cmp #3
bne .1
>STZ.G PromptMode
jmp SCRN.UpdateStatusBar jmp SCRN.UpdateStatusBar
.1 cmp #C.CR
bne .2
.2
clc
.9
Prompt.Find.RTS rts
*--------------------------------------
Prompt.Replace cmp #3
bne .1
>STZ.G PromptMode
jsr SCRN.UpdateStatusBar
bcs .9
rts
.1 cmp #C.CR
bne .2
.2
clc
.9 rts
*--------------------------------------
Prompt.Save cmp #3 Ctrl-C
bne .1
>STZ.G PromptMode
bra .80
.1 cmp #C.CR
bne .2
>LDA.G PromptBufPtr
beq .8
>LDYA pData
>SYSCALL RealPath
bcs .12
phx
>LDA.G hFileName
beq .11
>SYSCALL FreeMem
.11 pla
>STA.G hFileName
>STZ.G PromptMode
jsr FILE.Save
bcc .81
.12 jsr SCRN.LineBufInitInv
jmp SCRN.UpdateStatusBarErrA
.2 cmp #C.DEL
bne .3
>LDA.G PromptBufPtr
beq .8
dec
sta (pData),y
tay
lda #0
sta (pData),y
bra .80
.3 cmp #C.SPACE
bcc .8
pha
>LDA.G PromptBufPtr
tay
pla
cpy #PROMPTBUFMAX
beq .8
sta (pData),y
iny
lda #0
sta (pData),y
tya
>STA.G PromptBufPtr
bra .80
.8 clc
rts
.81 jsr SCRN.UpdateTopBar
bcs .9
.80 jmp SCRN.UpdateStatusBar
.9 rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/BIN/EDIT.S.CTRL SAVE USR/SRC/BIN/EDIT.S.CTRL

View File

@@ -81,6 +81,106 @@ SCRN.UpdateTopBar
.8 jmp SCRN.LineBufOut .8 jmp SCRN.LineBufOut
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
SCRN.UpdateViewPort
stz bRepaint
.1 >LDA.G FileX
>CMP.G ScreenX
bcs .2 out of left border ?
>DEC.G ScreenX yes
sec
ror bRepaint
bra .1
.2 bit bRepaint
bmi .30
.21 >LDA.G ScreenX
clc
>ADC.G ScreenW
dec
>CMP.G FileX
bcs .3 out of right border ?
>INC.G ScreenX
sec
ror bRepaint
bra .21
.3 bit bRepaint
.30 bmi .6
.31 >LDA.G FileY+1
tax
dey
lda (pData),y A,X = FileY
>CMP.G ScreenY
iny
txa
sbc (pData),y
bcs .4 out of top border ?
>DECW.G ScreenY move viewport up one line....
bit bRepaint
bmi .31 skip scroll, will be repainted later
jsr SCRN.scrollDn ...and move content one line down
bcc .31
rts
.4 bit bRepaint
bmi .6
.41 >LDA.G ScreenY+1
tax
dey
lda (pData),y
clc
>ADC.G ViewPortHm1
bcc .5
inx
.5 >CMP.G FileY A,X = screen bottom
txa
iny FileY > screen bottom ?
sbc (pData),y
bcs .6 CS : fileY>= screen bottom
>INCW.G ScreenY move viewport down one line....
bit bRepaint
bmi .41
jsr SCRN.scrollUp ...and move content one line up
bcc .41
.9 rts
.6 >LDA.G FileX
sec
>SBC.G ScreenX
>STA.G CurX
>LDA.G FileY
sec
>SBC.G ScreenY
>STA.G CurY
bit bRepaint
bpl .7
jsr SCRN.UpdateMain
bcs .9
.7 jsr BUF.ComputeCOffset
jsr SCRN.GotoCurXCurY
bcs .9
jmp SCRN.UpdateStatusBar
*--------------------------------------
SCRN.UpdateMain >LDA.G ScreenY SCRN.UpdateMain >LDA.G ScreenY
sta TmpIndex sta TmpIndex
iny iny
@@ -139,9 +239,10 @@ SCRN.UpdateMain.1
dec TmpCount dec TmpCount
bne .5 bne .5
.8 jsr SCRN.UpdateStatusBar .8 jsr SCRN.GotoCurXCurY
bcs SCRN.UpdateMain.9 bcs SCRN.UpdateMain.9
jmp SCRN.GotoCurXCurY >DEBUG
jmp SCRN.UpdateStatusBar
SCRN.UpdateMain.9 SCRN.UpdateMain.9
rts rts
@@ -262,27 +363,14 @@ SCRN.ToggleSel ldy #SEQ.NORM-SEQS
SCRN.ToggleSel.RTS SCRN.ToggleSel.RTS
rts rts
*-------------------------------------- *--------------------------------------
SCRN.UpdateStatusBar SCRN.UpdateStatusBar
jsr SCRN.LineBufInitBar lda #$ff
>STA.G bUpdateStatus
>PUSHBI 1 clc
>PUSHB.G ScreenH rts
>PUSHBI 2 *--------------------------------------
>PUSHW L.MSG.GOTOXY SCRN.DrawStatusBar
jsr SCRN.LineBufSprintf jsr SCRN.ResetStatusBar
bcs .9
>LDA.G ScreenW
tax
lda #C.SPACE
.1 jsr SCRN.ToLineBuf
dex
bpl .1
lda #C.CR
jsr SCRN.ToLineBuf
>LDA.G FileY >LDA.G FileY
tax tax
@@ -307,63 +395,39 @@ SCRN.UpdateStatusBar
>PUSHW L.MSG.STATUSBAR >PUSHW L.MSG.STATUSBAR
jsr SCRN.LineBufSprintf jsr SCRN.LineBufSprintf
bcs .9 bcs .9
ldx #SEQ.CURRESTORE-SEQS
jsr SCRN.SEQS.ToLineBuf
jmp SCRN.LineBufOut jmp SCRN.LineBufOut
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
SCRN.UpdateStatusBar.OLD SCRN.ResetStatusBar
.2 eor #PromptModeHelp jsr SCRN.LineBufInitBar
beq .3
ldx #SEQ.CURSAVE-SEQS
>PUSHW pData jsr SCRN.SEQS.ToLineBuf
lda #2
.3 >PUSHA
bra SCRN.UpdateStatusBarOut
*--------------------------------------
SCRN.UpdateStatusBarErrA
>PUSHA
>PUSHBI 1 >PUSHBI 1
ldx #10 >PUSHB.G ScreenH
bra SCRN.UpdateStatusBarOutErr >PUSHBI 2
SCRN.UpdateStatusBarOut >PUSHW L.MSG.GOTOXY
ldy #PromptMode jsr SCRN.LineBufSprintf
lda (pData),y
tax
SCRN.UpdateStatusBarOutErr
>PUSHW L.MSG.STATUSBAR,x
>LDYA LineBufPtr
>SYSCALL sprintf
SCRN.LineBufOutBar
>LDA.G ScreenW >LDA.G ScreenW
tax tax
ldy #0 lda #C.SPACE
.1 lda (LineBufPtr),y .1 jsr SCRN.ToLineBuf
beq .2
iny
dex dex
bne .1 bne .1
bra .4
.2 lda #C.SPACE lda #C.CR
jsr SCRN.ToLineBuf
.3 sta (LineBufPtr),y
iny
dex
bne .3
lda #0 jmp SCRN.LineBufOut
sta (LineBufPtr),y
.4 >PUSHW.G LineBufBase
>PUSHBI 2
>LDYA L.SEQ.BAR
>SYSCALL printf
bcs .9
.9 rts
*-------------------------------------- *--------------------------------------
SCRN.CursorAdjust SCRN.CursorAdjust
.1 jsr BUF.ComputeCOffset .1 jsr BUF.ComputeCOffset
@@ -395,106 +459,6 @@ SCRN.GotoXY txa
>SYSCALL printf >SYSCALL printf
rts rts
*-------------------------------------- *--------------------------------------
SCRN.UpdateViewPort
stz bRepaint
.1 >LDA.G FileX
>CMP.G ScreenX
bcs .2 out of left border ?
>DEC.G ScreenX yes
sec
ror bRepaint
bra .1
.2 bit bRepaint
bmi .30
.21 >LDA.G ScreenX
clc
>ADC.G ScreenW
dec
>CMP.G FileX
bcs .3 out of right border ?
>INC.G ScreenX
sec
ror bRepaint
bra .21
.3 bit bRepaint
.30 bmi .6
.31 >LDA.G FileY+1
tax
dey
lda (pData),y A,X = FileY
>CMP.G ScreenY
iny
txa
sbc (pData),y
bcs .4 out of top border ?
>DECW.G ScreenY move viewport up one line....
bit bRepaint
bmi .31 skip scroll, will be repainted later
jsr SCRN.scrollDn ...and move content one line down
bcc .31
rts
.4 bit bRepaint
bmi .6
.41 >LDA.G ScreenY+1
tax
dey
lda (pData),y
clc
>ADC.G ViewPortHm1
bcc .5
inx
.5 >CMP.G FileY A,X = screen bottom
txa
iny FileY > screen bottom ?
sbc (pData),y
bcs .6 CS : fileY>= screen bottom
>INCW.G ScreenY move viewport down one line....
bit bRepaint
bmi .41
jsr SCRN.scrollUp ...and move content one line up
bcc .41
.9 rts
.6 >LDA.G FileX
sec
>SBC.G ScreenX
>STA.G CurX
>LDA.G FileY
sec
>SBC.G ScreenY
>STA.G CurY
bit bRepaint
bpl .7
jsr SCRN.UpdateMain
bcs .9
.7 jsr BUF.ComputeCOffset
jsr SCRN.UpdateStatusBar
bcs .9
jmp SCRN.GotoCurXCurY
*--------------------------------------
SCRN.scrollUp >PUSHBI 0 SCRN.scrollUp >PUSHBI 0
>LDYA L.SEQ.SCROLLUP >LDYA L.SEQ.SCROLLUP
>SYSCALL printf >SYSCALL printf
@@ -573,20 +537,18 @@ SCRN.LineBufInit
>LDYA.G LineBufBase >LDYA.G LineBufBase
>STYA LineBufPtr >STYA LineBufPtr
.1 lda SEQS,x jsr SCRN.SEQS.ToLineBuf
.2 jsr SCRN.ToLineBuf
inx
lda SEQS,x
bne .2
plx plx
rts rts
*-------------------------------------- *--------------------------------------
SCRN.ToLineBuf sta (LineBufPtr) SCRN.SEQS.ToLineBuf
inc LineBufPtr lda SEQS,x
bne .8
inc LineBufPtr+1 .1 jsr SCRN.ToLineBuf
.8 rts inx
lda SEQS,x
bne .1
rts
*-------------------------------------- *--------------------------------------
SCRN.LineBufSprintf SCRN.LineBufSprintf
>LDYA LineBufPtr >LDYA LineBufPtr
@@ -604,6 +566,12 @@ SCRN.LineBufSprintf
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
SCRN.ToLineBuf sta (LineBufPtr)
inc LineBufPtr
bne .8
inc LineBufPtr+1
.8 rts
*--------------------------------------
SCRN.LineBufOut lda #0 SCRN.LineBufOut lda #0
sta (LineBufPtr) sta (LineBufPtr)

View File

@@ -44,18 +44,13 @@ TmpByte .BS 1
ZS.END .ED ZS.END .ED
*-------------------------------------- *--------------------------------------
PromptModeHelp .EQ 2
PromptModeFind .EQ 4
PromptModeReplace .EQ 6
PromptModeSave .EQ 8
*--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
*-------------------------------------- *--------------------------------------
CS.START cld CS.START cld
jmp (.1,x) jmp (.1,x)
.DA #$61 6502,Level 1 (65c02) .DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1 .DA #1 BIN Layout Version 1
.DA #0 .DA #S.PS.F.EVENT S.PS.F
.DA #0 .DA #0
.DA CS.END-CS.START CS .DA CS.END-CS.START CS
.DA DS.END-DS.START DS .DA DS.END-DS.START DS
@@ -84,7 +79,7 @@ L.MSG.FILETYPES .DA MSG.TXTCR
.DA MSG.TXTCRLF .DA MSG.TXTCRLF
.DA MSG.TXTASM .DA MSG.TXTASM
L.MSG.STATUSBAR .DA MSG.STATUSBAR L.MSG.STATUSBAR .DA MSG.STATUSBAR
.DA MSG.STATUSBAR.H L.MSG.STATUSBAR.H .DA MSG.STATUSBAR.H
.DA MSG.STATUSBAR.F .DA MSG.STATUSBAR.F
.DA MSG.STATUSBAR.R .DA MSG.STATUSBAR.R
.DA MSG.STATUSBAR.S .DA MSG.STATUSBAR.S
@@ -96,11 +91,6 @@ L.MSG.HELP .DA MSG.HELP
J.SAVE .DA FILE.Save.CR J.SAVE .DA FILE.Save.CR
.DA FILE.Save.CRLF .DA FILE.Save.CRLF
.DA FILE.Save.ASM .DA FILE.Save.ASM
J.PROMPT .DA Prompt.Editor
.DA Prompt.Help
.DA Prompt.Find
.DA Prompt.Replace
.DA Prompt.Save
J.CTRL .DA Ctrl.Invalid J.CTRL .DA Ctrl.Invalid
.DA Ctrl.A .DA Ctrl.A
.DA Ctrl.B .DA Ctrl.B
@@ -230,7 +220,18 @@ CS.RUN.LOOP >SYSCALL GetChar
sec sec
CS.RUN.RTS rts CS.RUN.RTS rts
*-------------------------------------- *--------------------------------------
CS.DOEVENT sec CS.DOEVENT lda (pEvent)
bpl .9 is it a TIMER event?
asl
bpl .9
>LDA.G bUpdateStatus
bpl .9
jsr SCRN.DrawStatusBar
>STZ.G bUpdateStatus
.9 sec
rts rts
*-------------------------------------- *--------------------------------------
CS.QUIT ldy #hLineBuffer CS.QUIT ldy #hLineBuffer
@@ -296,13 +297,30 @@ CharIn tax
>STA.G EscBuffer >STA.G EscBuffer
.8 clc .8 clc
rts .9 rts
.2 pha .2 cmp #C.DEL
>LDA.G PromptMode bne .22
tax
jmp Ctrl.DEL
.22 cmp #C.SPACE
bcc .3
pha
jsr BUF.ComputeCOffset
pla pla
jmp (J.PROMPT,x) jsr BUF.InsertA
bcs .9
jsr SCRN.UpdateCurrentLine
bcs .9
jmp Ctrl.FS
.3 asl
tax
jmp (J.CTRL,x)
*-------------------------------------- *--------------------------------------
CharIn.Esc >STZ.G bEscMode CharIn.Esc >STZ.G bEscMode
@@ -416,10 +434,12 @@ SEQ.DLG.RIGHT .AS "\e[37;40m"
SEQ.DLG.LBL .AZ "\e[0m\e[30;46m" SEQ.DLG.LBL .AZ "\e[0m\e[30;46m"
SEQ.DLG.TB .AZ "\e[0m\e[93;44m" SEQ.DLG.TB .AZ "\e[0m\e[93;44m"
SEQ.DLG.BUT .AZ "\e[7m\e[93;44m" SEQ.DLG.BUT .AZ "\e[7m\e[93;44m"
SEQ.INV .AZ "\e[7m"
SEQ.EDIT .AS "\e[0m\e[93;44m" +CEOL SEQ.EDIT .AS "\e[0m\e[93;44m" +CEOL
SEQ.CEOL .AZ "\e[K" SEQ.CEOL .AZ "\e[K"
SEQ.NORM .AZ "\e[0m" SEQ.NORM .AZ "\e[0m"
SEQ.INV .AZ "\e[7m"
SEQ.CURSAVE .AZ "\e7"
SEQ.CURRESTORE .AZ "\e8"
*-------------------------------------- *--------------------------------------
SEQ.DETECT .AZ "Querying term caps...\e[999;999H\e[6n" SEQ.DETECT .AZ "Querying term caps...\e[999;999H\e[6n"
SEQ.RESET .AZ "\ec" SEQ.RESET .AZ "\ec"
@@ -587,9 +607,7 @@ DLG.FIND.LEN .EQ *-DLG.FIND
.DUMMY .DUMMY
.OR 0 .OR 0
DS.START DS.START
PromptBuf .BS PROMPTBUFMAX+1 bUpdateStatus .BS 1
PromptBufPtr .BS 1
PromptMode .BS 1
bExit .BS 1 bExit .BS 1
bSaved .BS 1 bSaved .BS 1
bEscMode .BS 1 bEscMode .BS 1

View File

@@ -131,34 +131,45 @@ CS.RUN.SETUP
.1 >INC.G ArgIndex .1 >INC.G ArgIndex
>SYSCALL ArgV >SYSCALL ArgV
bcs .4 bcs .4
>STYA ZPTmpPtr1 >STYA ZPTmpPtr1
lda (ZPTmpPtr1) lda (ZPTmpPtr1)
cmp #'-' cmp #'-'
bne .99 bne .99
ldy #1 ldy #1
lda (ZPTmpPtr1),y lda (ZPTmpPtr1),y
ldx OptionList ldx #OptionVars-OptionList-1
.2 cmp OptionList,x .2 cmp OptionList,x
beq .3 beq .3
dex dex
bne .2 bpl .2
.99 >PUSHBI 0 .99 >PUSHBI 0
>LDYA L.MSG.USAGE >LDYA L.MSG.USAGE
>SYSCALL printf >SYSCALL printf
lda #E.SYN lda #E.SYN
sec sec
rts rts
.3 ldy OptionVars-1,x
.3 ldy OptionVars,x
lda #$80 lda #$80
sta (pData),y sta (pData),y
bra .1 bra .1
*--------------------------------------
.4 >LDA.G bSET
bne .41 Force ...
.4 lda IPCFG+S.NETCFG.STATUS lda IPCFG+S.NETCFG.STATUS
bne .5 bne .5
lda #$ff no config, force all
.41 lda #$ff no config, force all
>STA.G bETC >STA.G bETC
>STA.G bDHCP >STA.G bDHCP
.5 >LDA.G bETC .5 >LDA.G bETC
>ORA.G bDHCP >ORA.G bDHCP
beq CS.RUN.DUMP beq CS.RUN.DUMP
@@ -346,8 +357,8 @@ CS.END
LIBTCPIP .AZ "libtcpip" LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1 hLIBTCPIP .BS 1
*-------------------------------------- *--------------------------------------
OptionList >PSTR "DEde" OptionList .AS "DdEeSs"
OptionVars .DA #bDHCP,#bETC,#bDHCP,#bETC OptionVars .DA #bDHCP,#bDHCP,#bETC,#bETC,#bSET,#bSET
*-------------------------------------- *--------------------------------------
MSG.USAGE .AS "Usage : IPCONFIG <switches>\r\n" MSG.USAGE .AS "Usage : IPCONFIG <switches>\r\n"
.AS " -D : Try to get IP address from DHCP\r\n" .AS " -D : Try to get IP address from DHCP\r\n"
@@ -470,6 +481,7 @@ DS.START
ArgIndex .BS 1 ArgIndex .BS 1
bDHCP .BS 1 bDHCP .BS 1
bETC .BS 1 bETC .BS 1
bSET .BS 1
DIB .BS S.DIB DIB .BS S.DIB
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL
DCB.NIC .BS S.DCB.NIC DCB.NIC .BS S.DCB.NIC

View File

@@ -75,18 +75,23 @@ CS.RUN
bne .4 bne .4
ldy #1 ldy #1
lda (ZPPtr1),y lda (ZPPtr1),y
ldx OptionList
ldx #OptionVars-OptionList-1
.2 cmp OptionList,x .2 cmp OptionList,x
beq .3 beq .3
dex dex
bne .2 bpl .2
lda #E.SYN lda #E.SYN
sec sec
rts rts
.3 ldy OptionVars-1,x
.3 ldy OptionVars,x
lda #$80 lda #$80
sta (pData),y sta (pData),y
bra .1 bra .1
.4 >LDYA ZPPtr1 .4 >LDYA ZPPtr1
jsr InitSrcDirYA jsr InitSrcDirYA
bcc .1 scan for any other args bcc .1 scan for any other args
@@ -592,7 +597,7 @@ Mod2CSTR ldy #S.STAT.MODE+1
*-------------------------------------- *--------------------------------------
CS.END CS.END
*-------------------------------------- *--------------------------------------
OptionList >PSTR "ACFLRacflr" OptionList .AS "ACFLRacflr"
OptionVars .DA #bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse,#bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse OptionVars .DA #bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse,#bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse
*-------------------------------------- *--------------------------------------
MSG.DEVEXT .AZ "/%15s S%dD%d Blocks Used:%5D Total:%5D\r\n" MSG.DEVEXT .AZ "/%15s S%dD%d Blocks Used:%5D Total:%5D\r\n"

View File

@@ -870,7 +870,7 @@ RESET.MODE lda #0
rts rts
*-------------------------------------- *--------------------------------------
RESET ldy #S.DCB.TTY.MODE RESET ldy #S.DCB.TTY.MODE
.1 lda RESET.VALUES-S.DCB.TTY.MODE,y .1 lda RESET.VALUES-S.DCB.TTY.MODE,y
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
iny iny
cpy #S.DCB.TTY.INBUFFER+1 cpy #S.DCB.TTY.INBUFFER+1
@@ -950,11 +950,12 @@ CLR.8 clc
rts rts
*-------------------------------------- *--------------------------------------
SaveCurPos ldy #S.DCB.TTY.CH SaveCurPos ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
jsr .1
iny iny
sta (ZPDCBPtr),y
iny .1 lda (ZPDCBPtr),y
lda (ZPDCBPtr),y
iny iny
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
rts rts
@@ -962,11 +963,12 @@ SaveCurPos ldy #S.DCB.TTY.CH
RestoreCurPos jsr DRV.TERM.CUROFF RestoreCurPos jsr DRV.TERM.CUROFF
ldy #S.DCB.TTY.CV.SAVE ldy #S.DCB.TTY.CV.SAVE
lda (ZPDCBPtr),y
jsr .1
dey dey
sta (ZPDCBPtr),y
dey .1 lda (ZPDCBPtr),y
lda (ZPDCBPtr),y
dey dey
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
rts rts