[Coco] Paged RAM/ROM (was 16550/rs232).

Phill Harvey-Smith afra at aurigae.demon.co.uk
Wed Mar 4 19:08:30 EST 2009


Bob Devries wrote:
> I wonder if there's some software/hardware way to extend the I/O address 
> range of the Coco in a similar way to the sideways ROM/RAM in the BBC 
> computer?

Yeah that's pretty easy to implement, there's no magic really, the BBC's 
  sideways memory's just paged RAM/ROM.

The CoCo 3 already implements this, through the task registers, it would 
be trickier on a CoCo 1/2 or a Dragon because the SAM address decoding 
would get in the way, so you'd have to asert device select disable (cart 
pin 40), and manually decode the addresses.

But it's still easily doable, with the restriction that the 6847 has to 
take it's data from the normal RAM.

If you're prepared to also decode the multiplexed addresses from the SAM 
then there's no reason why you couldn't implement fully paged banks of 
memory on the CoCo/Dragon machines as the CoCo3 has. It's actually 
something I started working on, and got as far as emulating the Dragon 
Plus addon, giving me a total of 128K of ram (from a 1M 30 pin SIMM).

The real problem is not one of hardware but software, the BBC computers 
have OS support for paged ROMS, so it's easy to implement addon firmware 
in sideways memory and as long as you obey the rules it all works even 
with other software in sideways memory. It would be hard to retr-fit 
that to Basic on the CoCo, as there's already so much out there that 
would not conform to this.

For OS-9/Nitros of course this is not a problem, as long as the kernel 
knows how to deal with the paging (as it does on the CoCo3).

Cheers.

Phill.

-- 
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