home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG036.ARC / UPATCH.ASM < prev    next >
Assembly Source File  |  1979-12-31  |  4KB  |  98 lines

  1. ;UNSPOOL user patch area
  2. ;
  3. ;this file contains an 8080 assembly language listing of the
  4. ;user patchable area of UNSPOOL. it may be used to patch
  5. ;the program for the changes listed below.
  6. ;
  7. ;the patch procedure is as follows:
  8. ;    edit the patch listing as required
  9. ;    assemble it using:    A>ASM UPATCH
  10. ;    install it using:    A>DDT UNSPOOL.COM
  11. ;                -IUPATCH.HEX
  12. ;                -R
  13. ;                -G0
  14. ;                A>SAVE 14 U.COM
  15. ;
  16. ;    u s e r   p a t c h   a r e a
  17. ;
  18. ;the following variables are located here for ease of mod-
  19. ;ification.  they are moved into the resident data area
  20. ;during initialization.  the values may be altered as described
  21. ;in the comment field but must remain in the same order
  22. ;
  23.     org 0180h
  24. usrpat:
  25.     db 011h        ;value of attention char - default is ^Q
  26.             ;(<DC1>) but may be altered as required
  27. ;
  28.     db 0ffh        ;set to 0 if running cp/m 1.4 and your BIOS
  29.             ;has a printer status routine.  this field is
  30.             ;ignored when UNSPOOL runs under cp/m 2.2
  31. ;
  32.     db 0        ;set to 0ffh to have UNSPOOL pause for paper
  33.             ;change on detection of each form feed character
  34. ;
  35.     db 0        ;set to 0ffh to have UNSPOOL trap warm boot
  36.             ;requests and prevent the system from reloading
  37.             ;CP/M 
  38. ;
  39. ;the following variables are used to allow the printing of files which
  40. ;contain esape sequences used to control proportional spacing on daisy
  41. ;wheel printers or graphic mode printing on dot matrix printers.  These
  42. ;files cannot be printed by most print utilities, background or not,
  43. ;since the values within the escape sequences are misinterpreted as
  44. ;control characters.
  45. ;
  46. ;UNSPOOL recognizes the following characters:
  47. ;    <TAB>    09h    spaces to the next multiple of 8 columns
  48. ;    <CR>    0dh    resets the column counter
  49. ;    <FF>    0ch    pauses for paper change if patched above
  50. ;    <SUB>    1ah    cp/m end of file - closes print file
  51. ;
  52. ;using the information patched in below, the program also recognizes
  53. ;the escape sequences for the particular printer and disables the
  54. ;screening for the characters above while each sequence is being
  55. ;transmitted.  The string recognition used is limited but it is only
  56. ;necessary to ensure that strings which may contain the characters above
  57. ;are covered.  The values below vary with the specific printer type.
  58. ;those shown are for the Diable 630 and variations for the NEC 5510/20
  59. ;and Diablo 1610/20 (or NEC5515/25 equivalent) are also given
  60. ;Changes are unnecessary if the program will not be used to print
  61. ;proportionally spaced or graphic output.
  62. ;
  63.     db 1bh        ;<ESC> - daisy escape sequence lead in character
  64.             ;this character starts every escape sequence
  65. ;
  66.     db 1        ;length of default escape sequence.  if the
  67.             ;character following the lead-in does not appear
  68.             ;in the list of 'non-default' characters below
  69.             ;UNSPOOL assumes that the sequence length following
  70.             ;the lead-in is as defined by this byte.  typical
  71.             ;sequence: '<ESC>/' (enable backward printing on
  72.             ;the Diablo 630)
  73. ;
  74.     db 2        ;length of non-default sequence.  see above.  if
  75.             ;the character appears in the 'non-default' list
  76.             ;this is the assumed length of the sequence.  typical
  77.             ;sequence: '<ESC><HT>n' (absolute tab to column n)
  78. ;
  79.     db et - $    ;length of non-default list - do not alter
  80. ;
  81.     db 09h,0bh,0ch    ;Diablo 630 'non-default' character table - these
  82.     db 0dh,0eh,11h    ;characters following the initial lead-in indicate
  83.     db 1ah,1eh,1fh    ;a sequence of the non-default length
  84.     db '.',','
  85. ;
  86. ;    db '@','P','Q'    ;NEC5510/20 non-default character table
  87. ;    db 'R','S','T'
  88. ;    db 'U','X','Y'
  89. ;    db 'Z','[',']'
  90. ;
  91. ;    db 09h,0bh,1eh    ;Diablo 1610/20 and NEC 5515/25 table
  92. ;    db 1fh
  93. ;
  94. et:    db 00        ;end of table sentinel - do not alter
  95. ;
  96. ;
  97.     org 200h    ;ensure table does not overflow this address
  98.