Hello Jim, hello Steve,
I didn't know how to report a bug to the GW-BASIC folks, but TK Chia hangs out on this list, so I thought I'd mention it here.
I do not think there is any official support for channel any more, either at Microsoft, or anywhere else. Microsoft also stated that "[t]he source files in this repo are for historical reference and will remain read-only and unmodified in their original state", so there is that.
But this GW-BASIC seems to treat "TIMER" as a variable, so it's the same as typing: RANDOMIZE 0 or any uninitialized variable: (which are set to zero)
I checked the release GW-BASIC code. I think it does kind of recognize a TIMER keyword --- when it is in tokenized form --- but it is considered to be an "Advanced Feature" (i.e. not supported in this GW-BASIC version). Other such "advanced" tokens are ERDEV (and likely ERDEV$), IOCTL (+ $), CHDIR, MKDIR, RMDIR, SHELL, ENVIRON (+ $), VIEW, WINDOW, and PMAP. The implementations are stubbed out in GWSTS.ASM in the source.
However, a workaround is to use the value from the system time (TIME$) and use only the seconds. You can do that with the MID$() function. LET SEED = VAL(MID$(TIME$,7,2)) That picks up only the seconds from the system time.
I think an improvement to this work-around would be to use more of the TIME$ value, including the hours and minutes. Picking up only the seconds field means that there are only 60 possible seed values.
I don't know how hard it would be to add the 2.x functionality in, especially if it needs to be done "clean", as opposed to taking it from what I refer to as "black code" (i.e., leaked sources to QBASIC). (And
I think a TIMER function should not be that hard to re-implement from scratch. But the stuff involving screen viewports might be harder to do.
I don't know whether MS would have problems with reconstituting a 3.2x GW-BASIC - from what I can tell, TK Chia's taken a play-it-safe approach.)
Yes. At the same time, I hear that Michal Necasek (www.os2museum.com) has been working on a separate reconstruction --- involving proprietary code bits --- but has not published his results yet. I believe there are at least two separate possible sub-projects here: (1) to only restore the original GW-BASIC functionality; (2) to also add features found in later versions of GW-BASIC --- support for subdirectories, EGA/VGA screen modes, etc. etc. etc. --- and possibly to extend it even further (maybe even have it run natively on Linux?). Thank you! -- https://github.com/tkchia _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel