[BBC-Micro] Tube - I/O processor memory questions

Kevin Bracey 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 mailing list