[Coco] Reading keyboard input without basic

Dave Philipsen dave at davebiz.com
Wed Feb 10 15:03:42 EST 2016

That is true. They could have included so many documented calls that would have been very helpful.  The OS9 system calls are a good example of how that can be done. And you're right. When we modify the ROMs even if we follow the rules and keep the indirect jumps to the ROM routines we will still probably find that a lot of software becomes 'broken' due to the fact that programmers had no other easy alternative than to use undocumented calls.

Dave Philipsen

> On Feb 10, 2016, at 1:42 PM, Arthur Flexser <flexser at fiu.edu> wrote:
> The counterargument there is that Tandy was extremely stingy about
> providing documented entry points to useful ROM routines, so in many cases
> software authors were forced to choose between using undocumented ones or
> reinventing the wheel.  Anyone who modified their Color Basic ROM without
> preserving the major undocumented entry points (a somewhat difficult thing
> to do, since there is no free space available in that ROM) would
> encountered compatibility problems with a lot of software, and deserve it.
> Art
>> On Wed, Feb 10, 2016 at 1:44 PM, Dave Philipsen <dave at davebiz.com> wrote:
>> I agree.  It would just be good practice to do so even if for just the
>> CoCo because it is possible that someone out there has some sort of custom
>> ROM.  But as long as they've followed the rules for the vectors to the ROM
>> routines then the code will always work as JSR [$A000]  while it may not
>> work on a custom ROM with the direct JSR.
>> Dave
>>> On 2/10/2016 9:10 AM, John W. Linville wrote:
>>>> On Wed, Feb 10, 2016 at 08:06:56AM -0500, Arthur Flexser wrote:
>>>> The one at $A1C1 also has a documented vector and
>>>> so may also be called by JSR [$A000] if memory serves me correctly.  (Or
>>>> maybe it's $A002, too lazy to look it up.)  But there's no particular
>>>> advantage to using that, since we now know that there will be no future
>>>> Basic version where a direct call to the routine won't work because the
>>>> entry point has changed.
>>> Au contrair!  If you use the JSR [$A000] then the code will work on
>>> the Dragon as well, without modification.
>>> John
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco

More information about the Coco mailing list