Welcome, Guest. Please login or register.

Author Topic: Amiga keyboard - reset / out of sync  (Read 2027 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline ejstansTopic starter

  • Newbie
  • *
  • Join Date: Jun 2009
  • Posts: 48
    • Show all replies
Amiga keyboard - reset / out of sync
« on: January 04, 2010, 06:34:04 PM »
Hello,

I'm reading my Amiga Hardware Reference Manual where it describes the keyboard. It says that some A1000 and A2000 keyboards provide a reset warning.

When the user presses CTRL + the two AMIGA keys, the keyboard responds by syncing up any pending transmission, then it sends a reset warning code to the Amiga, which can respond to this to gain up to 10 seconds of extra time in order to finish any pending operations.

But what happens if the keyboard/Amiga are experiencing the "Out-of-sync" condition? Particularly since the acknowledgement sent from the Amiga to the keyboard is under software control? Imagine that software has taken over the machine and disabled the interrupt handler for the keyboard. The Amiga will stop sending acknowledgements, but according to the manual, the keyboard must continue to try to establish synchronisation until successful.

What happens if the reset keys are pushed under such a circumstance? Will the keyboard break out of the fruitless synchronisation loop, or will it hang there forever and thus causing the reset request to be ignored?
"It is preferable not to travel with a dead machine."

A500 1.3 / 512KiB slowmem / GVP HD8 w/ 8MiB fastmem & 52MB HDD
A600 2.05 / 1GB SSD
A1200 3.0 / Blizzard 1200/4 w/ 68882 @ 33MHz / 1GB SSD
A1200T 3.0 / Apollo 1260 w/ 68EC060 @ 50MHz & 16 MiB fastmem / 4GB SSD
 

Offline ejstansTopic starter

  • Newbie
  • *
  • Join Date: Jun 2009
  • Posts: 48
    • Show all replies
Re: Amiga keyboard - reset / out of sync
« Reply #1 on: January 04, 2010, 07:01:29 PM »
Quote from: Jope;536284
There is no synchronization. The keyboard toggles the clock line, and circuitry inside the Amiga detects this long clock pulse and asserts _kbdreset.

If no-one answers the reset warning, the machine will reboot itself.

This is for big box machines. In the small keyboard style machines, the keyboard controller asserts _kbdreset itself, so the machine has no time to react before it gets reset.

Well, I'm talking about what happens before the keyboard asserts "hard reset". If the Amiga has stopped sending acknowledgements and the keyboard thus is in the resynchronisation phase, what happens when the reset keys are pushed? Does the keyboard break out of the synchronisation loop? Does it send the reset warning or does it go directly to hard reset?
"It is preferable not to travel with a dead machine."

A500 1.3 / 512KiB slowmem / GVP HD8 w/ 8MiB fastmem & 52MB HDD
A600 2.05 / 1GB SSD
A1200 3.0 / Blizzard 1200/4 w/ 68882 @ 33MHz / 1GB SSD
A1200T 3.0 / Apollo 1260 w/ 68EC060 @ 50MHz & 16 MiB fastmem / 4GB SSD
 

Offline ejstansTopic starter

  • Newbie
  • *
  • Join Date: Jun 2009
  • Posts: 48
    • Show all replies
Re: Amiga keyboard - reset / out of sync
« Reply #2 on: January 04, 2010, 07:04:40 PM »
Quote from: Piru;536285
AFAIK there's an internal watchdog timer in the keyboard logic. If nothing happens within 10 seconds the system will reset anyway.
Ah ok. The manual does talk about hard reset being asserted after 10s even if the Amiga fails to pull KDAT high, but this is after the reset warning has been sent, and as far as I can see nothing about a definite 10s rule applying all the time.
"It is preferable not to travel with a dead machine."

A500 1.3 / 512KiB slowmem / GVP HD8 w/ 8MiB fastmem & 52MB HDD
A600 2.05 / 1GB SSD
A1200 3.0 / Blizzard 1200/4 w/ 68882 @ 33MHz / 1GB SSD
A1200T 3.0 / Apollo 1260 w/ 68EC060 @ 50MHz & 16 MiB fastmem / 4GB SSD
 

Offline ejstansTopic starter

  • Newbie
  • *
  • Join Date: Jun 2009
  • Posts: 48
    • Show all replies
Re: Amiga keyboard - reset / out of sync
« Reply #3 on: January 04, 2010, 08:10:09 PM »
Hmm, why do you have A500 keyboards in A1200? :)
"It is preferable not to travel with a dead machine."

A500 1.3 / 512KiB slowmem / GVP HD8 w/ 8MiB fastmem & 52MB HDD
A600 2.05 / 1GB SSD
A1200 3.0 / Blizzard 1200/4 w/ 68882 @ 33MHz / 1GB SSD
A1200T 3.0 / Apollo 1260 w/ 68EC060 @ 50MHz & 16 MiB fastmem / 4GB SSD