Startup sequence/timing

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
crj
Posts: 328
Joined: Thu May 02, 2013 4:58 pm

Startup sequence/timing

Postby crj » Thu Sep 21, 2017 3:09 pm

I'm sure I had this information decades ago, but I'm blowed if I can find it now.

In what order do things happen when a Beeb boots? And roughly how long do the various steps take?

The parameter of most interest to me is the time between +5V arriving and the first paged ROM service call, but I'm also interested in the time between +5V arriving and that first JMP (&FFFC).

User avatar
jgharston
Posts: 2764
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield

Re: Startup sequence/timing

Postby jgharston » Fri Sep 22, 2017 1:55 am

I seem to remember reading in the service manual how long the 555 startup timer holds RESET on a power-on before letting the CPU go. Checking the circuit diagram and dredging up 'O' level electronics gives:

Power-On RESET is an RC network of 1M x 10nF so 0.01s to reset the system VIA
Break-RESET is a 555 timer with 1.1 x 1M x 100nF so 0.11s from RESET to CPU running.
How many CPU cycles there are between the CPU vectoring via RESETV and the first service call will be entirely dependent on how many sideways ROMs there are and how different/similar their contents are as the MOS builds the ROM table and eliminates duplicates. There's about 250 instructions (about a third of it looped a fixed number of times) from the start of the RESET code to the start of the building the ROM table, so up until that point timing will be consistant.

See here for the MOS 1.20 disassembly, follow from RESETV to see what is being done when.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

crj
Posts: 328
Joined: Thu May 02, 2013 4:58 pm

Re: Startup sequence/timing

Postby crj » Fri Sep 22, 2017 5:04 am

Aha - very useful, thanks!

Contrary to what you say, the ROM disassembly confirms my suspicion that at power-on, memory is cleared before the OS goes looking for ROMs. By my reckoning, the clear routine takes 16 cycles per byte, so another 250ms.

That means I've got more than a third of a second. Woo. (-8

dominicbeesley
Posts: 465
Joined: Tue Apr 30, 2013 11:16 am

Re: Startup sequence/timing

Postby dominicbeesley » Fri Sep 22, 2017 11:48 am

Unless it's a Model A?

crj
Posts: 328
Joined: Thu May 02, 2013 4:58 pm

Re: Startup sequence/timing

Postby crj » Sat Sep 23, 2017 12:48 am

Well... yes.

And, indeed, I'd quite like this circuit to be able to operate in various quite other hardware environments. But that's another story.


Return to “hardware”

Who is online

Users browsing this forum: DutchAcorn, jregel and 9 guests