Date : Wed, 29 Oct 2003 19:48:46 +0100 (GMT)
From : Johan Heuseveldt <johan@...>
Subject: Re: [Econet] NFS 3.60 ROM and the Electron
Hi Chris,
On Tue 28 Oct, chris.johns@... wrote:
> Firstly - my sincere apologies to all if this ends up as HTML! I'm using
> the BlueYonder webmail, which uses Outlook as its editor, or anything's
> possible.
The message received via the Econet mailing list was indeed a disaster. A few
clicks for cut and paste was just some simple work, but curing the format and
adding an extra level of quoting was something I didn't succeeed in. So I
gave up after a while.
Now I'm on the BBC-Micro mailling list as well, and hey, 'cloud9' seems to
have simplified the whole message!!! So here I am:
> Hi Johan
>
> > > I've been looking at the NFS 3.60 ROM (the 8K version)
> >
> > I thought 3.60 is combinated with the DFS, and 3.34 is the only 8K device
> > for NFS, but no doubt I must be wrong.
>
> I think this is acrually half the DNFS. The ROM name is "DFS,NET" but it's
> had the DFS code removed by the looks of it. It's still (C)ROFF tho :)
OK, from other messages too, I now understand it comes from the dual ROM,
which is called "DFS,NFS". :-)
DFS for the disc system, NFS for the net system.
With *DISC and *NET used as their *-commands.
[snip]
> > > The other problem I'm faced with is having less page D bytes to play
> > > with than on a beeb, but thats another story .. :)
>
> > This I don't understand, sorry. Is that because the Electron is special
> > in using some part of that page?
>
> On the electron, &D60 to &DAF (I think - from memory as I don't have the
> AUG here) are "Reserved" according to the Advanced User Guide. I believe
> the Plus 1 uses this memor y, as is a mention in the AUG that some games
> crash on a system with a Plus 1 because they use Page &D.
According to earlier 'Adv.Guides' a lot of page &0D was available for the NMI
routine, but later documentation - including some guides - were more
specific, and shows more other use(r)s, thereby decreasing the NMI-routine
space. ATM I can't tell you more, as I haven't any access to my books. :-(
[...]
> While on the subject of the NMI handler - on the electron to change ROMs
> means writing &C to the ROM select latch at &FE05 (to page out BASIC and
> the Keyboard) then the ROM you want.
So the Elk is even more different from Beeb and Master then I thought.
> You are meant to update the copy at &F4 each time - is this strictly necess
> ary in an NMI service routine -
I think so. Please note that in these circumstances there are more than one
opcode to select something in hardware: there's the actual hardware address,
and the soft-copy - as the hardware address is write-only! Addressing order
is vital: write softcopy first, followed by hw address. Why? Just imagine
what happened if an interrupt (NMI/IRQ) occurs just between the two opcodes,
and then returning from the interrupt.
Not sure if this is the case for being in the NMI routine, but I have always
done so.
> is it a safe assumption that you won't get any more in terupts until you
> RTI?
I don't know. It's all too long ago. Just in case:
Depends when the interrupt is physically cleared. I completely forgot how
this is done. There are some routines - starting from the NMI - that takes
some time for some house keeping jobs, so NMI interrupts could be enabled
before this one ends. Also, when NMI service routine ends, there could be a
pending IRQ waiting! To complicate matters, interrupts from the 68B54 ADLC
are priotirized. Before returning with RTI, the code in &0D00- &0D1F (incl),
checks if there is anothere interrupt waiting from the ADLC. If so, it goes
into service without doing RTI and re-entrance by an NMI interrupt again,
thereby saving at least 2 x 6 clock cycles.
Not sure if this is of any use.
greetings from the Netherlands,
Johan
P.S. Wow, 'BBC-Micro' seems to be a crowdy place! :-)
After subsription, my mailbox has quite an amount of mesages from it!
--
Johan Heuseveldt <johan@... >
aka waarland
The best place is a Riscy place
If little else, the brain is an educational toy. - Tom Robbins