mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-18 00:30:40 +00:00
This commit is contained in:
parent
3e439942be
commit
4016f3e9d0
Binary file not shown.
Binary file not shown.
Binary file not shown.
11
BIN/CP.S.txt
11
BIN/CP.S.txt
@ -19,15 +19,20 @@ X.DELETE.SOURCE .EQ 0
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList >PSTR "CRYQcryq"
|
OptionList .AS "CRYQcryq"
|
||||||
OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet
|
OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AZ "Usage : CP [Src File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -Q : Quiet\r\n -R : Recurse subdirectories\r\n -Y : Dont't prompt for override\r\n"
|
MSG.USAGE .AS "Usage : CP [Src File/Dir, *,? wildcards allowed]\r\n"
|
||||||
|
.AS " -C : Continue on error\r\n"
|
||||||
|
.AS " -Q : Quiet\r\n"
|
||||||
|
.AS " -R : Recurse subdirectories\r\n"
|
||||||
|
.AZ " -Y : Dont't prompt for override\r\n"
|
||||||
MSG.DIR .AZ "CP Dir :%s to %s..."
|
MSG.DIR .AZ "CP Dir :%s to %s..."
|
||||||
MSG.FILE .AZ "CP File:%s to %s..."
|
MSG.FILE .AZ "CP File:%s to %s..."
|
||||||
MSG.OVERWRITE .AZ "Overwrite %s [Yes,No,All]?"
|
MSG.OVERWRITE .AZ "Overwrite %s [Yes,No,All]?"
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.OK .AZ "[OK]"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AS "[%h]"
|
||||||
|
MSG.CRLF .AZ "\r\n"
|
||||||
MSG.DONE .AZ "%D File(s) Copied.\r\n"
|
MSG.DONE .AZ "%D File(s) Copied.\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
|
11
BIN/MV.S.txt
11
BIN/MV.S.txt
@ -19,15 +19,20 @@ X.DELETE.SOURCE .EQ 1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList >PSTR "CRYQcryq"
|
OptionList .AS "CRYQcryq"
|
||||||
OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet
|
OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AZ "Usage : MV [Src File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -Q : Quiet\r\n -R : Recurse subdirectories\r\n -Y : Dont't prompt for override\r\n"
|
MSG.USAGE .AS "Usage : MV [Src File/Dir, *,? wildcards allowed]\r\n"
|
||||||
|
.AS " -C : Continue on error\r\n"
|
||||||
|
.AS " -Q : Quiet\r\n"
|
||||||
|
.AS " -R : Recurse subdirectories\r\n"
|
||||||
|
.AZ " -Y : Dont't prompt for override\r\n"
|
||||||
MSG.DIR .AZ "MV Dir :%s to %s..."
|
MSG.DIR .AZ "MV Dir :%s to %s..."
|
||||||
MSG.FILE .AZ "MV File:%s to %s..."
|
MSG.FILE .AZ "MV File:%s to %s..."
|
||||||
MSG.OVERWRITE .AZ "Overwrite %s [Yes,No,All]?"
|
MSG.OVERWRITE .AZ "Overwrite %s [Yes,No,All]?"
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.OK .AZ "[OK]"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AS "[%h]"
|
||||||
|
MSG.CRLF .AZ "\r\n"
|
||||||
MSG.DONE .AZ "%D File(s) Moved.\r\n"
|
MSG.DONE .AZ "%D File(s) Moved.\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
|
@ -380,7 +380,7 @@ CS.RUN.OpenArc >PUSHWZ Aux type
|
|||||||
>PUSHBI $CF PAK
|
>PUSHBI $CF PAK
|
||||||
|
|
||||||
bit bAppend
|
bit bAppend
|
||||||
bmi .1
|
bmi CS.RUN.AppendArc
|
||||||
|
|
||||||
>PUSHBI O.CREATE+O.WRONLY
|
>PUSHBI O.CREATE+O.WRONLY
|
||||||
>LDA.G ArcName
|
>LDA.G ArcName
|
||||||
@ -394,20 +394,31 @@ CS.RUN.OpenArc >PUSHWZ Aux type
|
|||||||
>PUSHW L.ARC.Header
|
>PUSHW L.ARC.Header
|
||||||
>LDA.G hArcFile
|
>LDA.G hArcFile
|
||||||
>SYSCALL fputs
|
>SYSCALL fputs
|
||||||
.9 rts
|
.9
|
||||||
|
CS.RUN.OpenArc.RTS
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 >PUSHBI O.RDWR
|
CS.RUN.AppendArc
|
||||||
|
>PUSHBI O.RDWR+O.APPEND
|
||||||
>LDA.G ArcName
|
>LDA.G ArcName
|
||||||
>SYSCALL Argv
|
>SYSCALL Argv
|
||||||
|
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .9
|
bcs CS.RUN.OpenArc.RTS
|
||||||
>STA.G hArcFile
|
>STA.G hArcFile
|
||||||
|
rts
|
||||||
pha
|
>DEBUG
|
||||||
|
>PUSHBI SEEK.SET
|
||||||
|
>PUSHWI 0
|
||||||
|
>PUSHWI 0
|
||||||
|
>LDA.G hArcFile
|
||||||
|
>SYSCALL fseek
|
||||||
|
bcs CS.RUN.OpenArc.RTS
|
||||||
|
|
||||||
>PUSHWI 3
|
>PUSHWI 3
|
||||||
>PUSHW ZPSrcBufPtr
|
>PUSHW ZPSrcBufPtr
|
||||||
pla
|
>LDA.G hArcFile
|
||||||
|
|
||||||
>SYSCALL fread
|
>SYSCALL fread
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -427,11 +438,11 @@ CS.RUN.OpenArc >PUSHWZ Aux type
|
|||||||
>PUSHWI 0
|
>PUSHWI 0
|
||||||
>LDA.G hArcFile
|
>LDA.G hArcFile
|
||||||
>SYSCALL fseek
|
>SYSCALL fseek
|
||||||
bcc .8
|
* bcc .9
|
||||||
cmp #MLI.E.EOF
|
* cmp #MLI.E.EOF
|
||||||
bne .99
|
* bne .99
|
||||||
clc
|
* clc
|
||||||
.8 rts
|
.9 rts
|
||||||
|
|
||||||
.99 >LDYA L.MSG.E.IARC
|
.99 >LDYA L.MSG.E.IARC
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
|
@ -19,7 +19,7 @@ X.DELETE.SOURCE .EQ 1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList >PSTR "CRQcrq"
|
OptionList .AS "CRQcrq"
|
||||||
OptionVars .DA #bContinue,#bRecurse,#bQuiet,#bContinue,#bRecurse,#bQuiet
|
OptionVars .DA #bContinue,#bRecurse,#bQuiet,#bContinue,#bRecurse,#bQuiet
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AS "Usage : RM [File/Dir, *,? wildcards allowed]\r\n"
|
MSG.USAGE .AS "Usage : RM [File/Dir, *,? wildcards allowed]\r\n"
|
||||||
@ -29,7 +29,8 @@ MSG.USAGE .AS "Usage : RM [File/Dir, *,? wildcards allowed]\r\n"
|
|||||||
MSG.DIR .AZ "RM Dir :%s..."
|
MSG.DIR .AZ "RM Dir :%s..."
|
||||||
MSG.FILE .AZ "RM File:%s..."
|
MSG.FILE .AZ "RM File:%s..."
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.OK .AZ "[OK]"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AS "[%h]"
|
||||||
|
MSG.CRLF .AZ "\r\n"
|
||||||
MSG.DONE .AZ "%D File(s) Removed.\r\n"
|
MSG.DONE .AZ "%D File(s) Removed.\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
|
@ -40,6 +40,7 @@ L.MSG.OVERWRITE .DA MSG.OVERWRITE
|
|||||||
.FIN
|
.FIN
|
||||||
L.MSG.OK .DA MSG.OK
|
L.MSG.OK .DA MSG.OK
|
||||||
L.MSG.ERR .DA MSG.ERR
|
L.MSG.ERR .DA MSG.ERR
|
||||||
|
L.MSG.CRLF .DA MSG.CRLF
|
||||||
L.MSG.DONE .DA MSG.DONE
|
L.MSG.DONE .DA MSG.DONE
|
||||||
L.STAT .DA STAT
|
L.STAT .DA STAT
|
||||||
.DA 0
|
.DA 0
|
||||||
@ -56,11 +57,12 @@ CS.INIT
|
|||||||
ldy #1
|
ldy #1
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
ldx OptionList
|
ldx #OptionVars-OptionList-1
|
||||||
|
|
||||||
.2 cmp OptionList,x
|
.2 cmp OptionList,x
|
||||||
beq .3
|
beq .3
|
||||||
dex
|
dex
|
||||||
bne .2
|
bpl .2
|
||||||
|
|
||||||
.99 >PUSHBI 0
|
.99 >PUSHBI 0
|
||||||
>LDYA L.MSG.USAGE
|
>LDYA L.MSG.USAGE
|
||||||
@ -69,7 +71,7 @@ CS.INIT
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 ldy OptionVars-1,x
|
.3 ldy OptionVars,x
|
||||||
lda #$80
|
lda #$80
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra .1
|
bra .1
|
||||||
@ -451,17 +453,12 @@ CS.RUN.OVERWRITE.MSG
|
|||||||
>LDYA L.MSG.OVERWRITE
|
>LDYA L.MSG.OVERWRITE
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
rts
|
rts
|
||||||
CS.RUN.OVERWRITE.KEY
|
|
||||||
|
|
||||||
rts
|
|
||||||
.FIN
|
.FIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CR lda #13
|
CS.RUN.CR >PUSHBI 0
|
||||||
>SYSCALL PutChar
|
>LDYA L.MSG.CRLF
|
||||||
bcs .9
|
>SYSCALL printf
|
||||||
lda #10
|
rts
|
||||||
>SYSCALL PutChar
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DO X.COPY.TO.DEST=1
|
.DO X.COPY.TO.DEST=1
|
||||||
.DO X.DELETE.SOURCE=1
|
.DO X.DELETE.SOURCE=1
|
||||||
@ -483,14 +480,13 @@ CS.RUN.Rename ldy #hDstFullPath
|
|||||||
CS.RUN.CopyStart
|
CS.RUN.CopyStart
|
||||||
ldy #hSrcFullPath
|
ldy #hSrcFullPath
|
||||||
lda #O.RDONLY
|
lda #O.RDONLY
|
||||||
|
|
||||||
jsr CS.RUN.Open
|
jsr CS.RUN.Open
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>STA.G hSrcFile
|
>STA.G hSrcFile
|
||||||
|
|
||||||
ldy #hDstFullPath
|
ldy #hDstFullPath
|
||||||
lda #O.WRONLY+O.CREATE
|
lda #O.WRONLY+O.CREATE
|
||||||
|
|
||||||
jsr CS.RUN.Open
|
jsr CS.RUN.Open
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -499,8 +495,7 @@ CS.RUN.CopyStart
|
|||||||
lda #$ff
|
lda #$ff
|
||||||
>STA.G bCopy
|
>STA.G bCopy
|
||||||
inc
|
inc
|
||||||
|
>STA.G CopyRC Reset RC
|
||||||
>LDA.G CopyRC Reset RC
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -508,9 +503,9 @@ CS.RUN.CopyStart
|
|||||||
>LDA.G hSrcFile
|
>LDA.G hSrcFile
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.99 >LDA.G CopyRC
|
|
||||||
sec
|
sec
|
||||||
|
|
||||||
|
.99 >STA.G CopyRC
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.Open phy Save Filename
|
CS.RUN.Open phy Save Filename
|
||||||
@ -581,16 +576,20 @@ CS.RUN.CopyEnd >LDA.G hSrcFile
|
|||||||
.FIN
|
.FIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CheckErr bcs .1
|
CS.RUN.CheckErr bcs .1
|
||||||
|
|
||||||
>LDA.G bQuiet
|
>LDA.G bQuiet
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
>LDYA L.MSG.OK
|
>LDYA L.MSG.OK
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
.8 rts
|
.8 rts
|
||||||
|
|
||||||
.1 pha
|
.1 pha
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI 1
|
>PUSHBI 1
|
||||||
>LDYA L.MSG.ERR
|
>LDYA L.MSG.ERR
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
>LDA.G bContinue
|
>LDA.G bContinue
|
||||||
eor #$80
|
eor #$80
|
||||||
asl
|
asl
|
||||||
@ -656,8 +655,10 @@ CS.QUIT jsr LeaveSubDir
|
|||||||
.DO X.COPY.TO.DEST=1
|
.DO X.COPY.TO.DEST=1
|
||||||
>LDA.G bCopy
|
>LDA.G bCopy
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
>LDA.G hSrcFile
|
>LDA.G hSrcFile
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
|
|
||||||
>LDA.G hDstFile
|
>LDA.G hDstFile
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
@ -106,30 +106,34 @@ Dev.Detect >STYA ARGS
|
|||||||
Dev.ParseArgs >LDYA ARGS
|
Dev.ParseArgs >LDYA ARGS
|
||||||
>STYA ZPArgPTR
|
>STYA ZPArgPTR
|
||||||
lda (ZPArgPTR)
|
lda (ZPArgPTR)
|
||||||
|
bne .1
|
||||||
|
|
||||||
beq .8 No user MAC specified
|
lda A2osX.RANDOM16
|
||||||
|
eor A2osX.TIMER16
|
||||||
|
sta DCB+S.DCB.NIC.MAC+3
|
||||||
|
eor A2osX.RANDOM16+1
|
||||||
|
sta DCB+S.DCB.NIC.MAC+4
|
||||||
|
eor A2osX.TIMER16+1
|
||||||
|
sta DCB+S.DCB.NIC.MAC+5
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.1 ldx #10
|
||||||
|
|
||||||
ldx #10
|
|
||||||
|
|
||||||
.2 >PUSHW L.MAC0,x
|
.2 >PUSHW L.MAC0,x
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
>PUSHBI 12 6 x byte PTRs
|
>PUSHBI 12 6 x byte PTRs
|
||||||
>PUSHW L.SSCANF.MAC
|
>PUSHW L.SSCANF.MAC
|
||||||
>LDYA ZPArgPtr
|
>LDYA ZPArgPtr
|
||||||
>SYSCALL sscanf
|
>SYSCALL sscanf
|
||||||
bcs .9
|
bcc .8
|
||||||
|
|
||||||
dec USERMAC
|
lda #E.SYN
|
||||||
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #E.SYN
|
|
||||||
sec
|
sec
|
||||||
rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
ARGS .BS 2
|
ARGS .BS 2
|
||||||
@ -267,17 +271,6 @@ OPEN lda #S.DIB.S.OPENED
|
|||||||
sta L91C96.1.CR+1,x
|
sta L91C96.1.CR+1,x
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
bit USERMAC
|
|
||||||
bmi .2
|
|
||||||
|
|
||||||
.1 lda L91C96.1.IAR,x
|
|
||||||
sta DCB+S.DCB.NIC.MAC,y
|
|
||||||
inx
|
|
||||||
iny
|
|
||||||
cpy #6
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
bra .3
|
|
||||||
|
|
||||||
.2 lda DCB+S.DCB.NIC.MAC,y
|
.2 lda DCB+S.DCB.NIC.MAC,y
|
||||||
sta L91C96.1.IAR,x
|
sta L91C96.1.IAR,x
|
||||||
@ -542,7 +535,6 @@ WRITE php
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.END
|
DRV.CS.END
|
||||||
DEVSLOTx0 .BS 1
|
DEVSLOTx0 .BS 1
|
||||||
USERMAC .BS 1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DIB .DA #0
|
DIB .DA #0
|
||||||
.DA #0,#0,#0 size
|
.DA #0,#0,#0 size
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
|
*--------------------------------------
|
||||||
destroy jsr findfile look for file to be destroyed.
|
destroy jsr findfile look for file to be destroyed.
|
||||||
bcs L4B66 if error.
|
bcs L4B66 if error.
|
||||||
jsr tstopen is it open ?
|
jsr tstopen is it open ?
|
||||||
@ -385,9 +385,11 @@ L4DFE dex set proper bits to 1
|
|||||||
sta buftbl-1,x validated as good. store hi addr
|
sta buftbl-1,x validated as good. store hi addr
|
||||||
clc (entnums start at 1, not 0)
|
clc (entnums start at 1, not 0)
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L4E1E lda #$56 buffer is in use or not legal
|
L4E1E lda #$56 buffer is in use or not legal
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
getbufadr tax index into global buffer table.
|
getbufadr tax index into global buffer table.
|
||||||
lda buftbl-2,x
|
lda buftbl-2,x
|
||||||
sta bufaddrl
|
sta bufaddrl
|
||||||
|
@ -47,6 +47,20 @@ TMP32 .EQ RESULT+1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPTMP .EQ $67 ->$84 29 bytes
|
ZPTMP .EQ $67 ->$84 29 bytes
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* X.UNPAK temp ZP (with ZPPtr1 &ZPPtr2)
|
||||||
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR ZPTMP
|
||||||
|
ZPInBufPtr .BS 2
|
||||||
|
ZPOutBufPtr .BS 2
|
||||||
|
|
||||||
|
ZPnCnt .BS 2
|
||||||
|
ZPInMask .BS 1
|
||||||
|
ZPBLOfsLBits .BS 1
|
||||||
|
ZPBLOfsHBits .BS 1
|
||||||
|
ZPBLLenBits .BS 1
|
||||||
|
.ED
|
||||||
|
*--------------------------------------
|
||||||
FORPNT .EQ $85 ->$86 Used in GETFAC
|
FORPNT .EQ $85 ->$86 Used in GETFAC
|
||||||
FAC .EQ $9D ->$A1
|
FAC .EQ $9D ->$A1
|
||||||
FAC.SIGN .EQ $A2
|
FAC.SIGN .EQ $A2
|
||||||
@ -111,7 +125,7 @@ K.Buf256 .EQ $1100
|
|||||||
K.IOBuf .EQ $1200
|
K.IOBuf .EQ $1200
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Mem.MHiMem .EQ A2osX.SYSCALL
|
Mem.MHiMem .EQ A2osX.SYSCALL
|
||||||
Mem.XHiMem .EQ A2osX.SYSCALL
|
Mem.XHiMem .EQ $C000
|
||||||
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
|
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
H.BIN.T .EQ 0
|
H.BIN.T .EQ 0
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
NEW
|
|
||||||
AUTO 3,1
|
|
||||||
*--------------------------------------
|
|
||||||
* SYSCALL (AUXLC to AUXLC)
|
|
||||||
* Used by kernel for inter bank Calls from AUX
|
|
||||||
* In:
|
|
||||||
* X = SYSfnc.Index
|
|
||||||
* Y,A = free for Inline param
|
|
||||||
*--------------------------------------
|
|
||||||
JMP *
|
|
||||||
*--------------------------------------
|
|
||||||
MAN
|
|
||||||
SAVE USR/SRC/SYS/KERNEL.S.GPX
|
|
||||||
LOAD USR/SRC/SYS/KERNEL.S
|
|
||||||
ASM
|
|
@ -11,7 +11,7 @@ Kernel.Init2 sei
|
|||||||
|
|
||||||
ldx #Kernel.ZP.S-1
|
ldx #Kernel.ZP.S-1
|
||||||
|
|
||||||
.1 lda Kernel.ZP,x
|
.1 lda Kernel.ZP,x
|
||||||
sta CHARGET,x
|
sta CHARGET,x
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
@ -21,64 +21,104 @@ Kernel.Init2 sei
|
|||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
|
||||||
>LDYAI A2osX.MAIN
|
>LDYAI A2osX.MAIN
|
||||||
>STYA ZPPtr1
|
>STYA ZPInBufPtr
|
||||||
>LDYAI CORE.Run
|
>LDYAI CORE.Run
|
||||||
>STYA ZPPtr2
|
>STYA ZPOutBufPtr
|
||||||
>LDYAI A2osX.MAIN.S^$FFFF
|
jsr X.Unpak
|
||||||
jsr Kernel.Move
|
|
||||||
|
* >LDYAI A2osX.MAIN
|
||||||
|
* >STYA ZPPtr1
|
||||||
|
* >LDYAI CORE.Run
|
||||||
|
* >STYA ZPPtr2
|
||||||
|
* >LDYAI A2osX.MAIN.S^$FFFF
|
||||||
|
* jsr Kernel.Move
|
||||||
|
|
||||||
|
sta SETWRITEAUX
|
||||||
|
|
||||||
>LDYAI A2osX.AUX
|
>LDYAI A2osX.AUX
|
||||||
>STYA A1L Src Start Address (MAIN)
|
>STYA ZPInBufPtr
|
||||||
>LDYAI A2osX.GP
|
|
||||||
>STYA A2L Src End Address (MAIN)
|
|
||||||
>LDYAI X.OSD
|
>LDYAI X.OSD
|
||||||
>STYA A4L Dst Address (AUX)
|
>STYA ZPOutBufPtr
|
||||||
sec Main To Aux
|
jsr X.Unpak
|
||||||
jsr AuxMove
|
|
||||||
|
sta CLRWRITEAUX
|
||||||
|
|
||||||
|
* >LDYAI A2osX.AUX
|
||||||
|
* >STYA A1L Src Start Address (MAIN)
|
||||||
|
* >LDYAI A2osX.GP
|
||||||
|
* >STYA A2L Src End Address (MAIN)
|
||||||
|
* >LDYAI X.OSD
|
||||||
|
* >STYA A4L Dst Address (AUX)
|
||||||
|
* sec Main To Aux
|
||||||
|
* jsr AuxMove
|
||||||
|
|
||||||
>LDYAI A2osX.GP
|
>LDYAI A2osX.GP
|
||||||
>STYA ZPPtr1
|
>STYA ZPInBufPtr
|
||||||
>LDYAI A2osX.SYSCALL
|
>LDYAI A2osX.SYSCALL
|
||||||
>STYA ZPPtr2
|
>STYA ZPOutBufPtr
|
||||||
>LDYAI A2osX.GP.S^$FFFF
|
jsr X.Unpak
|
||||||
jsr Kernel.Move
|
|
||||||
|
|
||||||
>LDYAI A2osX.GPX
|
* >LDYAI A2osX.GP
|
||||||
>STYA A1L Src Start Address (MAIN)
|
* >STYA ZPPtr1
|
||||||
>LDYAI A2osX.D1
|
* >LDYAI A2osX.SYSCALL
|
||||||
>STYA A2L Src End Address (MAIN)
|
* >STYA ZPPtr2
|
||||||
>LDYAI A2osX.SYSCALL
|
* >LDYAI A2osX.GP.S^$FFFF
|
||||||
>STYA A4L Dst Address (AUX)
|
* jsr Kernel.Move
|
||||||
sec Main To Aux
|
|
||||||
jsr AuxMove
|
* >LDYAI A2osX.GPX
|
||||||
|
* >STYA A1L Src Start Address (MAIN)
|
||||||
|
* >LDYAI A2osX.D1
|
||||||
|
* >STYA A2L Src End Address (MAIN)
|
||||||
|
* >LDYAI A2osX.SYSCALL
|
||||||
|
* >STYA A4L Dst Address (AUX)
|
||||||
|
* sec Main To Aux
|
||||||
|
* jsr AuxMove
|
||||||
|
|
||||||
sta SETALTZP
|
sta SETALTZP
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
|
|
||||||
>LDYAI A2osX.D2
|
>LDYAI A2osX.D2
|
||||||
>STYA ZPPtr1
|
>STYA ZPInBufPtr
|
||||||
>LDYAI $D000
|
>LDYAI $D000
|
||||||
>STYA ZPPtr2
|
>STYA ZPOutBufPtr
|
||||||
>LDYAI A2osX.D2.S^$FFFF
|
jsr X.Unpak
|
||||||
jsr Kernel.Move
|
|
||||||
|
* >LDYAI A2osX.D2
|
||||||
|
* >STYA ZPPtr1
|
||||||
|
* >LDYAI $D000
|
||||||
|
* >STYA ZPPtr2
|
||||||
|
* >LDYAI A2osX.D2.S^$FFFF
|
||||||
|
* jsr Kernel.Move
|
||||||
|
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
|
|
||||||
>LDYAI A2osX.D1
|
>LDYAI A2osX.D1
|
||||||
>STYA ZPPtr1
|
>STYA ZPInBufPtr
|
||||||
>LDYAI $D000
|
>LDYAI $D000
|
||||||
>STYA ZPPtr2
|
>STYA ZPOutBufPtr
|
||||||
>LDYAI A2osX.D1.S^$FFFF
|
jsr X.Unpak
|
||||||
jsr Kernel.Move
|
|
||||||
|
* >LDYAI A2osX.D1
|
||||||
|
* >STYA ZPPtr1
|
||||||
|
* >LDYAI $D000
|
||||||
|
* >STYA ZPPtr2
|
||||||
|
* >LDYAI A2osX.D1.S^$FFFF
|
||||||
|
* jsr Kernel.Move
|
||||||
|
|
||||||
>LDYAI A2osX.E0
|
>LDYAI A2osX.E0
|
||||||
>STYA ZPPtr1
|
>STYA ZPInBufPtr
|
||||||
>LDYAI $E000
|
>LDYAI $E000
|
||||||
>STYA ZPPtr2
|
>STYA ZPOutBufPtr
|
||||||
>LDYAI A2osX.E0.S^$FFFF
|
jsr X.Unpak
|
||||||
jsr Kernel.Move
|
|
||||||
|
* >LDYAI A2osX.E0
|
||||||
|
* >STYA ZPPtr1
|
||||||
|
* >LDYAI $E000
|
||||||
|
* >STYA ZPPtr2
|
||||||
|
* >LDYAI A2osX.E0.S^$FFFF
|
||||||
|
* jsr Kernel.Move
|
||||||
|
|
||||||
bit RROMBNK1
|
bit RROMBNK1
|
||||||
sta CLRALTZP
|
sta CLRALTZP
|
||||||
@ -152,8 +192,6 @@ Kernel.Init3C >PUSHBI 0
|
|||||||
|
|
||||||
jsr CPU.Init.Z80
|
jsr CPU.Init.Z80
|
||||||
|
|
||||||
* >DEBUG
|
|
||||||
|
|
||||||
jsr DevMgrInit
|
jsr DevMgrInit
|
||||||
|
|
||||||
jsr IrqMgrInit
|
jsr IrqMgrInit
|
||||||
@ -201,23 +239,22 @@ Kernel.Init3.Err
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* INIT2 Subs
|
* INIT2 Subs
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Kernel.Move >STYA ZPPtr3
|
*Kernel.Move >STYA ZPPtr3
|
||||||
|
* ldy #0
|
||||||
|
|
||||||
ldy #0
|
*.1 inc ZPPtr3
|
||||||
|
* bne .2
|
||||||
.1 inc ZPPtr3
|
* inc ZPPtr3+1
|
||||||
bne .2
|
* beq .9
|
||||||
inc ZPPtr3+1
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
.2 lda (ZPPtr1),y
|
*.2 lda (ZPPtr1),y
|
||||||
sta (ZPPtr2),y
|
* sta (ZPPtr2),y
|
||||||
iny
|
* iny
|
||||||
bne .1
|
* bne .1
|
||||||
inc ZPPtr1+1
|
* inc ZPPtr1+1
|
||||||
inc ZPPtr2+1
|
* inc ZPPtr2+1
|
||||||
bne .1
|
* bne .1
|
||||||
.9 rts
|
*.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KConfigLoad >LDYAI MSG.KCREAD
|
KConfigLoad >LDYAI MSG.KCREAD
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
@ -447,26 +484,36 @@ CPU.Init.6502 >PUSHBI 0
|
|||||||
php
|
php
|
||||||
sei
|
sei
|
||||||
|
|
||||||
|
clc
|
||||||
lda MACHID
|
lda MACHID
|
||||||
and #MACHID.T
|
and #MACHID.T
|
||||||
eor #MACHID.T.IIc
|
eor #MACHID.T.IIc
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
sec
|
||||||
|
.1 ror ZPPtr1 save //c flag
|
||||||
|
|
||||||
|
bpl .11
|
||||||
|
|
||||||
sta CLRIOUDIS
|
sta CLRIOUDIS
|
||||||
lda IO.IIC.RDVBLMSK
|
lda IO.IIC.RDVBLMSK
|
||||||
asl
|
sta ZPPtr1+1 Save VBLIRQ enable
|
||||||
|
|
||||||
sta CLRIOUDIS
|
|
||||||
sta IO.IIC.ENVBL
|
sta IO.IIC.ENVBL
|
||||||
|
|
||||||
.1 bit VBL
|
.11 bit VBL
|
||||||
bpl .1
|
bpl .11
|
||||||
|
|
||||||
.2 lda VBL
|
.2 lda VBL
|
||||||
bmi .2
|
bmi .2
|
||||||
|
|
||||||
ldx #2
|
ldx #2
|
||||||
|
|
||||||
|
.20 bit ZPPtr1 //c ?
|
||||||
|
bpl .3
|
||||||
|
|
||||||
|
lda IO.IIC.CLRVBLIRQ yes, clear IRQ
|
||||||
|
|
||||||
.3 ldy #4 (2)
|
.3 ldy #4 (2)
|
||||||
|
|
||||||
.4 dey (2)
|
.4 dey (2)
|
||||||
@ -489,16 +536,16 @@ CPU.Init.6502 >PUSHBI 0
|
|||||||
bpl .3 (2*)
|
bpl .3 (2*)
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .3
|
bne .20
|
||||||
|
|
||||||
lda MACHID
|
bit ZPPtr1 //c ?
|
||||||
and #MACHID.T
|
|
||||||
eor #MACHID.T.IIc
|
bpl .60
|
||||||
bne .60
|
|
||||||
|
|
||||||
lda IO.IIC.CLRVBLIRQ
|
lda IO.IIC.CLRVBLIRQ yes, clear IRQ
|
||||||
|
|
||||||
bcs .60
|
bit ZPPtr1+1 Disable VBLIRQ ?
|
||||||
|
bpl .60
|
||||||
|
|
||||||
sta IO.IIC.DISVBL
|
sta IO.IIC.DISVBL
|
||||||
|
|
||||||
|
@ -20,8 +20,19 @@ NEW
|
|||||||
.INB USR/SRC/SYS/KERNEL.S.DEF
|
.INB USR/SRC/SYS/KERNEL.S.DEF
|
||||||
.INB USR/SRC/SYS/KERNEL.S.INIT
|
.INB USR/SRC/SYS/KERNEL.S.INIT
|
||||||
.INB USR/SRC/SHARED/X.PRINTF.S
|
.INB USR/SRC/SHARED/X.PRINTF.S
|
||||||
|
.INB USR/SRC/SHARED/X.UNPAK.S
|
||||||
|
|
||||||
A2osX.MAIN .PH A2osX.EndTables
|
PAKME.Table .DA A2osX.MAIN
|
||||||
|
.DA A2osX.AUX
|
||||||
|
.DA A2osX.GP
|
||||||
|
* .DA A2osX.GPX
|
||||||
|
.DA A2osX.D1
|
||||||
|
.DA A2osX.D2
|
||||||
|
.DA A2osX.E0
|
||||||
|
|
||||||
|
A2osX.MAIN .DA #0
|
||||||
|
.DA A2osX.MAIN.S
|
||||||
|
.PH A2osX.EndTables
|
||||||
.INB USR/SRC/SYS/KERNEL.S.CORE
|
.INB USR/SRC/SYS/KERNEL.S.CORE
|
||||||
.INB USR/SRC/SYS/KERNEL.S.DRV
|
.INB USR/SRC/SYS/KERNEL.S.DRV
|
||||||
.INB USR/SRC/SYS/KERNEL.S.TERM
|
.INB USR/SRC/SYS/KERNEL.S.TERM
|
||||||
@ -29,7 +40,10 @@ A2osX.MAIN .PH A2osX.EndTables
|
|||||||
Mem.MLoMem .EQ *
|
Mem.MLoMem .EQ *
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.EP
|
.EP
|
||||||
A2osX.AUX .PH $1000
|
|
||||||
|
A2osX.AUX .DA #0
|
||||||
|
.DA A2osX.AUX.S
|
||||||
|
.PH $1000
|
||||||
.INB USR/SRC/SYS/KERNEL.S.OSDX
|
.INB USR/SRC/SYS/KERNEL.S.OSDX
|
||||||
.INB USR/SRC/SYS/KERNEL.S.SLISTX
|
.INB USR/SRC/SYS/KERNEL.S.SLISTX
|
||||||
.INB USR/SRC/SYS/KERNEL.S.PWDX
|
.INB USR/SRC/SYS/KERNEL.S.PWDX
|
||||||
@ -37,13 +51,18 @@ A2osX.AUX .PH $1000
|
|||||||
Mem.XLoMem .EQ *
|
Mem.XLoMem .EQ *
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.EP
|
.EP
|
||||||
A2osX.GP .PH A2osX.SYSCALL
|
|
||||||
|
A2osX.GP .DA #0
|
||||||
|
.DA A2osX.GP.S
|
||||||
|
.PH A2osX.SYSCALL
|
||||||
.INB USR/SRC/SYS/KERNEL.S.GP
|
.INB USR/SRC/SYS/KERNEL.S.GP
|
||||||
.EP
|
.EP
|
||||||
A2osX.GPX .PH A2osX.SYSCALL
|
*A2osX.GPX .PH A2osX.SYSCALL
|
||||||
.INB USR/SRC/SYS/KERNEL.S.GPX
|
* .INB USR/SRC/SYS/KERNEL.S.GPX
|
||||||
.EP
|
* .EP
|
||||||
A2osX.D1 .PH $D000
|
A2osX.D1 .DA #0
|
||||||
|
.DA A2osX.D1.S
|
||||||
|
.PH $D000
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.INB USR/SRC/SYS/KERNEL.S.STAT
|
.INB USR/SRC/SYS/KERNEL.S.STAT
|
||||||
.INB USR/SRC/SYS/KERNEL.S.DIRENT
|
.INB USR/SRC/SYS/KERNEL.S.DIRENT
|
||||||
@ -54,7 +73,9 @@ A2osX.D1 .PH $D000
|
|||||||
.INB USR/SRC/SYS/KERNEL.S.FIO
|
.INB USR/SRC/SYS/KERNEL.S.FIO
|
||||||
.INB USR/SRC/SYS/KERNEL.S.PFT
|
.INB USR/SRC/SYS/KERNEL.S.PFT
|
||||||
.EP
|
.EP
|
||||||
A2osX.D2 .PH $D000
|
A2osX.D2 .DA #0
|
||||||
|
.DA A2osX.D2.S
|
||||||
|
.PH $D000
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.INB USR/SRC/SYS/KERNEL.S.STRING
|
.INB USR/SRC/SYS/KERNEL.S.STRING
|
||||||
.INB USR/SRC/SYS/KERNEL.S.TIME
|
.INB USR/SRC/SYS/KERNEL.S.TIME
|
||||||
@ -63,7 +84,9 @@ A2osX.D2 .PH $D000
|
|||||||
.INB USR/SRC/SYS/KERNEL.S.ARG
|
.INB USR/SRC/SYS/KERNEL.S.ARG
|
||||||
.INB USR/SRC/SYS/KERNEL.S.ENV
|
.INB USR/SRC/SYS/KERNEL.S.ENV
|
||||||
.EP
|
.EP
|
||||||
A2osX.E0 .PH $E000
|
A2osX.E0 .DA #0
|
||||||
|
.DA A2osX.E0.S
|
||||||
|
.PH $E000
|
||||||
.INB USR/SRC/SYS/KERNEL.S.JMP
|
.INB USR/SRC/SYS/KERNEL.S.JMP
|
||||||
.INB USR/SRC/SYS/KERNEL.S.IRQ
|
.INB USR/SRC/SYS/KERNEL.S.IRQ
|
||||||
.INB USR/SRC/SYS/KERNEL.S.MEM
|
.INB USR/SRC/SYS/KERNEL.S.MEM
|
||||||
@ -71,8 +94,8 @@ A2osX.E0 .PH $E000
|
|||||||
.INB USR/SRC/SYS/KERNEL.S.TERMLC
|
.INB USR/SRC/SYS/KERNEL.S.TERMLC
|
||||||
.INB USR/SRC/SYS/KERNEL.S.SHARED
|
.INB USR/SRC/SYS/KERNEL.S.SHARED
|
||||||
.INB USR/SRC/SYS/KERNEL.S.STDIO2
|
.INB USR/SRC/SYS/KERNEL.S.STDIO2
|
||||||
.INB USR/SRC/SYS/KERNEL.S.PWD
|
.INB USR/SRC/SYS/KERNEL.S.PWD
|
||||||
********* TMP ***** go to A2osX.D1
|
********* TMP ***** go to A2osX.D1
|
||||||
.INB USR/SRC/SYS/KERNEL.S.IO
|
.INB USR/SRC/SYS/KERNEL.S.IO
|
||||||
.INB USR/SRC/SYS/KERNEL.S.PIPE
|
.INB USR/SRC/SYS/KERNEL.S.PIPE
|
||||||
********* TMP ***** go to A2osX.D2
|
********* TMP ***** go to A2osX.D2
|
||||||
@ -87,6 +110,12 @@ DevMgr.FreeMem .EQ *
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
.EP
|
.EP
|
||||||
A2osX.E0.E .EQ *
|
A2osX.E0.E .EQ *
|
||||||
|
*--------------------------------------
|
||||||
|
.AS "PAKME"
|
||||||
|
* .DA #7
|
||||||
|
.DA #7
|
||||||
|
.DA PAKME.Table-$2000
|
||||||
|
*--------------------------------------
|
||||||
.INB USR/SRC/SYS/KERNEL.S.CTRL
|
.INB USR/SRC/SYS/KERNEL.S.CTRL
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/SYS/KERNEL.S
|
SAVE USR/SRC/SYS/KERNEL.S
|
||||||
|
@ -4,7 +4,7 @@ AUTO 4,1
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF SYS/KM.APPLETALK
|
.TF SYS/KM/KM.APPLETALK
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB INC/MACROS.I
|
.INB INC/MACROS.I
|
||||||
.INB INC/IO.I
|
.INB INC/IO.I
|
||||||
@ -52,6 +52,7 @@ AT.INIT >LDYAI MSG.INIT
|
|||||||
lda TmpPtr1+1
|
lda TmpPtr1+1
|
||||||
cmp #$C0
|
cmp #$C0
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYAI MSG.NOHW
|
>LDYAI MSG.NOHW
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
rts
|
rts
|
||||||
@ -78,10 +79,12 @@ AT.INIT >LDYAI MSG.INIT
|
|||||||
|
|
||||||
.5 >LDYAI MSG.ATINIT
|
.5 >LDYAI MSG.ATINIT
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
|
||||||
jsr GO.WSCARD
|
jsr GO.WSCARD
|
||||||
.DA #MLIATALK
|
.DA #MLIATALK
|
||||||
.DA MLIATALK.PARAMS
|
.DA MLIATALK.PARAMS
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYAI MSG.IRQ
|
>LDYAI MSG.IRQ
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
|
||||||
@ -98,6 +101,7 @@ AT.INIT >LDYAI MSG.INIT
|
|||||||
.DA #MLIGETPREFIX
|
.DA #MLIGETPREFIX
|
||||||
.DA MLIGETPREFIX.PARAMS
|
.DA MLIGETPREFIX.PARAMS
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYAI MSG.PREFIX2
|
>LDYAI MSG.PREFIX2
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
|
||||||
@ -105,9 +109,11 @@ AT.INIT >LDYAI MSG.INIT
|
|||||||
.DA #MLISETPREFIX
|
.DA #MLISETPREFIX
|
||||||
.DA MLIGETPREFIX.PARAMS
|
.DA MLIGETPREFIX.PARAMS
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYAI MSG.OK
|
>LDYAI MSG.OK
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 pha
|
.9 pha
|
||||||
>LDYAI MSG.KO
|
>LDYAI MSG.KO
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
@ -4,7 +4,7 @@ AUTO 4,1
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF SYS/KM.NSC
|
.TF SYS/KM/KM.NSC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB INC/MACROS.I
|
.INB INC/MACROS.I
|
||||||
.INB INC/IO.I
|
.INB INC/IO.I
|
||||||
|
Loading…
x
Reference in New Issue
Block a user