def make_catalog(relative_path)
s="<p>"
begin
absolute_path=make_absolute_path(relative_path)
dsk=get_dsk_from_cache(absolute_path)
if (dsk.is_dos33?) then
s+="<table>\n<th>TYPE</th><th>SECTORS</th><th>NAME</th></tr>\n"
dsk.files.each_value do |f|
display_url="/showfile/#{uri_encode(relative_path)+'?filename='+uri_encode(f.filename)}"
s+="<td>#{f.file_type}</td><td>#{sprintf('%03d',f.sector_count)}</td><td>#{f.filename}</td>"
s+="<td><a href=#{display_url}&mode=hex>hex dump</a></td>"
if f.file_type=="T" then
s+="<td><a href=#{display_url}&mode=text>text</a></td>"
else
s+="<td><a href=#{display_url}&mode=list>listing</a></td>"
end
s+="</tr>\n"
end
s+="</table>"
else
s+="<i>not DOS 3.3 format</i>"
end
rescue Exception => exception
s+="<i>ERROR:#{exception}</i>"
end
s
end