<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 25 Jul 2006 01:14:35 +0100
From   : "Ian Wolstenholme" <BBCMailingList@...>
Subject: Re: 6502 copros again

The system variables are correct.  When the Tube is running,
the current language is copied into the second processor memory
beginning at &8000 (as with the main processor) and run from there to
keep all the addressing the same.  To claim back the "lost" 16K of
RAM, certain languages have co-processor versions running higher in
the second processor's RAM, such as Hi-BASIC, Hi-View & Hi-Edit but
there are actually few others with Hi versions.  With Hi-BASIC you will
get a HIMEM of 47104 so effectively you have 48K (ish) user workspace
and 16K ROM image copied into RAM making up the 64K in the Tube.

Best wishes,



Ian

----- Original Message -----
From: Jules Richardson
To:   bbc-micro@...
Sent:  Mon, 24 Jul 2006 23:33:47 +0000
Subject: [BBC-Micro] 6502 copros again


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?

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 
and not closer to 64K)? Or does the copro by default reserve half its memory 
for workspace / ROM space? The Advanced User Guide says that everything (apart 
from I/O) actually runs from the copro side though, including the default 
language - which in a way does a lot of the memory testing that I was asking 
about for me! :)

Oddly enough the Watford diags (which I've finally got copied on to a disk!) 
say that there's no copro present - not sure why that is (unless I need to 
somehow kick everything back to running on the beeb side before the code will 
let me test the copro - not sure how to do that yet)

cheers

Jules




-- 
(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.


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