Path: utzoo!attcan!uunet!wuarchive!decwrl!elroy.jpl.nasa.gov!jato!jdickson From: jdickson@jato.jpl.nasa.gov (Jeff Dickson) Newsgroups: comp.sys.amiga.tech Subject: Re: Files larger than available memory. Message-ID: <1990Oct3.172801.26802@jato.jpl.nasa.gov> Date: 3 Oct 90 17:28:01 GMT References: <924@ucsvc.ucs.unimelb.edu.au> <1990Sep23.174736.16118@lavaca.uh.edu> <83986@tut.cis.ohio-state.edu> <14646@cbmvax.commodore.com> <14669@cbmvax.commodore.com> Reply-To: jdickson@jato.Jpl.Nasa.Gov (Jeff Dickson) Organization: Jet Propulsion Laboratory, Pasadena, CA Lines: 79 Newsgroups: comp.sys.amiga.tech Subject: Indicating end of file Summary: Expires: Sender: Reply-To: jdickson@jato.Jpl.Nasa.Gov (Jeff Dickson) Followup-To: Distribution: Organization: Jet Propulsion Laboratory, Pasadena, CA Keywords: Hi all. During late last year and then again some this year I wrote a serial I/O handler. It inserts itself as a DOS device. At first I had to perform my own DOS packet interchange with it, because it was not DOS compatible in the least bit. Recently, I changed it so that it would be DOS compatible. Now it works with such Amiga commands as copy, echo, filenote, etc. The problem I am having comes when I am copying from my handler to a file. copy SID:2400,1,8,N,031 sidout |_| |____________| | | DOS device | name | | communication parameters If the file exists, Copy concludes by printing the message, "Error during writing - sidout removed". Otherwise, copy doesn't print an error, but I can't Type the file because (I guess) the end of file (^J ?) has been obscured. Funny thing is according to the List command, the file contains the same number of bytes as the characters I typed on the terminal. The sequence of DOS packets is as follows: ACTION_LOCATE_OBJECT ACTION_EXAMINE_OBJECT ...so that the whatever is inputing from the SID doesn't give up because there is nothing to read, I block the DOS packet until something does become available. When the DOS request can be satisfied, I insert the number of bytes available in the 'fib_Size' field and the number of blocks in the 'fib_NumBlocks' field (usally zero). I have no idea what to initialize the 'fib_DiskKey' field as. I've tried -1 and 0. ACTION_FIND_INPUT ACTION_READ . . and so forth . . ACTION_END I have a rather old Transactor magazine that includes an article on AmigaDOS. It says on end of file that the 'RES1' field of the DOS packet is to contain a -1 (DOSFALSE) and that the 'RES2' is to contain the end of file indication (in my case zero). I tried that, but it didn't work. So now, I just put zero in the 'RES1' field when end of file occurs. Any comments on what I could be doing wrong? I am using MANX 'C' compiler v3.4a. Please don't inundate me with things along the lines of INTs VS LONGs. Think I could have gotton this far if I didn't know the implications of each? Jeff --------------------------------------------------------------------------- Jeff S. Dickson jdickson@zook.jpl.nasa.gov