<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Fri, 23 Aug 1991 17:28:37 GMT
From   : bu.edu!m2c!wpi.WPI.EDU!ear@bloom-beacon.mit.edu (Mr. Neat-O [tm])
Subject: Re: cpm undelete function and more....

I believe I have just hit the jackpot on this one...

Earlier today at work, I was handed a box of books about CP/M.  Many of these
books actually deal with the operating system itself and give helpful
information about BDOS calls and so on.  One book goes so far as to give an
assembly language listing of a program that will (insert trumpet fanfare here)
undelete a file!  Since I am at work, it would not be appropriate for me to
type it in right now.  However, I promise that I will type it in and post it
sometime during this weekend.

The title of this book is "CP/M Revealed" by Jack D. Dennon, and it is
published by the Hayden Book Company, Inc. of New Jersey, copyright 1982. It
also gives a library of Congress entry in the beginning of the book, which I
will post if there are any interested parties. 

As to the copyright, I seriously doubt that this book is still available from
the publisher, so I don't see what harm I can do by republishing a small
portion of it.  If anyone can convince me otherwise before I post the source
code, I will consider assembling it on my system and just posting the
executable code in uuencoded format.

In the meantime, let me just paraphrase the information at the beginning of
the chapter, which may prove useful to some of you out there...

To erase a file in CP/M, the hex value E5 is entered into byte 00 of each
extent of the file in the disk directory.  Also, all the record blocks
reserved for the file in the RBR are released.

+---------< Eric A. Rasmussen - Mr. Neat-O (tm) >---------+ +< Email Address >+
|   A real engineer never reads the instructions first.   | | ear@wpi.wpi.edu |
|   (They figure out how it works by playing with it.)    | | ear%wpi@wpi.edu |
+---------------------------------------------------------+ +-----------------+
                     ((( In Stereo Where Available )))

<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>