home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / c128 / utilities / svnt128d.sfx / B / Customizing
Text File  |  1992-10-05  |  7KB  |  105 lines

  1. Appendix B:  CUSTOMIZING THE SERVANT
  2.  
  3. Since THE SERVANT pops up whenever you turn on or reset your computer, it would be quite annoying if you were stuck with THE SERVANTs original appearance.
  4.  
  5. Modifying THE SERVANT not hard.  First, load THE SERVANT into computer RAM memory.  To verify that THE SERVANT really is present and working in the computer's memory, invoke THE SERVANTs main menu.  You should see the author's name and address below the main menu, and the message "Hit CONTROL/+ to save EPROM burner file".  DO NOT save THE SERVANT yet.  First, modify your copy according to your preferences.  To do that, hit RETURN to return to BASIC.  Now, you're ready to make modifications.
  6.  
  7. FUNCTION KEYS:
  8. Whenever you power up or reset your computer, THE SERVANT will install its own function keys definitions.  The default definitions are as follows:
  9.  
  10. F1 = dload "                 (Load a BASIC program)
  11. F2 = dsave "@                (Save a BASIC program)
  12. F3 = cA                      (Directory on disk drive 8)
  13. F4 = cAu9                    (Directory on disk drive 9)
  14. F5 = clear screen, set colors, set fast mode if using 80 columns.
  15. F6 = bank15:sysdec("1300")   (Call a ML routine at 4864/$1300)
  16. F7 = lI                      (List a BASIC program)
  17. F8 = moN                     (Go to the ML monitor.)
  18.  
  19. Type KEY, and then RETURN.  A list of the current function keys will appear on the screen.  Please note how control characters are utilized.  The control characters will make the function keys work flawlessly, even if they are pressed in the middle of a screen full of text (try that using the C128's default definitions!).
  20.  
  21. Please note about F5 above:  Even if you wish to keep the overall definition of the key, you may wish to modify it to suit your color preferences.  The definition of the colors in the function key string does NOT automatically change with the default color preferences you set for THE SERVANT itself (see below).
  22.  
  23. You can change or modify any of the definitions using the BASIC "KEY" command.  If you want, you can change the function of the HELP key and the SHIFT/RUN-STOP combination as well.  Here's how:
  24.  
  25. To change the RUN key:
  26. bank 15:sys 24812 ,,8,,,"definition"
  27.  
  28. To change the HELP key:
  29. bank 15:sys 24812 ,,9,,,"definition"
  30.  
  31. Replace the word "definition" with the actual definition you want to use.  Please note the use of commas, you'll need to use them exactly as shown for this trick to work.
  32.  
  33. You won't need to include a function key definition to invoke THE SERVANT itself.  However, THE SERVANT will automatically claim one function key definition (of your own choice) for this purpose.  See the section on THE SERVANT call key below.  Please note that the total number of characters in the function key strings is limited to 246.  THE SERVANT call key use 16 characters, so a total of 230 characters are available for your use.
  34.  
  35. When you think your custom function keys are OK, test them to verify that they really work according to your expectations.  The final step is to copy the definitions into THE SERVANT itself.  Do it using the following BASIC line:
  36.  
  37. bank0:for x=0to255:poke32795+x,peek(4096+x):next
  38.  
  39. DISABLING THE SERVANTs FUNCTION KEY INSTALLATION:
  40. If you don't want THE SERVANT to install function keys upon power up or reset, use the command:
  41.  
  42. bank0:poke33058,0
  43.  
  44. This will disable THE SERVANT function keys installation.  To re-enable the function key definition, poke a nonzero value into location 33058.  Please note that you cannot disable THE SERVANTs automatic call key definition (see below).
  45.  
  46. SETTING THE SERVANT CALL KEY:
  47. One key must be reserved to call THE SERVANT.  THE SERVANT automatically sets this definition.  It's up to you however, to decide which function key THE SERVANT is going to use.  Use the command:
  48.  
  49. bank0:poke33057,function key number.
  50.  
  51. The function key numbers are 1 through 8 for the function keys 1 through 8; 9 is the SHIFT/RUN-STOP combination, and 10 is the HELP key.  Take your pick.  The default is 9, using the SHIFT/RUN-STOP combination.
  52.  
  53. 40 COLUMN SCREEN COLORS:
  54.  
  55. Text color:       bank0:poke33051,color code
  56. Background color: bank0:poke33052,color code
  57. Border color:     bank0:poke33053,color code
  58.  
  59. The color codes are as follows:
  60.  
  61. 0 = black  4 = purple   8 = orange     12 = medium gray
  62. 1 = white  5 = green    9 = brown      13 = light green
  63. 2 = red    6 = blue    10 = light red  14 = light blue
  64. 3 = cyan   7 = yellow  11 = dark gray  15 = light gray
  65.  
  66.  
  67. 80 COLUMN SCREEN COLORS:
  68.  
  69. Text color:       bank0:poke33054,color code
  70. Background color: bank0:poke33055,color code
  71.  
  72. Please note that these color codes are different from the codes for the 40 column screen.  The color codes are as follows:  
  73.  
  74. 0 = black      4 = dark green   8 = dark red     12 = brown
  75. 1 = dark gray  5 = light green  9 = light red    13 = yellow
  76. 2 = dark blue  6 = dark cyan   10 = dark purple  14 = light gray
  77. 3 = light blue 7 = light cyan  11 = light purple 15 = white
  78.  
  79. SETTING UPPERCASE ON EXIT:
  80. If you have played around with THE SERVANT a bit, you'll notice that the letters are lowercase when you exit.
  81.  
  82. To set uppercase upon exit:
  83.  
  84. bank0:poke33056,142
  85.  
  86. To set lowercase upon exit:
  87.  
  88. bank0:poke33056,14
  89.  
  90. DISABLING FAST (2Mhz) MODE:
  91. THE SERVANT will use fast mode whenever the 80 column screen is active.  If you need to, you can prohibit THE SERVANT from using fast mode:
  92.  
  93. bank0:poke32774,81
  94.  
  95. Setting this byte to any other value (avoid 0 or 1; it will make THE SERVANT malfunction) will enable fast mode as usual.  Setting this location to 0 will disable THE SERVANTs autostart.  Still, THE SERVANT can be called by bank12:sys32777 and will work flawlessly.
  96.  
  97. SAVING THE MODIFIED VERSION OF THE SERVANT:
  98. When you have made all your modifications, type bank0:sys32768 and press RETURN to cold start THE SERVANT.  Check that the colors are as you expect.  Exit THE SERVANT again and check that the function key definitions works as expected.  Press THE SERVANT call key to see if THE SERVANT main menu pops up as expected.  Try all of this in both 40 and 80 column mode.
  99.  
  100. If everything seems OK, save THE SERVANT to disk by holding down CONTROL and pressing the "+" key.  Please make sure that the disk has at least 130 blocks free.  THE SERVANT will be saved to disk drive 8 using the file name "the servant.mod".  If a file of that name already exist on the disk (a previously saved SERVANT), that file will be deleted.  Please note that you should NOT use BSAVE from BASIC, "S" from the machine language monitor, or any other save function.  If THE SERVANT is saved in any of those ways, it may be corrupted.  Use CONTROL/+!
  101.  
  102. The file just saved can be programmed directly into an EPROM.
  103.  
  104. IMPORTANT:  You MUST test your modified THE SERVANT running in computer RAM before you have it programmed into the EPROM.  A wrong POKE during your customizing may make THE SERVANT malfunction.  It is better to reveal errors at this point rather than when THE SERVANT is physically installed into your computer.  An error discovered at after the installation will make it much harder to figure out where the error really is.
  105.