![]() |
|
![]() |
|
|||||||
| Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
![]() |
|
|
Thread Tools |
|
|
#1 |
|
Hexode
Join Date: Jun 2008
Location: Burnham on Crouch, Essex, UK.
Posts: 433
|
I'm working my way through a small batch of BBC Micro boards at the moment and I've come across another issue that I've never seen before. After getting help with the issue 4 board, I'm hoping someone may give me some ideas here with an issue 7 board.
With S25 North (as normal), I get a corrupted screen (corruption is not helpful in diagnosing a bad memory chip). With S25 moved to South, I get a 16k BBC as expected with no screen issues at all and which appears to be working fine in that I can type in and run programs. With the jumper removed completely, I get the same - a 16k machine that seems fine. This implies (unless I'm missing something) that both banks of RAM are working. I also tried an inverter on S25, but then get exactly the same as with S25 North - i.e. a corrupted screen. It seems, then that I can use either bank of RAM, but not both together in either order. I've tried using a diagnostic ROM which runs even in 32k mode and flashes the keyboard LED to confirm all RAM tests OK. I must be missing something - but I really can't think what. Any ideas? Thank you |
|
|
|
|
#2 |
|
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 8,004
|
Check the power supply. Noise could result in data sometimes getting written to the wrong bank, and a memory test program might miss that unless it was looking for it.
If you swap out the decoupling capacitors, be sure to keep testing the machine as you go along -- if you make it worse, check your work again to make sure you did not create any solder bridges or dry joints, or damage any PCB tracks. The less you touched between tests, the easier it will be to find any newly-introduced fault.
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
|
|
|
|
#3 |
|
Hexode
Join Date: Jun 2008
Location: Burnham on Crouch, Essex, UK.
Posts: 433
|
The power supply is OK - I am working through a small batch of boards at the moment, and have been using the same PSU and keyboard. As a few of the boards were missing ICs, I am using a set of all the main ICs in order to get the boards working so I'm also confident with the video controllers, vias, CPU, etc.
I've just packed up this evening, so will be getting back to work on the board on Monday - I'll double-check the rails to see if there is any interference, but I'm pretty confident there isn't any. Also the problem is constant - so again noisy rails just doesn't ring true for me. What I find really puzzling is that is looks like a memory issue, but both 16k banks will work fine when used separately but fail to give a display when working together in either order. I should mention also that by booting with a test ROM in the OS slot that while I don't get a display, the ROM is working and successfully tests all RAM while in 32k mode (again both as standard and with the banks reversed). Looking at the schematic around the display area, I'm struggling to see what could affect the display in 32k mode only - I did replace IC15 (74LS273) as that looked as though it could possibly affect the display, but there was no change. I have noticed that this board has a few tantalum capacitors (like an earlier board I had issues with), so while I really can't see them being the problem I will probably change them on Monday when I get back to looking at the board. The only other possible culprit I can see is IC39 (74LS283), but I don't have one of these, so can't swap it to check. |
|
|
|
|
#4 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,841
|
I don't have a diagram in front of me - I'm away from Moonbase Alpha at the moment - but one thing which could be causing a problem like this is something around, or to do with, address bus bit A14 (of 0-15).
Let's say it is stuck. When you enable only one bank only A0 to A13 are used to address all of the addresses in that 16K bank. Then you swap the banks over and again, only A0 to A13 come into play to address that bank. It is the state of A14 which determines which of the two 16K banks are addressed when the machine is in 32K mode. The test EPROM you refer to could be performing a fairly simple memory test in which it writes a value to and reads it back from each memory location before moving on to the next memory location. A simple one-location-at-a-time test like that would not pick up an address error like A14 stuck because unknown to the tester, it would be testing 16K of memory and then testing the same 16K of memory again, 32K altogether, and declaring no fault found. You could also have an address decoder fault, such that no matter which of two 16K banks the CPU is trying to access, the same physical 16K bank gets selected. |
|
|
|
|
#5 |
|
Hexode
Join Date: Jun 2008
Location: Burnham on Crouch, Essex, UK.
Posts: 433
|
Success!
I have a few hours before I go out today, so decided to check my TTL stock and found a 74LS283, so decided to swap out IC39. And it worked. I now have a fully functioning board. So tomorrow I'll get to the next one! |
|
|