Date : Mon, 16 Jan 2006 13:25:21 -0000 (GMT)
From : info@...
Subject: Re: Basic IV ROM Routines
Hi,
> I have a Master and have been finding your documents of immense help. I
> only realised recently, that I had an internal coprocessor. Do you know
> how the Basic IV is changed when is transferred to the Coprocessor, in
> particular usin HiBasic?
In MOS 3.20 it's not changed at all when transferring to the coprocessor.
HiBASIC on the otherhand has the language code assembled higher up (often
&B800 rather than &8000) and the "I've got a coprocessor relocation" bit
set in its header.
Ordinarily the service call handler is left at &8000 as it always runs in
the host, but BASIC doesn't have one so ignore that.
Header details
http://www.sprow.co.uk/bbc/library/sidewrom.pdf
In MOS 3.50 ROMs could declare a relocation bitmap (somehow, no docs that
I know of) so that the MOS fixed up any absolute addresses as the image
got copied over the Tube, thus you only need one ROM to be both the normal
and "Hi-" version.
> The only thing I can find is the OS 1.2 (BBC B) OS Dissassembly, which
> may have some PLOT stuff in it, but I don't know if it does circles
> (maybe only the Master OS does circles?!).
Yes, you need the GXR to do circles on a beeb using the circle PLOT code,
Sprow.