<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 09 Mar 2009 19:09:03 +0000
From   : splodge@... (Richard Gellman)
Subject: Knackered CoPro (Was: Disable tube?)

Hi,

me@... wrote:
> OK, I think this copro has deeper problems than I imagined.
>
> Since powering up the beeb again this morning, typing pretty much  
> *anything* into the BASIC prompt causes it to hang, including, even:
>
>  >10 REM HELLO
>   
Aha. A clue dawneth.

So you can follow whats happening, when you enter something into BASIC, 
the input routine is actually running in the host, specifically OSWORD 0.

This accepts a line of input and stores it in a pointed to buffer. Then 
control returns (via the TUBE) to the parasite processor for BASIC to 
run. To clear up a couple of other observations:

The missing beep on startup is normal. When a TUBE is connected, the 
OS(es) do not emit a VDU 7 beep on startup. The reason you get a beep 
from COPY is that this is handled by the OSWORD 0 input routine in the 
host.

What appears to be happening is that the call to OSWORD 0 from parasite 
to host is working, but the return of the result from host to parasite 
is not. IIRC, this is done through register set 2, in which this input 
line would be the first to be called. The language ROM is transferred 
through register set 3 (IIRC) and text display is done through register 
set 1. This therefore suggests three possibilities:

1) Completely knackered TUBE chip, with a specific failure on register 
set 2.
2) Knackered address decoding in the co-pro unit (since the failure is 
AFTER the OSWORD call). This is done by a small army of 74-series chips, 
so if its one of these its easy to replace.
3) Knackered I/O decoder in the Master 128. This one has a VERY outside 
chance of being the case. Basically there's a big custom chip in an M128 
that determines chip selects for devices including the tube enable. If 
this chip is damaged in a VERY specific way, it might not be decoding 
RS2 writes from host to parasite correctly. But I think its highly 
unlikely to be this; you'd probably see other wierdness in the system.

It also makes sense that you were able to run ELITE to a certain 
extent.. if this was shift-break booted then it may not have passed any 
calls through RS2 to load it (I'm doing this from memory.. I may need 
correcting on which register sets are used for which OS calls).

> So things are not looking good. (Though, to answer a previous  
> question, sound did appear to be working. It still went beep if you  
> pressed COPY.)
>
> I pulled the copro out again, and everything sprung back to life,  
> CMOS, BASIC, everything. So at least there's that. :)
>   
One thing you don't mention trying: *CON. NOTUBE with the co-pro 
removed, then insert the co-pro (obviously with the power off) and 
confirm it ignores the tube as expected. Then *CON. TUBE, ctrl+break and 
see if it comes back as expected.

-- Richard
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>