mirror of
https://github.com/cc65/cc65.git
synced 2024-12-22 12:30:41 +00:00
added some comments; new ft_flag bit #4: fd was opened by program
git-svn-id: svn://svn.cc65.org/cc65/trunk@1891 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
b45445d047
commit
d25ea2001b
@ -42,7 +42,7 @@
|
|||||||
cmp fd_table+ft_iocb,x ; entry in use?
|
cmp fd_table+ft_iocb,x ; entry in use?
|
||||||
beq inval ; no, return error
|
beq inval ; no, return error
|
||||||
lda fd_table+ft_usa,x ; get usage counter
|
lda fd_table+ft_usa,x ; get usage counter
|
||||||
beq ok_notlast ; 0?
|
beq ok_notlast ; 0? (shouldn't happen)
|
||||||
sec
|
sec
|
||||||
sbc #1 ; decr usage counter
|
sbc #1 ; decr usage counter
|
||||||
sta fd_table+ft_usa,x
|
sta fd_table+ft_usa,x
|
||||||
@ -53,10 +53,11 @@ retiocb:php
|
|||||||
tax
|
tax
|
||||||
plp
|
plp
|
||||||
bne cont
|
bne cont
|
||||||
php
|
|
||||||
lda #$ff
|
lda #$ff
|
||||||
sta fd_table+ft_iocb,y ; clear table entry
|
sta fd_table+ft_iocb,y ; clear table entry
|
||||||
plp
|
lda fd_table+ft_flag,y
|
||||||
|
and #16 ; opened by app?
|
||||||
|
eor #16 ; return set Z if yes
|
||||||
cont: rts
|
cont: rts
|
||||||
|
|
||||||
ok_notlast:
|
ok_notlast:
|
||||||
@ -251,7 +252,7 @@ do_open:lda tmp1
|
|||||||
ldy #$ff
|
ldy #$ff
|
||||||
srchfree:
|
srchfree:
|
||||||
tya
|
tya
|
||||||
cmp fd_table,x
|
cmp fd_table,x ; check ft_iocb field for $ff
|
||||||
beq freefnd ; found a free slot
|
beq freefnd ; found a free slot
|
||||||
txa
|
txa
|
||||||
clc
|
clc
|
||||||
@ -289,7 +290,8 @@ l2: sta fd_table+ft_dev,x ; set device
|
|||||||
lda loc_Y
|
lda loc_Y
|
||||||
sta fd_table+ft_iocb,x ; set iocb index
|
sta fd_table+ft_iocb,x ; set iocb index
|
||||||
lda loc_devnum
|
lda loc_devnum
|
||||||
and #7 ; only 3 bits
|
and #7 ; device number is 3 bits
|
||||||
|
ora #16 ; indicated a fd actively opened by the app
|
||||||
sta fd_table+ft_flag,x
|
sta fd_table+ft_flag,x
|
||||||
lda tmp2
|
lda tmp2
|
||||||
jsr fdt_to_fdi ; get new index
|
jsr fdt_to_fdi ; get new index
|
||||||
|
Loading…
Reference in New Issue
Block a user