BBC B+ 128K: Fault after warming up.

discuss both original and modern hardware for the bbc micro/electron
User avatar
MartinB
Posts: 5366
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by MartinB »

Just checked the B+ schematic, the 4164 IC's 55, 56, 60, 61, 64, 65, 66 and 67 map to data bus D0 - D7 respectively.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

MartinB wrote:
Tue Apr 09, 2019 6:54 am
Kazzie wrote:Each RAM chip corresponds to one bit in every one of either the lower or upper 16k of addresses:

...
That's the Model B answer, have we switched from a B+?
Gah, that's what I get for posting so early in the morning. For a B+, let's try:

For a B+ 64k

Code: Select all

D0= IC55
D1= IC56
D2= IC60
D3= IC61
D4= IC64
D5= IC65
D6= IC66
D7= IC66
For a B+ 128k, the additional 64k is on the vertical expansion card, and used for sideways RAM. I don't know of any diagrams of the expansion card, but it should be possible to "buzz out" the mapping of the RAM chips with a continuity check from the expansion connector with reference to the B+ circuit diagram, or by testing for continutiy from pin 2 (or 14) of each of the RAM chips on the main board, listed above.
Last edited by Kazzie on Tue Apr 09, 2019 7:34 am, edited 1 time in total.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
User avatar
Sniffer
Posts: 179
Joined: Tue Aug 11, 2015 10:30 pm
Location: Colwyn Bay, North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Sniffer »

Gah, that's what I get for posting so early in the morning. For a B+, let's try:

For a B+ 64k

Code: Select all

D0= IC55
D1= IC56
D2= IC60
D3= IC61
D4= IC64
D5= IC65
D6= IC66
D7= IC66
The early bird catches the worm :D

So, for a mere mortal like myself, how does this equate to memory locations/address space? Or even does it?

What I'm getting at is, can you, like with the B, test memory locations and attribute any errors/inconsistences to specific ICs?

Sorry if that sounds naieve.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

Sniffer wrote:
Tue Apr 09, 2019 10:40 am
Gah, that's what I get for posting so early in the morning. For a B+, let's try:

For a B+ 64k

Code: Select all

D0= IC55
D1= IC56
D2= IC60
D3= IC61
D4= IC64
D5= IC65
D6= IC66
D7= IC66
The early bird catches the worm :D

So, for a mere mortal like myself, how does this equate to memory locations/address space? Or even does it?

What I'm getting at is, can you, like with the B, test memory locations and attribute any errors/inconsistences to specific ICs?

Sorry if that sounds naieve.
In the B+ (64k variety) those eight chips provide ALL the RAM in the machine. But each chip has only one in/out data line, so you use eight of them together to make a "word" of eight bits. The 4164 RAM chip has 64k different address locations, but is only one bit wide (typically described as 64k x 1).

The situation is different for the Model B, because it shares a motherboard with the Model A. It uses 4816 RAM chips, which are again one bit wide, but have 16k different memory locations (16k x 1). That's enough for the Model A (when you use eight of them to make an 8-bit word), but the Model B used two sets to provide 32k or RAM. Thus you had one set of eight chips providing the lower 16k, and another providing the upper 16k. In this case, there's a different set of chips in use in the B depending on whether you're above of below the &4000 memory address.

In many ways the B+ is similar to the Model A, as every RAM chip is used to provide the byte of memory at every address location (but only one bit from each chip). The design of the Model B is a quirk that makes diagnosing RAM faults 30 years later a lot easier, but there's no helping hand for the B+. Combine that with the fact that almost every chip is soldered to the board (including the failure-prone 6522 VIAs), and diagnosing a B+ is a lot less straightforward.

Other than the brute-force method of desoldering and replacing the RAM chips one at a time (probably putting sockets in as you go), the main method that I'd use to identify a RAM fault is to monitor the data lines of each of the eight RAM chips when the machine is powered on. This thread is on diagnosing a fault in a B+, which turned out to be a fault with a RAM chip (though we spent a bit of time verifying other parts such as the CPU, clock and were working properly before working out that the RAM fault was leading to the CPU executing illegal opcodes and crashing.)

