Mercurial > hg > Members > kono > nitros9-code
view scripts/mkdskindex @ 3194:2ecebda8716b
mfree.asm: Fix zero-day Block Map entry bug
Previously, code assumed that the final entry in the block map would be
used. This was true for CoCo but is not necessarily true (and is not
true for mc09). Slight mod removes that implicit assumption; the code
now works correctly on both platforms.
author | Neal Crook <foofoobedoo@gmail.com> |
---|---|
date | Tue, 30 May 2017 23:59:46 +0100 |
parents | 7c917d36ea68 |
children |
line wrap: on
line source
#!perl # generate pretty index.html from directory of .dsks # AAW 4/5/10 $dirtoget=$ARGV[0]; opendir(DSKD, $dirtoget) || die("Cannot open directory"); @dsks=readdir(DSKD); &header; print "<TABLE class=tab1>"; print "<TR id='header'><TD class='h1'>File</td><TD class='h1'>Name</td><TD class='h1'>Size</td><TD class='h1'>Created</td><TD class='h1'>Sectors</td><TD class='h1'>Format</td></tr>"; foreach $dsk (sort @dsks) { if ($dsk =~ m/.*\.(dsk|img|DSK)$/) { @os9id = `os9 id $dirtoget/$dsk`; foreach $line (@os9id) { if ($line =~ m/Disk\sname\s+:\s+(.*)/) { $name = $1; } elsif ($line =~ m/Disk\sformat\s+:.*\((.*)\)/) { $format = $1; } elsif ($line =~ m/Creation\sdate\s+:\s+(.*)/) { $created = $1; } elsif ($line =~ m/Total\ssectors\s+:\s+(.*)/) { $sectors = $1; } } if ($dsk =~ m/_dw[\._]/) { $format = "DriveWire 3/4"; } if ($dsk =~ m/_becker[\._]/) { $format = "DriveWire 3/4"; } if ($dsk =~ m/_cocosdc[\._]/) { $format = "CoCo SDC"; } if ($dsk =~ m/.*\.img/) { $format = "Other disk image"; } if ($dsk =~ m/.*\.DSK/) { $format = "RSDOS"; $created = "-"; $sectors = "-"; } $size = -s "$dirtoget/$dsk"; $size = int($size / 1024) . "k"; print "<TR class='r1'>"; print "<td class='d1'><A HREF=$dsk>$dsk</A></td>"; print "<TD class='d1'>$name</td>"; print "<TD class='d1'>$size</td>"; print "<td class='d1'>$created</td>"; print "<td class='d1'>$sectors</td>"; print "<TD class='d1'>$format</TD>"; print "</tr>\r\n"; } if ($dsk eq "ReadMe") { print "<td class='d1'><A HREF=$dsk>$dsk</A></td>"; print "\r\n"; } } print "</TABLE>"; &footer; closedir(DSKD); sub header { print "<HTML><HEAD><TITLE>Latest disk images</TITLE>"; print '<style type="text/css">'; print 'body { margin: 0px; padding 0px; }'; print 'td.h1 { font-family: arial; padding: 5px; padding-right: 10px; font-size:12px; color: #FFFFFF; background-color: #444444; }'; print 'td.d1 { font-family: arial; padding: 5px; padding-right: 10px; font-size:12px; }'; print 'table.tab1 { margin: 10px; border-collapse:collapse;}'; print 'h4 { font-family: arial; padding: 10px;}'; print "</style>"; print "</HEAD><BODY>"; print "<H4>NitrOS-9: Latest disk images</h4>"; } sub footer { print "</BODY></HTML>"; }