diff --git a/devices/floppy/superdrive.cpp b/devices/floppy/superdrive.cpp index db1aff6..bda938d 100644 --- a/devices/floppy/superdrive.cpp +++ b/devices/floppy/superdrive.cpp @@ -30,9 +30,9 @@ along with this program. If not, see . using namespace MacSuperdrive; -MacSuperDrive::MacSuperDrive() +MacSuperDrive::MacSuperDrive(std::string name) { - this->name = "Superdrive"; + this->set_name(name); this->supported_types = HWCompType::FLOPPY_DRV; this->eject_latch = 0; // eject latch is off @@ -57,7 +57,7 @@ void MacSuperDrive::command(uint8_t addr, uint8_t value) { uint8_t new_motor_stat; - LOG_F(9, "Superdrive: command addr=0x%X, value=%d", addr, value); + LOG_F(9, "%s: command addr=0x%X, value=%d", this->get_name().c_str(), addr, value); switch(addr) { case CommandAddr::Step_Direction: @@ -81,17 +81,17 @@ void MacSuperDrive::command(uint8_t addr, uint8_t value) this->sector_start_time = 0; this->init_track_search(-1); this->is_ready = 1; - LOG_F(INFO, "Superdrive: turn spindle motor on"); + LOG_F(INFO, "%s: turn spindle motor on", this->get_name().c_str()); } else { this->motor_on_time = 0; this->is_ready = 0; - LOG_F(INFO, "Superdrive: turn spindle motor off"); + LOG_F(INFO, "%s: turn spindle motor off", this->get_name().c_str()); } } break; case CommandAddr::Eject_Disk: if (value) { - LOG_F(INFO, "Superdrive: disk ejected"); + LOG_F(INFO, "%s: disk ejected", this->get_name().c_str()); this->eject_latch = 1; this->reset_params(); } @@ -107,13 +107,13 @@ void MacSuperDrive::command(uint8_t addr, uint8_t value) } break; default: - LOG_F(WARNING, "Superdrive: unimplemented command, addr=0x%X", addr); + LOG_F(WARNING, "%s: unimplemented command, addr=0x%X", this->get_name().c_str(), addr); } } uint8_t MacSuperDrive::status(uint8_t addr) { - LOG_F(9, "Superdrive: status request, addr = 0x%X", addr); + LOG_F(9, "%s: status request, addr = 0x%X", this->get_name().c_str(), addr); switch(addr) { case StatusAddr::Step_Status: @@ -145,7 +145,7 @@ uint8_t MacSuperDrive::status(uint8_t addr) case StatusAddr::Media_Kind: return this->media_kind ^ 1; // reverse logic! default: - LOG_F(WARNING, "Superdrive: unimplemented status request, addr=0x%X", addr); + LOG_F(WARNING, "%s: unimplemented status request, addr=0x%X", this->get_name().c_str(), addr); return 0; } } @@ -153,7 +153,7 @@ uint8_t MacSuperDrive::status(uint8_t addr) int MacSuperDrive::insert_disk(std::string& img_path, int write_flag = 0) { if (this->has_disk) { - LOG_F(ERROR, "Superdrive: drive is not empty!"); + LOG_F(ERROR, "%s: drive is not empty!", this->get_name().c_str()); return -1; } @@ -250,7 +250,7 @@ void MacSuperDrive::init_track_search(int pos) // pick random sector number uint64_t seed = TimerManager::get_instance()->current_time_ns() >> 8; this->cur_sector = seed % this->sectors_per_track[this->cur_track]; - LOG_F(9, "Superdrive: current sector number set to %d", this->cur_sector); + LOG_F(9, "%s: current sector number set to %d", this->get_name().c_str(), this->cur_sector); } else { this->cur_sector = pos; } diff --git a/devices/floppy/superdrive.h b/devices/floppy/superdrive.h index 3c9d821..47a1789 100644 --- a/devices/floppy/superdrive.h +++ b/devices/floppy/superdrive.h @@ -96,7 +96,7 @@ typedef struct SectorHdr { class MacSuperDrive : public HWComponent { public: - MacSuperDrive(); + MacSuperDrive(std::string name); ~MacSuperDrive() = default; void command(uint8_t addr, uint8_t value); diff --git a/devices/floppy/swim3.cpp b/devices/floppy/swim3.cpp index 5f1fc6e..b8ebe34 100644 --- a/devices/floppy/swim3.cpp +++ b/devices/floppy/swim3.cpp @@ -57,7 +57,7 @@ Swim3Ctrl::Swim3Ctrl() // Attach virtual Superdrive to the internal drive connector // TODO: make SWIM3/drive wiring user selectable this->int_drive = std::unique_ptr - (new MacSuperdrive::MacSuperDrive()); + (new MacSuperdrive::MacSuperDrive("Superdrive1")); } int Swim3Ctrl::device_postinit()