Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-05-20 23:06:05 +02:00
parent 46b4bf8706
commit a21709572d
7 changed files with 75 additions and 54 deletions

Binary file not shown.

Binary file not shown.

View File

@ -5,10 +5,10 @@ NEW
.OR $2000
.TF bin/chmod
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
*--------------------------------------
X.ENTER.SUBDIR .EQ 0
X.COPY.TO.DEST .EQ 0
@ -115,12 +115,16 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
bcs .99
tay
bne .1
>SYSCALL GetChar
bcs .99
cmp #$03 Ctrl-C
beq .99 Abort....
cmp #$13 Ctrl-S
bne .1
@ -128,62 +132,81 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
eor #$ff
sta (pData),y
bne CS.RUN.LOOP
.1 >LDA.G bPause
bne CS.RUN.LOOP Pause...
*--------------------------------------
jsr GetEntry
bcs .9
ldy #S.STAT.P.DRIVE
lda (ZPFileStat),y ProDOS Device ?
beq .5
jsr CS.RUN.DEV
bcc CS.RUN.LOOP
rts
.5 ldy #S.STAT.P.TYPE
bcs CS.RUN.LEAVE
ldy #S.STAT.MODE+1
lda (ZPFileStat),y
cmp #$0F Directory ?
and #$70
bne .5 REG file ?
jsr CS.RUN.FILE
bcc CS.RUN.NEXT
rts
.5 cmp /S.STAT.MODE.DIR DIR ?
bne .6
jsr CS.RUN.DIR
bcs .99
bra .8
.6 jsr CS.RUN.FILE
bcs .99
bra .8
.9 jsr LeaveSubDir
bcc CS.RUN.NEXT
rts
.6 lda #MLI.E.UNSUPST
sec
.99 rts
*--------------------------------------
CS.RUN.NEXT jsr GetNextEntry
bcc CS.RUN.LOOP
CS.RUN.LEAVE jsr LeaveSubDir
bcs .90
jsr BasePath..
.8 jsr GetNextEntry
jmp CS.RUN.LOOP
jmp CS.RUN.NEXT
.90 lda #0
sec
.99 rts
*--------------------------------------
CS.RUN.DEV lda #E.BADPATH
sec
rts
*--------------------------------------
CS.RUN.DIR >LDA.G bRecurse
bpl .8
lda (ZPFileName)
cmp #'.'
bne .1
ldy #1
lda (ZPFileName),y
beq .8
jsr CS.RUN.GetFilePath
cmp #'.'
bne .1
iny
lda (ZPFileName),y
beq .8
.1 jsr CS.RUN.GetFilePath
>PUSHW L.MSG.DIR
>PUSHW ZPFullPath
>PUSHBI 2
>SYSCALL PrintF
bcs .9
>PUSHW ZPFullPath
>PUSHW ZPMode
>LDYA ZPFullPath
>SYSCALL chmod
jsr CS.RUN.CheckErr
>LDYA ZPFileName
jsr EnterSubDirYA
rts
.8 clc
.9 rts
*--------------------------------------
@ -198,10 +221,11 @@ CS.RUN.FILE jsr FilterMatch
>SYSCALL PrintF
bcs .9
>PUSHW ZPFullPath
>PUSHW ZPMode
>LDYA ZPFullPath
>SYSCALL chmod
jsr CS.RUN.CheckErr
.8 clc
.9 rts
*--------------------------------------
@ -245,6 +269,7 @@ CS.RUN.CheckErr bcs .1
>LDYA L.MSG.OK
>SYSCALL PutS
rts
.1 pha
>PUSHW L.MSG.ERR
pla
@ -283,7 +308,7 @@ CS.QUIT jsr LeaveSubDir
.8 clc
rts
*--------------------------------------
.INB USR/SRC/BIN/X.FILEENUM.S
.INB usr/src/bin/x.fileenum.s
*--------------------------------------
CS.END
*--------------------------------------
@ -295,8 +320,8 @@ MSG.USAGE .AS "Usage : CHMOD mode [File *,? wildcards allowed]\r\n"
.AZ " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.DIR .AZ "Reading Dir:%s..."
MSG.FILE .AZ "Adding File:%s..."
MSG.DIR .AZ "Dir :%s..."
MSG.FILE .AZ "File:%s..."
*--------------------------------------
.DUMMY
.OR 0
@ -311,11 +336,11 @@ bPause .BS 1
hSrcFullPath .BS 1
.INB USR/SRC/BIN/X.FILEENUM.G
.INB usr/src/bin/x.fileenum.g
DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/CHMOD.S
SAVE usr/src/bin/chmod.s
ASM

View File

@ -257,12 +257,6 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir....
ldy #hSrcFullPath
jsr CS.RUN.GetPathY
* pha
* phy
* >SYSCALL puts
* >DEBUG
* ply
* pla
>SYSCALL Remove
jsr CS.RUN.CheckErr
bcs .99

View File

@ -613,7 +613,8 @@ WRITE php
ldy #S.IP.DST
.1 lda (ZPBufPtr),y
.1 lda #$ff
* lda (ZPBufPtr),y
sta W5100.DR,x
iny
cpy #S.IP.DST+4

View File

@ -56,8 +56,8 @@ D2MoveHead >PULLB MoveTo
.3 tya
beq .8
lda #0
jsr D2.Wait100msA Trash X
* lda #0
* jsr D2.Wait100msA Trash X
.8 clc
.9 rts
@ -67,7 +67,7 @@ D2.PhaseOn bit #1 1,3,5,7 ?
pha
bcs .1 move out,start by+1
bcc .1 move out,start by+1
jsr .7
@ -77,16 +77,16 @@ D2.PhaseOn bit #1 1,3,5,7 ?
jsr .7
bcc .8
bcs .8
pla
.7 php
and #6 mask for 0,2,4,6
.7 and #6 mask for 0,2,4,6
ora Slotn0
tax
lda IO.D2.Ph0On,x turn on one phase
php
lda #1
jsr D2.Wait100msA
plp

View File

@ -760,7 +760,7 @@ XRW.Seek ldx XRW.UnitIndex
jsr XRW.PhaseOn
lda #0 wait 3.500 usec
lda #0 wait 25.500 usec
jsr XRW.Wait100msA Trash X
jsr XRW.PhaseOff
@ -769,8 +769,8 @@ XRW.Seek ldx XRW.UnitIndex
.3 tya
beq .8
lda #0 wait 25.500 usec
jmp XRW.Wait100msA Trash X
* lda #0 wait 25.500 usec
* jmp XRW.Wait100msA Trash X
.8 rts
*--------------------------------------
@ -779,7 +779,7 @@ XRW.PhaseOn bit #1 1,3,5,7 ?
pha
bcs .1 move out,start by+1
bcc .1 move out,start by+1
jsr .7
@ -789,16 +789,17 @@ XRW.PhaseOn bit #1 1,3,5,7 ?
jsr .7
bcc .8
bcs .8
pla
.7 php
and #6 mask for 0,2,4,6
.7 and #6 mask for 0,2,4,6
ora A2L Slot $n0
tax
lda IO.D2.Ph0On,x turn on one phase
* jsr XRW.Wait100ms wait 100 usec
php
jsr XRW.Wait100ms wait 100 usec
plp
.8 rts