There's also the option of using a custom OS ROM such as that written by Tricky (a SelfTestOS ROM), which is specially written so that it doesn't read any values from RAM, so won't crash due to a RAM fault. The test screens that are displayed can be used to identify faulty RAM chips by the pattern of corruption that is seen.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
User avatar
Sniffer
Posts: 179
Joined: Tue Aug 11, 2015 10:30 pm
Location: Colwyn Bay, North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Sniffer »

Thank you Kazzie for the detailed explanation.
every RAM chip is used to provide the byte of memory at every address location
So, each memory location, say &3000 for example, comprises of one bit from each dram chip? Therefore, any apparent fault at any location could be caused by any one or more of those ICs?
There's also the option of using a custom OS ROM such as that written by Tricky (a SelfTestOS ROM), which is specially written so that it doesn't read any values from RAM, so won't crash due to a RAM fault. The test screens that are displayed can be used to identify faulty RAM chips by the pattern of corruption that is seen.
That sounds very useful.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

Sniffer wrote:
Tue Apr 09, 2019 12:48 pm
Thank you Kazzie for the detailed explanation.
every RAM chip is used to provide the byte of memory at every address location
So, each memory location, say &3000 for example, comprises of one bit from each dram chip? Therefore, any apparent fault at any location could be caused by any one or more of those ICs?
Correct.

If a memory error is related to the addressing circuitry on the chip, you could find different behaviour at different addresses, but in general most RAM faults will be apparent at any memory address.

In a Model B, where you can boot with a working RAM bank in the (critical) lower 16k, and the faulty bank in the upper 16k, you can identify which of the eight chips is faulty by writing and reading various values to that upper 16k bank, and observing which bits are corrupted. But because each RAM chip on the B+ or Model A covers the entire RAM address space (and the OS uses the "page zero" RAM at the bottom of the address space when booting) you can't boot a system with a faulty RAM chip to do such software tests. Hence you have to open the case and get the soldering iron or test probes out...
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
stephen_usher
Posts: 143
Joined: Sun Apr 10, 2016 2:47 pm
Location: Oxford, UK.
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by stephen_usher »

Kazzie wrote:
Tue Apr 09, 2019 7:34 am
For a B+ 128k, the additional 64k is on the vertical expansion card, and used for sideways RAM. I don't know of any diagrams of the expansion card, but it should be possible to "buzz out" the mapping of the RAM chips with a continuity check from the expansion connector with reference to the B+ circuit diagram, or by testing for continutiy from pin 2 (or 14) of each of the RAM chips on the main board, listed above.
The daughter board only has two RAM chips plus a couple of other chips:
IMG_1364.JPG
IMG_1367.jpg
Last edited by stephen_usher on Wed Apr 10, 2019 10:34 pm, edited 1 time in total.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

Having only two RAM chips will make things quicker!

I can read from your photo that they're HM50464 (64k x4) RAM chips, so as they each provide four bits of data width, a pair is enough for an 8-bit system. If you want to work out which chip does which bits, there's a pinout here that will help with buzzing out to the edge connector (the pinout for that is on the B+ circuit diagram).

There's a section about the 64k add-on in section 3 of the service manual. It lists signal names for those ten wires, and where they each connect to. On it's own that doesn't help too much, but combined with the fact that your photo shows that there are only two chips of glue logic, a 74als10 and a 74ls158, it may be possible to reverse engineer the circuit on that basis.

The board appears to be a single-sided board, with all the traces on the back. If you'd like me to try and reverse engineer the board, a nice clear photo (like your earlier ones) of the back of the board would help a lot.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
stephen_usher
Posts: 143
Joined: Sun Apr 10, 2016 2:47 pm
Location: Oxford, UK.
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by stephen_usher »

The machine's on loan at the moment (another filming event) and won't be back until at least a week after Easter. As soon as it returns I'll take a picture and post it.
User avatar
1024MAK
Posts: 10555
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by 1024MAK »

@stephen_usher well done on fixing it 👍 =D>
Kazzie wrote:
Sat Mar 30, 2019 9:49 pm
<snip> I see on the circuit diagram that the latched LA0 is used for the register select pins on the 6845 CRT controller and the 6850 serial interface (IC82) (confusingly labelled as RS, but nothing to do with resetting!).
‘RS’ stands for Resister Select. A fairly common name for I/O chip pins that determine which internal register the CPU will access in said chip.

Rather unfortunate that Acorn labelled the reset lines as RS and /RS. It would have been better if they had used RES and /RES...

