From e3208576c22941e377493bac5ae6a7b6114a3c72 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Fri, 14 Aug 2015 20:36:51 -0400 Subject: [PATCH] close --- Makefile | 2 +- close.aii | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ stubs.aii | 1 - 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 close.aii diff --git a/Makefile b/Makefile index fd4d827..21e2978 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ SOURCES = main.aii volume.aii get_file_info.aii \ - open.aii get_dir_entry.aii \ + open.aii get_dir_entry.aii close.aii \ id_disk.aii stubs.aii tables.aii device.aii params.aii OBJECTS=$(SOURCES:.aii=.o) diff --git a/close.aii b/close.aii new file mode 100644 index 0000000..dc975d2 --- /dev/null +++ b/close.aii @@ -0,0 +1,58 @@ + + include 'gsos.equ' + include 'minix.equ' + include 'fst.equ' + + include 'fst.macros' + + include 'M16.Debug' + + + import init_fcr + import init_vcr + +close procname export + + with fst_parms, dp + + ; todo -- if dirty, update inode, etc? + + ;jsr init_fcr + + ldx fcr_ptr + ldy fcr_ptr+2 + jsl deref + stx my_fcr + sty my_fcr+2 + + + lda [my_fcr] + jsl release_fcr + + + ;jsr init_vcr + + ldx vcr_ptr + ldy vcr_ptr+2 + jsl deref + stx my_vcr + sty my_vcr+2 + + + ldy #vcr.open_count + lda [my_vcr],y + beq fatal + dec a + sta [my_vcr],y + + lda #0 + clc + rtl + +fatal + lda #vcr_unusable + jml sys_death + + endp + + end diff --git a/stubs.aii b/stubs.aii index ed80061..f7d224c 100644 --- a/stubs.aii +++ b/stubs.aii @@ -2,7 +2,6 @@ stubs proc export change_path - export close export create export destroy export erase_disk