I am trying to repair a BBC Micro B which I got for cheap. I already replaced / socketed the 16 KB RAM, but it still shows garbage... I believe the RAM is OK. All the connections are as they should be. Also, the "big chips" (IC1, IC2, IC3, ...) which are socketed are all ok, swapped and tested with another working BBC Micro B. So, the problem must be with one of the little LS support chips or related. An idea, anybody? One strange thing is - it seems the previous owner did some fixes to the motherboard. There is a white little jumpercable on the back. No idea what purpose it serves. The other yellow cable is from my RAM socketing messups. So, it seems, it is not the RAM nor the CRT controller nor the ULAs.

S25 is in "south" position. It starts up with a beep, and Caps Lock etc is working, also break.

First, if I have S26 left = west, then it DOST NOT boot, but rather is stuck with a long beep (then second beep).
The pictures I posted above are with S26 = right = east.

If I remove this S26 jumper, then VDU7 beeps, and I can change the modes. I am attaching some pictures of mode3, mode6, mode7.
VDU7 also works with S26 = right (pictures above), and MODEn changes works too, but the screen is completely dark then. Whereas
I can at least see garbage in MODE6 and MODE7 when the jumper S26 is pulled.

Which version board do you have? I can't be certain from the photos you posted due to the black crock clip being in the way.

From what you say, you have two faults. One is definitely a fault with one bank of RAM. But don't worry about that at the moment, better to wait until the other fault is fixed. Note that with only one bank of working RAM (16K bytes only), as far as the machine is concerned, it's a model A, so not all display MODEs are available. For example, any MODE which needs 20K bytes will not be able to be selected.

The second fault is a display / picture generation circuitry fault.

I recommend that you first of all check the socket pins on IC2 and on IC6 in case the problem is simply a poor contact. I assume you have swapped IC6?

Have you got a copy of the schematic/ circuit diagram? If you have an electronic copy, I recommend that you try to get it printed out on A3 sized paper.

I assume you have a logic probe based on the croc clips connected to the +5V and 0V points. Do you have, or have access to, any other test gear?

Mark

Last edited by 1024MAK on Sun Aug 12, 2018 8:47 am, edited 1 time in total.

First, if I have S26 left = west, then it DOST NOT boot, but rather is stuck with a long beep (then second beep).
The pictures I posted above are with S26 = right = east.

S26 is video output? Set to east it should invert the output, when inverted you have a white background (from memory), but that doesn’t tie in with screenshots below.

I am not sure if this is a mistake or a clue.

A possible clue. Lambdamikel talks of having S25 south in their first post, so we may have gotten off-course at some point.

I seem to recall that the video inversion with S26 only worked with the early (heatsinked) ULAs (where the ULA as manufactured was accidentally inverted, and needed re-inverting to show correct output). In my issue 7, moving S26 didn't give an inverted display.

I don’t believe it is fitted on later Beebs that had the fixed ula (edit: manual must be wrong if issue 7 still has s26). On my beeb issue 4 with heat sink ula it is west, but as that has broken video I am not sure My results/memory of moving it to east are reliable. When you changed it did you get nothing, screen as before, or garbage?

Edit: cannot see issue in pictures above as croc clip obscures it. Assume 7 as no heat sink on ula, but that could have already been changed.

Last edited by Elminster on Sun Aug 12, 2018 10:32 am, edited 3 times in total.

Which version board do you have? I can't be certain from the photos you posted due to the black crock clip being in the way.

Issue 7

From what you say, you have two faults. One is definitely a fault with one bank of RAM. But don't worry about that at the moment, better to wait until the other fault is fixed. Note that with only one bank of working RAM (16K bytes only), as far as the machine is concerned, it's a model A, so not all display MODEs are available. For example, any MODE which needs 20K bytes will not be able to be selected.

The second fault is a display / picture generation circuitry fault.

I recommend that you first of all check the socket pins on IC2 and on IC6 in case the problem is simply a poor contact. I assume you have swapped IC6?

Have you got a copy of the schematic/ circuit diagram? If you have an electronic copy, I recommend that you try to get it printed out on A3 sized paper.

I assume you have a logic probe based on the croc clips connected to the +5V and 0V points. Do you have, or have access to, any other test gear?

That's right, a logic probe is connected. I used that to check the RAM that I replaced. Yes, both the IC2 (CRT controller) and the ULA (IC6) have been swapped / replaced with another BBC Micro, and the faulty machine shows the same faulty behavior with IC2 and IC6 from the working BBC Micro B. So I belive that the defect is not caused by the big socketed chips.

Yes I have schematics, thanks.

Thanks for your help, Mark!

Last edited by lambdamikel on Sun Aug 12, 2018 4:00 pm, edited 2 times in total.

First, if I have S26 left = west, then it DOST NOT boot, but rather is stuck with a long beep (then second beep).
The pictures I posted above are with S26 = right = east.

S26 is video output? Set to east it should invert the output, when inverted you have a white background (from memory), but that doesn’t tie in with screenshots below.

I am not sure if this is a mistake or a clue.

Indeed, it is S26. The machine doesn't boot with S25 = 16 KB and S26 = left / west (well, it goes into permanent second beep tone). S26 is supposed to invert the video. To me, it doesn't seem to do that. The machine only boots to BASIC with S26 = pulled or S26 = right / east.

Last edited by lambdamikel on Sun Aug 12, 2018 4:06 pm, edited 1 time in total.

I seem to recall that the video inversion with S26 only worked with the early (heatsinked) ULAs (where the ULA as manufactured was accidentally inverted, and needed re-inverting to show correct output). In my issue 7, moving S26 didn't give an inverted display.

First I'd give it a really close visual inspection looking for shorts - there are some solder flecks in your photos so there could be more shorting some signals.

Next I would scope the address pins to the the RAM & see if there is anything funny. You are getting some display and things are being written to RAM. In a screen mode, that isn't mode 7, can you successfully use the cursor keys & COPY button to copy text? (Press left cursor then COPY it should keep copying the ">"). If it beeps then the RAM is definitely corrupt. If it copies then it is more likely a fault in the video read addressing circuit path.

Edit: There could be multiple faults as Mark suggests but try going after one at a time. There is MartinB's memory test to try too:viewtopic.php?t=14809

Last edited by cmorley on Sun Aug 12, 2018 4:31 pm, edited 3 times in total.

Link S25 determines how much memory the system can see, and which bank of RAM the system sees at address 0000 hex onwards.

Link S26 has to be correct for the actual chip fitted in IC6 position. There are two different manufacturers, and at least two different revisions of the chip from the two manufacturers. Just to confuse matters further, some boards have a modification wire that has been added on the underside. So it's not really a selection between normal and inverted display, because you will only get a proper display if it is in the correct position (where needed) and that depends on the actual chip fitted. This link ONLY affects the display system, it has no effect on the memory or the CPU.

Mark

Last edited by 1024MAK on Sun Aug 12, 2018 4:45 pm, edited 1 time in total.

Didn’t I read somewhere that you can use s25 to get it to 16k, and then do something with a not gate to make it use the other 16k. I might have imagined that.

Also is it worth swapping the Mode 7 ssa chip (don’t have ic number to hand but next to the ula and below the crt) with know good one, just to rule out it is not 2 different issues effecting mode 0-6 and mode 7.

S25 question - Yes, it's detailed in the fault finding index thread, as well as elsewhere in the hardware section.

The 'teletext' chip, IC5, an SAA5050 may cause a failure of the MODE 7 screen. It is also affected by link S26. I doubt it has failed in the OP machine though, given the problems with the other MODEs. At least, I hope not

Mark

Last edited by 1024MAK on Sun Aug 12, 2018 5:33 pm, edited 1 time in total.

S25 question - Yes, it's detailed in the fault finding index thread, as well as elsewhere in the hardware section.

The 'teletext' chip, IC5, an SAA5050 may cause a failure of the MODE 7 screen. It is also affected by link S26. I doubt it has failed in the OP machine though, given the problems with the other MODEs. At least, I hope not

Mark

That is probably where I read it.

No not expecting it to be the SSA5050 but just seemed an easy thing to rule out as it is socketed.

First I'd give it a really close visual inspection looking for shorts - there are some solder flecks in your photos so there could be more shorting some signals.

