Hey Brian,
I think I found some of those array size fixes also, but not sure I
found all the same one you did perhaps. I will double-check your repo.
The extra warning parameter on the "Cancel button" in display.cpp was
correct ... I also made that change.
Ken
On 3/24/20 3:28 PM, Brian K. White wrote:
This version has a handful of build fixes and array size fixes, but
does not yet have the speed fix Tom Wilson posted.
Well, my best guess at the proper fixes. I made the compiler warnings
go away, but I'm not 100% sure they are really the right way to fix
each item.
Some arrays looked like they were one byte too small so they couldn't
hold their terminating null. But maybe the arrays were the right size
and the variables that used them needed to be reduced by one instead.
Others were fuzzier like just needing more room for path strings, but
no specific number, just, more, so I just picked a bigger value
arbitrarily.
This shows everything in one diff
https://github.com/bkw777/VirtualT/commit/fe6df94725a5fcf1989964b22cb79848dc778a6d
Oh yeah I see some fltk fixes for newer versions too I forgot those.
Particularly I'm not sure if removing the Cancel button in display.cpp
was correct. It makes the too-many-params error go away, but I don't
know if that option was actually needed and so it needs some other fix
that lets you still have the button.
I think Ken said he addressed the speed problem in his repo by now. I
don't remember if he posted a github or other public link to his new
git repo.
The diff for Tom's speed fix from my local copy is:
(not a real diff, I collapsed all the spaces for the email)
bkw@negre:~/src/VirtualT$ git diff HEAD^
diff --git a/src/io.c b/src/io.c
index 28bbdb4..ef4cf42 100644
--- a/src/io.c
+++ b/src/io.c
@@ -1262,14 +1262,15 @@ int inport(uchar port)
{
if (fullspeed == 0)
{
+ // Disabled per Tom Wilson <[email protected]> post to m100 list
/* Loop through all LCD driver modules */
- for (c = 0; c < 10; c++)
- {
- /* Check if this driver is enabled */
- if (lcdbits & (1 << c))
- if (lcdTime[c]+.000014 > hirestimer())
- return (0x80);
- }
+ //for (c = 0; c < 10; c++)
+ //{
+ // /* Check if this driver is enabled */
+ // if (lcdbits & (1 << c))
+ // if (lcdTime[c]+.000014 > hirestimer())
+ // return (0x80);
+ //}
return 64;
}
else