Date : Sun, 29 Nov 2009 22:06:25 +0000
From : kevin@... (Kevin Bracey)
Subject: Tube - I/O processor memory questions
John Kortink wrote:
> But on the second processor the allocation of
> language workspace is the same as on the I/O
> processor (without the Tube active). E.g.
> &70-&8F would be free if you run BASIC.
>
Actually, you also get &90-&EE allocated to you, which is nice, but
probably not that useful in practice.
>
>> And on a similar note - what does service code do if it needs some zero
>> page? There isn't anything obviously allocated for general non-language
>> use, just the few areas specifically allocated.
>>
>
> See above. On the I/O processor with the Tube active,
> it's basically guesswork. You're not expected to run
> any code there. That's the second processor's job.
>
On that question I was thinking there just as much about normal non-Tube
use. It seems that service code is rather zero-page deprived, unless
it's been prebooked like DFS or NFS.
I am planning ultimately to run some language support code on the I/O
processor - I want something to do fast transfer of 256-byte pages
between I/O RAM and SRAM and the language processor's RAM, so the I/O
RAM can be used as a cache.
OSWORD &42 actually seems to do this job - just discovered it, and it's
reasonably fast. But I should be faster if I used the 256-byte Tube
transfer routines directly (and would be BBC B compatible). But not
going to mess with that for a while.
Kevin