Date : Wed, 15 Aug 2012 15:22:12 +0100
From : splodge@... (Richard Gellman)
Subject: Programatically =22reset=22 a Beeb?
Hi,
Once you take away the extra RAM, a BBC Master 128 is just a
glorified model B. The rest of the hardware functions the same. As long
as you set the memory mapping, the model B ROMs work just fine.
This
is why I set ROMSEL to 0 (to clear the top bit which in M128 enabled 4K
private RAM at &8000 - in practice this will be done from a paged ROM,
so bit 7 will already be clear, and thus this will be an unnecessary
step) and ACCCON to 0 to page out the extra RAM, and leave it in a
B-like state... RAM from 0 to 32K, ROM from 32K to 64K. It also disables
shadow RAM.
If I hit CTRL+BREAK after the "reboot" and weird
behaviour, it behaves like a model B just fine. But for an automated
process, this is obviously undesirable ;)
I suspect that it fails
going autonomously from B to M128 too, but I always switch back by
setting the register (which locks the keyboard for obvious reasons) then
hitting CTRL+BREAK, so I never see the problem.
-- Richard
On Wed,
15 Aug 2012 16:14:08 +0200, Rick Murray wrote:
> Hi,
>
> I'm walking
across a field (exercise! ~2km/day) listening to nano.RIPE, so this is
just a thought that occurred to me.
>
> ...namely... the addressing
range of the 6502 is 64K yet the Master has more. This would suggest to
me that bringing up the machine is a little more complex. You don't say
which ROM set actually fails, but I'd be kinda surprised to see a Beeb
MOS ROM working in a Master...
>
> Best wishes,
>
> Rick.
>
> Richard
Gellman wrote:
>
>> Hi, I'm having trouble with a "reset" process.
Hopefully someone here can point out the Bleeding Obvious(tm) to me.
I've build a board for my M128 with two ROM sets, the original M128 set
and the Model B OS1.2/Basic2 ROMs. Switching between them is under
software control. Obviously, one do not simply change ROMs. So my
procedure is thus: Disable interrupts (SEI) Store 0 at ROMSEL (fe30) and
ACCCON (fe34) to enable B-like memory mapping. Store the bit in the ROM
set select register (1MHz bus) JMP (&FFFC) Except, it doesn't quite
work. It changes ROM set sure enough, but the start sequence is
interrupted and scrolls uncontrollably, sometimes with characters on
screen. I tried blanking the 32K RAM beforehand, setting it all to &FF,
and use of *FX200,3 but none worked. I'm clearly missing a clue on how
to reset the state of the machine so it can start properly. Any
suggestions as to what I'm missing? Thanks -- Richard
_______________________________________________ bbc-micro mailing list
bbc-micro@... [1]
http://lists.cloud9.co.uk/mailman/listinfo/bbc-micro [2]
Links:
[1] mailto:bbc-micro@...
[2]
http://lists.cloud9.co.uk/mailman/listinfo/bbc-micro
[3]
mailto:splodge@...