A2osX/SYS/KERNEL.S.DRV.txt

105 lines
1.9 KiB
Plaintext
Raw Normal View History

2015-06-03 18:30:57 +00:00
PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
* S.LoadDrvA
* in :
* A = hMem To Full Cmd Line
* out :
* none
*--------------------------------------
S.LoadDrvA >PUSHA push Cmd Line for S.PStrGetTkn
>PUSHBI $20 Push SEP=' '
>PUSHBI 0 Push 0 for getting CMD And ARGS
jsr S.PStrGetTkn
bcc .1
rts
2016-06-07 06:10:18 +00:00
.1 sta S.LoadDrv.Name
stx S.LoadDrv.Args
>LDYAI ENV.DRV push ENVNAME=DRV
jsr S.GetEnvVarYA get value for ENV=$DRV
bcs .98
2016-06-07 06:10:18 +00:00
sta S.LoadDrv.Srch
>PUSHB S.LoadDrv.Name push CMD for S.FileSearch
>PUSHB S.LoadDrv.Srch
jsr S.FileSearch find File in $DRV
bcs .97 not Found
2016-06-07 06:10:18 +00:00
sta S.LoadDrv.FullName
2015-06-03 18:30:57 +00:00
jsr S.LoadBinA
bcs .96
>STYA pDrv
2016-06-07 06:10:18 +00:00
stx S.LoadDrv.hMem
2016-06-07 06:10:18 +00:00
lda S.LoadDrv.Args
jsr S.LoadDrvA.Jmp call Dev.Detect
2015-06-03 18:30:57 +00:00
bcs .95
bit RRAMWRAMBNK2
bit RRAMWRAMBNK2
2015-06-03 18:30:57 +00:00
jsr S.InsDrv
bit RRAMWRAMBNK1
bit RRAMWRAMBNK1
2015-06-03 18:30:57 +00:00
bcs .95
jsr .95
ldy #S.DEV.F
lda (pDev),y
ora #S.DEV.F.INUSE
sta (pDev),y
clc
rts
.95 pha
2016-06-07 06:10:18 +00:00
lda S.LoadDrv.hMem
2015-06-03 18:30:57 +00:00
jsr S.FreeMemA
pla
.96 pha
2016-06-07 06:10:18 +00:00
lda S.LoadDrv.FullName
jsr S.FreeMemA
pla
.97 pha
2016-06-07 06:10:18 +00:00
lda S.LoadDrv.Srch
2015-06-03 18:30:57 +00:00
jsr S.FreeMemA
pla
.98 pha
2016-06-07 06:10:18 +00:00
lda S.LoadDrv.Args
2015-06-03 18:30:57 +00:00
jsr S.FreeMemA
2016-06-07 06:10:18 +00:00
lda S.LoadDrv.Name
2015-06-03 18:30:57 +00:00
jsr S.FreeMemA
pla
.99 sec
rts
*--------------------------------------
S.LoadDrvA.Jmp jmp (pDrv)
*--------------------------------------
2016-06-07 06:10:18 +00:00
S.LoadDrv.Name .BS 1
S.LoadDrv.Args .BS 1
S.LoadDrv.Srch .BS 1
S.LoadDrv.FullName .BS 1
S.LoadDrv.hMem .BS 1
2015-06-03 18:30:57 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
ENV.DRV >PSTRING "DRV"
2015-06-03 18:30:57 +00:00
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.DRV
LOAD SYS/KERNEL.S
ASM