mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
Kernel version 0.8 : Migrating CMDs to new CIO/DIR/TIME API
This commit is contained in:
parent
f0659a7051
commit
9e7cf31491
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
67
BIN/LS.S.txt
67
BIN/LS.S.txt
@ -39,7 +39,8 @@ L.MSG.FILE .DA MSG.FILE
|
||||
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
||||
L.STAT .DA STAT
|
||||
L.TIME.Format .DA TIME.Format
|
||||
L.TIME.Buffer .DA TIME.Buffer
|
||||
L.TIME.Create .DA TIME.Create
|
||||
L.TIME.Mod .DA TIME.Mod
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >SYSCALL SYS.GetArgC
|
||||
@ -218,36 +219,14 @@ CS.RUN.DEV ldy #S.STAT.PRODOS.DEVBLOCKS+1
|
||||
>SYSCALL SYS.PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.DIR >PUSHW ZPPtr1
|
||||
CS.RUN.DIR jsr CS.RUN.PUSHDATES
|
||||
|
||||
>PUSHW ZPPtr1
|
||||
>LDYA L.MSG.DIR
|
||||
>SYSCALL SYS.PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE >PUSHW L.TIME.Buffer
|
||||
>PUSHW L.TIME.Format
|
||||
lda ZPPtr2
|
||||
clc
|
||||
adc #S.STAT.MTIME
|
||||
tay
|
||||
lda ZPPtr2+1
|
||||
adc #0
|
||||
>PUSHYA
|
||||
>SYSCALL SYS.PStrFTime
|
||||
|
||||
>PUSHW L.TIME.Buffer ModTime
|
||||
|
||||
>PUSHW L.TIME.Buffer
|
||||
>PUSHW L.TIME.Format
|
||||
lda ZPPtr2
|
||||
clc
|
||||
adc #S.STAT.CTIME
|
||||
tay
|
||||
lda ZPPtr2+1
|
||||
adc #0
|
||||
>PUSHYA
|
||||
>SYSCALL SYS.PStrFTime
|
||||
|
||||
>PUSHW L.TIME.Buffer Create Time
|
||||
CS.RUN.FILE jsr CS.RUN.PUSHDATES
|
||||
|
||||
lda ZPPtr2
|
||||
clc
|
||||
@ -274,6 +253,33 @@ CS.RUN.FILE >PUSHW L.TIME.Buffer
|
||||
>SYSCALL SYS.PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PUSHDATES
|
||||
>PUSHW L.TIME.Mod
|
||||
>PUSHW L.TIME.Format
|
||||
lda ZPPtr2
|
||||
clc
|
||||
adc #S.STAT.MTIME
|
||||
tay
|
||||
lda ZPPtr2+1
|
||||
adc #0
|
||||
>PUSHYA
|
||||
>SYSCALL SYS.PStrFTime
|
||||
|
||||
>PUSHW L.TIME.Create
|
||||
>PUSHW L.TIME.Format
|
||||
lda ZPPtr2
|
||||
clc
|
||||
adc #S.STAT.CTIME
|
||||
tay
|
||||
lda ZPPtr2+1
|
||||
adc #0
|
||||
>PUSHYA
|
||||
>SYSCALL SYS.PStrFTime
|
||||
|
||||
>PUSHW L.TIME.Mod ModTime
|
||||
>PUSHW L.TIME.Create Create Time
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
||||
lda (pEvent),y
|
||||
ldy #S.PS.hINDEV
|
||||
@ -360,7 +366,7 @@ FileType2PSTR ldy #0
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.DEV >CSTRING "%15S S%d,D%d Blocks Used:%5D,Total:%5D\n"
|
||||
MSG.DIR >CSTRING "/%15S <dir>\n"
|
||||
MSG.DIR >CSTRING "/%15S <dir> %S %S\n"
|
||||
MSG.FILE >CSTRING "%15S %S $%H %10u %S %S\n"
|
||||
*--------------------------------------
|
||||
PRODOS.FT.HEX .HS 0406FAFCFDE2FF
|
||||
@ -372,8 +378,9 @@ PRODOS.FT.TXT >PSTRING "TXT"
|
||||
>PSTRING "ATK"
|
||||
>PSTRING "SYS"
|
||||
PRODOS.FT.DFLT >PSTRING "$ "
|
||||
TIME.Format >PSTRING "%y-%b-%d %H:%M"
|
||||
TIME.Buffer .BS 16
|
||||
TIME.Format >PSTRING "%d-%b-%Y %H:%M"
|
||||
TIME.Create .BS 20
|
||||
TIME.Mod .BS 20
|
||||
HEXDIGIT .AS '0123456789ABCDEF'
|
||||
hFullPath .BS 1
|
||||
STAT .BS S.STAT
|
||||
|
@ -36,7 +36,6 @@ CS.START cld
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBSTR .DA LIBSTR
|
||||
L.MSG0 .DA MSG0
|
||||
L.MSG1 .DA MSG1
|
||||
L.MSG2 .DA MSG2
|
||||
@ -46,12 +45,7 @@ L.MSG5 .DA MSG5
|
||||
L.MSG6 .DA MSG6
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBSTR
|
||||
>SYSCALL SYS.LoadLibYA
|
||||
bcs .9
|
||||
sta hLIBSTR
|
||||
|
||||
ldy #MEM.COUNT Skip SLOT0
|
||||
CS.INIT ldy #MEM.COUNT Skip SLOT0
|
||||
lda (pData),y
|
||||
inc
|
||||
sta (pData),y
|
||||
@ -79,8 +73,8 @@ CS.RUN ldy #bCANCEL
|
||||
lda (pData),y
|
||||
bne .1
|
||||
|
||||
>PUSHW L.MSG0
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG0
|
||||
>SYSCALL SYS.PrintFYA
|
||||
|
||||
.1 ldy #MEM.COUNT
|
||||
lda (pData),y
|
||||
@ -129,20 +123,20 @@ CS.RUN ldy #bCANCEL
|
||||
>PUSHB (pData),y
|
||||
ldy #USED.COUNT
|
||||
>PUSHB (pData),y
|
||||
>PUSHW L.MSG2
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG2
|
||||
>SYSCALL SYS.PrintFYA
|
||||
|
||||
>PUSHW MemMgr.HiMem
|
||||
>PUSHW L.MSG3
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG3
|
||||
>SYSCALL SYS.PrintFYA
|
||||
|
||||
>PUSHW MemMgr.Free
|
||||
>PUSHW L.MSG4
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG4
|
||||
>SYSCALL SYS.PrintFYA
|
||||
|
||||
>PUSHW MemMgr.LoMem
|
||||
>PUSHW L.MSG5
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG5
|
||||
>SYSCALL SYS.PrintFYA
|
||||
|
||||
lda MemMgr.Free
|
||||
sec
|
||||
@ -152,8 +146,8 @@ CS.RUN ldy #bCANCEL
|
||||
sbc MemMgr.LoMem+1
|
||||
|
||||
>PUSHYA
|
||||
>PUSHW L.MSG6
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG6
|
||||
>SYSCALL SYS.PrintFYA
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -188,8 +182,8 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
|
||||
lda (pData),y
|
||||
>PUSHA
|
||||
|
||||
>PUSHW L.MSG1
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
>LDYA L.MSG1
|
||||
>SYSCALL SYS.PrintFYA
|
||||
|
||||
ldy #S.MEM.BIN
|
||||
lda (ZPPTR1),y
|
||||
@ -300,13 +294,10 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT lda hLIBSTR
|
||||
>SYSCALL SYS.UnloadLibA
|
||||
clc
|
||||
CS.QUIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBSTR >PSTRING "libstr.o"
|
||||
MSG0 >CSTRING "hMem Flags PID REF PTR LEN BINPATH/DATA\n"
|
||||
MSG1 >CSTRING " %03d %b %03d %03d $%H %05D "
|
||||
MSG2 >CSTRING "\nAllocated hMem:%d, Total:%d\n"
|
||||
@ -314,7 +305,6 @@ MSG3 >CSTRING "High Memory: $%H\n"
|
||||
MSG4 >CSTRING "Free ULimit: $%H\n"
|
||||
MSG5 >CSTRING "Low Memory: $%H\n"
|
||||
MSG6 >CSTRING "\nFree Memory: %D Bytes.\n"
|
||||
hLIBSTR .BS 1
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
@ -451,13 +451,13 @@ DEC2HEX stz HEXBUF
|
||||
rol HEXBUF+1
|
||||
rol HEXBUF+2
|
||||
rol HEXBUF+3
|
||||
bcs .9 overflow!!!
|
||||
* bcs .9 overflow!!!
|
||||
|
||||
asl HEXBUF HEXBUF * 4 -> HEXBUF
|
||||
rol HEXBUF+1
|
||||
rol HEXBUF+2
|
||||
rol HEXBUF+3
|
||||
bcs .9 overflow!!!
|
||||
* bcs .9 overflow!!!
|
||||
|
||||
pla HEXBUF * 4 + HEXBUF -> HEXBUF
|
||||
adc HEXBUF
|
||||
@ -471,13 +471,13 @@ DEC2HEX stz HEXBUF
|
||||
pla
|
||||
adc HEXBUF+3
|
||||
sta HEXBUF+3
|
||||
bcs .99 overflow!!!
|
||||
* bcs .99 overflow!!!
|
||||
|
||||
asl HEXBUF HEXBUF * 10 -> HEXBUF
|
||||
rol HEXBUF+1
|
||||
rol HEXBUF+2
|
||||
rol HEXBUF+3
|
||||
bcs .99 overflow!!!
|
||||
* bcs .99 overflow!!!
|
||||
|
||||
inx
|
||||
lda ASCBUF,x
|
||||
@ -496,11 +496,11 @@ DEC2HEX stz HEXBUF
|
||||
bne .1
|
||||
rts
|
||||
|
||||
.9 pla discard saved HEXBUF
|
||||
pla
|
||||
pla
|
||||
pla
|
||||
.99 rts
|
||||
*.9 pla discard saved HEXBUF
|
||||
* pla
|
||||
* pla
|
||||
* pla
|
||||
*.99 rts
|
||||
*--------------------------------------
|
||||
*ACCESS .AS "drwxrwxrwx"
|
||||
HEXBUF .BS 4 32 bits max
|
||||
|
@ -22,7 +22,7 @@ K.OPENDIRYA jsr PFT.CheckPathYA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPQuickPtr1
|
||||
stx K.OPENDIRYA.hDIR
|
||||
stx K.READDIRA.hDir
|
||||
|
||||
lda (ZPQuickPtr2)
|
||||
cmp #1 One char ?
|
||||
@ -59,7 +59,7 @@ K.OPENDIRYA jsr PFT.CheckPathYA
|
||||
ldy #S.DIR.PRODOS.REF
|
||||
sta (ZPQuickPtr1),y
|
||||
|
||||
.8 lda K.OPENDIRYA.hDIR
|
||||
.8 lda K.READDIRA.hDir
|
||||
clc
|
||||
rts
|
||||
|
||||
@ -69,24 +69,25 @@ K.OPENDIRYA jsr PFT.CheckPathYA
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
K.OPENDIRYA.hDIR .BS 1
|
||||
*--------------------------------------
|
||||
* In :
|
||||
* A = hDIR
|
||||
* Out :
|
||||
* CC : X = hDIREND, Y,A = PTR to S.DIRENT
|
||||
* CS : A = EC, A = 0 : no more entry
|
||||
*--------------------------------------
|
||||
K.READDIRA.hDir .BS 1
|
||||
K.READDIRA.hMem .BS 1
|
||||
K.READDIRA.hDIRENT .BS 1
|
||||
K.READDIRA.BufSize .BS 2
|
||||
K.READDIRA.EL .BS 1
|
||||
K.READDIRA.EBP .BS 1
|
||||
K.READDIRA.EC .BS 2
|
||||
K.READDIRA.ECIB .BS 1
|
||||
K.READDIRA.EC2Return .BS 1
|
||||
*--S.DIR Cache ------------------------
|
||||
K.READDIRA.EL .BS 1
|
||||
K.READDIRA.EPB .BS 1
|
||||
K.READDIRA.EC .BS 2
|
||||
*--------------------------------------
|
||||
K.READDIRA jsr PFT.CheckDirA
|
||||
sta K.READDIRA.hDir
|
||||
jsr K.GetMemPtrA
|
||||
>STYA ZPQuickPtr1
|
||||
|
||||
@ -227,9 +228,7 @@ K.READDIRA.ROOT stz MLICALL.PARAMS+1 All Volumes
|
||||
tax
|
||||
jmp K.GetMemPtrA
|
||||
*--------------------------------------
|
||||
K.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
||||
lda (ZPQuickPtr1),y
|
||||
sta MLICALL.PARAMS+1
|
||||
K.READDIRA.DIR sta MLICALL.PARAMS+1 A=#S.DIR.PRODOS.REF
|
||||
|
||||
>PUSHWI 512 Get a 512 bytes buffer for reading dir...
|
||||
>PUSHBI 0
|
||||
@ -284,12 +283,12 @@ K.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
||||
bpl .3
|
||||
|
||||
.4 ldx K.READDIRA.EC
|
||||
cpx K.READDIRA.EBP
|
||||
cpx K.READDIRA.EPB
|
||||
|
||||
lda K.READDIRA.EC+1
|
||||
sbc #0
|
||||
bcc .5 We have less than EPB to read
|
||||
ldx K.READDIRA.EBP
|
||||
ldx K.READDIRA.EPB
|
||||
|
||||
.5 stx K.READDIRA.ECIB
|
||||
stz K.READDIRA.EC2Return
|
||||
@ -341,15 +340,17 @@ K.READDIRA.DIR1 lda (ZPQuickPtr2) X = EntryCount In This Block
|
||||
.8 dex
|
||||
bne K.READDIRA.DIR1
|
||||
|
||||
* pass #2 Fill Buffer...
|
||||
* pass #2 Fill Buffer...(ZPQuickPtr1 & Ptr2 can now be trashed)
|
||||
K.READDIRA.DIR2 jsr K.READDIRA.GetBuf
|
||||
bcs .98
|
||||
|
||||
ldy #S.DIR.PRODOS.EL Check if first run....
|
||||
lda (ZPQuickPtr1),y
|
||||
bne .73
|
||||
* ldy #S.DIR.PRODOS.EL Check if first run....
|
||||
* lda (ZPQuickPtr1),y
|
||||
* bne .73
|
||||
|
||||
lda (ZPQuickPtr3)
|
||||
.71 lda (ZPQuickPtr3)
|
||||
beq .78 Empty slot, skip
|
||||
|
||||
and #$F0
|
||||
cmp #$F0 Vol Header ?
|
||||
bne .72
|
||||
@ -362,20 +363,20 @@ K.READDIRA.DIR2 jsr K.READDIRA.GetBuf
|
||||
jsr K.READDIRA.ADD..
|
||||
bra .78
|
||||
|
||||
.73 lda K.READDIRA.EC
|
||||
.73 lda K.READDIRA.EC Regular FILE/DIR
|
||||
sec
|
||||
sbc #1
|
||||
sta K.READDIRA.EC
|
||||
bcs .74
|
||||
|
||||
lda K.READDIRA.EC+1
|
||||
sbc #0
|
||||
sta K.READDIRA.EC+1 CC, we reached $ffff
|
||||
bcc .80 no more file to list...
|
||||
|
||||
.74 lda (ZPQuickPtr3)
|
||||
beq .78
|
||||
jsr K.READDIRA.AddFNToBuf
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
lda (ZPQuickPtr3)
|
||||
and #$F0
|
||||
cmp #$D0 Directory ?
|
||||
bne .75
|
||||
@ -392,12 +393,16 @@ K.READDIRA.DIR2 jsr K.READDIRA.GetBuf
|
||||
inc ZPQuickPtr3+1
|
||||
|
||||
.79 dec K.READDIRA.ECIB
|
||||
bne .72
|
||||
bne .71
|
||||
|
||||
.80
|
||||
* lda #0 S.MEM.F.INIT0 already did this
|
||||
* sta (ZPQuickPtr4) Ending 0
|
||||
|
||||
lda K.READDIRA.hDir Restore ZPQuickPtr1 trashed by STR API calls
|
||||
jsr K.GetMemPtrA
|
||||
>STYA ZPQuickPtr1
|
||||
|
||||
ldx #3
|
||||
ldy #S.DIR.PRODOS.EL+3
|
||||
|
||||
@ -437,48 +442,35 @@ K.READDIRA.ADD. ldx #1 filename="1."
|
||||
K.READDIRA.ADD..
|
||||
ldx #2 filename="2.."
|
||||
txa
|
||||
jsr K.READDIRA.AddToBuf
|
||||
lda #'.' filename="1."
|
||||
jsr K.READDIRA.AddToBuf Add LEN
|
||||
lda #'.'
|
||||
|
||||
.1 jsr K.READDIRA.AddToBuf
|
||||
.1 jsr K.READDIRA.AddToBuf Add X dot(s)
|
||||
dex
|
||||
bne .1
|
||||
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
lda #$0F
|
||||
sta KrnBuf256+S.STAT.PRODOS.TYPE
|
||||
|
||||
* ldy #$25 total_blocks
|
||||
* lda (ZPQuickPtr3),y
|
||||
* sta KrnBuf256+S.STAT.BLOCKS
|
||||
* iny
|
||||
* lda (ZPQuickPtr3),y
|
||||
* sta KrnBuf256+S.STAT.BLOCKS+1
|
||||
|
||||
bra K.READDIRA.ADDSTAT
|
||||
*--------------------------------------
|
||||
K.READDIRA.ADDD jsr K.READDIRA.AddFNToBuf
|
||||
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
lda #$0F
|
||||
K.READDIRA.ADDD lda #$0F
|
||||
sta KrnBuf256+S.STAT.PRODOS.TYPE
|
||||
|
||||
bra K.READDIRA.ADDSTAT
|
||||
*--------------------------------------
|
||||
K.READDIRA.ADDF jsr K.READDIRA.AddFNToBuf
|
||||
|
||||
jsr K.READDIRA.ClrStat
|
||||
|
||||
ldx #ADDF.DST-ADDF.SRC
|
||||
K.READDIRA.ADDF ldx #ADDF.DST-ADDF.SRC
|
||||
.1 ldy ADDF.SRC-1,x
|
||||
lda (ZPQuickPtr3),y
|
||||
ldy ADDF.DST-1,x
|
||||
sta KrnBuf256,y
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
|
||||
>PUSHWI KrnBuf256+S.STAT.CTIME
|
||||
lda #$18 creation Date/time
|
||||
jsr K.READDIRA.ConvertTime
|
||||
@ -540,7 +532,7 @@ K.READDIRA.ConvertTime
|
||||
lda ZPQuickPtr3+1
|
||||
adc #0
|
||||
>PUSHYA
|
||||
jmp K.PTime2Time
|
||||
jmp K.PTime2Time Will destroy Ptr1 & Ptr2 !!!!
|
||||
*--------------------------------------
|
||||
ADDF.SRC .HS 1013141516171f20
|
||||
ADDF.DST .DA #S.STAT.PRODOS.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
||||
@ -551,7 +543,7 @@ ADDF.DST .DA #S.STAT.PRODOS.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
||||
* A = hDIR
|
||||
*--------------------------------------
|
||||
K.CLOSEDIRA jsr PFT.CheckDirA
|
||||
sta K.OPENDIRYA.hDIR
|
||||
sta K.READDIRA.hDir
|
||||
jsr K.GetMemPtrA
|
||||
>STYA ZPQuickPtr1
|
||||
|
||||
@ -561,12 +553,12 @@ K.CLOSEDIRA.1 ldy #S.DIR.PRODOS.REF
|
||||
sta MLICALL.PARAMS+1
|
||||
>MLICALL MLICLOSE
|
||||
|
||||
.1 ldy #S.DIR.PRODOS.IOBUF
|
||||
.1 ldy #S.DIR.PRODOS.IOBUF
|
||||
lda (ZPQuickPtr1),y
|
||||
beq .2
|
||||
jsr K.FreeMemA
|
||||
|
||||
.2 lda K.OPENDIRYA.hDIR
|
||||
.2 ldaK.READDIRA.hDir
|
||||
jsr K.FreeMemA
|
||||
clc
|
||||
rts
|
||||
|
@ -298,26 +298,26 @@ K.PStrFTime.JMPH .DA /K.PStrFTime.A
|
||||
.DA /K.PStrFTime.Y
|
||||
.DA /K.PStrFTime.YY
|
||||
*--------------------------------------
|
||||
K.PStrFTime.A ldx #3 Max Len
|
||||
K.PStrFTime.A ldx #3 Short day of week, 3 chars...
|
||||
.HS 2C Bit abs
|
||||
|
||||
K.PStrFTime.AA ldx #15
|
||||
K.PStrFTime.AA ldx #15 full DoW
|
||||
>LDYAI K.PStrFTime.DAY
|
||||
>STYA ZPQuickPtr4
|
||||
ldy #S.Time.WDAY
|
||||
bra K.PStrFTime.STR
|
||||
|
||||
K.PStrFTime.B ldx #3
|
||||
K.PStrFTime.B ldx #3 Short Month, 3 chars....
|
||||
.HS 2C Bit abs
|
||||
|
||||
K.PStrFTime.BB ldx #15
|
||||
K.PStrFTime.BB ldx #15 full Month....
|
||||
>LDYAI K.PStrFTime.MON
|
||||
>STYA ZPQuickPtr4
|
||||
ldy #S.Time.MONTH
|
||||
|
||||
K.PStrFTime.STR lda (ZPQuickPtr1),y get required S.Time field value
|
||||
tay
|
||||
beq .8 Illegal value
|
||||
beq .9 Illegal value
|
||||
|
||||
.1 dey range 0..x
|
||||
beq .2
|
||||
@ -342,8 +342,10 @@ K.PStrFTime.STR lda (ZPQuickPtr1),y get required S.Time field value
|
||||
tay
|
||||
dex
|
||||
bne .3
|
||||
.8 rts
|
||||
|
||||
.8 rts
|
||||
.9 lda #'?'
|
||||
jmp K.PStrFTime.addChar
|
||||
|
||||
K.PStrFTime.D ldy #S.Time.DAY
|
||||
bra K.PStrFTime.addDecPtr1Y
|
||||
@ -382,6 +384,7 @@ K.PStrFTime.addDecPtr1Y
|
||||
K.PStrFTime.addDecA
|
||||
sta K.PStrFTime.BIN
|
||||
stz K.PStrFTime.DEC
|
||||
|
||||
sed
|
||||
ldx #8
|
||||
|
||||
@ -393,17 +396,18 @@ K.PStrFTime.addDecA
|
||||
|
||||
dex
|
||||
bne .1
|
||||
|
||||
cld
|
||||
|
||||
* lda K.PStrFTime.DEC already in A
|
||||
|
||||
pha
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
ora #$30
|
||||
jsr K.PStrFTime.addChar
|
||||
lda K.PStrFTime.DEC
|
||||
pla
|
||||
and #$0f
|
||||
ora #$30
|
||||
*--------------------------------------
|
||||
|
@ -14,9 +14,9 @@ DAY0 .EQ 4 day 0 was a thursday
|
||||
*--------------------------------------
|
||||
* K.TimeYA get System Time
|
||||
* In :
|
||||
* Y,A = PTR to K.Time
|
||||
* Y,A = PTR to S.TIME
|
||||
* Out :
|
||||
* K.Time filled with ProDOS MLI date/time
|
||||
* S.TIME filled with System date/time
|
||||
*--------------------------------------
|
||||
K.TimeYA >STYA ZPQuickPtr2
|
||||
>MLICALL MLIGETTIME
|
||||
@ -26,7 +26,7 @@ K.TimeYA >STYA ZPQuickPtr2
|
||||
*--------------------------------------
|
||||
* In :
|
||||
* PULLW = Src PDATE/TIME (DWORD)
|
||||
* PULLW = Dst PTR To K.Time
|
||||
* PULLW = Dst PTR To S.TIME
|
||||
*--------------------------------------
|
||||
K.PTime2Time >PULLW ZPQuickPtr1
|
||||
>PULLW ZPQuickPtr2
|
||||
@ -163,7 +163,7 @@ K.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7)
|
||||
* K.CTime2Time
|
||||
* In :
|
||||
* PULLW = Src CTIME DWORD
|
||||
* PULLW = Dst PTR To K.Time
|
||||
* PULLW = Dst PTR To S.TIME
|
||||
*--------------------------------------
|
||||
K.CTime2Time >PULLW ZPQuickPtr1
|
||||
>PULLW ZPQuickPtr2
|
||||
|
Loading…
Reference in New Issue
Block a user