<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 30 Dec 2008 22:02:42 +0000
From   : afra@... (Phill Harvey-Smith)
Subject: SRAM command docs.

Ok, seccond attemt, hopefully this time to the list, damn brain dead no
reply-to-the list.

Mark Haysman wrote:
>>> This works :- *SRWRITE 7000 7FFF 8000 9 from..    to.. rom..
>>> 
>>> This does not :- *SRREAD 7000 7FFF 8000 9 from..    to.. rom..
>> SRREAD is the opposite of write, so the addresses would need to be
>> the other way round *SRREAD 8000 8FFF 7000 9
>> 
> 
> Erm.....no, sorry. The Addresses are the same way round in both
> commands, as it says in the MRM

Which was why it working one way was puzzling.

> On a Master 128, go to Mode 0, fill the screen, with *H.. for
> example, and try
> 
> *SRWRITE 3000+4000 8000 6 cls *SRREAD 3000+4000 8000 6
> 
> Will write 16k on the screen to bank 6, then read it back again.
> 
> I would suspect the problem you're getting is using the 9, it's not
> picking it up as a valid RAM address, and it certainly isn't on a
> Master, as it's RAMs are 4 5 6 & 7, providing the internal jumpers
> are set to RAM (left) and not ROM space (right).

That could well be the problem, I was using the emulated SRAM on Mess's
BBC-B, which is SRAM in 8-15, which matches what I have on my real
machine at the mo (or one of them at least).

Guess the read/write descrepency can be explained by different
validation code for each.

Oh well, when replicating the functionality I'll remove the bank
restriction, so that any valid bank can be the target of a read/write
command, and rely on the user knowing what's where....

Cheers.

Phill.




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

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



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