programming tools for Windows applications development
  Home  |   SwiftForth Archive  |   SwiftX Archive  |

Re: Low level diskette I/O in Swiftforth

From: Ceballos Cabrillo, Federico de <federico.ceballos_at_unican.es>
Date: Mon, 14 Feb 2005 10:19:26 +0100

> I have a corrupt 3.5" single density diskette.
> I wish to retrieve as much data as possible from it.
> I have enough prior knowledge of contents that reading individual
> sectors would be useful.
> Is there anyway in SwiftForth to do reads of specific sectors?

There has been several replies to this post, but so far no-one has
answer the question. ;-)

YES, it is possible to read specific sectors in SwiftForth. The
easiest way is to read the whole disk at once, with code similar to
this:

1440 1024 * CONSTANT SIZE
SIZE BUFFER: DATA
S" \\.\A:" R/O OPEN-FILE THROW
( fid ) DATA SIZE THIRD READ-FILE THROW SIZE <> THROW
( fid ) CLOSE-FILE THROW

After it runs, you will have the contents of a high-density flopply
in A: stored at DATA.

According to the documentation, you need Windows NT and you must
have administrative privileges.

Regards,
Federico de Ceballos

----------------------------------------------------------------------
sftalk_at_forth.com The SwiftForth programming discussion email list
To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com
For list command help, send subject "help" to sftalk-request_at_forth.com
Message archives are located at http://www.forth.com/archive/sftalk
----------------------------------------------------------------------
This list is a forum for SwiftForth users. For product support and bug
reports, please send email to support_at_forth.com
----------------------------------------------------------------------
Received on Mon Feb 14 2005 - 01:21:09 PST

This archive was generated by hypermail 2.2.0 : Thu Dec 04 2008 - 03:04:19 PST