<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 03 May 2010 19:59:11 GMT
From   : jgh@... (J.G.Harston)
Subject: 68B54 memory locations and ANFS puzzle

paul aslin wrote:
> Sorry stupid M$ email service lost the message contents.
> 
> Referring to the memory map at:
> http://mdfs.net/Docs/Comp/BBC/AllMem
> 
> It shows the B/B+ to have the 68B54 in one memory location, and a
> different location in the Master.
> &FEA0-&FEBF 6854 ADLC Econet controller (B/B+)
> &FEC0-&FEDF 6854 ADLC Econet controller (Master)
> 
> But decompiling ANFS 4.25 shows it only uses &FEA0 to &FEA3

The BBC and Master only decode I/O addresses into blocks where
devices usually occupy more space than they need. Conventionally,
the lowest addresses in a block are the decuments/specified
locations to use.

For instance FE00-FE07 all select the CRTC, but there are only two
registers, accessed at FE00 and FE01. FE02-FE07 access reflections
of FE00 and FE01.

The Econet ALDC select line is activated if any address in
FEA0-FEBF is selected, but the 6854 only has four registers, so
just the first four locations are used - FEA0-FEA3.

The Sheila I/O space is chopped up into chunks of 32 locations, the
first block of 32 (FE00-FE1F) is chopped up into four blocks of 8,
the second block of 32 is chopped up into two blocks of 16.

FE00-FE1F -> FE00/FE08/FE10/FE18
FE20-FE3F -> FE20/FE30
FE40-FE5F
FE60-FE7F
FE80-FE9F
FEA0-FEBF
FEC0-FEDF
FEE0-FEFF

-- 
J.G.Harston - jgh@...      - mdfs.net/jgh
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>