A2osX/SYS/KERNEL.S.DEV.txt

99 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PR#3
PREFIX /A2OSX.BUILD
LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # GetDevByID.A
* ## IN:
* A = DevID
* ## OUT:
* CC = OK, CS = ERROR
* Y,A = DEVSLOT
* note: X Unmodified
*\--------------------------------------
K.GetDevByID.A cmp DevMgr.Count
bcs K.GetDevDNF
asl
asl
asl
asl
php
clc
adc #DevMgr.Table
tay
plp
lda #0
adc /DevMgr.Table
rts CC
*/--------------------------------------
* # GetDevByName.YA
* ## IN:
* Y,A = Ptr to device name (C-String)
* ## OUT:
* CC = OK, CS = ERROR
* X = DEVID
* Y,A = DEVSLOT
*\--------------------------------------
K.GetDevByName.YA
>STYA ZPPtr1
>LDYAI DevMgr.Table+S.DEV.NAME
>STYA ZPPtr2
ldx #0
.1 ldy #$ff
.2 iny
lda (ZPPtr1),y
cmp (ZPPtr2),y
bne .3
ora (ZPPtr2),y Both char are 0 ?
bne .2 no....loop
lda ZPPtr2
sec
sbc #S.DEV.NAME
tay
lda ZPPtr2+1
sbc /S.DEV.NAME
clc
rts
.3 lda ZPPtr2
clc
adc #S.DEV
sta ZPPtr2
bcc .4
inc ZPPtr2+1
.4 inx
cpx DevMgr.Count
bne .1
K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq
rts
*/--------------------------------------
* # GetDevStatus.A
* ## IN:
* A = DevID
* ## OUT:
* CC = OK, CS = ERROR
* Y,A = Ptr to S.DEVINFO
*\--------------------------------------
K.GetDevStatus.A
jsr K.GetDevByID.A
bcs K.GetDevDNF
>STYA ZPPtr1
ldx #DEVMGR.STATUS
jmp (ZPPtr1)
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.DEV
LOAD /A2OSX.SRC/SYS/KERNEL.S
ASM