package main import ( "fmt" "os" //"encoding/binary" //"bufio" //"bytes" //"io" "path/filepath" "github.com/alexflint/go-arg" "git.zorchenhimer.com/go-fds" ) type Arguments struct { Input string `arg:"positional,required"` } func main() { args := &Arguments{} arg.MustParse(args) err := run(args) if err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } } func run(args *Arguments) error { file, err := os.Open(args.Input) if err != nil { return err } defer file.Close() blocks, err := fds.ReadRom(file, filepath.Ext(args.Input) == ".fds") if err != nil { return err } rom, err := fds.RomFromBlocks(filepath.Base(args.Input), blocks) if err != nil { return err } fmt.Println(rom.Info()) return nil }