Tandy 600 Programmer's Reference Manual page 174

Bios programmers
Hide thumbs Also See for 600:
Table of Contents

Advertisement

4.
When
the
power
is
turned
back
on,
and
the
BIOS
determines
that
a
Warm
Start
Break
is
to
be performed,
it
transfers control
to
the
O/S
entry point with
AL
=
2
to indicate that
a
Warm
Start
Break
should
occur.
5.
The O/S
tests
the
flag
and
determines
that
a
critical
region
of
O/S code
was
being
executed.
The O/S
patches
the variables
that
contain the
return
address
of
the
application
program
that
originally
called
the
O/S
function,
so
that
when
the
O/S
call
completes and
performs
a
return,
it
will
return
to
the
Warm
Start
Break
code
instead
of
the
application
program.
The O/S
then
transfers
to
the
Warm
Start
Resume
routine
which
resumes
execution
of
whatever
was
interrupted
by the
power
off
request.
O/S power
off
stack
O/S
Return
address
The O/S
switches
to
its
power
off
stack,
and
restores
all
of
the
registers.
It
then switches
back
to
the stack
that
was
in
effect
when
the
O/S power
off
hook
was
entered,
and
performs
an
I
RET
to
return
control to
whoever
executed
the
INT
4Eh
instruction.
6.
The IRET
will
return control
to
the
BIOS power
off
interrupt
handler.
This handler
must
then
restore
the stack
that
was
in
effect
when
it
was
entered
and
return
to
the
interrupted
process.
BIOS Power
The BIOS
switches
back
to
the
O/S
stack
that
was
in
effect
when
the
off
stack
power
off
request occurred,
and
performs
an IRET
to return control
to
whoever
was
executing
when
the
hardware power
off
interrupt
occurred.
7.
The IRET
will
return control
to
the
interrupted
O/S
function
which
was
executing the
critical
region of
code.
O/S
stack
The
interrupted
O/S
call
resumes
execution
and
completes.
It
then
pushes
the
patched
return
address onto
the stack
and
performs a
FAR
return.
The
will
transfer control
back
into
the
O/S
Warm
Start
Break
code.
8.
The O/S
warm
start
break
code
will
then perform a normal
warm
start
break.
It
will
reinitialize
everything
except
the
RAM
file
system,
and
build
a
new
directory
for
whatever
ROM's
are
present
in
the
machine.
It
will
then perform
an INT
58h,
function
1
to
tell
the
BIOS
that
its
Warm
Start
Break processing
is
finished,
and
that
the
BIOS
should complete
its
initialization.
After
executing the
INT
58h, function
1
,
the
O/S
will
then
execute
the
System Manager program
which
will
draw
the top
level
menu.
The
most
important
point
of
this
discussion
is
that
when
the
power
off
request
interrupted
a
critical
region
of
the
O/S, the
O/S
Warm
Start
Break code
will
perform a
Warm
Start
Resume
to
allow the interrupted
O/S
function
to
complete
before doing the
Warm
Start
Break.
If
any
of
the
BIOS's
Warm
Start
Break
initialization
would cause
a
Warm
Start
Resume
to
not
be
performed
properly,
then the
Warm
Start
Break
will
fail
in
this
case.
The BIOS
must
not
initialize
anything
internally that
would cause a
Warm
Start
Resume
to
fail
until
it
receives the
INT
58h,
function
1
request.
169

Advertisement

Table of Contents
loading

Table of Contents