[BBC-Micro] Tube - I/O processor memory questions
kevin at bracey-griffith.freeserve.co.uk
Sun Nov 29 20:20:10 GMT 2009
Exactly what memory is available on the I/O processor for a language
running on the language processor?
I just found myself wanting to reset a file pointer, and apparently
OSARGS needs its block on the I/O processor zero page! How awkward is
that? Okay, I can transfer my file pointer across with OSWORD 6.
But... Can I happily use I/O 00.8F? Are they all available to me, or has
the Tube code got the rights to some of it it? Likewise for &400-&7FF -
how much, if any, of that is available to me?
I understand that all of the I/O processor's OSHWM-HIMEM is available.
But is there any straightforward way of reading those settings from the
language processor? Presumably if I have some service code, if it asks
for OSHWM/HIMEM, it will get the I/O values, so I could use a user
OSWORD to get it to ask for me.
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.
More information about the bbc-micro