EasyManua.ls Logo

Commodore 1581 - Controller Job Queue

Commodore 1581
138 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Cache
Buffer.
This
buffer
is
located
from
$0C00
through
$1FFF.
All
disk
accesses
involve
an
entire
physical
track
at
a
time.
If
a
single
sector
is
needed
from
a
particular
track,
the
entire track
is
read
into
RAM.
Con
sequently,
any
more
requests
for
sectors
from
the
same
track
require
only
a
RAM
data
transfer,
rather
than
a
search
of
the
track
on
the
disk
again.
Sector
writes
are
also
speeded
up
considerably,
since
each
con
secutive
write
to
sectors
on
the
same
track
requires
only
a
RAM
to
RAM
data
transfer.
After
data
is
written
into
the
Track
Cache
Buffer,
it
is
not
written
to
the
disk
until
one
of
the
following
occurs:
1)
a
request
is
made
for
access
of
a
sector
on
a
different
track,
2)
a
'dump
track
buffer'
command
is
issued,
or
3)
after
250
milliseconds
of
no
serial
bus
activity.
Controller
Job
Queue
The
software
in
the
1581's
ROM
can
be
broken
down
into
two
major
components—the
DOS
and
the
Controller.
The
DOS
(Disk
Operating
System)
is
the
software
interface
between
the
host
comput
er
and
the
1581
system.
The
DOS
keeps
track
of
the
file
management
details
necessary
to
create,
modify
and
delete
files.
It
monitors
the
amount
of
free
space
left
on
a
disk,
and
keeps
track
of
the
file
names
in
the
directory.
It
remembers
where
each
file
starts,
and
ensures
that
none
of
them
overlap.
When
the
host
sends
commands,
the
DOS
checks
to
make
sure
that
the
syntax
and
the
parameters
are
valid.
The
DOS
is
very
complex,
and
its
code
occupies
the
majority
of
the
ROM.
The
Controller,
on
the
other
hand,
knows
nothing
about
the
concept
of
files.
The
Controller
deals
only
in
the
physical
world
of
the
disk
itself.
It
is
responsible
for
reading
and
writing
each
of
the
individ
ual
sectors
on
the
disk.
The
DOS
and
Controller
communicate
to
each
other
primarily
through
a
'mailbox,'
known
as
the
Job
Queue.
Because
the
DOS
deals
more
in
the
abstract,
or
logical,
world,
it
does
not
access
the
physical
disk
itself.
If
the
DOS
requires
access
to
the
disk,
it
must
ask
the
controller
to
do
it.
The
DOS
places
a
Controller
Command
Code
into
the
Job
Queue
and
then
waits
for
the
requested
operation
to
be
completed.
The
Controller
polls
the
Job
Queue
every
10
milliseconds
(the
polling
rate
is
determined
by
timer
B
of
the
8520)
looking
for
something
to
do.
If
there
is
a
job
in
the
queue,
the
Controller
executes
the job
and
returns a
status
byte
to
the
DOS.
To
speed
things
up,
the
polling
of
the
job
queue
can
be
bypassed
by
a
direct
jump
to
JSTROBE
CONTROLLER
at
$FF54
(refer to
the
section
describing
the
Vectored
Jump
Table).
A
call
to
JSTROBECONTROLLER
requires
the
command
in
the
accumulator
and
the
job
queue
offset
in
the
x
register,
102

Table of Contents

Other manuals for Commodore 1581

Related product manuals