Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-06-24 17:32:22 +02:00
parent 8fd68d5d39
commit facad7dd06
9 changed files with 164 additions and 229 deletions

Binary file not shown.

View File

@ -91,18 +91,16 @@ K.ReadDir.ROOT
lda (pFD),y
bne K.ReadDir.NoMore
stz K.MLI.PARAMS+1 All Volumes
stz K.MLI.PARAMS+1 All Volumes
>LDYAI K.Buf256
>STYA K.MLI.PARAMS+2
>STYA ZPPtr2
>MLICALL MLIONLINE
bcc .10
bcs K.ReadDir.RTS
sec
.99 rts
* pass #1 compute BufSize.....
.10 lda #1 +1 for Ending 0
lda #1 +1 for Ending 0
sta K.ReadDir.BufSize
stz K.ReadDir.BufSize+1
@ -131,7 +129,7 @@ K.ReadDir.ROOT
* pass #2 Fill Buffer...
jsr K.ReadDir.GetBuf
bcs .99
bcs K.ReadDir.RTS
.3 lda (ZPPtr2)
and #$0F
@ -206,7 +204,7 @@ K.ReadDir.ROOT
jmp K.ReadDir.EXIT
*--------------------------------------
K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
>LDYAI 512 Get a 512 bytes buffer for reading dir...
jsr K.GetMem
@ -422,7 +420,7 @@ K.ReadDir.GetBuf
>STYA ZPPtr4
.9 rts
*--------------------------------------
K.ReadDir.ADD. ldx #1 filename="1."
K.ReadDir.ADD. ldx #1 filename="1."
.HS 2C bit abs
K.ReadDir.ADD..
ldx #2 filename="2.."
@ -560,9 +558,9 @@ K.ReadDir.AddFNToBuf
bne .8
txa
jsr K.ReadDir.AddToBuf
* jsr K.ReadDir.AddToBuf
rts
* rts
*--------------------------------------
K.ReadDir.AddToBuf
sta (ZPPtr4)

View File

@ -599,52 +599,22 @@ ENV.SysVarsPPID ldy #S.PS.PPID
ENV.SysVarsPID ldy #S.PS.PID
.HS 2C
ENV.SysVarsCPID ldy #S.PS.CPID
lda (pPS),y
ENV.SysVarsNum stz .2+1
stz .3+1
ENV.SysVarsNum jsr MEM.Byte2Str102
ldx #8
sed
ldy #0
.1 asl
pha
.2 lda #$ff Self Modified
adc .2+1
sta .2+1
.1 lda $102,y
beq .8
.3 lda #$ff Self Modified
adc .3+1
sta .3+1
iny
pla
dex
bne .1
jsr ENV.AddAToBuf
bra .1
cld
lda .3+1
beq .4
jsr ENV.AddAToBuf30
.4 lda .2+1
pha
lsr
lsr
lsr
lsr
beq .5
jsr ENV.AddAToBuf30
.5 pla
and #$0f
.8 jsr ENV.AddAToBuf30
clc
.8 clc
rts
*--------------------------------------
ENV.SysVarsArgs lda #1
@ -762,8 +732,6 @@ ENV.NextEnvP4Y tya
inc ZPPtr4+1
.8 rts
*--------------------------------------
ENV.AddAToBuf30 ora #$30
ENV.AddAToBuf ldx ENV.BufLen
sta K.Buf256,x
inc ENV.BufLen

View File

