APPLICATIONSDIVERS ★ Here's a foolproof Escape plan! ★

Disabler (Computing with the Amstrad)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

ROLAND WADDILOVE describes how to disable the Escape key

A LOT of commercial software, as you've probably noticed, disables the Escape key and the Ctrl+Shift + Esc reset function. It's not just for protection, though that's the main reason.

The Escape key is right next to the 1 key, so it's quite easy to hit it accidentally - when for example selecting the first option from a menu.

Educational programs need to be absolutely foolproof - little fingers like to fiddle and press things. Of course, if the key doesn't do anything no harm is done in the end.

However it wouldn't be nice if the program stopped with an error report. A child would soon be put off if that happened all the time.

It would also be useful in adventures if you could stop anyone cheating by looking at the listing. After saving it in protected form with:

SAVE"adventure",P

the program would be unlistable -even by you - if Escape was disabled.

How is it done? Break can be disabled by redefining Escape using:

KEY 66,0,0,0

This produces the Ascii code zero, which the Amstrad takes to mean "do nothing".

Preventing reset isn't difficult either. Simply POKE &C9 into &BDEE. The firmware calls &BDEE to see whether it should carry out a reset or not. Those of you who have been following Mike Bibby's machine code series will know that &C9 means Return. So the routine never carries out the reset, it just returns from whence it came.

It's best to remember what &BDEE contained originally so you can replace it if necessary to enable reset again.

a%=PEEK(&BDEE)
POKE &BDEE,&C9

disables reset and:

POKE &BDEE,a%

enables it again.

The assembly listing on the next page provides four RSX commands |BREAK.ON, |BREAK.OFF, |RESET.ON and |RESET.OFF to enable and disable the escape and reset functions using this method.

Remember that you won't be able to stop a program after disabling Escape and reset, so be careful how you use the commands.

CWTA

★ PUBLISHER: Computing with the Amstrad
★ YEARS: 1985 , 1986
★ CONFIG: ???
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: COMPUTING WITH THE AMSTRAD 1986
★ AUTHOR: Roland Waddilove
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Disabler    (Computing  with  the  Amstrad)    ENGLISHDATE: 2020-07-22
DL: 190
TYPE: ZIP
SiZE: 4Ko
NOTE: 40 Cyls
.HFE: Χ

» Disabler    (Computing  with  the  Amstrad)    ENGLISH    LISTINGDATE: 2021-02-02
DL: 168
TYPE: PDF
SiZE: 46Ko
NOTE: 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Function Key Lister (Computing With the Amstrad)
» Applications » Simulated Ikon Control - Joystick Or Cursor Keys (The Amstrad User)
» Applications » Key Set (Amstrad Computer User)
» Applications » Keyboard Chords Tutor/Keyboard Chords Tutor Mark II (Amstrad Computer User)
» Applications » Keymouse (CPC Amstrad International)
» Applications » Iankey : Two Fingers to Touch Typing Conversion Course
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 578 millisecondes et consultée 893 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.