Page 1 of 1

Memory locations in 65DV3.2 vs. V3.3

Posted: Wed Jan 13, 2016 1:41 am
by lowrybt1
I'm troubleshooting a single-disk copy program that runs great under OS65DV3.2 but crashes when run under V3.3, 5" floppy. I've been able to trace the issue to a statement that PEEKs the values at location 55106 and 55109. As far as I can tell the values in those locations (and adjacent memory locations) are used to build a concatenated DISK! statement for writing to the floppy -- and it looks as if the values being PEEK'd have something to do with the page number (within track and sector) being written to.

So far, haven't been able to find a resource that explains the purpose of 55106 and 55109 in either V3.2 or V3.3. Again, works great in V3.2, not so in V3.3 -- so I'm on the hunt for the equivalent locations in V3.3. In case it matters, I ported the program from V3.2 to V3.3 using the indirect file feature.

Thanks for any/all thoughts. Tom

Re: Memory locations in 65DV3.2 vs. V3.3

Posted: Wed Jan 13, 2016 7:19 am
by MK14HAK
Tom, 55106 and 55109 are video ram locations. What is the Copy program and can you share it with us to help debug it ? At what point does it crash ?

Re: Memory locations in 65DV3.2 vs. V3.3

Posted: Thu Jan 14, 2016 1:09 am
by lowrybt1
So, it's the program located at the following address:

http://www.osiweb.org/misc/OS65D%20Sing ... 20Copy.pdf

As far as I can tell, things start going wrong after the gosub statement at line 26. The commands in the 5000-5300 range appear to return unusable values for X$(j). Those values are passed to the statements at 60 and 70 and it is at line 70 that ERR#7 occurs but only when the program is run under V3.3. When the same code is run under V3.2, works great.

Makes sense that the peeks are video memory locations since this program literally displays disk contents on the screen as data are read from the master/origin disk.

Thanks for taking a look at this.

Re: Memory locations in 65DV3.2 vs. V3.3

Posted: Thu Jan 14, 2016 3:49 am
by MK14HAK
This is due to the fact that DOS3.3 uses a different video driver from 3.2. Cursor start and/or Pline values must be different between the drivers.
You will need to change 55106 and 55109 values appropriately to grab the correct sector and pg values from the screen.

Mike