Mark
User avatar
Sniffer
Posts: 179
Joined: Tue Aug 11, 2015 10:30 pm
Location: Colwyn Bay, North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Sniffer »

Ok, getting confused now (easily done some might say), Kazzie stated
D0= IC55
D1= IC56
D2= IC60
D3= IC61
D4= IC64
D5= IC65
D6= IC66
D7= IC66
and over in the pointed to thread of the B+ ram problem at viewtopic.php?t=15961 stated this;
Voltmeter measurements on page 1 gave the following results for IC49 (which is connected to the D lines of all the RAM chips):

IC49
pin 2 (D0) 2.15V
pin 3 (D1): 2.17V
pin 4 (D2): 2.14V
pin 5 (D3): 2.19V
pin 6 (D4): 2.14V
pin 7 (D5): 2.15V
pin 8 (D6): 2.10V
pin 9 (D7): 0.13V
But, having looked at the B+ diagram for IC49 I see;

Pin 2 RD0
Pin 4 RD1
Pin 8 RD2
Pin 6 RD3
Pin 5 RD4
Pin 3 RD5
Pin 7 RD6
Pin 8 RD2
Pin 9 RD7

Am I on another planet?
Last edited by Sniffer on Thu Apr 11, 2019 8:37 pm, edited 2 times in total.
User avatar
KenLowe
Posts: 1679
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by KenLowe »

IC49 is not a RAM chip. It's a 74LS245 tri-state octal bus transceiver. This transceiver buffers the 8 data lines, and each one of these data lines connects to the data in / out pins of each dram chip (IC55,56,60,61,64,65,66,67).
Last edited by KenLowe on Thu Apr 11, 2019 9:15 pm, edited 1 time in total.
User avatar
Sniffer
Posts: 179
Joined: Tue Aug 11, 2015 10:30 pm
Location: Colwyn Bay, North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Sniffer »

IC49 is not a RAM chip. It's a 74LS245 tri-state octal bus transceiver. This transceiver buffers the 8 data lines, and each one of these data lines connects to the data in / out pins of each dram chip.
Well yes, I know it's not a ram chip, what is confusing me is it's links to the ram chips.

From the schematic I just couldn't see how for example, pin 3 of IC49 is connected to D1. But what you are saying is pin 3 of IC49 connects to ALL of the ram chips?

Edited to say, having checked physically, pin 3 of IC49 is only linked to ram chip IC65. So, confused.
Last edited by Sniffer on Thu Apr 11, 2019 9:38 pm, edited 1 time in total.
User avatar
KenLowe
Posts: 1679
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by KenLowe »

No. Pin 3 on IC49 which is RD5 is only connected to Din / Dout of IC65.

However, I think I understand the point you were trying to make. IC49 pins 2 thru 9 do not translate directly to RD0 thru RD7 as is stated in that other topic. Pin assignment for IC49 is as you have stated.
Last edited by KenLowe on Thu Apr 11, 2019 9:40 pm, edited 1 time in total.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

I think you've just found a mistake of mine on that thread! :oops:

