def self.delete_file(file_system_image,filename)
this_files_catalog_slot=find_catalog_slot(file_system_image,filename)
return if this_files_catalog_slot.nil?
file_descriptive_entry=file_system_image.get_sector(this_files_catalog_slot[0],this_files_catalog_slot[1])[this_files_catalog_slot[2],0x23]
sector_usage_bitmap_sector=file_system_image.get_sector(vtoc_track_no,vtoc_sector_no)
sectors_to_mark_available=get_track_sector_list(file_system_image,file_descriptive_entry[0x00],file_descriptive_entry[0x01])
sectors_to_mark_available<<[file_descriptive_entry[0x01],file_descriptive_entry[0x00]]
sectors_to_mark_available.each do |ts|
offset_of_byte_containing_this_sector=0x38+(ts[0]*4)
if ts[1]<8 then
offset_of_byte_containing_this_sector+=1
end
byte_containing_this_sector=sector_usage_bitmap_sector[offset_of_byte_containing_this_sector]
byte_containing_this_sector=byte_containing_this_sector|(2**(ts[1]%8))
sector_usage_bitmap_sector[offset_of_byte_containing_this_sector]=byte_containing_this_sector
end
file_system_image.set_sector(vtoc_track_no,vtoc_sector_no,sector_usage_bitmap_sector)
catalog_sector=file_system_image.get_sector(this_files_catalog_slot[0],this_files_catalog_slot[1])
catalog_sector[this_files_catalog_slot[2]+0x20]=catalog_sector[this_files_catalog_slot[2]]
catalog_sector[this_files_catalog_slot[2]]=0xFF
file_system_image.set_sector(this_files_catalog_slot[0],this_files_catalog_slot[1],catalog_sector)
end