Article View: comp.sys.atari.st
Article #33783Re: Fsfirst/Fsnext question
From: Leo de Wit
Date: Fri, 26 Aug 1988 05:17
Date: Fri, 26 Aug 1988 05:17
28 lines
1499 bytes
1499 bytes
In article <566@laura.UUCP> klute@trillian.UUCP (Rainer Klute) writes:
|Hello ST-hackers,
|
|does anyone know about a 'legal' way to do something like this:
|
|
|Routine_A: Routine_B:
|========== ==========
|Fsfirst (...); .
|Fsnext (); .
| . Fsfirst (...);
| . Fsnext ();
|Call_Routine_B (); .
| . .
| . return;
|Fsnext ();
Use Fsetdta(dtabuf); just before each invocation of either Fsfirst() or
Fsnext(); GEMDOS uses the first 21 bytes of the DTA-buffer to keep
track. There is little overhead in the use of this GEMDOS call, since
it merely sets a pointer to 'dtabuf' in the basepage (you could even do
it yourself 8-). Of course Routine_A and Routine_B should each use
their own 'dtabuf'. Note that this 44-byte buffer must be
word-aligned.
I thought that the default DTA-buffer (i.e. if your program does not
set it) is at basepage + 0x80 (yes, writing over your argument string 8-).
Leo.
Technical Details
Message-ID:
<623@philmds.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!mcvax!hp4nl!philmds!leoReferences:
<566@laura.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!mcvax!hp4nl!philmds!leo From: leo@philmds.UUCP (Leo de Wit) Newsgroups: comp.sys.atari.st Subject: Re: Fsfirst/Fsnext question Message-ID: <623@philmds.UUCP> Date: 26 Aug 88 05:17:41 GMT References: <566@laura.UUCP> Reply-To: leo@philmds.UUCP (Leo de Wit) Organization: Philips I&E DTS Eindhoven Lines: 28