Power On Startup Sequence
On Power UP.
(Something like this would happen)
- At power on the GPU/MMU maps the System and User ROMS into Super Block
B this is a special block switch of a full 384K.
- The GPU/MMU sets the initial MMU blocks for CPU#0
- The GPU/MMU loads the Vector Table for CPU#0
- CPU#0 gets the RESET signal and runs the 6809 Master Power ON program.(
See next section for details )
4a. Simultaneously the GPU checks if a gif stored in a particular 18
blocks of NVRAM, If it finds the gif it starts rendering it otherwise it
renders a hard coded fractal equation. on the VGA Base Screen and to the
Composite Base Screen.
If in Dual-CoCo Mode these screens will be visible until CoCo RED is
ready.
If in Tri-CoCo Mode these screens may not be visible.
Also as part of the startup routine CPU#0 checks to see if "Factory
Reset=TRUE" in settings.
- After the Executive Power ON Program completes the ROMs are swapped
back out and the CPU#0 starts the Executive supervisory program.
The Executive Power ON program.
- CPU#0 checks settings memory to determine if system is to run in
Dual-CoCo or Tri-CoCo mode.
- Dual-CoCo mode
- Load ROM for CPU#1's Hardware Allocation Program.
- Load Vector Table for CPU#1.
- CPU #1 Starts Up and loads the hardware settings from the
settings memory.
- CPU #1 Uses these settings to configure the hardware that
CPU#2 and CPU#3 will see.
- Tri-CoCo mode
- Check the 3/4 hardware switch and load the appropriate CoCo 3
or CoCo4 ROM for CPU#3.
- Load Vector Table for CPU#3.
- CPU #0 cintinues to step 2 while Based in the 3/4 switch CPU#3
either:
If Switch=3
- Boots up to a screen that looks just
like that of the CoCo3 on the composite and VGA monitors.
Or if Switch=4
- Boots up to a screen that contains a
menuwith two immediately selectable options LOCAL and Drive
Wire.
- Based on settings memory entrys and 3/4 switch position CPU#0
initiates a GPU-BLOCK-COPY of the ROMs to be the ShareALL Superblock
D and then starts copying the ROM for CPU#2 to the Home Memory of
CPU#2 in Superblock G if CoCo2 mode or otherwise to an available
space in SharedALL Superblock D .
- The Superblock B RAM is returned to the CPU accessible area
and the ROMS are returned to the hidden memory(That only the
GPU can access.).
- The Vector Table for CPU#2 is loaded and CPU#2 boots from this ROM as
CoCo Green.
- Depending on settings CoCo Green's screen will either display
on a section of the VGA monitor or be hidden in the background. or
displayed on the composite monitor.
- If hidden in the background a message will display at the bottom
of the screen in the Executive Supervisory Program interface area COCO
GREEN READY !
- Finally the final CPU is ready to come online.
- If screen groups set on in settings then the then the screens
display based on the screen settings stored in NVR Settings memory
If Screen Assignments are stored then they are used otherwise the
screen with the lowest letter is given to CoCoRED and the
screen with the next lowest letter is given to CoCoGREEN if in
Dual-CoCo mode and if in Tri-CoCo mode screen with the lowest
letter is given to CoCoBlue followed by CoCoGREEN and lastly CoCoRED
if insufficient screens have been created then even if AUTOHIDE is
on Executive Supervisory interface X prompt will show at the
bottom of the screen showing messages when each CPU becomes
available in the STATUS ie #1
Asg #2 ?? #3 ?? ** and a READY
[CR]X> will display in the X prompt area.
- If Dual-CoCo mode (And assuming screen groups off ie. Full Screen
Mode.)
- Check the 3/4 hardware switch and load the CoCo 3 or CoCo4 ROM
for CPU#3.
- Load Vector Table for CPU#3.
- CPU#3 Boots Up and is available if the switch was set to
3 and if you have not used the [TANDY KEY] to switch to the
CPU#2 screen this looks just like a just turned on CoCo 3(if
a CPU#3 screen is not visible a CoCo RED avalible
message displays at the bottom of the screen.).
- If the switch is set to 4 a menu appears with all options
available.

- If Tri-CoCo mode (And assuming screen groups off.)
- Load Vector Table for CPU#1.
- CPU#1 Boots Up,
- IF "FACTORY" then CPU#1 stays in foreground otherwise it will
hidden in the background to a the CoCo screen set by startup by
settings.
- If NOT"FACTORY" and settings do not specify CPU#1 then a
Message at bottom of screen requests you press C for Composite,
V for VGA or H to continue to hide the CoCo BLUE's screen.
- If No key pressed in 20 seconds or any other key is pressed
then CPU#1 stays hidden, the system control line on the bottom
hides and in the case of a pressed key that key is passed to
CoCo RED or CoCo GREEN as specified in settings.
- The Executive Power ON program then starts the Executive Supervisory
program and stays in the background to monitor the Power and RESET
buttons.
Now we have fully started with only a 1/4 to 3 Second delay over a CoCo
3.
Extra Info:
- Startup Screen - Status Area - examples:
- The first example #1 Asg #2 ?? #3 ?? is CoCoBlue assigned to
screen group VsgA
no other screen groups on either monitor.
Other examples:
- #1
VsgA #2 CsgA
#3 ?? is CoCoBlue assigned to VsgA on VGA
CoCoGreen CsgA on Composite with no screen group available for
CoCo Red.
- #1
VsgA #2 VsgE
#3 CsgF is
CoCoBlue VsgA and CoCoGreen VsgE while CoCoRED gets CsgF on
the composite monitor.
- #1 VsgF #2 CsgA
#3
VsgT is not
going to happen because automatic assignments are always in
alphabetical order and VGA before Composite to get
that setup it has to be saved on u0: in the SGA.CFG file.
- Memory layout at startup.
To Illustrate what goes on with memory at startup. See where the "ROM" is
temporary mapped in.

And then then mapped back out.

The ROM is now mapped back out of memory and can only be
re-accessed by a X>RESET ALL OFF or X>RESET FULL
POWER CYCLE which has been indicated by flipping the text "System
R.O.M." and "User E.E.P.R.O.M." upside down.