Article View: comp.sys.amiga.tech
Article #5600Re: Files larger than available memory.
From: Jeff Dickson
Date: Wed, 03 Oct 1990 17:28
Date: Wed, 03 Oct 1990 17:28
79 lines
3318 bytes
3318 bytes
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
Technical Details
Message-ID:
<1990Oct3.172801.26802@jato.jpl.nasa.gov>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!wuarchive!decwrl!elroy.jpl.nasa.gov!jato!jdicksonReferences:
<924@ucsvc.ucs.unimelb.edu.au> <1990Sep23.174736.16118@lavaca.uh.edu> <83986@tut.cis.ohio-state.edu> <14646@cbmvax.commodore.com> <MWM.90Sep25180852@raven.pa.dec.com> <14669@cbmvax.commodore.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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> <MWM.90Sep25180852@raven.pa.dec.com> <14669@cbmvax.commodore.com> Reply-To: jdickson@jato.Jpl.Nasa.Gov (Jeff Dickson) Organization: Jet Propulsion Laboratory, Pasadena, CA Lines: 79