diff --git a/apple2Setup.go b/apple2Setup.go index b9de368..dddcf5a 100644 --- a/apple2Setup.go +++ b/apple2Setup.go @@ -95,7 +95,7 @@ func (a *Apple2) LoadRom(filename string) error { } // AddDisk2 inserts a DiskII controller -func (a *Apple2) AddDisk2(slot int, diskRomFile string, diskImage string) error { +func (a *Apple2) AddDisk2(slot int, diskRomFile string, diskImage, diskBImage string) error { var c cardDisk2 data, err := loadResource(diskRomFile) if err != nil { @@ -112,6 +112,14 @@ func (a *Apple2) AddDisk2(slot int, diskRomFile string, diskImage string) error c.drive[0].insertDiskette(diskette) } + if diskBImage != "" { + diskette, err := loadDisquette(diskBImage) + if err != nil { + return err + } + c.drive[1].insertDiskette(diskette) + } + return nil } diff --git a/apple2main.go b/apple2main.go index 4cf0365..41d734a 100644 --- a/apple2main.go +++ b/apple2main.go @@ -25,6 +25,10 @@ func MainApple() *Apple2 { "disk", "/dos33.dsk", "file to load on the first disk drive") + diskBImage := flag.String( + "diskb", + "", + "file to load on the second disk drive") wozImage := flag.String( "woz", "", @@ -224,7 +228,7 @@ func MainApple() *Apple2 { a.AddFastChip(*fastChipCardSlot) } if *disk2Slot > 0 { - err := a.AddDisk2(*disk2Slot, *disk2RomFile, *diskImage) + err := a.AddDisk2(*disk2Slot, *disk2RomFile, *diskImage, *diskBImage) if err != nil { panic(err) }