From f4cc6521cb822179bf4fd7fc4d9fdf4a30cc72e3 Mon Sep 17 00:00:00 2001 From: Rob Greene Date: Sun, 12 Apr 2020 18:29:04 -0500 Subject: [PATCH] Allowing two disks to be specified. --- apple2Setup.go | 10 +++++++++- apple2main.go | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-) 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) }