Problems booting beeb issue 4

discuss both original and modern hardware for the bbc micro/electron
User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Problems booting beeb issue 4

Post by DaveLecky » Wed Sep 25, 2019 11:05 am

Hi there, I have a beeb issue 4 that won’t boot properly

With S25 in the normal North position

Will not boot properly, boob beep, caps lock light on, at present, the screen shows the proper message with 32k, it then seems to dissolve from the cursor up, leaving some random characters on the screen.

Sometimes boots with just a cursor which when I type it does not show on screen, but, if I input VDU7, it beeps as it should, sometimes random letters on screen.

361EA346-5D8A-4BA3-85F8-4A50D4B5EC3A.jpeg
Another random screen...
5B75FCA2-8AAA-45D7-B323-A3C563D4DA34.jpeg
Just turned on again and startup message shows ok, but also shows some legible text as shown on pic.

28242202-C4EB-4CF3-8E30-EDE240C79B41.jpeg

With S25 in the South position, it boots ok with 16k, keyboard input ok

With S25 removed, it boots ok with 16k, keyboard input ok

I have tested all 16 dram Ic,s on a good issue 7 beeb, all worked ok

I have searched the forum for hints and tips but no solution yet.

Could someone point me in the right direction please.

Thanks in advance....

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

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

Re: Problems booting beeb issue 4

Post by Kazzie » Wed Sep 25, 2019 3:34 pm

From what you write you've exhaustively shown that the RAM itself is not an issue. As a result, the first area I would suspect is the circuitry that selects one of the two RAM banks when you've got both in operation. Rationale: if the machine thinks it's writing to an address in bank /CAS0, but it's actually writing to /CAS1, all sorts of havoc could break loose.

The /CAS0 and /CAS1 signals are generated by IC45 (74S139) based on the 4MHz clock input on pin 2 ("A"), and a signal from S25 on pin 3 ("B").
BBC-IC45.png
I've no reason to expect there's any fault with the 4MHz clock, given that the machine works fine when it's in a 16k setup. Likewise, IC45 must be working correctly some of the time, at least.

The B input will be fixed at 0V when S25 is south, and when S25 is disconnected it will float high. When S25 is in the normal north position, the B input is fed by IC28 (64ls51):
BBC-IC28.png
BBC-IC28.png (6.56 KiB) Viewed 1141 times
Its inputs come from IC30 (input pins 2, 4), A14 (input pin 5) and IC39 (input pin 3). IC30 is used for the generation of the CPU's clock, so won't be the problem. A14 must also be working, given the 16k behaviour.

IC39 (74ls283) is used to translate 6845 output into column addresses for the non-teletext video modes. If these work in your 16k setups, it's unlikely to be an issue (unless it affect only pin 10 of IC39, or the track connecting it to IC28).

To summarise, I suggest:
  • Test /substitute IC28
  • Check modes 0-6 in a 16k configuration, and/or check IC39
  • Test continuity from IC45 to IC28, and then back to IC39, depending on what you've found above
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Wed Sep 25, 2019 5:06 pm

Thanks Kazzie, I’ll have to order a chip for ic28 .

I’ll do the other checks later, when the wife is watching the soaps.

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 11:11 am

Hi Kazzie,

I don’t know how to test IC 28, I have ordered one from Bulgaria so can’t change for about 3 weeks.

Modes 0-5 in 16k, show as a bad mode, mode 6 shows rubbish on screen, but can still use keyboard to change mode...

Continuity between, IC45 to IC28 and back to IC39 is good.

D5CF5F56-BCC8-46E8-BBE6-70D684F5D70E.jpeg
Mode6
0418359F-2829-49BF-B7C8-B52BCAFA59FC.jpeg


Thanks

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 1:56 pm

Okay, now we've got some juicy details there.

Firstly, I have to admit that the best idea I had for testing IC28 was to check that the relevant inputs and outputs are strobing. Anything more in-depth than that would need a logic analyser on a multi-channel oscilloscope (or removing the chip to test manually on a breadboard).

Moving on to the screenshots you're captured, did you check if the MODE behaviour is the same for S25 south / off?

It's expected for mode 0-3 to fail on a 16k system, but mode 4 and 5 shouldn't return a bad mode. The garbled screen does look like it's 40 characters wide (there's room for 40 of the | elements, or five of the blocks toward the top of the screen which are the same width as 8 |s), which would suggest to me that the CRTC has done its job correctly, but that the addresses it's generating aren't getting read/used correctly by the video chip.