@ -717,13 +717,15 @@ MEM.SPtr2PPtr1 >STYA ZPPtr2
rts
*--------------------------------------
MEM.GetCharPtr1 lda (ZPPtr1)
beq MEM.GetCharPtr1.8
bne MEM.NextCharPtr1
rts
MEM.PutCharPtr1 sta (ZPPtr1)
MEM.NextCharPtr1
inc ZPPtr1
bne MEM.GetCharPtr1.8
bne .8
inc ZPPtr1+1 never Z
MEM.GetCharPtr1.8
rts
.8 rts
*--------------------------------------
MEM.AddYp1ToPtr1
sec
@ -742,38 +744,72 @@ MEM.NextCharPtr2
bne .8
inc ZPPtr2+1
.8 rts
*/--------------------------------------
* # GetMemStat
* **In:**
* Y,A = Ptr to 24 bytes buffer
* ## RETURN VALUE
* Buffer filled with memory stats
*\--------------------------------------
K.GetMemStat >STYA ZPPtr1
*--------------------------------------
* Convert A to CSTR at $102
*--------------------------------------
MEM.Byte2Str102 stz .2+1 0xx
stz .3+1 x00
phx
ldx #8
ldy #23
ldx #7
.1 lda DevMgr.Stat,x
sta (ZPPtr1),y
dey
dex
bpl .1
sta SETREADAUX
jsr .2
sta CLRREADAUX
.2 ldx #7
.3 lda Mem.Table,x
sta (ZPPtr1),y
dey
dex
bpl .3
sed
.1 asl
pha
.2 lda #$ff Self Modified
adc .2+1
sta .2+1
.3 lda #$ff Self Modified
adc .3+1
sta .3+1
pla
dex
bne .1
cld
ldx #0
lda .3+1 x00
beq .4
jsr .8
.4 lda .2+1
pha
lsr
lsr
lsr
lsr 0x0
bne .5
cpx #0
beq .6
.5 jsr .8
.6 pla
and #$0f 00x
jsr .8
stz $102,x
plx
rts
.8 ora #$30
sta $102,x
inx
rts
*--------------------------------------
MAN

View File

@ -490,71 +490,33 @@ PWD.GetRecordLen
jsr PWD.StoreChar
txa
PWD.GetRecordLen.RTS
rts
*--------------------------------------
PWD.StoreString iny
jsr MEM.TXTPTR.GetY
beq .8
beq PWD.GetRecordLen.RTS
jsr PWD.StoreChar
bra PWD.StoreString
.8 rts
*--------------------------------------
PWD.StoreByte php
phx
stz .2+1
stz .3+1
jsr MEM.Byte2Str102
ldx #8
sed
.1 asl
pha
.2 lda #$ff Self Modified
adc .2+1
sta .2+1
.3 lda #$ff Self Modified
adc .3+1
sta .3+1
pla
dex
bne .1
cld
plx
plp
lda .3+1
beq .4
ldy #0
jsr PWD.StoreChar30
.1 lda $102,y
beq PWD.GetRecordLen.RTS
.4 lda .2+1
beq PWD.StoreChar30
php
lsr
lsr
lsr
lsr
plp
iny
and #$0f plp corrupt Z
beq .5
jsr PWD.StoreChar30
.5 lda .2+1
and #$0f
jsr PWD.StoreChar
bra .1
*--------------------------------------
PWD.StoreChar30 ora #$30
PWD.StoreChar inx
bcc .9 Dry run, no store

View File

@ -1,5 +1,38 @@
NEW
AUTO 3,1
*/--------------------------------------
* # GetMemStat
* **In:**
* Y,A = Ptr to 24 bytes buffer
* ## RETURN VALUE
* Buffer filled with memory stats
*\--------------------------------------
K.GetMemStat >STYA ZPPtr1
ldy #23
ldx #7
.1 lda DevMgr.Stat,x
sta (ZPPtr1),y
dey
dex
bpl .1
sta SETREADAUX
jsr .2
sta CLRREADAUX
.2 ldx #7
.3 lda Mem.Table,x
sta (ZPPtr1),y
dey
dex
bpl .3
rts
*--------------------------------------
* # ChMod
* change permissions of a file

View File

@ -657,7 +657,7 @@ PrintF.F clc
cmp (pStack)
bcc .1
bne .9
bne .9 CS
.1 tya
sec +1
@ -684,17 +684,15 @@ PrintF.F clc
.2 lda $102,y
beq .8
jsr PrintF.COut
bcs .99
iny
bne .2
jsr PrintF.COut
bcc .2
.9 rts
.8 clc
rts
.9 sec
.99 rts
*--------------------------------------
PrintF.S ldy #$ff CSTR
.HS 2C bit abs
@ -1017,16 +1015,12 @@ K.SScanF jsr MEM.SPtr2PPtr1 ptr2=String to Scan,Ptr1=format
cmp (ZPPtr2) Same char in string?
bne .9
inc ZPPtr2
bne .1
inc ZPPtr2+1
jsr MEM.NextCharPtr2
bra .1
.12 inc ZPPtr2 Space....
bne .14
inc ZPPtr2+1
.14 cmp (ZPPtr2) another one ?
.12 jsr MEM.NextCharPtr2 Space....
cmp (ZPPtr2) another one ?
beq .12
bne .1

