home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C128Toolkit / ALTKEY.ARC / ALTKEY.DOCS
Encoding:
Text File  |  2019-04-13  |  4.4 KB  |  84 lines

  1. ALTKEY: USING THE ALT KEY TO PROGRAM THE KEYBOARD
  2. "_IS EIGHT PROGRAMABLE FUNCTIONS KEY ENOUGH FOR YOU? IF THE"
  3. "ANSWER IS NO, READ ON. THIS PROGRAM ALLOWS YOU TO REDEFINE"
  4. "APPROXIMATLY 62 KEYS TO BE USE LIKE THE PROGRAMABLE FUNCTIONS KEYS"
  5. "ON THE C-128."
  6. "^USING THE PROGRAM"
  7. "^     TYPE DLOAD"ALTKEY.V1/0" THEN TYPE RUN. THE PROGRAM"
  8. "ASKS YOU FOR A FILENAME IF IT IS THE FIRST TIME RUNNING THE"
  9. "PROGRAM JUST PRESS RETURN. IF NOT, ENTER THE FILENAME YOU WISH"
  10. "TO EDIT. IF YOU ENTER NO FILENAME AT THE LAST PROMPT, THE"
  11. "PROGRAM WILL TELL YOU IT IS CREATING A NEW FILE AND ASK FOR THE"
  12. "FILENAME OF THE NEW FILE."
  13. "_NOW YOU SHOULD SEE THE PROMPT "PRESS KEY TO BE REDEFINED""
  14. "WHEN YOU PRESS A KEY YOU WILL SEE THE CHARACTER CODE AND"
  15. "THE CHARACTER PRINTED INSIDE QUOTE MARKS. IF THE KEY HAS A CURRENT"
  16. "DEFINITION IT WILL BE DISPLAY INSIDE QUOTES ON THE NEXT LINE."
  17. "IF THERE IS NO CURRENT DEFINITION TWO QUOTE MARKS WILL BE"
  18. "DISPLAY SIDE BY SIDE. THEN THE PROGRAM DISPLAYS THE AVAILABLE"
  19. "COMMANDS. THEY ARE:"
  20. "^     E  -  EDIT THIS DEFINITION"
  21. "_S  -  SAVE THIS SET OF DEFINITIONS"
  22. "_Q  -  EXIT THE PROGRAM WITH NO SAVE"
  23. "_P  -  PASS THIS KEY RETURNS YOU TO THE "PRESS KEY" PROMPT."
  24. "^EDITING A DEFINITION"
  25. "^     TO EDIT A DEFINITION PRESS "E" AND THE CURSOR WILL BE"
  26. "PLACED ON THE CURRENT DEFINITION."
  27. "IF YOU WANT TO USE ANY CURSOR CONTROL KEY IN YOUR DEFINITION"
  28. "YOU NEED TO ENCLOSE THE DEFINITION IN QUOTES. TO ENTER A QUOTE IN"
  29. "IN THE DEFINITION USE THE UP ARROW (NEXT TO THE RESTORE KEY)."
  30. "A CARRIAGE RETURN CAN BE PLACE AT THE END OF THE DEFINITION"
  31. "BY USING THE BACK ARROW (UPPER LEFT CORNER). THE DEFINITION"
  32. "MAY CONSIST OF ANY CHARACTER OF THE KEYBOARD. THE DEFINITION"
  33. "IS LIMITED TO 160 CHARACTERS BUT BE CAREFUL YOU ONLY HAVE"
  34. "ABOUT 900 BYTES FOR DEFINITIONS."
  35. "^SAVING THE DEFINITIONS"
  36. "^     TO SAVE THE DEFINITIONS PRESS "S". THE PROGRAM WILL"
  37. "DISPLAY THE CURRENT FILENAME AND ASK IF YOU WISH TO SAVE"
  38. "WITH THIS NAME. IF YOU ANSWER YES THE CURRENT PROGRAM ON"
  39. "DISK IS SCRATCHED AND THE NEW DEFINITIONS ARE SAVED UNDER THIS"
  40. "NAME. IF YOU ANSWER NO THE PROGRAM ASKS FOR A NEW FILENAME"
  41. "AND THE SAVE CONTINUES. WHEN TO SAVE IS COMPLETE THE PROGRAM"
  42. "ENDS. THE SAVE CREATES A PROGRAM FILE ON DISK."
  43. "^LOADING AND USING THE DEFINITIONS"
  44. "^     TO USE THE DEFINITIONS JUST LOAD THE DEFINITIONS WITH"
  45. "BLOAD"FILENAME",B0,P4864 AND SYS4864. TO CALL A DEFINITION"
  46. "PRESS AND HOLD THE ALT KEY AND PRESS THE KEY YOU WANT."
  47. "IF NO DEFINITION IS PRESENT FOR THAT KEY NOTHING IS DISPLAYED."
  48. "IF PRESENT THE DEFINITION IS DISPLAY AND EXECUTED IF A CARRIAGE"
  49. "RETURN IS PRESENT. IF NOT THE CURSOR IS PLACED AT THE END OF"
  50. "THE LINE."
  51. "^HOW THE PROGRAM WORKS"
  52. "^     THE PROGRAM WORKS BY WEDGING ITSELF INTO THE KEYSCAN"
  53. "ROUTINE OF THE OPERATING SYSTEM. THIS IS DONE EASLY BECAUSE"
  54. "OF THE TWO INDIRECT RAM VECTORS USED BY THE KEYSCAN ROUTINE."
  55. "THESE VECTORS ARE KEYVEC ($033A) AND KEYCHK ($033C). KEYVEC"
  56. "IS USED WHEN KEY PRESS IS DETECTED, BEFORE THE KEY IS DECODED."
  57. "THE KEYCODE IS IN REGISTER A AT THIS POINT. KEYCHK IS USED"
  58. "AFTER THE KEY IS DECODED, THIS IS WHERE THE PROGRAM WEDGES"
  59. "ITSELF. WHEN CONTROL IS PASSED TO KEYCHK THE REGISTERS CONTAIN"
  60. "THE FOLLOWING INFORMATION:"
  61. "^     A = CHARCTER CODE FOR THE KEY PRESS"
  62. "_Y = KEYCODE OF THE KEY PRESS"
  63. "_X = SHIFT PATTERN (SHIFT,COMMODORE,ALT,CAPS,CNTRL)."
  64. "^     AT THIS POINT THE WEDGE IS CALLED. IT CHECKS THE X REGISTER TO"
  65. "SEE IF THE ALT KEY IS PRESSED. IF THE ALT KEY IS NOT PRESSED"
  66. "THE WEDGE SENDS CONTROL TO THE NORMAL OS ROUTINE. IF IT IS THE WEDGE"
  67. "PASSES CONTROL TO DECODING PART OF THE WEDGE."
  68. "_THE DECODING ROUTINE PULLS THE LENGTH OF THE PROGRAMMED"
  69. "STRING. IF THE LENGTH IS ZERO, NOTHING IS PRINTED AND CONTROL"
  70. "IS PASSED BACK TO THE OPERATING SYSTEM. IF THE LENGTH IS"
  71. "GREATER THAN ZERO, THE ROUTINE CALCULATES THE STARTING"
  72. "ADDRESS OF THE PROGRAMMED STRING BY ADDING THE LENGTHS OF"
  73. "THE KEYS BEFORE IT IN THE LENGTH TABLE AT $1800 AND ADDS THIS VALUE"
  74. "TO $1858, THE BEGIN OF THE STRING TABLE. THE STRING IS THEN"
  75. "PRINTED TO SCREEN UNTIL A ZERO OR A CARRAGE RETURN IS FOUND."
  76. "IF A CARRAGE RETURN IS FOUND IT IS PLACED IN THE"
  77. "KEYBROAD BUFFER AT $034A AND THE BUFFER INDEX AT $D0 IS"
  78. "CHANGE TO A ONE. (NOTE: IF ANY CHARACTERS ARE IN THE BUFFER"
  79. "WHEN IS CARRAGE RETURN IS DETECTED, THEY ARE LOST.)"
  80. "_NORMALLY KEYCHK IS POINTING TO THE ROUTINE AT ADDRESS $C6AD IN"
  81. "BANK 15. THIS ROUTINE DECODES THE PROGRAMMABLE FUNCTION"
  82. "KEYS OF THE 128."
  83. END
  84.