Well I did it. Using C2Plus and hit delete disk. Poof. Gone.
I have all the stuff on another IIe so data is not lost but...
Would like to restore the drive.
Is there any way to restore the disk deleted with
C2Plus delete disk?
Loren
HiLorenIf it's a ProDOS fs, there are tools that can recover the
subdirectories. I don't recall which ones.
Under Dos3.3, you will have to use a sector editor to locate track/sector lists and manually enter them back into the CATALOG area (Track 17 ($11)) along with the file name and sectors used, you believe the file to be.HiLorenIf it's a ProDOS fs, there are tools that can recover the
subdirectories. I don't recall which ones.
thanks
will start searching
maybe try first with Bag of Tricks Fixcat
On Sunday, December 6, 2020 at 10:59:30 AM UTC-6, engrav wrote:Thanks
Under Dos3.3, you will have to use a sector editor to locate track/sector lists and manually enter them back into the CATALOG area (Track 17 ($11)) along with the file name and sectors used, you believe the file to be.HiLorenIf it's a ProDOS fs, there are tools that can recover the subdirectories. I don't recall which ones.
thanks
will start searching
maybe try first with Bag of Tricks Fixcat
Under Prodos, Formatting will zero out the Volume Directory. There are lots of utilities to undelete a file, but to recover the Volume Header is almost impossible, as there are no block links left in the main Volume Header. Using a block editor, one has to search the entire disk, block by block, and look for those Subdirectory headers and a File's Master block, that belong to the Volume Header. Then the Volume Bitmap Block needs to be adjusted to protect all the blocks that are used by all the files in the all the directories that are recovered.
This is an extremely arduous task. It can be done, but I know of no software written that can recover a volume. But is possible using a block editor and a great knowledge of the Directory and file structure.
You don't say what size the disk is, but I'm guessing a 5.25 floppy? And what format Prodos/Dos3.3?
Here is a hex dump that will find all the blocks that a subdirectory is at. It is fairly short, so type it in and check for errors.so I copy paste to Virtual ][ 128k IIe and bsave and brun and get
It will list the block# and the subdirectory name. This will find ALL subdirectory headers and not just the ones in the Volume Header. I suppose I could modify this slightly to only find the the subdirectory headers that belong to the Volume Header. But see if this works for you first.
Change $0376 to the slot# x $10 (for drive#1 - slot#1=10, slot#2=20 .. slot#7=70)(for drive #2 add $80: slot#1=90, slot#2=A0 .. slot#7=F0)
0300:A9 00 8D 79 03 8D 7A 03 A2 17 86 06 20 00 BF 80
0310:75 03 AD 04 1E 29 F0 49 E0 D0 4A AD 23 1E C9 27
0320:D0 43 AD 24 1E C9 0D D0 3C AD 7A 03 AE 79 03 20
0330:41 F9 A9 AD 20 ED FD AD 04 1E 29 0F AA A0 00 B9
0340:05 1E 09 80 20 ED FD C8 CA D0 F4 20 8E FD C6 06
0350:D0 13 A9 17 85 06 AD 00 C0 10 FB 2C 10 C0 C9 9B
0360:D0 03 4C D0 03 EE 79 03 D0 A2 EE 7A 03 AD 7A 03
0370:C9 50 90 98 60 03 70 00 1E 00 50 2F F0 15 69 B0
0380:3F
On Tuesday, December 8, 2020 at 7:27:40 PM UTC-8, gid...@sasktel.net wrote:so solved that; wrong A and L in bsave
Here is a hex dump that will find all the blocks that a subdirectory is at. It is fairly short, so type it in and check for errors.
It will list the block# and the subdirectory name. This will find ALL subdirectory headers and not just the ones in the Volume Header. I suppose I could modify this slightly to only find the the subdirectory headers that belong to the Volume Header. But see if this works for you first.
Change $0376 to the slot# x $10 (for drive#1 - slot#1=10, slot#2=20 .. slot#7=70)(for drive #2 add $80: slot#1=90, slot#2=A0 .. slot#7=F0)
0300:A9 00 8D 79 03 8D 7A 03 A2 17 86 06 20 00 BF 80so I copy paste to Virtual ][ 128k IIe and bsave and brun and get
0310:75 03 AD 04 1E 29 F0 49 E0 D0 4A AD 23 1E C9 27
0320:D0 43 AD 24 1E C9 0D D0 3C AD 7A 03 AE 79 03 20
0330:41 F9 A9 AD 20 ED FD AD 04 1E 29 0F AA A0 00 B9
0340:05 1E 09 80 20 ED FD C8 CA D0 F4 20 8E FD C6 06
0350:D0 13 A9 17 85 06 AD 00 C0 10 FB 2C 10 C0 C9 9B
0360:D0 03 4C D0 03 EE 79 03 D0 A2 EE 7A 03 AD 7A 03
0370:C9 50 90 98 60 03 70 00 1E 00 50 2F F0 15 69 B0
0380:3F
"no buffers available"
On Wednesday, December 9, 2020 at 8:32:44 AM UTC-8, engrav wrote:You crashed at $302 which means there is a BRK ($00) at $300. You did not type it in correctly.
On Tuesday, December 8, 2020 at 7:27:40 PM UTC-8, IamRob wrote:
Here is a hex dump that will find all the blocks that a subdirectory is at. It is fairly short, so type it in and check for errors.
It will list the block# and the subdirectory name. This will find ALL subdirectory headers and not just the ones in the Volume Header. I suppose I could modify this slightly to only find the the subdirectory headers that belong to the Volume Header. But see if this works for you first.
Change $0376 to the slot# x $10 (for drive#1 - slot#1=10, slot#2=20 .. slot#7=70)(for drive #2 add $80: slot#1=90, slot#2=A0 .. slot#7=F0)
so solved that; wrong A and L in bsave0300:A9 00 8D 79 03 8D 7A 03 A2 17 86 06 20 00 BF 80so I copy paste to Virtual ][ 128k IIe and bsave and brun and get
0310:75 03 AD 04 1E 29 F0 49 E0 D0 4A AD 23 1E C9 27
0320:D0 43 AD 24 1E C9 0D D0 3C AD 7A 03 AE 79 03 20
0330:41 F9 A9 AD 20 ED FD AD 04 1E 29 0F AA A0 00 B9
0340:05 1E 09 80 20 ED FD C8 CA D0 F4 20 8E FD C6 06
0350:D0 13 A9 17 85 06 AD 00 C0 10 FB 2C 10 C0 C9 9B
0360:D0 03 4C D0 03 EE 79 03 D0 A2 EE 7A 03 AD 7A 03
0370:C9 50 90 98 60 03 70 00 1E 00 50 2F F0 15 69 B0
0380:3F
"no buffers available"
now runs but stops and see
0302- A=00 X=20 Y=00 P=36 S=E98
*
did change 0376 to 60
maybe try first with Bag of Tricks Fixcat
On Monday, December 7, 2020 at 2:59:30 AM UTC+10, engrav wrote:
maybe try first with Bag of Tricks FixcatDid you try Bag of Tricks II which handles ProDOS? It's on asimov.
Cheers,
Nick.
Here is a hex dump that will find all the blocks that a subdirectory is at. It is fairly short, so type it in and check for errors.end of first line, is 80 correct?
It will list the block# and the subdirectory name. This will find ALL subdirectory headers and not just the ones in the Volume Header. I suppose I could modify this slightly to only find the the subdirectory headers that belong to the Volume Header. But see if this works for you first.
Change $0376 to the slot# x $10 (for drive#1 - slot#1=10, slot#2=20 .. slot#7=70)(for drive #2 add $80: slot#1=90, slot#2=A0 .. slot#7=F0)
0300:A9 00 8D 79 03 8D 7A 03 A2 17 86 06 20 00 BF 80
0310:75 03 AD 04 1E 29 F0 49 E0 D0 4A AD 23 1E C9 27
0320:D0 43 AD 24 1E C9 0D D0 3C AD 7A 03 AE 79 03 20
0330:41 F9 A9 AD 20 ED FD AD 04 1E 29 0F AA A0 00 B9
0340:05 1E 09 80 20 ED FD C8 CA D0 F4 20 8E FD C6 06
0350:D0 13 A9 17 85 06 AD 00 C0 10 FB 2C 10 C0 C9 9B
0360:D0 03 4C D0 03 EE 79 03 D0 A2 EE 7A 03 AD 7A 03
0370:C9 50 90 98 60 03 70 00 1E 00 50 2F F0 15 69 B0
0380:3F
Change $0376 to the slot# x $10 (for drive#1 - slot#1=10, slot#2=20 .. slot#7=70)(for drive #2 add $80: slot#1=90, slot#2=A0 .. slot#7=F0)
0300:A9 00 8D 79 03 8D 7A 03 A2 17 86 06 20 00 BF 80end of first line, is 80 correct?
0310:75 03 AD 04 1E 29 F0 49 E0 D0 4A AD 23 1E C9 27
0320:D0 43 AD 24 1E C9 0D D0 3C AD 7A 03 AE 79 03 20
0330:41 F9 A9 AD 20 ED FD AD 04 1E 29 0F AA A0 00 B9
0340:05 1E 09 80 20 ED FD C8 CA D0 F4 20 8E FD C6 06
0350:D0 13 A9 17 85 06 AD 00 C0 10 FB 2C 10 C0 C9 9B
0360:D0 03 4C D0 03 EE 79 03 D0 A2 EE 7A 03 AD 7A 03
0370:C9 50 90 98 60 03 70 00 1E 00 50 2F F0 15 69 B0
0380:3F
On Friday, December 11, 2020 at 1:14:12 PM UTC-8, Nick Westgate wrote:so did both methods
On Monday, December 7, 2020 at 2:59:30 AM UTC+10, engrav wrote:
maybe try first with Bag of Tricks FixcatDid you try Bag of Tricks II which handles ProDOS? It's on asimov.
Cheers,Hi
Nick.
Am gonna try both methods but will take a little time
will report back
so did both methodsMy guess is that if my program didn't print any directory names, then the wrong device number was entered at $0376.
Fixcat searched for lost directories > found many by name
The binary code ran without errors and displayed a long list of addresses, no names
kinda fun
0376 is 40 and the card is in slot 4 and the little light on the card was constantly on so am 90% sure it was addressing the right card / slotso did both methodsMy guess is that if my program didn't print any directory names, then the wrong device number was entered at $0376.
Fixcat searched for lost directories > found many by name
The binary code ran without errors and displayed a long list of addresses, no names
kinda fun
$70 for slot #7, $60 for slot #6 ... $10 for slot #1.
Since Fixcat found the deleted directories, now you will have to rebuild them in the Volume directory.
There are two other programs I wrote that might interest you and will need that I don't think any other software can do for you.
The first one is a program that finds deleted files without a filename link. You only have to worry about files stored in the Volume Header. In the subdirectories, all the filenames and their links are still complete. The filename link normally points to the first block of a seedling file or the master block of a sapling or tree file. This first program can find the latter two and only if the master block is not fragmented. The only way to find a seedling file without any filename pointers, is to use a block editor. Look for blocks that don't have code that fully fills the block. Assess that the code is not part of a larger program and try to disassemble it and also make sure it does not already belong in any subdirectories. It is quite possible then that it belongs in the Volume directory.
The 2nd small utility program can actually protect and deprotect blocks. Once all the subdirectory links are re-established in the volume directory, then one can theoretically enter all the blocks numbers that have been reserved by files and directories and set them back to protected mode.
But the easier solution would be to write back to the Volume Bit Map (VBM) and write protect the entire disk. The reason is, you don't want to be able to save any files to the volume as it will definitely overwrite any hidden files that still need to be recovered.
Was wandering how far you wanted to take it.so did both methodsMy guess is that if my program didn't print any directory names, then the wrong device number was entered at $0376.
Fixcat searched for lost directories > found many by name
The binary code ran without errors and displayed a long list of addresses, no names
kinda fun
$70 for slot #7, $60 for slot #6 ... $10 for slot #1.
Since Fixcat found the deleted directories, now you will have to rebuild them in the Volume directory.
There are two other programs I wrote that might interest you and will need that I don't think any other software can do for you.
The first one is a program that finds deleted files without a filename link. You only have to worry about files stored in the Volume Header. In the subdirectories, all the filenames and their links are still complete. The filename link normally points to the first block of a seedling file or the master block of a sapling or tree file. This first program can find the latter two and only if the master block is not fragmented. The only way to find a seedling file without any filename pointers, is to use a block editor. Look for blocks that don't have code that fully fills the block. Assess that the code is not part of a larger program and try to disassemble it and also make sure it does not already belong in any subdirectories. It is quite possible then that it belongs in the Volume directory.
The 2nd small utility program can actually protect and deprotect blocks. Once all the subdirectory links are re-established in the volume directory, then one can theoretically enter all the blocks numbers that have been reserved by files and directories and set them back to protected mode.
But the easier solution would be to write back to the Volume Bit Map (VBM) and write protect the entire disk. The reason is, you don't want to be able to save any files to the volume as it will definitely overwrite any hidden files that still need to be recovered.0376 is 40 and the card is in slot 4 and the little light on the card was constantly on so am 90% sure it was addressing the right card / slot
but Fixcat might be good enough since I have lots of the stuff elsewhere
I will rerun Fixcat and see if it finds anything that I do not have elsewhere
thanx for the program; was fun to try it; will save for the next time (ah er, there will be no next time)
Sysop: | Gate Keeper |
---|---|
Location: | Shelby, NC |
Users: | 764 |
Nodes: | 20 (0 / 20) |
Uptime: | 40:37:58 |
Calls: | 11,275 |
Calls today: | 1 |
Files: | 5,288 |
D/L today: |
81 files (10,064K bytes) |
Messages: | 521,283 |