Date : Wed, 26 Jul 2006 08:45:05 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: Re: 6502 copros again
>Message-ID: <44C558DB.4080401@...>
Jules Richardson <julesrichardsonuk@...> wrote:
> OK, I think the copro is working... at startup I get "Acorn TUBE 6502 64K".
> System memory variables as follows:
>
> PAGE HIMEM TOP
> no copro: 6400 31744 6402
> with copro: 2048 32768 2050
>
> .. can someone with a known-good copro confirm that's what they get too?
That's correct. PAGE at &800 and HIMEM at &8000.
> I'm a little confused as to what runs where - does BASIC data by default
still
> get stored on the beeb side of things (which would explain why HIMEM is at
32K
BASIC always stores data in the heap which starts at LOMEM and
advances up memory towards HIMEM. HIMEM will always be initialised
at 1 plus the highest usable address below the interpreter.
Without using a BASIC relocated to &B800, then BASIC will be at
&8000, so that's where HIMEM will be.
There is an unused gap at &C000-&F7FF that you can use. The
documentation suggests putting LOMEM at &C000, but I prefer to put
the /program/ at &C000 and the heap at &800, as that gives you
more data space than program space. Most programs benefit from
having loads of space for data rather than loads of space for the
program. See http://mdfs.net/Info/Comp/BBC/ProgTips
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
BBC BASIC for Windows and Internationalisation
See http://mdfs.net/Software/BBCBasic/Windows/ProgTips