Question for you guys... I made my own peripheral card a while back and I want to enable it only if you hold down the SHIFT key during ctrl-openapple-reset. What would you say is the best way to achieve this?
Question for you guys... I made my own peripheral card a while back and I want to enable it only if you hold down the SHIFT key during ctrl-openapple-reset. What would you say is the best way to achieve this?
There are only two ways to detect that the shift key is depressed: 1) testing the pushbutton input for the “shift key mod” (if it’s installed,
and if its corresponding pushbutton is *not* pressed), or 2) finding the keyboard port with an ASCII code which is a “shifted” character.
Since Ctl-Open Apple-Reset does not generate any keycode at the keyboard port, 2) is not useful. So any detection of shift key depression can only
be detected if the shift key mod is present and the corresponding
pushbutton does not interfere.
You may want to consider using a keycode-generating key, as ProDOS does.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
On Thursday, July 14, 2022 at 7:17:18 PM UTC-4, Michael J. Mahon wrote:by itself not enough to determine ctrl-apple-reset occurred?
Question for you guys... I made my own peripheral card a while back and I >>> want to enable it only if you hold down the SHIFT key duringThere are only two ways to detect that the shift key is depressed: 1)
ctrl-openapple-reset. What would you say is the best way to achieve this? >>>
testing the pushbutton input for the “shift key mod” (if it’s installed,
and if its corresponding pushbutton is *not* pressed), or 2) finding the
keyboard port with an ASCII code which is a “shifted” character.
Since Ctl-Open Apple-Reset does not generate any keycode at the keyboard
port, 2) is not useful. So any detection of shift key depression can only
be detected if the shift key mod is present and the corresponding
pushbutton does not interfere.
You may want to consider using a keycode-generating key, as ProDOS does.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Hello Michael!
Okay I get it... so If I were to have my peripheral card listen to the RESET line and immediately check $C000 for the keycode-generating key of choice, then this would cover my scenario of detecting a keypress during startup right? Or is the RESET line
On Thursday, July 14, 2022 at 7:17:18 PM UTC-4, Michael J. Mahon wrote:
Question for you guys... I made my own peripheral card a while back and I >> > want to enable it only if you hold down the SHIFT key duringThere are only two ways to detect that the shift key is depressed: 1)
ctrl-openapple-reset. What would you say is the best way to achieve this? >> >
testing the pushbutton input for the “shift key mod” (if it’s >installed,
and if its corresponding pushbutton is *not* pressed), or 2) finding the
keyboard port with an ASCII code which is a “shifted” character.
Since Ctl-Open Apple-Reset does not generate any keycode at the keyboard
port, 2) is not useful. So any detection of shift key depression can only
be detected if the shift key mod is present and the corresponding
pushbutton does not interfere.
You may want to consider using a keycode-generating key, as ProDOS does.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Hello Michael!
Okay I get it... so If I were to have my peripheral card listen to the
RESET line and immediately check $C000 for the keycode-generating key of >choice, then this would cover my scenario of detecting a keypress during >startup right? Or is the RESET line by itself not enough to determine >ctrl-apple-reset occurred?
On Thursday, July 14, 2022 at 7:17:18 PM UTC-4, Michael J. Mahon wrote:
Question for you guys... I made my own peripheral card a while back and IThere are only two ways to detect that the shift key is depressed: 1)
want to enable it only if you hold down the SHIFT key during
ctrl-openapple-reset. What would you say is the best way to achieve this?
testing the pushbutton input for the “shift key mod” (if it’s >installed,
and if its corresponding pushbutton is *not* pressed), or 2) finding the >> keyboard port with an ASCII code which is a “shifted” character.
Since Ctl-Open Apple-Reset does not generate any keycode at the keyboard >> port, 2) is not useful. So any detection of shift key depression can only >> be detected if the shift key mod is present and the corresponding
pushbutton does not interfere.
You may want to consider using a keycode-generating key, as ProDOS does. >>
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Hello Michael!
Okay I get it... so If I were to have my peripheral card listen to the >RESET line and immediately check $C000 for the keycode-generating key of >choice, then this would cover my scenario of detecting a keypress during >startup right? Or is the RESET line by itself not enough to determine >ctrl-apple-reset occurred?i'm not sure you can use a regular key either. I suspect the Reset will clear the keyboard latch. On a //e or later (so, with open-apple keys),
you may still be able to read $C010 and see if "any" key is down, but
Reset might clear that too. The Open-Apple/Closed-Apple keys aren't
normal keys--they are read like paddle buttons, so reset doesn't affect them.
Kent
Hey guys,
My peripheral card acts as an accelerator (a faster 6502) so what I would like to do is make it so that the card is enabled (Ie. acceleration is enabled) whenever an extra key is detected during reboot.
Hey guys,
My peripheral card acts as an accelerator (a faster 6502) so what I would like to do is make it so that the card is enabled (Ie. acceleration is enabled) whenever an extra key is detected during reboot.Since Reset must be assumed to reset the keyboard port along with the rest of the system, I suggest polling for a (code-generating) keypress within a short window (say, two seconds) *after* Reset. If the key is pressed during the window, clear the strobe (to “consume” the keypress) and then enable your card.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
On Saturday, July 16, 2022 at 6:07:49 PM UTC-4, Michael J. Mahon wrote:
Hey guys,Since Reset must be assumed to reset the keyboard port along with the rest >> of the system, I suggest polling for a (code-generating) keypress within a >> short window (say, two seconds) *after* Reset. If the key is pressed during >> the window, clear the strobe (to “consume” the keypress) and then enable >> your card.
My peripheral card acts as an accelerator (a faster 6502) so what I would >>> like to do is make it so that the card is enabled (Ie. acceleration is
enabled) whenever an extra key is detected during reboot.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Thanks Michael, that sounds like the proper thing to do. I'm guessing I should check the open-apple paddle-button location to distinguish between
a reset and reboot.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 489 |
Nodes: | 16 (2 / 14) |
Uptime: | 33:35:12 |
Calls: | 9,668 |
Calls today: | 3 |
Files: | 13,716 |
Messages: | 6,169,032 |