An Update for y’all:
I think I have the random hanging problem fixed with a couple of changes:
The system stopped randomly hanging, but other problems persisted, seeming to be something in the program I was using. Given the same initial conditions, the program’s output would change randomly. (and, no, it’s not the program, really!)
I changed the version of MBASIC I was using from the included Rev. 5.21 to one I used on the RC2014, Rev. 5.29:
----------------------------------------
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
29752 Bytes free
----------------------------------------
…vs…..
----------------------------------------
BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 by Microsoft
Created: 28-Jul-85
29752 Bytes free
----------------------------------------
This didn’t solve the problem I was having. Read on:
After many dozens of hours later, I seem to have chased it down to the STRING$ function not reliably providing the length of string requested. It would never fail in the same place twice, and I have proof in output logs that it would (randomly?) create, for example, an 88 character string when a 69 character string was asked for. Beyond frustrated, I changed to manually generating lengths of strings to write, verify and copy files to and from the IDE/CF card. (using an alternate adapter did not change the results)
The next issue was that sometimes the program would generate the incorrect solution to some modulus arithmetic used to create varying content of the test strings and files. This was so unbelievable that for some time I refused to think it was happening, but after removing all modulus arithmetic, and replacing it with a simple integer counter, it seems to have worked.
As Carl Sagan said, “extraordinary claims require extraordinary evidence”, and I hope to be able to provide examples of both issues, untangled from the current program. Expect example programs highlighting these problems as soon as I am able. I also will be testing these bugs against my RC2014 system, to see if I can replicate them there. For now, as far as these being symptoms of some sort of bit-shifting or other type of instability with the LiNC80 SBC1 I cannot say.
Another day of testing is required but, for now, the test program and SBC1 seem to be behaving normally. If I don't run across any other surprises, I will post a new version of the "Media Mayhem" program after cleaning up the code.
I would like to create a new topic focusing on these issues and my findings, separate from the existing topic, and cross-post it to the RC2014 group. I’m sure this would be of interest there - especially if I am able to replicate the BASIC function problems on the RC2014 system.
-Randal (at CubeCentral)