View File

@ -1133,55 +1133,18 @@ DRV.TERM.CURBLNK.SET
DRV.TERM.CURBLNK.RTS
rts
*--------------------------------------
Decimal.Out stz ZPTmpWord
stz ZPTmpWord+1
ldx #8
sed
tay
.1 tya
asl
tay
lda ZPTmpWord
adc ZPTmpWord
sta ZPTmpWord
lda ZPTmpWord+1
adc ZPTmpWord+1
sta ZPTmpWord+1
dex
bne .1
cld
stz ZPTmpBool No leading 0
lda ZPTmpWord+1
and #$0f
beq .2
dec ZPTmpBool non zero, print everything
Decimal.Out jsr MEM.Byte2Str102
jsr Char.Out.Put30
ldx #0
.2 lda ZPTmpWord
lsr
lsr
lsr
lsr
bne .3
.1 lda $102,x
bit ZPTmpBool Print this digit ?
bpl .4
beq DRV.TERM.CURBLNK.RTS
.3 jsr Char.Out.Put30
.4 lda ZPTmpWord
and #$0f
inx
jsr Char.Out.Put
bra .1
*--------------------------------------
Char.Out.Put30 ora #$30
Char.Out.Put pha save char
ldy #S.DCB.TTY.OUTHEAD

View File

@ -426,7 +426,7 @@ K.StrFTime jsr MEM.SPtr1PPtr2
cmp #'%'
beq .2
jsr K.StrFTime.addChar
jsr MEM.PutCharPtr1
bra .1
.2 ldx #K.StrFTime.JMP-K.StrFTime.Tbl-1
@ -507,7 +507,7 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value
.3 iny
lda (ZPPtr4),y
jsr K.StrFTime.addChar
jsr MEM.PutCharPtr1
tya
cmp (ZPPtr4)
beq .8
@ -518,7 +518,7 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value
.9 ldx #3
lda #'?'
.99 jsr K.StrFTime.addChar
.99 jsr MEM.PutCharPtr1
dex
bne .99
rts
@ -526,9 +526,10 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value
K.StrFTime.II ldy #S.Time.HOUR
lda (ZPPtr3),y
cmp #12
bcc .1
bcc K.StrFTime.addDecA
sbc #12
.1 bra K.StrFTime.addDecA
bra K.StrFTime.addDecA
K.StrFTime.P ldy #S.Time.HOUR
lda (ZPPtr3),y
cmp #12
@ -536,11 +537,13 @@ K.StrFTime.P ldy #S.Time.HOUR
lda #'p'
.HS 2C bit abs
.1 lda #'a'
jsr K.StrFTime.addChar
jsr MEM.PutCharPtr1
lda #'m'
bra K.StrFTime.addChar
jmp MEM.PutCharPtr1
K.StrFTime.YY ldy #S.Time.CENTURY
jsr K.StrFTime.addDecPtr1Y
K.StrFTime.Y ldy #S.Time.YEAR
.HS 2C bit abs
K.StrFTime.D ldy #S.Time.DAY
@ -558,40 +561,18 @@ K.StrFTime.MM ldy #S.Time.MINUTE
K.StrFTime.addDecPtr1Y
lda (ZPPtr3),y
K.StrFTime.addDecA
jsr MEM.Byte2Str102
stz .2+1
lda $102
ldx $103
ldx #8
sed
.1 asl
pha
.2 lda #$ff Self Modified
adc .2+1
sta .2+1
pla
dex
bne .1
tax
lda #$30
cld
lda .2+1
pha
lsr
lsr
lsr
lsr
ora #$30
jsr K.StrFTime.addChar
pla
and #$0f
ora #$30
*--------------------------------------
K.StrFTime.addChar
sta (ZPPtr1)
jmp MEM.NextCharPtr1
.1 jsr MEM.PutCharPtr1
txa
jmp MEM.PutCharPtr1
*--------------------------------------
K.StrFTime.DAY >PSTR "Monday"
>PSTR "Tuesday"