[Coco] Color basic 1.0, 1.2 differences.

Phill Harvey-Smith afra at aurigae.demon.co.uk
Sun Jan 21 06:23:47 EST 2007

Robert Gault wrote:
> Phill Harvey-Smith wrote:
>> <snip>
>> Ahh, but I was talking about plain non-extended color basic, version 
>> 1.0, which seems in software to only detect 4K or 16K rams. Do you know 
>> what version of Color basic is in there ?
> The ROM is Color Basic 1.1 in my F-board Coco1. Looking at the source 
> code for the 1.0 ROM, it reads a PIA at $A057 to determine 4 or 16K of 
> RAM and sets the SAM at$A06A for 16K. However, at $A0AB the ROM has a 
> routine which looks for the top of RAM by testing memory. 

That will work if you have 2 banks of 16K which was possible on the CoCo 
  by piggy backing another set of 16K chips, I believe you would have to 
do this as there are only 8 sockets. I know this works as most of the 
Dragon 32s used this configuration. I guess you could also do it with 2 
banks of 4K to get 8K but I have never seen this.

>							It stops when 
> memory can't be changed. I'm not sure what would happen if 32K or more 
> of RAM was present, the SAM set for 16K, and data stored above $4000.

Since the machine would at that point be in map type 0 it would stop 
testing when it hit the ROM at $8000, I believe even 64K machines do 
this, as it's basically testing and setting up the ram for basic, which 
can only use the bottom 32K, on the CoCo and Dragon 32 anyway, The 
Dragon 64 has a second copy of basic assembled to run from $C000, so can 
be booted into map type 1 give 48K of ram to basic.

> All you need to do manually if more than 16K RAM is present would be to 
> STA $FFDD, STA $FFDA after the initial boot is complete. That will 
> indicate 64K dynamic RAM. This could easily be put in a modified disk 
> ROM or entered from the keyboard.

Yeah The 1.2 Color Basic rom does this, I rememberd I had the pdf of 
"Color Basic Unraveled" and checked in there, apparently this was one of 
the improvements 1.0->1.2 was the ability to use 64K rams, the cocoe 
driver in mess uses this, so I have set things up in the mess source, so 
that the coco (with CB 1.0), can use 4K, 16K, and 32K, but the cocoe can 
use 64K as well.



Phill Harvey-Smith, Programmer, Hardware hacker, and general eccentric !

"You can twist perceptions, but reality won't budge" -- Rush.

More information about the Coco mailing list