mk79 wrote:Hmm, looking over the list I suspect the scatter load of the MDV device driver is broken on later Minervas. Further experiments now show that it always crashes when you LBYTES a file that is exactly 4096 bytes or bigger. Too late to investigate further, but the bug will be in dd_msvsc_asm I guess. Still pretty amazing that this hasn't been reported before.
When I said I had a problem with the scatter load on a drive. It was my MDI driver, which is based on the Minerva code.
I cannot quite remember exactly what the fix was. But it was something to do with the driver i/o routine when the i/o routine decides it need to call the scatter load code.
I think the problem was with the call instruction. Something like it was a branch to a subroutine, instead of a branch always.
At the time I thought it was a typo on my part. But maybe , it wasn't.
You could try comparing the MDI sources http://www.dilwyn.me.uk/utils/MDIsources107.zip with the Minerva sources around that point.