<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 26 May 2003 17:28:11 +0100 (BST)
From   : jim <24601@...>
Subject: Re: B+ shadow RAM query

Hi tom.

I don't really have what you'd call "real knowledge" about b+ shadow (I
haven't even got a real one to play with these days), but I can never
resist poking my nose in so I scarfed the circuit diagram from 8bs and had
a look over it.

> I'm adding B+ support to my emulator. On a B+, which RAM does the
> video output come from?

Well, per the funny picture, the B+ RAM is just 8x64Kbit chips. The key to
the whole mess is some (I presume) custom address decode logic in IC36.
This has several control lines coming out of it, among them being 2 called
VDUSEL and CPUSEL, which control which half of memory the 6845 and 6502,
respectively, "see". (they just provide the top bit of the address; the
CPU's A15 line isn't used directly to generate RAM addresses). I imagine
(again I'm guessing) that VDUSEL is always high when shadow RAM is
enabled, so the 6845 sees memory from &8000-&ffff instead of &0000-&7fff.
If you fiddle the 6845 base display address you ought to be able to get it
to display memory from sideways RAM - I wonder if anybody ever used this
technique for bank switching? Anyway, that would confirm the hypothesis if
you had a real B+.

> If I switch to shadow RAM, does what's on the screen change, or does the
> memory as the CPU (apart from the VDU drivers area, that is) see it?

It would change, though the OS clears the screen if you go via *SHADOW.
I'm sure I tried it back in the day (I tried most things).

The CPU itself usually sees RAM exactly where it is; 0-&7fff main memory,
&8000-&afff sideways. VDU drivers and sidways code running from
&a000-&afff sees shadow ram (&b000-&ffff) instead of main memory from
&3000-&7fff. I'd dearly love to know how this is detected - I can think of
some interesting experiments involving jumps from shadow code to the
screen memory area ...

> At the moment I'm assuming this is how it works. However, this is
> surely contrary to how shadow RAM addon boards worked on a real Beeb,
> because the 6845 can't get at the memory on the new circuit board?

Sounds good. Never encountered a shadow board for a model B, though.

Cheers, jim




<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>