Next I would scope the address pins to the the RAM & see if there is anything funny. You are getting some display and things are being written to RAM. In a screen mode, that isn't mode 7, can you successfully use the cursor keys & COPY button to copy text? (Press left cursor then COPY it should keep copying the ">"). If it beeps then the RAM is definitely corrupt. If it copies then it is more likely a fault in the video read addressing circuit path.

Edit: There could be multiple faults as Mark suggests but try going after one at a time. There is MartinB's memory test to try too:viewtopic.php?t=14809

Copy cursor (hey, I thought hat was invented for the CPC!!) works. I am able to type in something like
10 print 123
run
and it works. Of course, the output is not readable. But no error. I can also use copy cursor after "list" to enter the same 10 print 123 line again.
And works.

First I'd give it a really close visual inspection looking for shorts - there are some solder flecks in your photos so there could be more shorting some signals.

Or alternatively, if you have access to a multimeter with a continuity test function (a BEEP when there's on resistance) you could check if any of the address/data/etc lines are tied together around the RAM chips.

Choose one chip from bank 0, and check for continuity between all possible pairs of pins. Then the same for a chip from bank 1. (You should only need to do one from each bank.) You may want to reference the 4816's pinout from a datasheet. If you find an unexpected connection, that will give you an idea of which pins to check on all your RAM chips.

Copy cursor (hey, I thought hat was invented for the CPC!!) works. I am able to type in something like
10 print 123
run
and it works. Of course, the output is not readable. But no error. I can also use copy cursor after "list" to enter the same 10 print 123 line again.
And works.

That also works in mode7.

The reason for doing it in a graphics mode is that if the memory is corrupt then the copy will fail because the character cell doesn't contain the exact character. So accessing the memory from the CPU works.

Your problem is with the video circuitry accessing the memory. The 6845 generates the address lines then a bunch of logic IC 8-11 generates the RAM rows and columns. Mode7 and the graphics modes use different address buffers so the problem is likely upstream of that.

Check for shorts to ground or 5v on the MA lines of the 6845. Check for continuity with a meter between the 6845 and the address latches with your meter. Could be a damaged 6845 socket or a damaged trace or via around it.

Or alternatively, if you have access to a multimeter with a continuity test function (a BEEP when there's on resistance) you could check if any of the address/data/etc lines are tied together around the RAM chips.

Choose one chip from bank 0, and check for continuity between all possible pairs of pins. Then the same for a chip from bank 1. (You should only need to do one from each bank.) You may want to reference the 4816's pinout from a datasheet. If you find an unexpected connection, that will give you an idea of which pins to check on all your RAM chips.

Right, that's what I did after I put in the sockets. That way, I found 2 damaged traces; the little yellow jumper wire and DIN / DOUT connection between pin 2 and pin 14 was required. All the data lines arrive correctly at the 74LS245, and the address pins are chip-wise correclty connected. No shorts between address pins eithers. RAS / CAS is also correct. So, I don't think it the RAM or the sockets that I put in. Actually, the RAM was probably never defect. After replacing all the old RAM I am still getting the very same errors.

Check for shorts to ground or 5v on the MA lines of the 6845. Check for continuity with a meter between the 6845 and the address latches with your meter. Could be a damaged 6845 socket or a damaged trace or via around it.

So, S1... S3 seem to pulse, and S4 is contantly high. S4 goes to IC28 PIN 3 (which is responsible for selection the 2nd half of the 32 KB mem, so to me it seems fine if this is constanly high given that I am testing in 16 KB mode)

Last edited by lambdamikel on Sun Aug 12, 2018 11:34 pm, edited 1 time in total.

Next, I checked continuity between the outputs of the 81LS95's - from the schematics, it seems that IC8 - IC13, all pins 11, 9, 13, 7, 15, and 3 (A1 - A6) should be pairwise connected. Using the continutiy tester, I found that pin 9 between IC8, 9, 10, 13, 12, was shared, but no connectivity from this group to IC 9 and IC 11. So I put in a jumper cable and the screen is much cleared now. See picture. So it seems that was a good / right move. Still more problems it seems.

Attachments

Last edited by lambdamikel on Mon Aug 13, 2018 12:31 am, edited 1 time in total.