We found earlier that IC39 (74ls283) is involved in generating the /CAS signal that goes through S25. Now we have evidence that something is wrong with modes 0-6, all of which use IC39 to add the correct starting memory offset for hardware scrolling to the addresses generated by the CRTC.
BBC-IC39.png
IC39 is a 4-bit binary adder. Probing its pins may reveal a fundamental error, but subtle errors would be tricky to test in-situ. Its B inputs come from a selection of NAND gates, using the CRTC's MA12 output and values C1 and C0 in various combinations. It should be straight-forward to test these NAND gates, by checking for strobing activity on their respective inputs and outputs, and comparing with what a NAND gate should be doing.

If those gates all look to be giving sensible outputs for their inputs, C0 and C1 are values that are sent to the System VIA (IC3) and latched into IC32 (74ls259). Alternatively, swapping the VIA and/or IC32 could eliminate them from suspicion.

:arrow: In summary, that would be:
  • CheckIC39
  • Test the inputs to IC39 (IC36, IC40, IC27)
  • Swap IC3 (VIA)
  • Test/replace IC32
But while I can picture a fault on IC39 or its inputs causing screen corruption or troubles with 32k operation (via IC28 pin 3), I can't think of a reason it would cause Bad MODE errors when selecting modes 4 and 5.

------------------------

Before I wrote all the above, I'd looked at the issue from the software side of things:

Digging around on BeebWiki, I find that the MODE command calls OSBYTE &85 (133) to check where the bottom of the new mode's memory would be, and checks if it would be lower than the top of the variable heap (VARTOP).

For reference, here's what OSBYTE &85 does:

Code: Select all

\*************************************************************************
\*                                                                       *
\*       OSBYTE 133 - READ LOWEST ADDRESS FOR GIVEN MODE                 *
\*                                                                       *
\*************************************************************************
.LD926 
TXA                 :\  A=X
AND #&07            :\  Ensure mode 0-7
TAY                 :\  Pass to Y into index into screen size table
LDX LC440,Y         :\  X=screen size type, 0-4
LDA LC45E,X         :\  A=high byte of start address for screen type
LDX #&00            :\  Returned address is &xx00
BIT &028E           :\  Check available RAM
BMI LD93E           :\  If bit 7 set then 32K RAM, so return address
AND #&3F            :\  16K RAM, so drop address to bottom 16K
CPY #&04            :\  Check screen mode
BCS LD93E           :\  If mode 4-7, return the address
TXA                 :\  If mode 0-3, return &0000 as not enough memory
.LD93E 
\ exit
TAY                 :\  Pass high byte of address to Y
.LD93F 
RTS                 :\  and return address in YX
:arrow: You should be able to check what the value of VARTOP by running

Code: Select all

DIM A% -1
print A%
On BeebEm I get a value of 6402 (&1902) on a freshly booted Model B. (I don't think there'd be any difference for a 16k machine, but I can check tonight when I get to a physical machine.)

OSBYTE &85 loads variables from the OS ROM to compute the bottom of screen memory for a given mode.
:arrow: You can check the values that are read from ROM by running:

Code: Select all

10 FOR X=&C440 TO &C447
20 PRINT ~?x
30 NEXT X
You should see the values 0,0,0,1,2,2,3,4 returned.

:arrow: Similarly, for addresses &C45E to &C462 you should get 30, 40, 58, 60, 7C, which correspond to the base screen memory addresses for the modes (e.g. &3000 for mode 0, &7C00 for mode 7).

:arrow: One other software check would be to PRINT ?028E, which is set at boot to indicate the amount of RAM found: 0 indicates 16K, 128 indicates 32K. That ought to be correct, as this is used to print 16K or 32K in the boot message!

