Re: [cc65] Reading Directory on Atari

From: Shawn Jefferson <jefferson_shawn_a8bit1yahoo.com>
Date: 2005-12-24 01:54:49
Hi,

I would love if you provided a function for that!  I
started writing one, but it doesn't work, as of yet. 
Here is my wip, so far:


		.include    "atari.inc"
		.export     _open_dir, _read_dir_entry, _close_dir
		.export     _diriocb
		.import     findfreeiocb, clriocb
		.import     __oserror, __do_oserror
		.import     return0, return1
		.importzp   tmp1, tmp2, ptr1



_open_dir:      sta tmp1
		stx tmp2
		jsr findfreeiocb
		beq iocbok
		jmp return0

iocbok:         stx diriocb
		jsr clriocb
		lda tmp1
		sta ICBAL,x
		lda tmp2
		sta ICBAH,x
		lda #OPEN
		sta ICCOM,x
		lda #4
		sta ICAX1,x
		lda #6
		sta ICAX2,x
		jsr CIOV
		bmi cioerr
		lda #0
		sta __oserror
		jmp return1

cioerr:         jmp __do_oserror

_close_dir:     lda #CLOSE
		sta ICCOM,x
		jsr CIOV
		rts

_read_dir_entry:
		sta ptr1
		stx ptr1+1
		lda diriocb
		tax
		lda #5
		sta ICCOM,x
		lda ptr1
		sta ICBAL,x
		lda ptr1+1
		sta ICBAH,x
		lda #$1
		sta ICBLL,x
		lda #0
		sta ICBLH,x
		jsr CIOV
		bmi cioerr
		lda #0
		sta __oserror
		jmp return1


	    .bss

_diriocb:
diriocb:    .res    1


unsigned char open_dir(char *drive);
void close_dir(void);
unsigned char read_dir_entry(char *entry);

The open_dir seems to work (returns 1 anyway!), but
read_dir_entry doesn't... I couldn't find (or
understand) how to use the Get Record CIOV call.

Thanks!
Shawn

--- Christian Groessler <chris@groessler.org> wrote:

> I think I could provide a opendir function.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sat Dec 24 01:54:55 2005

This archive was generated by hypermail 2.1.8 : 2005-12-24 01:54:59 CET