From ba83a704cfd9454bdb16b6515c57e281066ca942 Mon Sep 17 00:00:00 2001 From: folkert van heusden Date: Thu, 18 Apr 2024 23:04:15 +0200 Subject: [PATCH 1/4] rebase fix --- rl02.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/rl02.cpp b/rl02.cpp index feeaeb1..b39cfaf 100644 --- a/rl02.cpp +++ b/rl02.cpp @@ -200,14 +200,6 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) uint32_t temp_disk_offset = calc_offset(); - uint16_t temp = registers[(RL02_DAR - RL02_BASE) / 2]; - - sector = temp & 63; - head = (temp >> 6) & 1; - track = temp >> 7; - - uint32_t temp_disk_offset = calc_offset(); - DOLOG(debug, false, "RL02 read %d bytes (dec) from %d (dec) to %06o (oct) [cylinder: %d, head: %d, sector: %d]", count, temp_disk_offset, memory_address, track, head, sector); update_dar(); From 2358f8058f730edd63e5ec3f7baf9621b88724ac Mon Sep 17 00:00:00 2001 From: folkert van heusden Date: Thu, 18 Apr 2024 23:09:28 +0200 Subject: [PATCH 2/4] updating MPR breaks XXDP? --- rl02.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/rl02.cpp b/rl02.cpp index b39cfaf..1442f6e 100644 --- a/rl02.cpp +++ b/rl02.cpp @@ -218,8 +218,6 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) b->writeUnibusByte(memory_address++, xfer_buffer[i++]); update_bus_address(memory_address); - - (*reinterpret_cast(®isters[(RL02_MPR - RL02_BASE) / 2]))++; } temp_disk_offset += cur; From b87912b7d48127479cadc2962d8843c4bca77da1 Mon Sep 17 00:00:00 2001 From: folkert van heusden Date: Thu, 18 Apr 2024 23:12:47 +0200 Subject: [PATCH 3/4] overly chatting debug message --- rl02.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/rl02.cpp b/rl02.cpp index 1442f6e..1094de7 100644 --- a/rl02.cpp +++ b/rl02.cpp @@ -239,9 +239,6 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) update_dar(); } - if (registers[(RL02_MPR - RL02_BASE) / 2]) - DOLOG(warning, false, "RL02: unexpected MPR value after read (%06o)", registers[(RL02_MPR - RL02_BASE) / 2]); - do_int = true; } else { From 2e95c63a2932419025c752892fbab4edccafe107 Mon Sep 17 00:00:00 2001 From: folkert van heusden Date: Fri, 19 Apr 2024 08:25:06 +0200 Subject: [PATCH 4/4] RL02: updating counters fails XXDP --- rl02.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rl02.cpp b/rl02.cpp index 1094de7..344211f 100644 --- a/rl02.cpp +++ b/rl02.cpp @@ -202,7 +202,7 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) DOLOG(debug, false, "RL02 read %d bytes (dec) from %d (dec) to %06o (oct) [cylinder: %d, head: %d, sector: %d]", count, temp_disk_offset, memory_address, track, head, sector); - update_dar(); +// update_dar(); while(count > 0) { uint32_t cur = std::min(uint32_t(sizeof xfer_buffer), count); @@ -217,7 +217,7 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) b->writeUnibusByte(memory_address++, xfer_buffer[i++]); b->writeUnibusByte(memory_address++, xfer_buffer[i++]); - update_bus_address(memory_address); + // update_bus_address(memory_address); } temp_disk_offset += cur; @@ -236,7 +236,7 @@ void rl02::writeWord(const uint16_t addr, uint16_t v) } } - update_dar(); +// update_dar(); } do_int = true;