Files
2026-10-04 14:54:49 +02:00

43 lines
851 B
ArmAsm

;
; Oliver Schmidt, 30.12.2004
; Robert Justice, 2026
;
; int __fastcall__ close (int fd);
;
.export _close
.import closedirect, freebuffer
.include "errno.inc"
.include "filedes.inc"
.include "zeropage.inc"
_close:
; Process fd
jsr getfd ; Returns A, Y and C
bcs errno
; Check for device
cmp #$80
beq zerofd
; Close file
sty tmp3 ; Save Y
jsr closedirect
bne oserr
ldy tmp3
; Mark fdtab slot as free
zerofd: lda #$00
sta fdtab + FD::REF_NUM,y
; Return success
lda #$00
; Set ___oserror
oserr: jmp ___mappederrno
; Set __errno
errno: jmp ___directerrno