diff --git a/rl02.cpp b/rl02.cpp index a11a03e..f34a562 100644 --- a/rl02.cpp +++ b/rl02.cpp @@ -213,6 +213,15 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) while(count > 0) { uint32_t cur = std::min(uint32_t(sizeof xfer_buffer), count); + for(uint32_t i=0; ireadUnibusByte(memory_address++); + xfer_buffer[i++] = b->readUnibusByte(memory_address++); + + // update_bus_address(memory_address); + mpr[0]++; + } + if (!fhs.at(device)->write(temp_disk_offset, cur, xfer_buffer)) { DOLOG(ll_error, true, "RL02: write error, device %d, disk offset %u, read size %u, cylinder %d, head %d, sector %d", device, temp_disk_offset, cur, track, head, sector); break;