mirror of https://github.com/A2osX/A2osX.git
Kernel 0.93++
This commit is contained in:
parent
6da34d72e3
commit
a32e9e06c1
Binary file not shown.
|
@ -532,22 +532,9 @@ BUF.BufPtrSetup >STYA TmpLen
|
|||
|
||||
bcc .8
|
||||
|
||||
>PUSHB.G hBuf
|
||||
|
||||
lda FileLen+1
|
||||
inc
|
||||
inc
|
||||
sta BufLen+1
|
||||
>PUSHA
|
||||
>PUSHBI 0
|
||||
|
||||
>SYSCALL realloc
|
||||
jsr BUF.BufPtr.Realloc
|
||||
bcs .9
|
||||
|
||||
>STYA.G BufBase
|
||||
txa
|
||||
>STA.G hBuf
|
||||
|
||||
.8 lda BUF.COffset
|
||||
clc
|
||||
>ADC.G BufBase
|
||||
|
@ -569,6 +556,24 @@ BUF.BufPtrSetup >STYA TmpLen
|
|||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.BufPtr.Realloc
|
||||
>PUSHB.G hBuf
|
||||
|
||||
lda FileLen+1
|
||||
inc
|
||||
inc
|
||||
sta BufLen+1
|
||||
>PUSHA
|
||||
>PUSHBI 0
|
||||
|
||||
>SYSCALL realloc
|
||||
bcs .9
|
||||
|
||||
>STYA.G BufBase
|
||||
txa
|
||||
>STA.G hBuf
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/EDIT.S.BUF
|
||||
LOAD USR/SRC/BIN/EDIT.S
|
||||
|
|
|
@ -77,12 +77,8 @@ FILE.Load.TXT stz FileLen
|
|||
>STYA ZPPTR1
|
||||
stx TmpByte
|
||||
|
||||
>PUSHWZ Aux type
|
||||
>PUSHBI S.FI.T.TXT
|
||||
>PUSHBI O.RDONLY+O.TEXT
|
||||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
>SYSCALL fopen
|
||||
ldx #S.FI.T.TXT
|
||||
jsr FILE.OpenTypeX
|
||||
bcs .99
|
||||
|
||||
sta TmpIndex
|
||||
|
@ -153,9 +149,146 @@ FILE.Load.TXT stz FileLen
|
|||
.9 sec
|
||||
jmp FILE.Close
|
||||
*--------------------------------------
|
||||
FILE.Load.ASM
|
||||
lda #MLI.E.INCFF
|
||||
sec
|
||||
FILE.Load.ASM stz FileLen
|
||||
stz FileLen+1
|
||||
|
||||
lda #4
|
||||
>STA.G FileType
|
||||
|
||||
lda #8
|
||||
jsr FILE.GetBufferA 2k buffer
|
||||
bcs .9
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPPTR1
|
||||
stx TmpByte
|
||||
|
||||
ldx #$FA
|
||||
jsr FILE.OpenTypeX
|
||||
bcs .99
|
||||
|
||||
sta TmpIndex
|
||||
|
||||
.1 >PUSHWI 3
|
||||
>PUSHW ZPPTR1
|
||||
lda TmpIndex
|
||||
>SYSCALL fread
|
||||
bcs .7
|
||||
|
||||
lda #0
|
||||
>PUSHA
|
||||
lda (ZPPTR1)
|
||||
dec
|
||||
dec
|
||||
dec
|
||||
>PUSHA
|
||||
>PUSHW ZPPTR1
|
||||
lda TmpIndex
|
||||
>SYSCALL fread
|
||||
bcs .7
|
||||
|
||||
jsr FILE.Load.ASM.Decode
|
||||
|
||||
bcc .1
|
||||
|
||||
.7 cmp #MLI.E.EOF
|
||||
bne .9
|
||||
|
||||
lda #0
|
||||
sta (BufPtr)
|
||||
|
||||
clc
|
||||
.HS B0 BCS
|
||||
.9 sec
|
||||
jmp FILE.Close
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
FILE.Load.ASM.Decode
|
||||
ldy #0
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
beq .8
|
||||
|
||||
iny
|
||||
tax
|
||||
bmi .2
|
||||
|
||||
jsr FILE.Load.ASM.2Buf
|
||||
bcc .1
|
||||
rts
|
||||
|
||||
.2 cmp #$C0 REPEAT char?
|
||||
bne .5
|
||||
|
||||
lda (ZPPtr1),y Get Repeat Count
|
||||
iny
|
||||
tax
|
||||
|
||||
lda (ZPPtr1),y Get Repeat Char
|
||||
iny
|
||||
|
||||
.4 jsr FILE.Load.ASM.2Buf
|
||||
dex
|
||||
bne .4
|
||||
|
||||
bra .1
|
||||
|
||||
.5 and #$3F Compute blank count
|
||||
tax
|
||||
lda #C.SPACE
|
||||
|
||||
.6 jsr FILE.Load.ASM.2Buf
|
||||
dex
|
||||
bne .6
|
||||
|
||||
bra .1
|
||||
.9 rts
|
||||
|
||||
.8 lda #C.CR
|
||||
*--------------------------------------
|
||||
FILE.Load.ASM.2Buf
|
||||
phy
|
||||
phx
|
||||
sta (BufPtr)
|
||||
inc BufPtr
|
||||
bne .1
|
||||
inc BufPtr+1
|
||||
|
||||
.1 inc FileLen
|
||||
bne .8
|
||||
inc FileLen+1
|
||||
|
||||
lda FileLen+1
|
||||
cmp BufLen+1
|
||||
bne .8
|
||||
|
||||
jsr BUF.BufPtr.Realloc
|
||||
bcs .9
|
||||
|
||||
>LDA.G BufBase
|
||||
* clc
|
||||
adc FileLen
|
||||
sta BufPtr
|
||||
iny
|
||||
lda (pData),y
|
||||
adc FileLen+1
|
||||
sta BufPtr+1
|
||||
|
||||
.8 clc
|
||||
.9 plx
|
||||
ply
|
||||
rts
|
||||
*--------------------------------------
|
||||
FILE.OpenTypeX >PUSHWZ Aux type
|
||||
txa
|
||||
>PUSHA
|
||||
>PUSHBI O.RDONLY
|
||||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
>SYSCALL fopen
|
||||
rts
|
||||
*--------------------------------------
|
||||
FILE.Save >LDYAI 256
|
||||
|
@ -256,14 +389,14 @@ FILE.Save.ASM
|
|||
FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
||||
dey
|
||||
ora (pData),y
|
||||
bne .9
|
||||
bne FILE.GetBuffer.9
|
||||
|
||||
dey
|
||||
lda (pData),y Size HI
|
||||
inc
|
||||
inc
|
||||
|
||||
ldy #0 Size LO
|
||||
FILE.GetBufferA ldy #0 Size LO
|
||||
>STYA BufLen
|
||||
>SYSCALL GetMem
|
||||
bcs .99
|
||||
|
@ -272,15 +405,13 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
|||
>STYA.G BufBase
|
||||
txa
|
||||
>STA.G hBuf
|
||||
|
||||
lda #0
|
||||
sta (BufPtr)
|
||||
|
||||
rts
|
||||
|
||||
.9 lda #E.FTB
|
||||
sec
|
||||
|
||||
.99 rts
|
||||
|
||||
FILE.GetBuffer.9
|
||||
lda #E.FTB
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/EDIT.S.FILE
|
||||
|
|
|
@ -10,7 +10,6 @@ PASS.MAX .EQ 64
|
|||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/LIBCRYPT.I
|
||||
*--------------------------------------
|
||||
* Zero Page Segment, up to 32 bytes
|
||||
*--------------------------------------
|
||||
|
@ -75,24 +74,32 @@ CS.INIT clc
|
|||
CS.RUN >LDYAI S.PW
|
||||
>SYSCALL getmem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPPWPtr
|
||||
stx ZPhPW
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL getmem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPStrPtr
|
||||
stx ZPhStr
|
||||
|
||||
>PUSHW ZPPWPtr
|
||||
lda #0
|
||||
>SYSCALL GetPWUID
|
||||
bcc .1
|
||||
|
||||
jmp CS.RUN.ROOT
|
||||
|
||||
.1 ldy #S.PW
|
||||
|
||||
.2 dey
|
||||
lda PW.DEFAULT,y
|
||||
sta (pData),y
|
||||
tya
|
||||
bne .2
|
||||
|
||||
jsr CS.RUN.CheckArg
|
||||
bcs .9
|
||||
|
||||
|
@ -219,20 +226,26 @@ CS.RUN.CheckArg inc ArgIndex
|
|||
lda (ZPStrPtr)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
|
||||
ldy #1
|
||||
lda (ZPStrPtr),y
|
||||
ldx OptionList
|
||||
.2 cmp OptionList,x
|
||||
|
||||
ldx #OptionCnt
|
||||
|
||||
.2 cmp OptionList-1,x
|
||||
beq .3
|
||||
dex
|
||||
bne .2
|
||||
bpl .2
|
||||
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.3 txa
|
||||
and #$fe
|
||||
tax
|
||||
jmp (J.CS.RUN.CheckArg,x)
|
||||
|
||||
.4 lda ArgUsername
|
||||
bne CS.RUN.CheckArg.9
|
||||
lda pData
|
||||
|
@ -351,7 +364,8 @@ CS.QUIT lda ZPhStr
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
OptionList >PSTR "CcDdPpSs"
|
||||
OptionList .AS "CcDdPpSs"
|
||||
OptionCnt .EQ *-OptionList
|
||||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
|
@ -369,7 +383,7 @@ MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0
|
|||
*--------------------------------------
|
||||
PW.ROOT .AS "root"
|
||||
.BS 17-4
|
||||
.AZ "D41D8CD98F00B204E9800998ECF8427E"
|
||||
.AZ "d41d8cd98f00b204e9800998ecf8427e"
|
||||
.DA #0 UID
|
||||
.DA #0 GID
|
||||
.AS "Root User"
|
||||
|
@ -380,7 +394,7 @@ PW.ROOT .AS "root"
|
|||
.BS 65-13
|
||||
*--------------------------------------
|
||||
PW.DEFAULT .BS 17 NAME
|
||||
.AZ "D41D8CD98F00B204E9800998ECF8427E"
|
||||
.AZ "d41d8cd98f00b204e9800998ecf8427e"
|
||||
.DA #0 UID
|
||||
.DA #1 GID
|
||||
.BS 65 GECOS
|
||||
|
|
|
@ -3,7 +3,7 @@ NEW
|
|||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF BIN/USERDEL
|
||||
.TF bin/userdel
|
||||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/A2OSX.I
|
||||
|
|
|
@ -459,13 +459,13 @@ Mem.DecRefCnt ldy #S.MEM.REFCNT
|
|||
* Y,A = File Length
|
||||
* X = hMem of Loaded Object in AUX mem
|
||||
*\--------------------------------------
|
||||
K.LoadStkObj ldx #SYS.LoadTxtFile To get ending \0
|
||||
jsr K.SYSCALL2
|
||||
K.LoadStkObj >SYSCALL2 LoadTxtFile To get ending \0
|
||||
bcs .99
|
||||
|
||||
stx .90+1
|
||||
sty .81+1 Save File Len
|
||||
sta .82+1
|
||||
|
||||
iny
|
||||
bne .1
|
||||
inc +1 for ending 0
|
||||
|
@ -563,15 +563,7 @@ MEM.MoveToMain sec
|
|||
|
||||
lda .2+1
|
||||
>SYSCALL2 GetStkObjPtr
|
||||
>STYA A1L Save AUX base Ptr
|
||||
pha Add Allocated LEN
|
||||
tya
|
||||
clc
|
||||
adc A2L
|
||||
sta A2L
|
||||
pla
|
||||
adc A2L+1
|
||||
sta A2L+1 to get End address in A2L/H
|
||||
jsr MEM.MoveSetupA1A2 Setup AUX base & End Ptrs
|
||||
|
||||
clc Aux To Main
|
||||
jsr AuxMove
|
||||
|
@ -599,15 +591,7 @@ MEM.MoveToAux stx .1+1 Save MAIN hMem
|
|||
|
||||
lda .1+1
|
||||
jsr K.GetMemPtr
|
||||
>STYA A1L Save MAIN base Ptr
|
||||
pha Add Allocated LEN
|
||||
tya
|
||||
clc
|
||||
adc A2L
|
||||
sta A2L
|
||||
pla
|
||||
adc A2L+1
|
||||
sta A2L+1 to get End address in A2L/H
|
||||
jsr MEM.MoveSetupA1A2 Setup MAIN base & End Ptrs
|
||||
|
||||
sec Main To Aux
|
||||
jsr AuxMove
|
||||
|
@ -620,6 +604,28 @@ MEM.MoveToAux stx .1+1 Save MAIN hMem
|
|||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MEM.MoveSetupA1A2
|
||||
>STYA A1L Start Address
|
||||
pha
|
||||
tya
|
||||
clc
|
||||
adc A2L
|
||||
tay
|
||||
|
||||
pla
|
||||
adc A2L+1
|
||||
sta A2L+1
|
||||
|
||||
tya
|
||||
bne .1
|
||||
|
||||
dec A2L+1
|
||||
|
||||
.1 dey
|
||||
sty A2L
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.GetKrnlBuf pha
|
||||
tya
|
||||
clc
|
||||
|
|
|
@ -155,6 +155,7 @@ K.PutPW >STYA ZPPtr2
|
|||
bcc .11 user exits..
|
||||
jsr PWD.GetUID new user, get UID
|
||||
bcs .99
|
||||
|
||||
ldy #S.PW.UID
|
||||
sta CLRWRITEAUX
|
||||
sta (TXTPTR),y
|
||||
|
|
Loading…
Reference in New Issue