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 >
Wrap
Assembly Source File
|
1979-12-31
|
4KB
|
98 lines
;UNSPOOL user patch area
;
;this file contains an 8080 assembly language listing of the
;user patchable area of UNSPOOL. it may be used to patch
;the program for the changes listed below.
;
;the patch procedure is as follows:
; edit the patch listing as required
; assemble it using: A>ASM UPATCH
; install it using: A>DDT UNSPOOL.COM
; -IUPATCH.HEX
; -R
; -G0
; A>SAVE 14 U.COM
;
; u s e r p a t c h a r e a
;
;the following variables are located here for ease of mod-
;ification. they are moved into the resident data area
;during initialization. the values may be altered as described
;in the comment field but must remain in the same order
;
org 0180h
usrpat:
db 011h ;value of attention char - default is ^Q
;(<DC1>) but may be altered as required
;
db 0ffh ;set to 0 if running cp/m 1.4 and your BIOS
;has a printer status routine. this field is
;ignored when UNSPOOL runs under cp/m 2.2
;
db 0 ;set to 0ffh to have UNSPOOL pause for paper
;change on detection of each form feed character
;
db 0 ;set to 0ffh to have UNSPOOL trap warm boot
;requests and prevent the system from reloading
;CP/M
;
;the following variables are used to allow the printing of files which
;contain esape sequences used to control proportional spacing on daisy
;wheel printers or graphic mode printing on dot matrix printers. These
;files cannot be printed by most print utilities, background or not,
;since the values within the escape sequences are misinterpreted as
;control characters.
;
;UNSPOOL recognizes the following characters:
; <TAB> 09h spaces to the next multiple of 8 columns
; <CR> 0dh resets the column counter
; <FF> 0ch pauses for paper change if patched above
; <SUB> 1ah cp/m end of file - closes print file
;
;using the information patched in below, the program also recognizes
;the escape sequences for the particular printer and disables the
;screening for the characters above while each sequence is being
;transmitted. The string recognition used is limited but it is only
;necessary to ensure that strings which may contain the characters above
;are covered. The values below vary with the specific printer type.
;those shown are for the Diable 630 and variations for the NEC 5510/20
;and Diablo 1610/20 (or NEC5515/25 equivalent) are also given
;Changes are unnecessary if the program will not be used to print
;proportionally spaced or graphic output.
;
db 1bh ;<ESC> - daisy escape sequence lead in character
;this character starts every escape sequence
;
db 1 ;length of default escape sequence. if the
;character following the lead-in does not appear
;in the list of 'non-default' characters below
;UNSPOOL assumes that the sequence length following
;the lead-in is as defined by this byte. typical
;sequence: '<ESC>/' (enable backward printing on
;the Diablo 630)
;
db 2 ;length of non-default sequence. see above. if
;the character appears in the 'non-default' list
;this is the assumed length of the sequence. typical
;sequence: '<ESC><HT>n' (absolute tab to column n)
;
db et - $ ;length of non-default list - do not alter
;
db 09h,0bh,0ch ;Diablo 630 'non-default' character table - these
db 0dh,0eh,11h ;characters following the initial lead-in indicate
db 1ah,1eh,1fh ;a sequence of the non-default length
db '.',','
;
; db '@','P','Q' ;NEC5510/20 non-default character table
; db 'R','S','T'
; db 'U','X','Y'
; db 'Z','[',']'
;
; db 09h,0bh,1eh ;Diablo 1610/20 and NEC 5515/25 table
; db 1fh
;
et: db 00 ;end of table sentinel - do not alter
;
;
org 200h ;ensure table does not overflow this address