ProDOS-Utilities/main.go

43 lines
1.0 KiB
Go

package main
import (
"fmt"
"os"
"github.com/tjboldt/ProDOS-Utilities/prodos"
)
func main() {
if len(os.Args) < 2 || len(os.Args) > 3 {
fmt.Printf("Usage:")
fmt.Printf(" ProDOS-Utilities DRIVE_IMAGE")
fmt.Printf(" ProDOS-Utilities DRIVE_IMAGE /FULL_PATH")
}
fileName := os.Args[1]
pathName := ""
if len(os.Args) == 3 {
pathName = os.Args[2]
}
// empty path or volume name means read root directory
volumeHeader, fileEntries := prodos.ReadDirectory(fileName, pathName)
fmt.Printf("VOLUME: %s\n\n", volumeHeader.VolumeName)
fmt.Printf("NAME TYPE BLOCKS MODIFIED CREATED ENDFILE SUBTYPE\n\n")
for i := 0; i < len(fileEntries); i++ {
fmt.Printf("%-15s %s %7d %s %s %8d %8d\n",
fileEntries[i].FileName,
prodos.FileTypeToString(fileEntries[i].FileType),
fileEntries[i].BlocksUsed,
prodos.TimeToString(fileEntries[i].ModifiedTime),
prodos.TimeToString(fileEntries[i].CreationTime),
fileEntries[i].EndOfFile,
fileEntries[i].AuxType,
)
}
fmt.Printf("\n")
}