Post by Todd VargoPost by Herbert Kleebauercopy a+a+a+a b
copy b+b+b+b a
until you get a disk full error
This copy method keeps growing the "wipe" files exponentially. However, once
the files reach above 50% of drive capacity the files can no longer be
copied, potentially leaving 49% of the drive unwiped. A disk full error in
this case really means there is not enough free space remaining to quadruple
again.
DOS doesn't check if there is enough space left. Try to copy
a 2 MByte file to a 1.44 MByte floppy. But I nevertheless prefer
to use a simple program to write to the disk until it is full.
Not because it is more save but because it is much faster
(doesn't have to read from disk) and you can wipe partitions
bigger than 2 GByte. You can speedup the copy method by not
overwriting already written files:
copy a+a+a+a b
copy b+b+b+b c
copy c+c+c+c d
:
But then it is much more work to type the commands.
I normally do it this way (as long as the system partition is FAT):
- (quick) format all non system partitions and wipe them using the below
program
- make a bootabel floppy "format /s a:"
copy format.com and the wipe program to the floppy
- boot from floppy and do a "format /s c:"
copy the wipe program to c:
- boot from hard disk and wipe c:
This way you get a bootable system full of data files containing
ASCII "0". This helps to save time if somebody tries to find
old data on the dumped PC.
; schreibe 0000.txt - 9999.txt auf aktuelle Platte bis
; diese voll ist
; size=$400 ; 32 Mbyte Dateien reicht fuer 32 GByte Partition
size=$8000 ; 1 Gbyte Dateien reicht fuer 10 TByte Partition
@=$100
move.w #'00',r0
move.w #buf,r6
move.w #$8000/2,r2
rep_r2 move.w r0,(r6.w)+-{s1}
_30: move.w #$3c00,r0
move.w #name,r1
eor.w r2,r2
trap #$21
bcs.b _100
move.w r0,r3
move.w #size,r4
_20: move.w #$4000,r0
move.w #buf,r1
move.w #$8000,r2
trap #$21
bcs.b _100
cmp.w r0,r2
bne.b _10
dec.w r4
bne.b _20
move.w #$3e00,r0
trap #$21
bcs.b _100
inc.b name+3
cmp.b #'9',name+3
bls.b _30
move.b #'0',name+3
inc.b name+2
cmp.b #'9',name+2
bls.b _30
move.b #'0',name+2
inc.b name+1
cmp.b #'9',name+1
bls.b _30
move.b #'0',name+1
inc.b name
cmp.b #'9',name
bls.b _30
_100: move.w #$4000,r0
move.w #text1,r1
move.w #text1_l,r2
move.w #1,r3
trap #$21
rts.w
_10: move.w #$4000,r0
move.w #text2,r1
move.w #text2_l,r2
move.w #1,r3
trap #$21
rts.w
text1: dc.b "fehler",13,10
text1_l=@-text1
text2: dc.b "disk voll",13,10
text2_l=@-text2
name: dc.b '0000.txt',0
even
buf: blk.b $8000