Kernel 0.94

This commit is contained in:
Rémy GIBERT
2020-10-31 11:33:29 +01:00
parent 2cf444d90b
commit a650cb83da
3 changed files with 34 additions and 10 deletions

Binary file not shown.

View File

@@ -207,13 +207,14 @@ FS.STAT.YA >PUSHYA
jsr FS.Stat.203 jsr FS.Stat.203
.9 >RET 4 .9 >POP 4
FS.STAT.YA.RTS rts
*-------------------------------------- *--------------------------------------
FS.Stat bit CORE.FSID FS.Stat bit CORE.FSID
bmi FS.Stat.FX bmi FS.Stat.FX
FS.Stat.203 >MLICALL MLIGETFILEINFO FS.Stat.203 >MLICALL MLIGETFILEINFO
bcs FS.Stat.RTS bcs FS.STAT.YA.RTS
jsr FS.ClrStat jsr FS.ClrStat
@@ -243,7 +244,6 @@ FS.Stat.203 >MLICALL MLIGETFILEINFO
>LDYAI K.MLI.PARAMS+S.FI.MDATE >LDYAI K.MLI.PARAMS+S.FI.MDATE
ldx #K.S.STAT+S.STAT.MTIME ldx #K.S.STAT+S.STAT.MTIME
jmp FS.PTime2StatYAX jmp FS.PTime2StatYAX
FS.Stat.RTS rts
*-------------------------------------- *--------------------------------------
FS.Stat.FX >MLICALL MLIGETFILEINFOEX FS.Stat.FX >MLICALL MLIGETFILEINFOEX
bcc .1 bcc .1
@@ -329,6 +329,9 @@ FS.PTime2StatYAX
txa txa
>PUSHA >PUSHA
>SYSCALL2 PTime2Time >SYSCALL2 PTime2Time
clc ignore bad date error
rts rts
*-------------------------------------- *--------------------------------------
FS.GFI.Src .DA #S.FI.T,#S.FI.AUXTYPE,#S.FI.AUXTYPE+1 FS.GFI.Src .DA #S.FI.T,#S.FI.AUXTYPE,#S.FI.AUXTYPE+1

View File

@@ -168,6 +168,7 @@ TIMEX.MON >PSTR "???"
>PSTR "December" >PSTR "December"
*-------------------------------------- *--------------------------------------
TIMEX.PTime2Time.BAD TIMEX.PTime2Time.BAD
lda #E.OOB
sec sec
rts rts
TIMEX.PTime2Time TIMEX.PTime2Time
@@ -192,18 +193,28 @@ TIMEX.PTime2Time
ldy #0 ldy #0
jsr SHARED.TXTPTR.GetY Get Month/day jsr SHARED.TXTPTR.GetY Get Month/day
pha save Day tax save Day
ror ror C is high bit of month
lsr lsr
lsr lsr
lsr lsr
lsr lsr
beq TIMEX.PTime2Time.BAD
cmp #13
bcs TIMEX.PTime2Time.BAD
ldy #S.Time.MONTH ldy #S.Time.MONTH
jsr SHARED.FORPNT.PutY set month jsr SHARED.FORPNT.PutY set month
sta K.ComputeWDAY.1+1 sta K.ComputeWDAY.1+1
pla get back day txa get back day
beq TIMEX.PTime2Time.BAD
and #$1F and #$1F
cmp #32
bcs TIMEX.PTime2Time.BAD
iny iny
jsr SHARED.FORPNT.PutY set day jsr SHARED.FORPNT.PutY set day
@@ -211,6 +222,9 @@ TIMEX.PTime2Time
sta ARG32.Sign For later... sta ARG32.Sign For later...
lda ARG32+3 get back year lda ARG32+3 get back year
cmp #100
bcs TIMEX.PTime2Time.BAD
cmp #69 if before 70 CC,if > 70, CS cmp #69 if before 70 CC,if > 70, CS
lda #0 lda #0
rol get back C in bit 0 rol get back C in bit 0
@@ -239,7 +253,7 @@ TIMEX.PTime2Time
K.ComputeWDAY lda #DAY0-1 Thursday : 4 (-1 for mod 7) K.ComputeWDAY lda #DAY0-1 Thursday : 4 (-1 for mod 7)
pha pha
lda #CENT0 lda #CENT0 Starts at 1970
sta ARG32 sta ARG32
lda #YEAR0 lda #YEAR0
sta ARG32+1 sta ARG32+1
@@ -249,6 +263,7 @@ K.ComputeWDAY lda #DAY0-1 Thursday : 4 (-1 for mod 7)
cpy ARG32+2 cpy ARG32+2
bne .2 bne .2
cmp ARG32+3 cmp ARG32+3
beq K.ComputeWDAY.1 beq K.ComputeWDAY.1
@@ -307,9 +322,9 @@ K.ComputeWDAY.1 ldx #$ff SELF MODIFIED : month
.80 inc adjust range 1..7 .80 inc adjust range 1..7
ldy #S.Time.WDAY ldy #S.Time.WDAY
jsr SHARED.FORPNT.PutY
clc * clc
rts jmp SHARED.FORPNT.PutY
*-------------------------------------- *--------------------------------------
TIMEX.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3 TIMEX.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3
*-------------------------------------- *--------------------------------------
@@ -339,12 +354,15 @@ TIMEX.CTime2Time
eor #$ff eor #$ff
tax tax
pla pla
.2 tay .2 tay
sec sec
sbc #7 sbc #7
bcs .2 bcs .2
inx inx
bne .2 bne .2
tya tya
ldy #S.Time.WDAY ldy #S.Time.WDAY
sta (ZPPtr2),y sta (ZPPtr2),y
@@ -365,6 +383,7 @@ K.CTime2Time.Year
lda ARG32+1 lda ARG32+1
sbc /365 sbc /365
bcc .2 bcc .2
sta ARG32+1 sta ARG32+1
pla pla
sta ARG32 sta ARG32
@@ -376,6 +395,7 @@ K.CTime2Time.Year
stz ZPPtr3 stz ZPPtr3
inc ZPPtr3+1 inc ZPPtr3+1
bne .1 bne .1
.2 pla .2 pla
lda ZPPtr3+1 lda ZPPtr3+1
@@ -428,6 +448,7 @@ TIMEX.IsLeap cmp #0 Year = 00 ?
and #$3 Century mod 4 = 0 ? and #$3 Century mod 4 = 0 ?
beq .9 leap year (2000) beq .9 leap year (2000)
.8 clc not leap (1900) .8 clc not leap (1900)
rts rts