[Coco] CoCo 3 POKEs to go to "CoCo 1/2" mode?
RETRO Innovations
go4retro at go4retro.com
Mon Jan 30 00:37:13 EST 2023
On 1/29/2023 11:14 PM, Allen Huffman via Coco wrote:
>> On Jan 29, 2023, at 8:20 PM, RETRO Innovations via Coco <coco at maltedmedia.com> wrote:
>>
>> Patching a BASIC command to go to RESET/etc. would not require a call to MS.
>>
>> What were all the ROM-changes?
>
> All the support for the new CoCo 3 features like 40/80 column screens, higher resolution graphics, and various new commands. Also, different initialization code for the GIME memory manager and such.
I should have been more precise. I was wondering what changes to the
original ROM Tandy made that they then put back in the ROM they put in
the machine, because I can't imagine they would have went to all the
work to "patch" ROM into RAM if they could have just called MS.
William's list looks like stuff (to me, anyway) that would have been
defensible in a court setting as trivial changes to allow a new system
to boot, not changes to the runtime per se.
Given the timeframe of the CC3 introduction (1986), and the fact that
all of the home computer manufacturers by this time knew about what was
going on in other firms (corporate snooping and such being a thing), the
changes to the Commodore 128 BASIC startup most likely gives the
answer. CBM released the C128 in 1985 with a much improved BASIC (7.0,
which includes much of the fancy print @ and GFX stuff also available in
the CC3 BASIC). CBM famously stripped out the Copyright Microsoft on
older versions of BASIC (v1,v2,v4) as those were all developed in the
late 1970s for the PET, and even kept it out of the (a bit odd) v3.5 in
the +4, which first added lots of the GFX and SOUND commands. But, by
1984/85, MS must have lawyered up more and probably sabre rattled on
making so many changes to their source without proper attribution (and
probably some money). CBM got a non exclusive one-time payment license
for BASIC (the famous JT deal you mention earlier), but I suspect the
lawyers found a way to extract some more money and an attribution for
the changes. CBM put in the attribution, so you see the copyright
notice on the C128 (in 128 mode). Note that the C64 mode does not show
it, but it basically does the same thing as the CC3 does. The C128
always boots (ironically) in CP/M mode (the Z80 starts first), a bit of
bootstrap code runs, if the user is asking for 64 mode, the system shuts
off all the C128 extras, hides all the extra registers to things like
MMU and such, and then runs the original 64 startup code in the old ROM.
My point is that the CC3 team would have wanted to do anything to not
require a call to MS or a license renegotiation. I suspect Tandy did not
get the sweet deal CBM did on the MS code and I don't think Tandy was as
aggressive as Jack Tramiel when it came to licensing. It's also
important to note that the C128 is the first CBM system that came out
after Jack left CBM for Atari, so the C128 ROMs probbaly also reflect a
lack of aggressive licensing negotiation.
>
> But they didn’t fix any of the known BASIC bugs, according to notes in the Unravelled disassembly book.
That, I see as just a way to be "bug for bug" compatible. CBM using the
old 64 ROM in the 128 accomplished the same.
All that aside, given that ROM was patched to account for ROM paks, as
per William, it would have been technically possible to patch that stuff
in RAM and keep RAM banked in and "protected" during ROMpak execution,
since the GIME handles all RAM access and also handles the select lines
for the ROMs all the time. I suspect the current behavior was the
cheapest of the options of:
* patch the ROM with all new functionality and pay MS
* patch the ROM with just these "fixups" and do the rest in RAM
* augment GIME to support swapping in RAM for ROMpaks as read only.
>
> --
> Allen Huffman - PO Box 7634 - Urbandale IA 50323 - 515-999-0227 (vmail/TXT only)
> http://www.subethasoftware.com - https://www.facebook.com/subethasoftware
>
>
>
--
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com
More information about the Coco
mailing list