(It might be interesting to try setting ?028E=128 and seeing if that affects which modes give you a Bad MODE error. I wouldn't be surprised if changing to one of MODEs 0-3 on a 16k crashes the machine in some way, though.)
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 2:35 pm

Thanks Kazzie, Yes, the modes are the same with S25 south and open....

With S25 north it’s now showing 32k , lapsing into 16k on reset sometimes...weird....

I’ll work through as much as I am able to check tonight, I don’t have a logic probe or scope, only a multimeter.

I’ll get as many answers as I can.

Thanks

Dave
Last edited by DaveLecky on Thu Sep 26, 2019 3:12 pm, edited 4 times in total.
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 3:48 pm

DaveLecky wrote:
Thu Sep 26, 2019 2:35 pm
Thanks Kazzie, Yes, the modes are the same with S25 south and open....

With S25 north it’s now showing 32k , lapsing into 16k on reset sometimes...weird....

I’ll work through as much as I am able to check tonight, I don’t have a logic probe or scope, only a multimeter.

I’ll get as many answers as I can.

Thanks

Dave
Even with a multimeter, we can make reasonable guesses at the activity on some of the logic gates: DC (average) values around 2-3V would imply that it's alternating between logic levels 0 and 1 (or permanently stuck in-between), whereas a reading of 0V is a sure sign that it's almost always at logic level 0.

The chart of TTL logic values that 1024MAK keeps in his signature may be useful too.

The occasional lapsing into 16K with S25 north would fit with a dodgy /CAS generating circuit. The memory clearing routine at boot writes &00 to every 32K address in ascending order unless it finds that the contents of the address is already &00, in which case it has looped round to the bottom of memory (which would happen at address &4000 in a 16K machine). If a faulty /CAS signal generated by IC28 happens to have the same value when clearing &0000 and &4000, the machine will conclude that it's only got 16K fitted and stop clearing the memory.

A correction to my earlier post: &028E would be 64 (&40) for a 16k machine, not &00.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

Coeus
Posts: 1551
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Problems booting beeb issue 4

Post by Coeus » Thu Sep 26, 2019 4:02 pm

Kazzie wrote:
Thu Sep 26, 2019 3:48 pm
A correction to my earlier post: &028E would be 64 (&40) for a 16k machine, not &00.
So if the memory clear routine found the zero (presumed to be at wrap-around) at some other location other than &4000 does it store the high byte of wherever it had got to? I am thinking that would account for the bad mode messages, i.e. the startup banner code may be looking for one of the two values and not testing for the other case to give one of two messages, but maybe when checking for the memory to change mode the actual value for the amount of memory found is used.

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 4:19 pm

Coeus wrote:
Thu Sep 26, 2019 4:02 pm
Kazzie wrote:
Thu Sep 26, 2019 3:48 pm
A correction to my earlier post: &028E would be 64 (&40) for a 16k machine, not &00.
So if the memory clear routine found the zero (presumed to be at wrap-around) at some other location other than &4000 does it store the high byte of wherever it had got to? I am thinking that would account for the bad mode messages, i.e. the startup banner code may be looking for one of the two values and not testing for the other case to give one of two messages, but maybe when checking for the memory to change mode the actual value for the amount of memory found is used.
Good thinking. The memory-clearing routine executed at power-up supports any quantity of RAM up to 32K, and makes a note of how many 256-byte blocks it's counted at address &028E afterward:

Code: Select all

\********** clear memory routine ******************************************

LDX #&04            :\ get page to start clearance from (4)
STX &01             :\ store it in ZP 01
STA &00             :\ store A at 00

TAY                 :\ and in Y to set loop counter
.LD9EE 
        
STA (&00),Y         :\ clear store
CMP &01             :\ until address &01 =0
BEQ LD9FD           :\ 
INY                 :\ increment pointer
BNE LD9EE           :\ if not zero loop round again
INY                 :\ else increment again (Y=1) this avoids overwriting
                    \;RTI instruction at &D00
INX                 :\ increment X
INC &01             :\ increment &01
BPL LD9EE           :\ loop until A=&80 then exit
.LD9FD 
                    \;note that RAM addressing for 16k loops around so
                    \;&4000=&00 hence checking &01 for 00.  This avoids
                    \;overwriting zero page on BREAK


STX &028E           :\ writes marker for available RAM 40 =16k,80=32
OPT FNif(VALversion$>=1.20)
  STX &0284         :\ write soft key consistency flag
OPT FNendif
.LDA03 
However, the code for OSBYTE &85 I posted earlier only tests whether bit 7 of &028E is set, i.e. whether it's >=&80 or not. If not, it assumes that it must be a 16k machine, and always knocks &4000 off the bottom display address values stored in ROM (by ANDing the value of the upper byte with &3F). So the addresses returned can only ever be one of two values for each screen mode.

The code around &DB4D-&DB87 that writes the "BBC Computer " prompt follows the same approach: if bit 7 is set then it prints 32K, otherwise it prints 16K.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
1024MAK
Posts: 9969
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Problems booting beeb issue 4

Post by 1024MAK » Thu Sep 26, 2019 5:12 pm

DaveLecky wrote:
Wed Sep 25, 2019 11:05 am
Sometimes boots with just a cursor which when I type it does not show on screen, but, if I input VDU7, it beeps as it should, sometimes random letters on screen.
This is interesting. It appears that OS and BASIC are running, but there is a problem writing to screen memory.

As is the machine only allowing MODE 6 (even if it does not work properly) and MODE 7. This also indicates problems with accessing RAM. The OS thinks it has less than the required RAM for all other MODEs. Hence the bad mode error message.

I don’t think it is a problem with the video generation circuitry.

Mark

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 7:14 pm

Hi Kazzie, Here are the results of the tests I could achieve.....

S25 in the North position, screen showing 32k, prompt and flashing cursor....screen changed to only flashing cursor during tests....

IC27
1= 0.22 2= 0.02 3= 4.9 4= 4.9 5= 4.79 6= 0.06 7= 0 8= 4.9 9= 0.2 10= 4.9 11= 4.9 12= 3.72 13= 0.22 14= 4.91

IC28
1= 1.85 2= 1.89 3= 0.22 4= 1.84 5= 3.58 6= 1.96 7= 0.4 8= 4.02 9= 0.04 10= 0.04 11= 0.04 12= 0.2 13= 1.18 14= 4.92

IC32
1= 4.83 2= 4.89 3= 0.13 4= 4.33 5= 1.88 6= 4.3 7= 0.05 8= 0.22 9= 4.34 10= 0.37 11= 4.84 12= 0.17 13= 4.92 14= 4.91

IC36
1= 3.86 2= 1.96 3= 0.22 4= 0.23 5= 4.31 6= 4.31 7= 0.07 8= 4.3 9= 4.3 10= 3.68 11=0.23 12= 2.34 13= 2.89 14= 4.88

IC39
1= 1.82 2= 4.16 3= 1.6 4- 1.76 5= 1.6 6= 4.16 7= 4.74 8= 0.05 9= 1.24 10= 1.41 11= 4.82 12= 3.78 13= 0.43 14= 0.72 15= 3.52 16= 4.86

IC40
1= 0.23 2= 0.23 3= 3.69 4= 1.66 5= 2.08 6= 2.16 7= 0.05 8= 2.12 9= 2.15 10= 1.4 11= 1.84 12= 1.15 13= 1.77 14= 4.88
.....................
DIM A% -1
Print A%
Result=3586
.....................
?028E=128 Mode 0-3 Bad modes
.....................
PRINT ?028E result 0
.....................
I couldn’t do the one with the ~ as I couldn’t get it on the beeb keyboard.
....................
IC3 changed with known good one.....no change.
....................
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 7:38 pm

Thanks for those test results. In mode 7 the ~ character shows up as a division sign (because of the different character set) but it operates the same.

The PRINT ?&028E needs the ampersand there to read the correct memory address. (likewise when setting it to 128.) Could you double-check?

I've checked VARTOP with my Beeb with S25 north and removed, and it gives 3586 (with DFS ROM removed).

I'll take a look at your voltage readings after I've had a bite to eat.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 8:29 pm

After a nice home-made curry, let's have a look at those readings:

The CRTC's MA12 output is staying low (as seen at IC27 pin 13, IC36 pins 3,11, IC40 pin 2), indicating that there's no need to wrap the screen memory. As a result, the output of those four NAND gates should stay high (as a NAND gate's output will only go low when all inputs are high), and they're all averaging 3.69V or higher, which are fine for TTL high logic level.

On IC39, the B inputs all correspond to the high logic levels from the above NAND gates. All the Sum outputs all have values around 1V - 2V, as do the A inputs. This indicates to me that they're probably working correctly: there's nothing sticking out like a sore thumb.

On IC28, input pins 2 and 4 are again at a reasonable value for a pulsing input. The value of pin 5 (A14), 3.58V, is similar to what I've seen on the address bus when the CPU has stalled and all the address lines go high (or as high as an NMOS chip can drive them). That's in keeping with your description that the machine changed to just a flashing cursor during the tests: the CPU probably read and executed an invalid opcode and crashed.

Pin 3, which is connected to IC39 pin 10, has a lower reading than what you found on IC39 itself: 0.22V vs 1.41V. That could be explained by the machine crashing (and screen changing) between your measurements, but it'd be worth a quick double-check.

In summary, there's no smoking gun here. On the software side, the VARTOP value you obtained matches what my working machine gives. The question is what values is your machine checking against VARTOP...

:arrow: Please try the "10 FOR X=&C440 TO &C447 ..." test again, (and for &C45E to &C462), and don't worry that the ~ character looks funny in mode 7. Also, try the ?&028E tests again, including the & that I forgot to include in my instructions. :oops:
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 8:38 pm

Hi Kazzie, with S25 south...
B0CC38E7-81E7-44BD-BF1C-B9CD491E2D18.jpeg
Still S25 south but now showing 32k....
7AB5502D-DC0D-4A20-87DF-D7BA66890AB7.jpeg
D860E8CB-884F-4B49-8059-042810D76CAC.jpeg
Press return on above.....
2D5394C6-99D7-482D-9FC6-E98128D74451.jpeg

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 8:49 pm

More.......still displaying 32k.....s25 south....

Ran first test again.....
C3F98676-505C-4AC3-BC60-CDEC0174C71D.jpeg
E1B79C6D-27D7-4A12-9616-9A8A42522A7E.jpeg
This is crazyyyyyyy.........

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 9:14 pm

Are those images with S25 south, not north? That would be very strange behaviour, as it should be hard-wired to use only one memory bank. Edit: yes they are, you've posted a photo to prove it. For that to happen, there must be something screwy going on with IC45 or the buffers that allow the CPU to access the RAM. A voltage check on IC45 (74s139) would be useful. Pin 2 should be strobing (around 2.5V), pin 3 should be low when S25 is south, and only one of pins 5 and 7 should be strobing: the other should be fixed high with S25 south. A look at the value on the gate input (pin 1) would be useful too.


The numbers reported back when it's in a 32K mood are all as expected. The contents of &028E in both modes are as expected.

Changing the contents of &028E to 128 (&80) and trying to change mode would be of greatest use when the machine thinks it's only got 16K (just to see if it still gives a Bad MODE error).

I'm not sure why the "FOR X" program didn't run properly in 16K mode: it ought to have given eight lines of numbers, not one. Had you tried running any other simple programs on the machine when it's in its 16K configuration?

(One last note: your first batch of pictures included a screen which included several BASIC tokens printed to the screen. Another recent faulty machine spewed tokens out on occasion, but in that instance it was due to a fault in the 16Mhz clock generation, and stopped the machine from booting at all. It might be an indication that there's something timing-related at work here.)
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

joachim
Posts: 170
Joined: Wed Jun 21, 2006 2:20 am
Contact:

Re: Problems booting beeb issue 4

Post by joachim » Thu Sep 26, 2019 9:15 pm

Kazzie wrote:
Thu Sep 26, 2019 8:29 pm
In summary, there's no smoking gun here. On the software side, the VARTOP value you obtained matches what my working machine gives. The question is what values is your machine checking against VARTOP...
You would expect MODEs 4 and 5 to fail in a 16k machine with DFS (which is the configuration in DaveLecky's screenshot), because PAGE is at &1900 and HIMEM would need to be moved to &1800.

Dave, do MODEs 4 and 5 still fail now that you've removed the DFS ROM?

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 9:16 pm

joachim wrote:
Thu Sep 26, 2019 9:15 pm
Kazzie wrote:
Thu Sep 26, 2019 8:29 pm
In summary, there's no smoking gun here. On the software side, the VARTOP value you obtained matches what my working machine gives. The question is what values is your machine checking against VARTOP...
You would expect MODEs 4 and 5 to fail in a 16k machine with DFS (which is the configuration in DaveLecky's screenshot), because PAGE is at &1900 and HIMEM would need to be moved to &1800.

Dave, do MODEs 4 and 5 still fail now that you've removed the DFS ROM?
Well spotted. =D>
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 9:29 pm

Some further thoughts: The boot memory clear routine is hard-coded to stop after it's written &00 to 32K of RAM. It should detect a looparound if it's only got 16K fitted by reading back &00, but if for any reason the machine isn't able to read back the contents reliably, it will go through the 16K for a second time. At the end of the second time, it will stop (and report 32K present) without any further ado.

I'll put my thinking cap on, but with joachim's observation I'm minded to suspect the buffers that connect the address and data buses to the RAM at the moment...
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 9:30 pm

I don’t have a DFS rom in at the moment.

S25 south 16k

Mode 4 and 5 don’t give bad mode, but the screen shows random stuff

Dave
Last edited by DaveLecky on Thu Sep 26, 2019 9:34 pm, edited 3 times in total.
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

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

Re: Problems booting beeb issue 4

Post by Kazzie » Thu Sep 26, 2019 9:38 pm

DaveLecky wrote:
Thu Sep 26, 2019 9:30 pm
I don’t have a DFS rom in at the moment.

S25 south 16k

Mode 4 and 5 don’t give bad mode, but the screen shows random stuff

Dave
Yep, that confirms what joachim thought: the Bad MODE errors were caused by having a DFS chip in a 16K machine, and thus a red herring.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

Coeus
Posts: 1551
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Problems booting beeb issue 4

Post by Coeus » Thu Sep 26, 2019 9:48 pm

Going back to the third image from the top of this thread there are the BASIC keywords ENVELOPE and LEFT$( displayed on the mode 7 screen. There are two possibilities:
1. Something caused the CPU to copy those strings from the BASIC ROM onto the screen.
2. Something is causing the video hardware to read the BASIC ROM instead of the screen memory.

If the 2nd of those is actually the explanation then possibly the problem is that the BASIC ROM is being selected when it shouldn't be so maybe the the logic around selecting/enabling the ROMs could be faulty?

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 9:50 pm

Hi there,

S25 south 16k

IC45
1= 0.26 2= 1.57 3= 0.06 4= 1.78 5= 1.58 6= 4.2 7= 4.16 8= 0.06 9= 3.61 10= 4.21 11= 3.54 12= 4.18 13= 1.62 14= 1.74 15= 1.77 16= 4.62

Readings from ic28 0.42 to Ic 39 0.52. But seemed to vary sometimes, I checked several times.

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Thu Sep 26, 2019 9:51 pm

2% battery left on my iPad....time to louse for the night, thanks for your help.

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

User avatar
Elminster
Posts: 4106
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: Problems booting beeb issue 4

Post by Elminster » Thu Sep 26, 2019 10:18 pm

DaveLecky wrote:
Thu Sep 26, 2019 9:51 pm
2% battery left on my iPad....time to louse for the night, thanks for your help.

Dave
Hack off the USB end of lightning charger and wire ipad charger into BBC 5V supply .....

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

Re: Problems booting beeb issue 4

Post by Kazzie » Fri Sep 27, 2019 9:28 am

DaveLecky wrote:
Thu Sep 26, 2019 9:50 pm
Hi there,

S25 south 16k

IC45
1= 0.26 2= 1.57 3= 0.06 4= 1.78 5= 1.58 6= 4.2 7= 4.16 8= 0.06 9= 3.61 10= 4.21 11= 3.54 12= 4.18 13= 1.62 14= 1.74 15= 1.77 16= 4.62

Readings from ic28 0.42 to Ic 39 0.52. But seemed to vary sometimes, I checked several times.

Dave
Thanks. We'll trust the IC28-IC39 connection, then.

On IC45:
  • pin 3 is low just like it should be: S25 south connects it to ground.
  • Pin 2 is showing some activity, though given that it's connected to the 4MHz square wave clock signal coming out of IC6, I'd have expected it to be closer to 2.5V on average. But it'll be hard to examine that any further without an oscilloscope.
  • Pin 7 for /CAS0 is pretty high, implying it's always logic level 1. That's exactly what it should be in a 16K machine.
  • Pin 5 for /CAS1 shows activity, so the machine is using that bank for RAM.
On that basis, it looks like the /CAS generation is working just fine. So it's not a case that the /CAS circuitry is doing a bait-and-switch with the CPU by presenting the other bank of RAM sometimes.

With the RAM and the /CAS circuity passing inspection, there must be a fault elsewhere that is causing the CPU to fail to communicate properly with the RAM sometimes, as must happen when it doesn't notice it's looped round when clearing 16K of memory at boot. The obvious contenders for that would be the address bus buffers or the data bus buffer.

The video circuitry doesn't make use of the data bus buffer (IC14, 74LS245), and it has its own sets of address buffers (IC8 and 9 for modes 0-6, IC10 and 11 for mode 7). By that logic, it would be possible for a dodgy bit on the CPU's address buffers (IC12 and 13) to cause a write operation to (say) &0040 to actually be written to &0140, or for a read operation to read from the wrong location.

If, during the first 16K loop of memory wiping, the write operation went to the wrong location, and the read operation (to check if we've looped) read from the correct location (and found unerased memory), that would cause the machine to think that it still had another 16K of RAM to go!

(When switching mode, the OS should wipe the memory that will be used for the new screen mode. If a fault with the CPU's address buffers causes it to wipe the wrong area of memory, then the video circuitry would display some garbage on the screen in the unwiped areas. If the CPU, in wiping the wrong area of memory, wipes some critical areas such as its own stack memory, that would cause it to crash.)

I find this scenario more likely than a fault with the data bus buffer, as the machine is fundamentally able to boot up, and if there were a fault with the data buffer it could affect any and all read/write operations.

I'm not convinced it's a dead-cert, but IC 12 and 13 are my next guess. Any thoughts from others?
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Sat Sep 28, 2019 11:03 am

Hi Kazzie,

Thanks for your help with my beeb,

It looks like it may be multiple faults, almost impossible to find without the proper test equipment.

A28CF737-DAFD-4815-81BA-15F1B7F4BEC2.jpeg

Maybe it should be put into a cupboard in my man cave for another 30 years... or the crematorium with me...

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

Coeus
Posts: 1551
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Problems booting beeb issue 4

Post by Coeus » Sat Sep 28, 2019 3:56 pm

Dave, how far are you away from one the ABUG meets? Whilst I can't speak for anyone else, or make any promises of help, I know people here like to see machines repaired so bringing the machine to a meet to see if someone there can help might be the best way forward.

If you wanted to carry on at home, I don't know about scopes but there are some cheap logic analysers available. See viewtopic.php?f=3&t=13882

Finally you could offer it for sale on here, in the trading part of the forum.
Last edited by Coeus on Sat Sep 28, 2019 3:58 pm, edited 2 times in total.

User avatar
1024MAK
Posts: 9969
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Problems booting beeb issue 4

Post by 1024MAK » Sat Sep 28, 2019 4:29 pm

It always looks bad with these types of faults. But even 8 bit computers can display (or not as is the case) bizarre fault symptoms and can look impossible to fix at first.

But we usually get there in the end.

Your machine is not that bad, as at least we know the following:
  • It looks likely that most, if not all of the display system is working including the 6845, VideoULA and the SA5050 teletext chips.
  • You have tested all the RAM chips (as I understand it)
  • The 6502 CPU is working
  • The OS and BASIC ROMs are working
  • It looks likely that the system VIA 6522 is okay
  • It looks likely that the keyboard is okay
  • Most of the ‘glue’ logic must be working for it to display the start up banner and drop you into BASIC.
So don’t give up. At least, not yet!

A inexpensive logic analyser or inexpensive logic probe will however help in tracing the digital signals.

Mark
Last edited by 1024MAK on Sat Sep 28, 2019 4:31 pm, edited 1 time in total.

User avatar
DaveLecky
Posts: 172
Joined: Mon Jul 08, 2019 7:52 am
Location: Airdrie, Scotland
Contact:

Re: Problems booting beeb issue 4

Post by DaveLecky » Sat Sep 28, 2019 4:57 pm

Hi Coeus,
I would love to come to an ABUG meet, but I live between Glasgow and Edinburgh, so not really viable, I used to live in Deal,Kent, which would have been doable, but not now. I went to an Acorn show in Wakefield about 1999 which was great.

Maybe there will be one further North one of these days......

I may offer it for sale on the forum, at least any prospective buyers would know the whole script on the faults.

The computer is in good clean condition, with the ashtray intact and recapped psu, so may appeal to someone.

Thanks for the advice

Dave
Electron Plus 3 and plus 1, AP6 and Home made MMFS PP SD interface
Electron Plus 1 Pres AP3/4 with drive
Beeb issue 7 with IFEL 16 socket Rom/Ram board, IFEL SD card, Floppy interface
Master 128, BooBip multi OS,IFEL SD card
Cumana drives,Adder Programmer

Post Reply

Return to “8-bit acorn hardware”