The owner of that B+ just listed the voltages for each pin of IC49 originally (in this post). When I wrote the portion you commented, I was concentrating on the fault on bit 7, probably just glanced at the pins for RD0 and RD7 on the circuit diagram, and finding that they were on pins 2 and 9, didn't note that the pins for bits 1-6 weren't in ascending order. (The print quality of the circuit diagram I had to hand probably didn't help much either.)

As it happens, the mistake was of no consequence in that case, but you're quite right to say that the pinout I listed is incorrect. #-o
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
User avatar
Sniffer
Posts: 179
Joined: Tue Aug 11, 2015 10:30 pm
Location: Colwyn Bay, North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Sniffer »

No. Pin 3 on IC49 which is RD5 is only connected to Din / Dout of IC65.

However, I think I understand the point you were trying to make. IC49 pins 2 thru 9 do not translate directly to RD0 thru RD7 as is stated in that other topic. Pin assignment for IC49 is as you have stated.
Ok, cool.
The owner of that B+ just listed the voltages for each pin of IC49 originally (in this post). When I wrote the portion you commented, I was concentrating on the fault on bit 7, probably just glanced at the pins for RD0 and RD7 on the circuit diagram, and finding that they were on pins 2 and 9, didn't note that the pins for bits 1-6 weren't in ascending order. (The print quality of the circuit diagram I had to hand probably didn't help much either.)

As it happens, the mistake was of no consequence in that case, but you're quite right to say that the pinout I listed is incorrect.
That's clear now. Clearer than the schematics, that's for sure. :D
pelago
Posts: 66
Joined: Sun Nov 11, 2018 10:13 am
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by pelago »

Kazzie wrote:
Thu Apr 11, 2019 6:09 am
The board appears to be a single-sided board, with all the traces on the back. If you'd like me to try and reverse engineer the board, a nice clear photo (like your earlier ones) of the back of the board would help a lot.
Here are some more photos of @stephen_usher's B+ 128 memory board, including the back:
DSC_1656.JPG.jpg
DSC_1657.JPG.jpg
DSC_1655.JPG.jpg
Last edited by pelago on Wed May 01, 2019 10:22 am, edited 1 time in total.
User avatar
marcusjambler
Posts: 850
Joined: Mon May 22, 2017 12:20 pm
Location: Bradford
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by marcusjambler »

Just to say Tricky's Test OS Rom does work with the B+
It cant see the sideways ram on a B+128k but will definitely help with the standard 64k RAM map.

Marcus
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

pelago wrote:
Tue Apr 30, 2019 11:16 pm
Kazzie wrote:
Thu Apr 11, 2019 6:09 am
The board appears to be a single-sided board, with all the traces on the back. If you'd like me to try and reverse engineer the board, a nice clear photo (like your earlier ones) of the back of the board would help a lot.
Here are some more photos of @stephen_usher's B+ 128 memory board, including the back:
Thanks. After a quick glance, I can see that bits 0,1,2 and 4 are wired to the bottom HM50464 (nearest the mainboard), whereas bits 3, 5, 6 and 7 are wired to the top one. So if a software test can identify a faulty bit, that'll indicate which chip is to blame.

Note that bits 3 and 4 are "swapped over" between the two chips. This makes for more convenient routeing on the single-sided board.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
shakesc
Posts: 52
Joined: Tue Apr 24, 2018 3:34 pm
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by shakesc »

What always surprised me (a B+ was the second Beeb I owned from launch) is that Acorn designed it to have the daughter board then made it a dogs dinner with the fly wires. I can only assume they didnt expect to sell many :lol:
BBC Master , Electron
pelago
Posts: 66
Joined: Sun Nov 11, 2018 10:13 am
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by pelago »

It looks to me like they had only half designed the expansion at the time of the B+ 64 release. Like they thought they had taken enough lines to the connector, but only when finishing the addon card realising they needed a bunch more.

Does anyone know for sure, or remember any articles about this?
stephen_usher
Posts: 143
Joined: Sun Apr 10, 2016 2:47 pm
Location: Oxford, UK.
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by stephen_usher »

Indeed... and of course the BBC B+ was a stop-gap machine rushed out due to other manufacturers all having larger memory machines on the market and the BBC B looking rather ancient. They knew that the BBC Master was only months from release.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

shakesc wrote:
Wed May 01, 2019 8:44 pm
What always surprised me (a B+ was the second Beeb I owned from launch) is that Acorn designed it to have the daughter board then made it a dogs dinner with the fly wires. I can only assume they didnt expect to sell many :lol:
Looking at the B+ circuit diagram, I think the daughterboard interface was originally intended to replace the onboard 64k of RAM (using two chips instead of eight). The daughterboard they produced, however, was redesigned to give an additional 64k instead.

My reason for believing this is that the edge connector has provision for the /RAS and /CAS signals, but these aren't used by the daughterboard. In fact, it not only generates its own one, but via the flying wires it overrides the mainboard's /CAS circuitry too.
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
stephen_usher
Posts: 143
Joined: Sun Apr 10, 2016 2:47 pm
Location: Oxford, UK.
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by stephen_usher »

Interesting.

I wonder if they were forced to do this by their competitors at the time announcing 128K machines and the Master not being ready yet.
Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: BBC B+ 128K: Fault after warming up.

Post by Kazzie »

Here's the relevant bit of the circuit diagram:
BplusIC96.png
Note the phrase "Option to replace 8 off 4164-12"
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica
Post Reply

Return to “8-bit acorn hardware”