[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