diff --git a/src/interrupts.s b/src/interrupts.s index f1211a5..ab43a8c 100644 --- a/src/interrupts.s +++ b/src/interrupts.s @@ -204,8 +204,6 @@ cop_jump_table: .word .word0 dir_open .word .word0 dir_close .word .word0 dir_read - .word .word0 dir_first - .word .word0 dir_next ; ----------------------------------------------------------------------------- sys_reset: @@ -306,7 +304,8 @@ con_puts: rts ; ----------------------------------------------------------------------------- -; Read a line of input from stdin, storing as a NULL-terminated string. +; Read a line of input from stdin, storing as a NULL-terminated string. That is, +; standard input is read until a newline is encountered. ; ; Arguments: ; A: Bank of destination buffer @@ -340,7 +339,8 @@ sh_exec: ; ----------------------------------------------------------------------------- ; Exit the running user program, returning to the shell with an exit code. This -; function does not return. +; function does not return. If there is no shell specified in the kernel's +; memory, then the kernel will load and run a PGZ binary stored in ROM. ; ; Arguments: ; A: Exit code @@ -778,11 +778,23 @@ dir_open: dir_close: rts +; ----------------------------------------------------------------------------- +; Given a pointer to a structure populated by dir_open and a pointer to a file +; information structure buffer, read the next directory item from the directory. +; Repeated invocations of this function on a single directory read the items +; one at a time, until the last one, at which point the read item will have +; a NULL name; reading will then loop back to the beginning. The arguments are +; passed in a data structure with the following layout: +; +; struct dir_read_s { +; void *dir; +; void *file_info; +; }; +; +; Arguments: +; A: Bank of argument +; Y: Address of argument +; Return value: +; A: Error code dir_read: rts - -dir_find_first: - rts - -dir_find_next: - rts