home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / ACE14E.SFX / ace14-tech.doc < prev    next >
Encoding:
Text File  |  1990-02-12  |  20.7 KB  |  362 lines

  1.  
  2. ┴├┼-128/64 ╘┼├╚╬╔├┴╠ ╔╬╞╧╥═┴╘╔╧╬  FOR ╥ELEASE #14   [╩UNE 26, 1995]
  3. ------------------------------------------------------------------------------
  4. 1. ╔╬╘╥╧─╒├╘╔╧╬
  5.  
  6. ╘HIS DOCUMENT CONTAINS SOME TECHNICAL INFORMATION ABOUT ┴├┼ THAT MAY BE OF
  7. INTEREST TO TECHNICALLY INCLINED MEMBERS OF OUR AUDIENCE.  ╘ECHNICAL
  8. INFORMATION ABOUT WRITING APPLICATIONS FOR ┴├┼ CAN BE FOUND IN THE
  9. ╨ROGRAMMER'S ╥EFERENCE ╟UIDE DOCUMENTATION, WHICH SHOULD BE AVAILABLE FROM
  10. THE SAME PLACE THAT YOU GOT THIS DOCUMENT.
  11.  
  12. 2. ╧╓┼╥╓╔┼╫ ═┼═╧╥┘ ═┴╨
  13.  
  14. ╬OTE THAT THE "ACE128" AND "ACE64" PROGRAMS ARE FUNCTIONALLY IDENTICAL, EXCEPT
  15. THAT ONE IS SET UP FOR THE 128 AND THE OTHER FOR THE 64.  ╘HUS, ALL OF THE
  16. APPICATION BINARY PROGRAMS WILL WORK WITH EITHER "ACE128" OR "ACE64".  ╠╧┴─
  17. AND ╥╒╬ THE "ACE" PROGRAM AND IT WILL LOAD THE CORRECT "KERNEL" FOR YOUR
  18. COMPUTER.
  19.  
  20. ╚ERE IS AN OVERVIEW MEMORY MAP OF ┴├┼-128/64:
  21.  
  22. $0002-$007F = APPLICATION WORK AREA (0.125╦)
  23. $0080-$00FF = SYSTEM ZERO-PAGE STORAGE (0.125╦)
  24. $0100-$01FF = PROCESSOR STACK (0.25╦)
  25. $0200-$0EFF = SYSTEM STORAGE (3.25╦)
  26. $0F00-$0FFF = KERNEL-INTERFACE VARIABLES (0.25╦)
  27. $1000-$12FF = SYSTEM STORAGE / FREE ON THE ├64 (0.75╦)
  28. $1300-$5FFF = ┴├┼ KERNEL AND DEVICE DRIVERS (19.25╦)
  29. $6000-$BFFF = APPLICATION AREA & STACK (24╦ / CONFIGURABLE SIZE)
  30. $C000-$EDFF = FREE MEMORY (11╦)
  31. $EE00-$EEFF = MODEM RECEIVE BUFFER (0.25╦ / CONFIGURABLE SIZE)
  32. $EF00-$EFFF = MODEM TRANSMIT BUFFER (0.25╦)
  33. $F000-$F7FF = REGULAR CHARACTER SET (2╦)
  34. $F800-$FBFF = VIC 40-COLUMN SCREEN (1╦)
  35. $FC00-$FEFF = FREE MEMORY (0.75╦)
  36. $FF00-$FFFF = SYSTEM STORAGE (0.25╦)
  37.  
  38. OR, IF YOU'RE ON A ├64 WITH THE SOFT-80 SCREEN CONFIGURED:
  39.  
  40. $C000-$C9FF = FREE MEMORY (2╦)
  41. $CA00-$CAFF = MODEM RECEIVE BUFFER (0.25╦ / CONFIGURABLE SIZE)
  42. $CB00-$CBFF = MODEM TRANSMIT BUFFER (0.25╦)
  43. $CC00-$CFFF = VIC 40-COLUMN SCREEN (1╦)
  44. $D000-$D7FF = REGULAR CHARACTER SET (2╦)
  45. $D800-$DFFF = SOFT-80 4-BIT CHARACTER SET (2╦)
  46. $E000-$FF3F = BITMAPPED SCREEN (7.81╦)
  47. $FF40-$FFFF = SYSTEM STORAGE (0.19╦)
  48.  
  49. 3. ┬╧╧╘╙╘╥┴╨╨╔╬╟
  50.  
  51. ═ORE EXPLANATION HERE LATER.
  52.  
  53. ACE         - THE KERNEL BOOTSTRAPPER; CAN BE RUN FROM EITHER 64 OR 128 MODE
  54. ACE128      - THE KERNEL FOR THE 128
  55. ACE64       - THE KERNEL FOR THE 64
  56. CONFIG      - THE CONFIGURATION INITIALIZER
  57. .ACERC      - THE SYSTEM CONFIGURATION - THIS IS DATA NOT AN EXECUTABLE
  58. CONFIG.EDIT - CONFIGURATION EDITOR PROGRAM (WRITTEN IN ┬┴╙╔├)
  59. ACECHR-COMMODORE - REGULAR ├OMMODORE CHARACTER SET
  60. ACECHR-ISO8859-1 - ╔╙╧ 8859-1 "8-BIT" CHARACTER SET
  61. SH          - THE COMMAND SHELL
  62. .ASHRC      - THE ┴├┼-COMMAND-SHELL AUTO-EXECUTION SHELL SCRIPT
  63.  
  64. 4. ├╧╬╞╔╟╒╥┴╘╔╧╬ ╞╔╠┼ ╞╧╥═┴╘ ╧╓┼╥╓╔┼╫
  65.  
  66. ┴├┼-128/64 ├ONFIGURATION.SYS FILE FORMAT
  67.  
  68. ╞OR DEVICES: DEVICE SLOTS "A" TO "Z" (OFFSET 0 TO 127, 32 ENTRIES):
  69.  
  70. 0 DEVICE DRIVER TYPE
  71.         0=╦ERNAL NON-DISK    1=╦ERNAL DISK       2=CONSOLE          3=NULL
  72.         4=RAMDISK            5=PARALLEL PORT     6=SWIFTLINK
  73. 1 DEVICE PRIMARY ADDRESS / SL:IOPAGE / PAR:0=CLEAN,1=NETWORK
  74. 2 DEVICE SECONDARY ADDRESS / SL:RECV┬UF╙IZE(1-27)
  75. 3 FLAGS / KD:$80=DEVICE HAS ├═─ REAL-TIME CLOCK
  76.  
  77. ╧THER:
  78.  
  79. ╧╞╞  ╙╔┌  ─┼╙├
  80. ---  ---  ----
  81. $80    1  RAMLINK DEVICE NUMBER
  82. $81    1  RAMLINK LAST LOGICAL BANK ALLOWED TO USE PLUS ONE (NORM 255)
  83. $82    4  REAL-TIME CLOCK DEVICES TO CHECK [4], 255=UNUSED, 254=╙MART╫ATCH
  84. $86    1  SCREEN SAVER ACTIVATION TIME (IN MINUTES)
  85. $87    1  ╥╘╙ ASSERTION-TO-MODEM-ACCEPTANCE DELAY PERIOD (NORM 40)
  86. $88    8  -UNUSED-
  87. $90   12  DEFAULT DATE IN ┬─├ ┘┘:┘┘:══:──:HH:MM:SS:TT:TW:╟╚:GM:AA
  88. $9C    4  TIME-ZONE STRING: 3 CHAR + NULL, LOWERCASE
  89. $┴0    1  ├128 BANK1 START FREE PAGE (NORM $04)
  90. $┴1    1  ├128 BANK1 LAST FREE PAGE PLUS ONE (NORM $FF)
  91. $┴2    1  ├128 EXPANDED INTERNAL MEMORY TYPE:
  92.           0=NONE, 1=├URCIO-256╦/512╦, 2=╨ESSI-256╦/512╦/1024╦
  93. $┴3    1  ├128 BANK0 LAST ALLOWED FREE PAGE PLUS ONE (NORM $FF)
  94. $┴4    1  ├64 SOFT-80 NON-╥┼╒ _MINIMUM_ PRESCROLLING AMOUNT (NORM 5)
  95. $┴5    1  ├128 LAST INTERNAL BANK ALLOWED TO USE ABOVE 2, PLUS ONE (NORM 8)
  96. $┴6    1  ├128 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
  97. $┴7    1  ├128 LAST ╥┼╒ BANK ALLOWED TO USE PLUS ONE (NORM 255)
  98. $┴8    1  ├128 TOP PAGE OF ╘╨┴ (STACK) (NORM $C0)
  99. $┴9    1  ├128 ╓─├ STANDARD ROW COUNT (NORM 25)
  100. $┴┴    1  ├128 KILOBYTES OF ╓─├ ╥┴═ (NORM 16)
  101. $┴┬    1  ├64 SOFT-80 ╥┼╒-HARDWARE-SCROLL PRESCROLL AMOUNT (NORM 1)
  102. $┴├    1  ├128 80-COL PRESCROLL AMOUNT (NORM 99)
  103. $┴─    1  ├128 40-COL PRESCROLL AMOUNT (NORM 99)
  104. $┴┼    1  ├64 SOFT-80 SOFTWARE-SCOLL PRESCROLL AMOUNT (NORM 99)
  105. $┴╞    1  ├64 40-COL PRESCROLL AMOUNT (NORM 99)
  106. $┬0    8  ├128 80-COL COLOR PALETTE: TABLE OF EIGHT ╥╟┬╔ CODES, OFFSETS:
  107.           0=CHAR,1=CURSOR,2=STATUS,3=SEPARAT,4=HILITE,5=ALERT,6=BORDER,7=SCREEN
  108. $┬8    8  ├128 40-COL COLOR PALETTE
  109. $├0    1  ├64 BITMAP FLAGS: $80=ALLOW SOFT-80, $40=MAKE DEFAULT, $20=╥┼╒-SCROLL
  110. $├1    1  ├64 LAST ALLOWED PAGE FREE PLUS ONE (NORM $FF)
  111. $├2    1  ├64 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
  112. $├3    1  ├64 LAST ╥┼╒ BANK ALLOWED TO USE (NORM 255)
  113. $├4    1  ├64 EXPANDED INTERNAL MEMORY TYPE: 0=NONE, 1=╨ESSI-256╦
  114. $├5    1  ├64 END EXPANDED INTERNAL MEMORY BANKS PLUS ONE (NORM 4)
  115. $├6    1  ├64 TOP PAGE OF STACK (NORM $C0)
  116. $├7    1  VIDEO TYPE: 0=╬╘╙├, 1=╨┴╠  (DEFAULT 0)
  117. $├8    1  KEY REPEAT DELAY IN JIFFIES (NORM 20)
  118. $├9    1  KEY REPEAT RATE IN JIFFIES (NORM 3)
  119. $├┴    1  CONSOLE COLOR ENABLE: $80=TEXT, $40=COLOR (DEFAULT $80)
  120. $├┬    1  INPUT LINE SCROLLBACK LINE COUNT (DEFAULT 5)
  121. $├├    1  CONTROLLER PORT #1 DEVICE: 0=NONE, 1=JOYSTICK, 2=MOUSE (DEFAULT 2)
  122. $├─    1  CONTROLLER PORT #2 DEVICE: 0=NONE, 1=JOYSTICK, 2=MOUSE (DEFAULT 1)
  123. $├┼    1  ├128 ╓─├ MAXIMUM NUMBER OF ALLOWED DISPLAY ROWS
  124. $├╞    1  ├128 ╓─├ NORMAL-TO-INTERLACED-CROSSOVER NUMBER OF DISPLAY ROWS
  125. $─0    8  ├64 80-COL COLOR PALETTE (FOR BITMAPPED HI-RES 80-COL SCREEN)
  126. $─8    8  ├64 40-COL COLOR PALETTE
  127. $┼0    1  ╥AM╠INK-╥┴═ PARTITION NUMBER
  128. $┼1   13  ╥AM╠INK-╥┴═ PARTITION NAME STRING
  129. $┼┼    1  ╥AM╠INK-╔NDIRECT-╥┼╒ PARTITION NUMBER
  130. $┼╞   17  ╥AM╠INK-╔NDIRECT-╥┼╒ PARTITION NAME STRING
  131. $100  32  INITIAL/HOME WORKING DIRECTORY ("A:")
  132. $120  32  USER-DEFINABLE KEYMATRIX-TABLE FILE, OR NULL ("")
  133. $140  64  DEFAULT SHELL EXECUTABLE-SEARCH-PATH STRING ("Z:","A:",".:","B:"...)
  134. $180  64  CONFIGURATION FILE .XXXRC SEARCH PATH ("Z:", "A:", ".:")
  135. $1├0  32  TEMPORARY DIRECTORY NAME (".:")
  136. $1┼0  32  NAME OF CHARACTERSET TO LOAD ON BOOTUP ("ACECHR-COMMODORE")
  137. $200   0  -┼╬─-
  138.  
  139. 5. ├╚┴╥┴├╘┼╥-╙┼╘ ╞╔╠┼ ╞╧╥═┴╘
  140.  
  141. ├HARACTER SETS ARE STORED IN A CUSTOM FORMAT: A 16-BYTE HEADER FOLLOWED BY A
  142. 32-BYTE SPECIAL-CHARACTER PALETTE FOLLOWED BY A 2048-BYTE 8-BIT-WIDE
  143. CHARACTERSET FOLLOWED BY A 2048-BYTE 4-BIT-WIDE CHARACTERSET.  ╘HE BEST WAY
  144. TO EDIT THIS FILE IS WITH A MACHINE-LANGUAGE MONITOR.  ╔ CAN'T REMEMBER THE
  145. EXACT FORMAT OF THE HEADER RIGHT NOW, SO ╔'LL SAVE THAT UNTIL NEXT TIME.
  146. ╘HE CHARACTER PALETTE POINTS TO THE CHARACTERS THAT WILL BE USED FOR THE
  147. CODES $80 TO $9F IN THE FOLLOWING DISPLAYABLE CHARACTER SET (├OMMODORE+╔╙╧):
  148.  
  149.           ├RAIG'S ╚ANDY ┴├┼ ╨┼╘╙├╔╔ ╧╒╘╨╒╘ ╟UIDE (INCLUDING ╔╙╧-8859-1)
  150.  
  151.   0/00 ___RVS_@___   64/40 _____@_____  128/80 __BULLET___  192/C0 _____└_____
  152.   1/01 ___RVS_A___   65/41 _____A_____  129/81 __V_LINE___  193/C1 _____┴_____
  153.   2/02 ___RVS_B___   66/42 _____B_____  130/82 __H_LINE___  194/C2 _____┬_____
  154.   3/03 ___RVS_C___   67/43 _____C_____  131/83 ___CROSS___  195/C3 _____├_____
  155.   4/04 ___RVS_D___   68/44 _____D_____  132/84 _TL_CORNER_  196/C4 _____─_____
  156.   5/05 ___RVS_E___   69/45 _____E_____  133/85 _TR_CORNER_  197/C5 _____┼_____
  157.   6/06 ___RVS_F___   70/46 _____F_____  134/86 _BL_CORNER_  198/C6 _____╞_____
  158.   7/07 _┬┼╠/RVS_G_   71/47 _____G_____  135/87 _BR_CORNER_  199/C7 _____╟_____
  159.   8/08 ___RVS_H___   72/48 _____H_____  136/88 ___L_TEE___  200/C8 _____╚_____
  160.   9/09 _╘┴┬/RVS_I_   73/49 _____I_____  137/89 ___R_TEE___  201/C9 _____╔_____
  161.  10/0A _┬╧╠/RVS_J_   74/4A _____J_____  138/8A ___T_TEE___  202/CA _____╩_____
  162.  11/0B ___RVS_K___   75/4B _____K_____  139/8B ___B_TEE___  203/CB _____╦_____
  163.  12/0C ___RVS_L___   76/4C _____L_____  140/8C ___HEART___  204/CC _____╠_____
  164.  13/0D _├╥_/RVS_M_   77/4D _____M_____  141/8D __DIAMOND__  205/CD _____═_____
  165.  14/0E ___RVS_N___   78/4E _____N_____  142/8E ___CLUB____  206/CE _____╬_____
  166.  15/0F ___RVS_O___   79/4F _____O_____  143/8F ___SPADE___  207/CF _____╧_____
  167.  16/10 ___RVS_P___   80/50 _____P_____  144/90 _S_CIRCLE__  208/D0 _____╨_____
  168.  17/11 _╓╘_/RVS_Q_   81/51 _____Q_____  145/91 __CIRCLE___  209/D1 _____╤_____
  169.  18/12 ___RVS_R___   82/52 _____R_____  146/92 _CHECKMARK_  210/D2 _____╥_____
  170.  19/13 ___RVS_S___   83/53 _____S_____  147/93 _├╠╙/POUND_  211/D3 _____╙_____
  171.  20/14 _┬╙_/RVS_T_   84/54 _____T_____  148/94 ____PI_____  212/D4 _____╘_____
  172.  21/15 ___RVS_U___   85/55 _____U_____  149/95 ____+/-____  213/D5 _____╒_____
  173.  22/16 ___RVS_V___   86/56 _____V_____  150/96 __DIVIDE___  214/D6 _____╓_____
  174.  23/17 ___RVS_W___   87/57 _____W_____  151/97 __DEGREE___  215/D7 _____╫_____
  175.  24/18 ___RVS_X___   88/58 _____X_____  152/98 _C_CHECKER_  216/D8 _____╪_____
  176.  25/19 ___RVS_Y___   89/59 _____Y_____  153/99 _F_CHECKER_  217/D9 _____┘_____
  177.  26/1A ___RVS_Z___   90/5A _____Z_____  154/9A _SOLID_SQ__  218/DA _____┌_____
  178.  27/1B ___RVS_[___   91/5B _____[_____  155/9B __CR_CHAR__  219/DB _____█_____
  179.  28/1C ___RVS_\___   92/5C _____\_____  156/9C _UP_ARROW__  220/DC _____▄_____
  180.  29/1D ___RVS_]___   93/5D _____]_____  157/9D _DOWN_ARRO_  221/DD _____▌_____
  181.  30/1E ___RVS_^___   94/5E _____^_____  158/9E _LEFT_ARRO_  222/DE _____▐_____
  182.  31/1F _RVS_UNDER_   95/5F _╒╬─┼╥╠╔╬┼_  159/9F _RIGHT_ARR_  223/DF ___╚╧╒╙┼___
  183.  32/20 ___╙╨┴├┼___   96/60 _┴└_GRAVE__  160/A0 _REQ SPACE_  224/E0 _A└_GRAVE__
  184.  33/21 _____!_____   97/61 _┴'_ACUTE__  161/A1 _!_INVERTD_  225/E1 _A'_ACUTE__
  185.  34/22 _____"_____   98/62 _┴^_CIRCUM_  162/A2 ___CENT____  226/E2 _A^_CIRCUM_
  186.  35/23 _____#_____   99/63 _┴▐_TILDE__  163/A3 ___POUND___  227/E3 _A▐_TILDE__
  187.  36/24 _____$_____  100/64 _┴"_DIERES_  164/A4 __CURRENCY_  228/E4 _A"_DIERES_
  188.  37/25 _____%_____  101/65 _┴__RING___  165/A5 ____YEN____  229/E5 _A__RING___
  189.  38/26 _____&_____  102/66 _┴┼________  166/A6 _▄_BROKEN__  230/E6 _AE________
  190.  39/27 _____'_____  103/67 _├,CEDILLA_  167/A7 __SECTION__  231/E7 _C,CEDILLA_
  191.  40/28 _____(_____  104/68 _┼└_GRAVE__  168/A8 __UMULAUT__  232/E8 _E└_GRAVE__
  192.  41/29 _____)_____  105/69 _┼'_ACUTE__  169/A9 _COPYRIGHT_  233/E9 _E'_ACUTE__
  193.  42/2A _____*_____  106/6A _┼^_CIRCUM_  170/AA __FEM_ORD__  234/EA _E^_CIRCUM_
  194.  43/2B _____+_____  107/6B _┼"_DIERES_  171/AB _L_ANG_QUO_  235/EB _E"_DIERES_
  195.  44/2C _____,_____  108/6C _╔└_GRAVE__  172/AC ____NOT____  236/EC _I└_GRAVE__
  196.  45/2D _____-_____  109/6D _╔'_ACUTE__  173/AD _SYL_HYPHN_  237/ED _I'_ACUTE__
  197.  46/2E _____._____  110/6E _╔^_CIRCUM_  174/AE _REGISTERD_  238/EE _I^_CIRCUM_
  198.  47/2F _____/_____  111/6F _╔"_DIERES_  175/AF _OVERLINE__  239/EF _I"_DIERES_
  199.  48/30 _____0_____  112/70 _─-_┼TH_LR_  176/B0 __DEGREES__  240/F0 _O^X_┼TH_S_
  200.  49/31 _____1_____  113/71 _╬▐_TILDE__  177/B1 ____+/-____  241/F1 _N▐_TILDA__
  201.  50/32 _____2_____  114/72 _╧└_GRAVE__  178/B2 _2_SUPERSC_  242/F2 _O└_GRAVE__
  202.  51/33 _____3_____  115/73 _╧'_ACUTE__  179/B3 _3_SUPERSC_  243/F3 _O'_ACUTE__
  203.  52/34 _____4_____  116/74 _╧^_CIRCUM_  180/B4 ___ACUTE___  244/F4 _O^_CIRCUM_
  204.  53/35 _____5_____  117/75 _╧▐_TILDE__  181/B5 ____MU_____  245/F5 _O▐_TILDE__
  205.  54/36 _____6_____  118/76 _╧"_DIERES_  182/B6 _PARAGRAPH_  246/F6 _O"_DIERES_
  206.  55/37 _____7_____  119/77 __MULTIPLY_  183/B7 __MID_DOT__  247/F7 __DIVIDE___
  207.  56/38 _____8_____  120/78 _╧/_SLASH__  184/B8 __CEDILLA__  248/F8 _O/_SLASH__
  208.  57/39 _____9_____  121/79 _╒└_GRAVE__  185/B9 _1_SUPERSC_  249/F9 _U└_GRAVE__
  209.  58/3A _____:_____  122/7A _╒'_ACUTE__  186/BA __MAS_ORD__  250/FA _U'_ACUTE__
  210.  59/3B _____;_____  123/7B _╒^_CIRCUM_  187/BB _R_ANG_QUO_  251/FB _U^_CIRCUM_
  211.  60/3C _____<_____  124/7C _╒"_DIERES_  188/BC ____1/4____  252/FC _U"_DIERES_
  212.  61/3D _____=_____  125/7D _┘'_ACUTE__  189/BD ____1/2____  253/FD _Y'_ACUTE__
  213.  62/3E _____>_____  126/7E _CAP_THORN_  190/BE ____3/4____  254/FE _SM_THORN__
  214.  63/3F _____?_____  127/7F _┼S-SED_┬__  191/BF _?_INVERTD_  255/FF _Y"_DIERES_
  215.  
  216. ╘HE IMAGES OF THE CHARACTERS IN THE CHARACTERSETS EACH TAKE UP EIGHTY BYTES
  217. AND ARE ORDERED AS IN THE TABLE ABOVE.  ╘HE 8-BIT-WIDE IS IN THE REGULAR
  218. FORMAT, AND THE FOUR-BIT-WIDE IMAGES ARE ARRANGED AS TWO IMAGES OF EACH
  219. CHARACTER IN THE UPPER AND LOWER NYBBLES OF THE EIGHT BYTES USED TO ENCODE
  220. THEM.
  221.  
  222. 6. ╦┼┘═┴╘╥╔╪ ╞╔╠┼ ╞╧╥═┴╘
  223.  
  224. ╘HE KEYMATRIX FILE FORMAT IS SIMPLY CONCATENATION OF SEVEN ARRAYS OF 88
  225. BYTES EACH.  ╘HE 88-BYTE ARRAYS CONTAIN THE CHARACTER CODES TO GENERATE FOR
  226. WHEN A USER PRESSED ONE OF THE FOLLOWING PHYSICAL KEYS:
  227.  
  228.     \                           ├╧╠╒═╬╙:
  229. ╥╧╫╙:\
  230.       \    0       1       2       3       4       5       6       7
  231.        +-------+-------+-------+-------+-------+-------+-------+-------+ CODE
  232.    0   ▄ ─┼╠┼╘┼▄ ╥┼╘╒╥╬▄ ╥╔╟╚╘ ▄  ╞7   ▄  ╞1   ▄  ╞3   ▄  ╞5   ▄ ─╧╫╬  ▄ (0)
  233.        +-------+-------+-------+-------+-------+-------+-------+-------+
  234.    1   ▄   3   ▄   ╫   ▄   ┴   ▄   4   ▄   ┌   ▄   ╙   ▄   ┼   ▄╠-╙╚╔╞╘▄ (8)
  235.        +-------+-------+-------+-------+-------+-------+-------+-------+
  236.    2   ▄   5   ▄   ╥   ▄   ─   ▄   6   ▄   ├   ▄   ╞   ▄   ╘   ▄   ╪   ▄ (16)
  237.        +-------+-------+-------+-------+-------+-------+-------+-------+
  238.    3   ▄   7   ▄   ┘   ▄   ╟   ▄   8   ▄   ┬   ▄   ╚   ▄   ╒   ▄   ╓   ▄ (24)
  239.        +-------+-------+-------+-------+-------+-------+-------+-------+
  240.    4   ▄   9   ▄   ╔   ▄   ╩   ▄   0   ▄   ═   ▄   ╦   ▄   ╧   ▄   ╬   ▄ (32)
  241.        +-------+-------+-------+-------+-------+-------+-------+-------+
  242.    5   ▄   +   ▄   ╨   ▄   ╠   ▄   -   ▄   .   ▄   :   ▄   @   ▄   ,   ▄ (40)
  243.        +-------+-------+-------+-------+-------+-------+-------+-------+
  244.    6   ▄   \   ▄   *   ▄   ;   ▄ ╚╧═┼  ▄╥-╙╚╔╞╘▄   =   ▄   ^   ▄   /   ▄ (48)
  245.        +-------+-------+-------+-------+-------+-------+-------+-------+
  246.    7   ▄   1   ▄   _   ▄├╧╬╘╥╧╠▄   2   ▄ ╙╨┴├┼ ▄├╧══╧─╥▄   ╤   ▄ ╙╘╧╨  ▄ (56)
  247.        +-------+-------+-------+-------+-------+-------+-------+-------+
  248.    8   ▄ ╚┼╠╨  ▄   8   ▄   5   ▄  ╘┴┬  ▄   2   ▄   4   ▄   7   ▄   1   ▄ (64)
  249.        +-------+-------+-------+-------+-------+-------+-------+-------+
  250.    9   ▄  ┼╙├  ▄   +   ▄   -   ▄  ╠╞   ▄ ┼╬╘┼╥ ▄   6   ▄   9   ▄   3   ▄ (72)
  251.        +-------+-------+-------+-------+-------+-------+-------+-------+
  252.   10   ▄  ┴╠╘  ▄   0   ▄   .   ▄  ╒╨   ▄ ─╧╫╬  ▄ ╠┼╞╘  ▄ ╥╔╟╚╘ ▄╬╧-╙├╥╠▄ (80)
  253.        +-------+-------+-------+-------+-------+-------+-------+-------+
  254.  
  255. ╬OTE THAT THE ├128'S KEYBOARD HAS ALL ELEVEN ROWS (0-10) WHEREAS THE ├64'S
  256. KEYBOARD ONLY HAS THE FIRST EIGHT (0-7).  ╘HE ENTIRES WITH $00 MEAN THAT
  257. PRESSING THE ASSOCIATED KEY DOES NOTHING.  ╘HERE ARE MULTIPLE KEY MATRICES
  258. TO PRODUCE THE CODES FOR USE WITH VARIOUS "SHIFT" KEYS.  ╘HE ORDER OF THE
  259. SEVEN KEY MATRICES IS:
  260.  
  261.     1. ╬ORMAL (UNSHIFTED)
  262.     2. ╙HIFT
  263.     3. ├OMMODORE
  264.     4. ├ONTROL
  265.     5. ┴LTERNATE
  266.     6. ├APS╠OCK
  267.     7. ╙HIFT+├OMMODORE
  268.  
  269. ╘HE CHARACTER CODES GENERATED SHOULD CORRESPOND TO THE FOLLOWING TABLE:
  270.  
  271.                 ├RAIG'S ╚ANDY ┴├┼ ╨┼╘╙├╔╔ ╔╬╨╒╘ ╟UIDE (╔╙╧-8859-1)
  272.  
  273.   0/00 __<NONE>___   64/40 _____@_____  128/80 ___├T-╞1___  192/C0 __╙H-*__└__
  274.   1/01 _├T-╥┼╘╒╥╬_   65/41 _____A_____  129/81 ___├O-1____  193/C1 _____┴_____
  275.   2/02 __╙H-╘┴┬___   66/42 _____B_____  130/82 ___├T-╞3___  194/C2 _____┬_____
  276.   3/03 ___╙╘╧╨____   67/43 _____C_____  131/83 __╙H-╙╘╧╨__  195/C3 _____├_____
  277.   4/04 ___╚┼╠╨____   68/44 _____D_____  132/84 __╙H-╚┼╠╨__  196/C4 _____─_____
  278.   5/05 ___├T-2____   69/45 _____E_____  133/85 ____╞1_____  197/C5 _____┼_____
  279.   6/06 __╙H-╠┼╞╘__   70/46 _____F_____  134/86 ____╞3_____  198/C6 _____╞_____
  280.   7/07 ___╙H-╠╞___   71/47 _____G_____  135/87 ____╞5_____  199/C7 _____╟_____
  281.   8/08 __├O-─┼╠___   72/48 _____H_____  136/88 ____╞7_____  200/C8 _____╚_____
  282.   9/09 ____╘┴┬____   73/49 _____I_____  137/89 ____╞2_____  201/C9 _____╔_____
  283.  10/0A _╠╔╬┼╞┼┼─__   74/4A _____J_____  138/8A ____╞4_____  202/CA _____╩_____
  284.  11/0B _╙H-╥╔╟╚╘__   75/4B _____K_____  139/8B ____╞6_____  203/CB _____╦_____
  285.  12/0C ___├O-╒╨___   76/4C _____L_____  140/8C ____╞8_____  204/CC _____╠_____
  286.  13/0D __╥┼╘╒╥╬___   77/4D _____M_____  141/8D _╙H-╥┼╘╒╥╬_  205/CD _____═_____
  287.  14/0E _╙H-┼╙├┴╨┼_   78/4E _____N_____  142/8E ___├T-╞5___  206/CE _____╬_____
  288.  15/0F __├O-─╧╫╬__   79/4F _____O_____  143/8F ___├T-╞7___  207/CF _____╧_____
  289.  16/10 __├O-╠┼╞╘__   80/50 _____P_____  144/90 ___├T-1____  208/D0 _____╨_____
  290.  17/11 ___─╧╫╬____   81/51 _____Q_____  145/91 ____╒╨_____  209/D1 _____╤_____
  291.  18/12 ____╥╓╙____   82/52 _____R_____  146/92 __╥╓╙-╧╞╞__  210/D2 _____╥_____
  292.  19/13 ___╚╧═┼____   83/53 _____S_____  147/93 ____├╠╥____  211/D3 _____╙_____
  293.  20/14 ____─┼╠____   84/54 _____T_____  148/94 ___╔╬╙╘____  212/D4 _____╘_____
  294.  21/15 _├O-╥╔╟╚╘__   85/55 _____U_____  149/95 ___├O-2____  213/D5 _____╒_____
  295.  22/16 ___├T-╒╨___   86/56 _____V_____  150/96 ___├O-3____  214/D6 _____╓_____
  296.  23/17 __├T-─╧╫╬__   87/57 _____W_____  151/97 ___├O-4____  215/D7 _____╫_____
  297.  24/18 __├T-╘┴┬___   88/58 _____X_____  152/98 ___├O-5____  216/D8 _____╪_____
  298.  25/19 __├T-╠┼╞╘__   89/59 _____Y_____  153/99 ___├O-6____  217/D9 _____┘_____
  299.  26/1A _├T-╥╔╟╚╘__   90/5A _____Z_____  154/9A ___├O-7____  218/DA _____┌_____
  300.  27/1B ____┼╙├____   91/5B _____[_____  155/9B ___├O-8____  219/DB __╙H-+__█__
  301.  28/1C ___├T-3____   92/5C _____\_____  156/9C ___├T-5____  220/DC __╙H-\__▄__
  302.  29/1D ___╥╔╟╚╘___   93/5D _____]_____  157/9D ___╠┼╞╘____  221/DD __╙H--__▌__
  303.  30/1E ___├T-6____   94/5E _____^_____  158/9E ___├T-8____  222/DE __╙H-^__▐__
  304.  31/1F ___├T-7____   95/5F _┬┴├╦┴╥╥╧╫_  159/9F ___├T-4____  223/DF _╙H-┬┴├╦┴╥_
  305.  32/20 ___╙╨┴├┼___   96/60 ___┴LT-@___  160/A0 __├OMM-@___  224/E0 __├TRL-@___
  306.  33/21 _____!_____   97/61 ___┴LT-┴___  161/A1 __├OMM-┴___  225/E1 __├TRL-┴___
  307.  34/22 _____"_____   98/62 ___┴LT-┬___  162/A2 __├OMM-┬___  226/E2 __├TRL-┬___
  308.  35/23 _____#_____   99/63 ___┴LT-├___  163/A3 __├OMM-├___  227/E3 __├TRL-├___
  309.  36/24 _____$_____  100/64 ___┴LT-─___  164/A4 __├OMM-─___  228/E4 __├TRL-─___
  310.  37/25 _____%_____  101/65 ___┴LT-┼___  165/A5 __├OMM-┼___  229/E5 __├TRL-┼___
  311.  38/26 _____&_____  102/66 ___┴LT-╞___  166/A6 __├OMM-╞___  230/E6 __├TRL-╞___
  312.  39/27 _____'_____  103/67 ___┴LT-╟___  167/A7 __├OMM-╟___  231/E7 __├TRL-╟___
  313.  40/28 _____(_____  104/68 ___┴LT-╚___  168/A8 __├OMM-╚___  232/E8 __├TRL-╚___
  314.  41/29 _____)_____  105/69 ___┴LT-╔___  169/A9 __├OMM-╔___  233/E9 __├TRL-╔___
  315.  42/2A _____*_____  106/6A ___┴LT-╩___  170/AA __├OMM-╩___  234/EA __├TRL-╩___
  316.  43/2B _____+_____  107/6B ___┴LT-╦___  171/AB __├OMM-╦___  235/EB __├TRL-╦___
  317.  44/2C _____,_____  108/6C ___┴LT-╠___  172/AC __├OMM-╠___  236/EC __├TRL-╠___
  318.  45/2D _____-_____  109/6D ___┴LT-═___  173/AD __├OMM-═___  237/ED __├TRL-═___
  319.  46/2E _____._____  110/6E ___┴LT-╬___  174/AE __├OMM-╬___  238/EE __├TRL-╬___
  320.  47/2F _____/_____  111/6F ___┴LT-╧___  175/AF __├OMM-╧___  239/EF __├TRL-╧___
  321.  48/30 _____0_____  112/70 ___┴LT-╨___  176/B0 __├OMM-╨___  240/F0 __├TRL-╨___
  322.  49/31 _____1_____  113/71 ___┴LT-╤___  177/B1 __├OMM-╤___  241/F1 __├TRL-╤___
  323.  50/32 _____2_____  114/72 ___┴LT-╥___  178/B2 __├OMM-╥___  242/F2 __├TRL-╥___
  324.  51/33 _____3_____  115/73 ___┴LT-╙___  179/B3 __├OMM-╙___  243/F3 __├TRL-╙___
  325.  52/34 _____4_____  116/74 ___┴LT-╘___  180/B4 __├OMM-╘___  244/F4 __├TRL-╘___
  326.  53/35 _____5_____  117/75 ___┴LT-╒___  181/B5 __├OMM-╒___  245/F5 __├TRL-╒___
  327.  54/36 _____6_____  118/76 ___┴LT-╓___  182/B6 __├OMM-╓___  246/F6 __├TRL-╓___
  328.  55/37 _____7_____  119/77 ___┴LT-╫___  183/B7 __├OMM-╫___  247/F7 __├TRL-╫___
  329.  56/38 _____8_____  120/78 ___┴LT-╪___  184/B8 __├OMM-╪___  248/F8 __├TRL-╪___
  330.  57/39 _____9_____  121/79 ___┴LT-┘___  185/B9 __├OMM-┘___  249/F9 __├TRL-┘___
  331.  58/3A _____:_____  122/7A ___┴LT-┌___  186/BA __├OMM-┌___  250/FA __├TRL-┌___
  332.  59/3B _____;_____  123/7B ___┴LT-[___  187/BB __├OMM-[___  251/FB __├TRL-[___
  333.  60/3C _____<_____  124/7C ___┴LT-\___  188/BC __├OMM-\___  252/FC __├TRL-\___
  334.  61/3D _____=_____  125/7D ___┴LT-]___  189/BD __├OMM-]___  253/FD __├TRL-]___
  335.  62/3E _____>_____  126/7E ___┴LT-^___  190/BE __├OMM-^___  254/FE __├TRL-^___
  336.  63/3F _____?_____  127/7F _┴LT-┬┴╦┴╥_  191/BF _├OMM-┬╦┴╥_  255/FF _├TRL-┬╦┴╥_
  337.  
  338. 7. ╓┬═ ╞╔╠┼ ╞╧╥═┴╘
  339.  
  340. ╘HERE ARE TWO ╓┬═ FILE FORMATS IN EXISTENCE: ╓ERSION #2 AND ╓ERSION #3.  ╞OR
  341. ╓ERSION #3, THERE ARE TWO VARIATIONS AVAILABLE: ├OMPRESSED AND ╒NCOMPRESSED.
  342. ┴LL ╓┬═ FILES BEGIN WITH THE FOLLOWING THREE-BYTE IDENTIFIER: $42, $4D, $CB.
  343. ╘HIS IS FOLLOWED BY THE VERSION NUMBER, EITHER $02 OR $03, FOLLOWED BY THE
  344. IMAGE WIDTH AND HEIGHT, EACH ENCODED IN 16 BITS IN HIGH/LOW ORDER.
  345.  
  346. ╞OR ╓ERSION #2 IMAGES, THE IMAGE DATA FOLLOWS, BUT ╓ERSION #3 IMAGES HAVE
  347. MORE HEADER INFORMATION: FIVE BYTES FOR THE COMPRESSION-ENCODING META DATA
  348. FOLLOWED BY A TWO $00 BYTES (RESERVED), FOLLOWED BY A 16-BIT HIGH/LOW FIELD
  349. GIVING TELLING THE LENGTH OF THE COMMENT BLOCK, FOLLOWED BY UP TO 64╦ OF
  350. COMMENT TEXT (IN ╨┼╘╙├╔╔), FOLLOWED BY THE IMAGE DATA.  ╔F THE IMAGE IS
  351. COMPRESSED, THEN THE COMPRESSION-ENCODING META DATA IS: THE REPEAT CODE
  352. (USUALLY $╪╪: FOR CODING REPETITIONS OF ANY ARBITRARY IMAGE BYTE), THE ZERO
  353. CODE (USUALLY $╪╪, FOR CODING THREE OR MORE REPETITIONS OF THE IMAGE-BYTE
  354. $00), THE ... OH NEVER MIND.  ╔'LL FILL THIS IN NEXT TIME.  ┘OU CAN EXAMINE
  355. THE ├ PROGRAM TO SEE HOW THE IMAGES ARE ENCODED.
  356.  
  357. 8. ├╧╬├╠╒╙╔╧╬
  358.  
  359. ├OOL EH?
  360. ------------------------------------------------------------------------┼╬─---
  361.  
  362.