Weird problem on a couple of Beebs

discuss both original and modern hardware for the bbc micro/electron
Post Reply
User avatar
maniacminer
Posts: 1325
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Weird problem on a couple of Beebs

Post by maniacminer »

I have a flashing cursor in the top left of the screen on three Beebs (all issue 7), connecting up the Tube Snooper I can see the processor trapped in an endless loop, only interrupts give it a chance to do something else, then back at it, spinning over and over.

It took me a while to find the bit o'code from the disassembly of OS1.2 here https://tobylobster.github.io/mos/mos/S-s11.html unfortunately, despite all the lovely work, I would have preferred the hex address and hex of the instructions to be like a traditional disassembly (maybe I'll fork it into that when I get some spare time)
The lack of BRK handler is the cause of the endless loop
The lack of BRK handler is the cause of the endless loop
This bit o'code shows the principle (CALL CODE)
This bit o'code shows the principle (CALL CODE)
I assume somewhere BASIC or something is supposed to take ownership and clear the carry flag?

Has anyone seen this before?
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
User avatar
Ukwebb
Posts: 782
Joined: Sat Apr 10, 2021 12:38 pm
Contact:

Re: Weird problem on a couple of Beebs

Post by Ukwebb »

looking at that code, the value its using is

.startupMessageSuppressionAndBootOptions = $0267
bit 7 = 0 means ignore OS startup message
bit 0 = 1 means if !BOOT errors from DISC because no language found, then lock up machine
bit 0 = 0 means if !BOOT errors from *ROM because no language found, then lock up machine
(Read/Write using OSBYTE 215)

and bit 0 will end up in the carryflag due to the ROR instruction

and OSBYTE 215 leads here .. https://beebwiki.mdfs.net/OSBYTE_%26D7

plenty of reading here :D
BBC Bs, Master 128s, Master Compact, and Electrons, and an A3000 with an ARM3 :)

Don’t Panic and Always Carry a Towel
User avatar
maniacminer
Posts: 1325
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Re: Weird problem on a couple of Beebs

Post by maniacminer »

Thanks for the info. It turns out that IC20 had gone "bad" in all the boards. Removing it and testing it, they passed OK, then replacing it with a 74F139 and I could then see that there was not enough time for the circuit to lock on causing weird problems if I could get the machine to boot that it would show several copies of the DNFS ROMs and then randomly lockup. In the end replacing IC30 with a fresh flip-flop cured the problem and the old 74LS139 worked again. Damn these squirrelly Beebs. Now back onto building the 40th Anniversary boards again. Yay!
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
Post Reply

Return to “8-bit acorn hardware”