2015-03-14 22:48:35 +01:00
|
|
|
|
PR#3
|
2017-03-29 17:48:15 +02:00
|
|
|
|
PREFIX /A2OSX.BUILD
|
2017-03-15 17:44:15 +01:00
|
|
|
|
LOMEM $A00
|
2015-03-14 22:48:35 +01:00
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # GetDevByIDA
|
|
|
|
|
* ## IN:
|
2015-03-14 22:48:35 +01:00
|
|
|
|
* A = DevID
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## OUT:
|
2015-03-14 22:48:35 +01:00
|
|
|
|
* CC = OK, CS = ERROR
|
2016-12-09 17:36:24 +01:00
|
|
|
|
* Y,A = DEVSLOT
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* note: X Unmodified
|
|
|
|
|
*\--------------------------------------
|
2017-01-12 18:43:45 +01:00
|
|
|
|
K.GetDevByIDA cmp DevMgr.Count
|
2016-09-21 17:20:37 +02:00
|
|
|
|
bcs K.GetDevDNF
|
2015-06-03 20:30:57 +02:00
|
|
|
|
|
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
asl
|
2017-03-15 17:44:15 +01:00
|
|
|
|
asl
|
|
|
|
|
php
|
|
|
|
|
clc
|
2015-06-03 20:30:57 +02:00
|
|
|
|
adc #DevMgr.Table
|
|
|
|
|
tay
|
2017-01-12 18:43:45 +01:00
|
|
|
|
|
2016-09-29 17:30:15 +02:00
|
|
|
|
plp
|
2017-03-15 17:44:15 +01:00
|
|
|
|
lda #0
|
2015-06-03 20:30:57 +02:00
|
|
|
|
adc /DevMgr.Table
|
|
|
|
|
rts CC
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # GetDevByNameYA
|
|
|
|
|
* ## IN:
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* Y,A = Ptr to device name (PStr)
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## OUT:
|
2015-03-14 22:48:35 +01:00
|
|
|
|
* CC = OK, CS = ERROR
|
2015-06-03 20:30:57 +02:00
|
|
|
|
* X = DEVID
|
2016-12-09 17:36:24 +01:00
|
|
|
|
* Y,A = DEVSLOT
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*\--------------------------------------
|
2016-09-21 17:20:37 +02:00
|
|
|
|
K.GetDevByNameYA
|
2017-01-12 18:43:45 +01:00
|
|
|
|
>STYA ZPPtr1
|
2017-03-15 17:44:15 +01:00
|
|
|
|
>LDYAI DevMgr.Table+S.DEV.NAME
|
2017-01-12 18:43:45 +01:00
|
|
|
|
>STYA ZPPtr2
|
2015-03-14 22:48:35 +01:00
|
|
|
|
|
2015-06-03 20:30:57 +02:00
|
|
|
|
ldx #0
|
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
.1 lda (ZPPtr2)
|
|
|
|
|
cmp (ZPPtr1)
|
2016-10-07 22:48:49 +02:00
|
|
|
|
bne .3
|
|
|
|
|
|
|
|
|
|
tay
|
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
.2 lda (ZPPtr1),y
|
|
|
|
|
cmp (ZPPtr2),y
|
2015-03-14 22:48:35 +01:00
|
|
|
|
bne .3
|
2015-06-03 20:30:57 +02:00
|
|
|
|
|
2016-10-07 22:48:49 +02:00
|
|
|
|
dey
|
2015-03-14 22:48:35 +01:00
|
|
|
|
bne .2
|
2015-06-03 20:30:57 +02:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
lda ZPPtr2
|
2015-06-03 20:30:57 +02:00
|
|
|
|
sec
|
2017-03-15 17:44:15 +01:00
|
|
|
|
sbc #S.DEV.NAME
|
2015-06-03 20:30:57 +02:00
|
|
|
|
tay
|
2017-01-12 18:43:45 +01:00
|
|
|
|
lda ZPPtr2+1
|
2017-03-15 17:44:15 +01:00
|
|
|
|
sbc /S.DEV.NAME
|
2015-03-14 22:48:35 +01:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2015-06-03 20:30:57 +02:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
.3 lda ZPPtr2
|
2015-03-14 22:48:35 +01:00
|
|
|
|
clc
|
2016-10-03 17:59:36 +02:00
|
|
|
|
adc #S.DEV
|
2017-01-12 18:43:45 +01:00
|
|
|
|
sta ZPPtr2
|
2015-06-03 20:30:57 +02:00
|
|
|
|
bcc .4
|
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
inc ZPPtr2+1
|
2015-06-03 20:30:57 +02:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
.4 inx
|
|
|
|
|
cpx DevMgr.Count
|
|
|
|
|
bne .1
|
2015-06-03 20:30:57 +02:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
K.GetDevDNF lda #MLI.ERR.NODEV CS from cpx/beq
|
2015-03-14 22:48:35 +01:00
|
|
|
|
rts
|
2016-10-26 22:51:06 +02:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # GetDevStatusA
|
|
|
|
|
* ## IN:
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* A = DevID
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## OUT:
|
2016-10-26 22:51:06 +02:00
|
|
|
|
* CC = OK, CS = ERROR
|
|
|
|
|
* Y,A = Ptr to S.DEVINFO
|
|
|
|
|
*\--------------------------------------
|
2017-01-12 18:43:45 +01:00
|
|
|
|
K.GetDevStatusA jsr K.GetDevByIDA
|
2016-09-21 17:20:37 +02:00
|
|
|
|
bcs K.GetDevDNF
|
2017-01-12 18:43:45 +01:00
|
|
|
|
>STYA ZPPtr1
|
|
|
|
|
ldx #DEVMGR.STATUS
|
|
|
|
|
jmp (ZPPtr1)
|
2016-12-06 17:57:00 +01:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # MkNodYA
|
2017-03-07 17:40:32 +01:00
|
|
|
|
* return a hFile for a given Device Name
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## IN:
|
2016-12-06 17:57:00 +01:00
|
|
|
|
* Y,A=DevName
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## OUT:
|
2016-12-06 17:57:00 +01:00
|
|
|
|
* CC = OK, CS = ERROR
|
|
|
|
|
* A = hFILE
|
|
|
|
|
*\--------------------------------------
|
2017-01-12 18:43:45 +01:00
|
|
|
|
K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
|
|
|
|
|
bcs .9
|
|
|
|
|
>STYA pDev
|
|
|
|
|
stx .1+1
|
|
|
|
|
|
|
|
|
|
ldy #S.DEV.S
|
|
|
|
|
lda (pDev),y
|
|
|
|
|
bit #S.DEV.S.BLOCK
|
|
|
|
|
bne .99
|
2017-03-15 17:44:15 +01:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
txa Pass DEV.ID to OPEN
|
|
|
|
|
ldx #DEVMGR.OPEN
|
2017-03-15 17:44:15 +01:00
|
|
|
|
jsr pDevJmp
|
2016-12-08 17:53:29 +01:00
|
|
|
|
bcs .9
|
|
|
|
|
|
2017-07-01 15:44:40 +02:00
|
|
|
|
>LDYAI S.NODE.DEV
|
|
|
|
|
jsr K.GetMem0YA
|
2016-12-09 17:36:24 +01:00
|
|
|
|
bcs .9
|
2016-12-08 17:53:29 +01:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
>STYA ZPPtr3 Ptr3=S.NODE
|
2016-12-09 17:36:24 +01:00
|
|
|
|
|
|
|
|
|
ldy #S.NODE.T
|
|
|
|
|
lda #S.NODE.T.CDEV
|
2017-01-12 18:43:45 +01:00
|
|
|
|
sta (ZPPtr3),y
|
2016-12-09 17:36:24 +01:00
|
|
|
|
|
2017-03-15 17:44:15 +01:00
|
|
|
|
ldy #S.NODE.DEV.ID
|
2016-12-09 17:36:24 +01:00
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
.1 lda #$ff Self Modified
|
|
|
|
|
sta (ZPPtr3),y
|
|
|
|
|
|
2017-03-15 17:44:15 +01:00
|
|
|
|
ldy #S.NODE.DEV.JMP
|
|
|
|
|
lda pDev
|
2017-01-12 18:43:45 +01:00
|
|
|
|
sta (ZPPtr3),y
|
|
|
|
|
|
2017-03-15 17:44:15 +01:00
|
|
|
|
iny
|
|
|
|
|
lda pDev+1
|
2017-01-12 18:43:45 +01:00
|
|
|
|
sta (ZPPtr3),y
|
|
|
|
|
txa
|
2016-12-06 17:57:00 +01:00
|
|
|
|
clc
|
2016-12-08 17:53:29 +01:00
|
|
|
|
.9 rts
|
2017-01-12 18:43:45 +01:00
|
|
|
|
|
|
|
|
|
.99 lda #MLI.ERR.IO
|
|
|
|
|
sec
|
2017-03-15 17:44:15 +01:00
|
|
|
|
rts
|
2017-01-12 18:43:45 +01:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # MkNodA
|
2017-03-07 17:40:32 +01:00
|
|
|
|
* return a hFile for a given Socket
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## IN:
|
2017-01-12 18:43:45 +01:00
|
|
|
|
* A=hSocket
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## OUT:
|
2017-01-12 18:43:45 +01:00
|
|
|
|
* CC = OK, CS = ERROR
|
2017-04-10 08:07:14 +02:00
|
|
|
|
* X = hFILE
|
|
|
|
|
* Y,A = pFILE
|
2017-01-12 18:43:45 +01:00
|
|
|
|
*\--------------------------------------
|
2017-03-09 08:11:44 +01:00
|
|
|
|
K.MkNodA sta .1+1
|
2017-07-01 15:44:40 +02:00
|
|
|
|
>LDYAI S.NODE.SSOCK
|
|
|
|
|
jsr K.GetMem0YA
|
2017-03-09 08:11:44 +01:00
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
>STYA ZPPtr1
|
|
|
|
|
|
|
|
|
|
ldy #S.NODE.T
|
|
|
|
|
lda #S.NODE.T.SSOCK
|
|
|
|
|
sta (ZPPtr1),y
|
|
|
|
|
|
|
|
|
|
ldy #S.NODE.SSOCK.HSKT
|
|
|
|
|
.1 lda #$ff
|
|
|
|
|
|
|
|
|
|
sta (ZPPtr1),y
|
2017-04-10 08:07:14 +02:00
|
|
|
|
>LDYA ZPPtr1
|
2017-03-09 08:11:44 +01:00
|
|
|
|
.9 rts
|
2016-12-06 17:57:00 +01:00
|
|
|
|
*/--------------------------------------
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* # MKFIFO
|
2016-12-08 17:53:29 +01:00
|
|
|
|
* return a S.FILE to a new FIFO
|
2017-03-30 18:11:31 +02:00
|
|
|
|
* ## IN:
|
|
|
|
|
* ## OUT:
|
2016-12-06 17:57:00 +01:00
|
|
|
|
* CC = OK, CS = ERROR
|
|
|
|
|
* A = hFILE
|
|
|
|
|
*\--------------------------------------
|
2017-07-01 15:44:40 +02:00
|
|
|
|
K.MKFIFO >LDYAI 256
|
|
|
|
|
jsr K.GetMemYA
|
2016-12-08 17:53:29 +01:00
|
|
|
|
bcs .99
|
|
|
|
|
|
2017-03-07 17:40:32 +01:00
|
|
|
|
stx .1+1 save FIFO buffer
|
2016-12-08 17:53:29 +01:00
|
|
|
|
|
2017-07-01 15:44:40 +02:00
|
|
|
|
>LDYAI S.NODE.FIFO
|
|
|
|
|
jsr K.GetMem0YA
|
2016-12-08 17:53:29 +01:00
|
|
|
|
|
|
|
|
|
bcs .9
|
|
|
|
|
|
2017-01-12 18:43:45 +01:00
|
|
|
|
>STYA ZPPtr1
|
2016-12-08 17:53:29 +01:00
|
|
|
|
|
2016-12-09 17:36:24 +01:00
|
|
|
|
ldy #S.NODE.T
|
|
|
|
|
lda #S.NODE.T.FIFO
|
2017-01-12 18:43:45 +01:00
|
|
|
|
sta (ZPPtr1),y
|
2016-12-08 17:53:29 +01:00
|
|
|
|
|
2016-12-09 17:36:24 +01:00
|
|
|
|
iny S.NODE.FIFO.hMem
|
2017-03-07 17:40:32 +01:00
|
|
|
|
.1 lda #$ff Self Modified
|
2017-01-12 18:43:45 +01:00
|
|
|
|
sta (ZPPtr1),y
|
2016-12-08 17:53:29 +01:00
|
|
|
|
txa
|
2016-12-06 17:57:00 +01:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2016-12-08 17:53:29 +01:00
|
|
|
|
|
2017-03-07 17:40:32 +01:00
|
|
|
|
.9 pha save error code
|
|
|
|
|
lda .1+1 get back FIFO buffer
|
2016-12-08 17:53:29 +01:00
|
|
|
|
jsr K.FreeMemA
|
|
|
|
|
pla
|
|
|
|
|
sec
|
|
|
|
|
|
|
|
|
|
.99 rts
|
2016-02-24 20:52:24 +01:00
|
|
|
|
*--------------------------------------
|
2015-03-14 22:48:35 +01:00
|
|
|
|
MAN
|
2017-03-29 17:48:15 +02:00
|
|
|
|
SAVE /A2OSX.SRC/SYS/KERNEL.S.DEV
|
|
|
|
|
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
2015-03-14 22:48:35 +01:00
|
|
|
|
ASM
|