EasyManua.ls Logo

Commodore Amiga - Page 304

Commodore Amiga
321 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...
.
~
Once
sync
is
restored,
the
keyboard
will
have
clocked
a
garbage
character
into
the
CODputer.
That
is
why
the
key-up/key-down
flag
is
always
transmitted
last.
Since
the
keyboard
clocks
out
l's
to
restore
sync,
the
garbage
character
thus
transmitted
will
appear
as
a
key
release,
which
is
less
dangerous
than
a
key
hit.
Whenever
the
keyboard
detects
that
it
has
lost
sync,
it
will
assume
that
the
CODputer
failed
to
receive
the
keycode
that
it
had
been
trying
to
transmit.
Since
the
CODputer
is
unable
to
detect
lost
sync,
it
is
the
keyboard's
responsibility
to
inform
the
conputer
of
the
disaster.
It
does
this
by
transmit-
ting
a
"lost
sync"
code
(value
F9H
= 11111001)
to
the
CODputer.
Then
it
retransmits
the
code
that
had
been
garbled.
Note:
the
only
reason
to
transmit
the
"lost
sync"
code
to
the
conputer
is
to
alert
the
software
that
something
may
be
screwed
up.
'llle
"lost
sync"
code
does
not
help
the
recovery
process,
because
the
garbage
keycode
can't
be
deleted,
and
the
correct
key
code
could
sinply
be
retransmitted
without
telling
the
conputer
that
there
was
an
error
in
the
previous
one.
Power-up
sequence:
There
are
two
possible
ways
for
the
keyboard
to
be
powered
up
under
normal
circumstances:
the
conputer
can
be
turned
on
with
the
keyboard
plugged
in,
or
the
keyboard
can
be
plugged
into
an
already
"on"
conputer.
'llle
keyboard
and
conputer
III\lSt
handle
either
case
without
causing
any
upset.
'llle
first
thing
the
keyboard
does
on
power-up
is
to
perform
a
self-test.
This
involves
a
ROM
checksum
test,
sinple
RAM
test,
and
watchdog
timer
test.
Whenever
the
keyboard
is
powered
up
(or
restarted
--
see
below),
it
must
not
transmit
anything
until
it
has
achieved
synchronization
with
the
CODputer.
'llle
way
it
does
this
is
by
slowly
clocking
out
1
bits,
as
described
above,
until
it
receives
a
handshake
pulse.
If
the
keyboard
is
plugged
in
before
power-up,
the
keyboard
may
continue
this
process
for
several
minutes
as
the
CODputer
struggles
to
boot
up
and
get
running.
'llle
keyboard
IlJJ.St
continue clocking
out
Is
for
however
long
is
necessary,
until
it
receives
its
handshake.
If
the
keyboard
is
plugged
in
after
power-up,
no
more
than
eight
clocks
will
be
needed
to
achieve
sync.
In
this
case,
however,
the
CODputer may
be
in
any
state
imaginable
but
must
not
be
adversely
affected
by
the
garbage
character
it
will
receive.
Again,
because
it
receives
a
key
release,
the
damage
should
be
minimal.
The
keyboard
driver
III\lSt
anticipate
this
happening
and
handle
it,
as
should
any
application
that
uses
raw
keycodes.
Note:
the
keyboard
I1lIlSt
not
transmit
a
"lost
sync"
code
after
resyncing
due
to
a
power-up
or
restart;
only
after
resyncing
due
to
a
handshake
time-out.
Once
the
keyboard
and
CODputer
are
in
sync,
the
keyboard
III\lSt
inform
the
conputer
of
the
results
of
the
self-test.
If
the
self-test
failed
for
any
reason,
a
"self
test
failed"
code
(value
FCH
= 11111100)
is
transmitted
(the
keyboard
does
not
wait
for
a
handshake
pulse
after
sending
the
"self
test
failed"
code).
After
this,
the
keyboard
processor
goes
into
a
loop
in
which
it
blinks
the
CAPS
LOCK
LED
to
inform
the
user
of
the
failure.
'llle
blinks
are
coded
as
bursts
of
one,
two,
three,
or
four
blinks,
approximately
one
burst
per
second.
One
blink
=
ROM
checksum
failure;
two
blinks
=
RAM
test
failed;
three
blinks
=
watchdog
timer
test
failed;
four
blinks
= a
short
exists
between
two row
lines
or
one
of
the
seven
special
keys
(this
last
test
isn't
inplemented
yet)
.
If
the
self-test
succeeds,
then
the
keyboard
will
proceed
to
transmit
any
keys
that
are
currently
down.
First,
it
sends
an
"initiate
powerup
key
stream"
code
(value
FDH
=
11111101),
followed
by
the
key
codes
of
all
depressed
keys
(with
keyup/down
set
to
"down"
for
each
key).
After
all
keys
are
sent
(usually
there
won't
be
any
at
all),
a
"terminate
key
stream"
code
(value
FEH
= 11111110)
is
sent.
Finally,
the
CAPS
LOCK
LED
is
shut
off.
This
marks
the
end
of
the
start-up
sequence,
and
normal
processing
c:omnences.
Note:
These
special
codes,
(that
is,
FCH
et
al)
are
a-bit
numbers;
there
is
no
up/down
flag
associated
with
them.
However,
the
transmission
bit
order
is
the
same
as
previously
described.
'llle
usual
sequence
of
events
will
therefore
be:
power
up;
synchronize;
transmit
"initiate
powerup
key
stream"
(FDH);
transmit
"terminate
key
stream"
(FEH).
Hard
Reset
'llle
keyboard
has
the
additional
task
of
resetting
the
~nputer
on
the
conmand
of
the
user.
The
user
initiates
hard
reset
by
simultaneously
pressing
the
CTRL
key
and
the
two
"JlMlGA."
keys.
'llle
keyboard
responds
to
this
input
by
pulling
KCLK
low
and
starting
a
SOO-ms
timer.
At
the
end
of
the
500 ms,
the
processor
checks
the
three
keys
to
see
if
they
are
still
down,
and
if
so,
restarts
the
SOO-ms
timer.
This
continues
until
one
or
more
of
the
three
keys
is
released
.
When
one
or
more
keys
is
released,
then
the
processor
will
wait
until
the
end
of
the
500 ms. Then
it
junps
to
its
start-up
code,
which
releases
KCLK
and
restarts
the
keyboard.
Special
Codes
'llle
special
codes
that
the
keyboard
uses
to
conmunicate
with
the
main
unit
are
summarized
here.

Table of Contents

Other manuals for Commodore Amiga

Related product manuals