ɜ1SETMRG RMFSETMRG21FORISLM COMSLM20 Z80 9SLMQUIETCOM JSRM COM!LSRM20 Z80$ SL ============ SETMRG21.LBR ============ SLM v2.0 and SRM v2.0 (and SLMQUIET) NOTE: The only advance over v2.0 of this library is the inclusion of SLMQUIET.COM, which is nothing but a version of SLM which does not write a banner or any other text to the console screen. This may be preferred for inclusion in aliases and other shell scripts for aesthetic reasons, but the user should note that, failing a sound from the printer, it may be almost impossible to know whether the program has or has not run. These two programs are for Z80 and HD64180 based computers and daisywheel printers using the Diablo 1610 command set, which includes many popular Brother, Comrex, Dynax, and other models. They set the left and right margins on your printer respectively. They have only one command: SLM n or SRM n where n is a number from 1 to 255. SLM sets a left margin in column n, SRM a right margin in column n. Typing SLM or SRM without a number shows you a program banner and help screen but has no effect on the printer. Margins can be cleared by switching power to the printer off or by setting the left margin to 1 and the right margin to a number larger than the width of your paper. Note that the right margin setting is fairly brutal. It does not wordwrap. It will trim off anything beyond the margin and print it on the next line. The result of setting a right margin to the left of the left margin is also fairly nasty. It doesn't make any difference which order you set the margins in, but make sure the number for SLM is smaller than that for SRM. Fred Haines GLENDALE LITERA RCPM/QBBS Abel Iwaz, Sysop [818] 956-6164 (available on PC Pursuit) The only advance over v2.0 is the inclusion of SLMQUIET.COM, a version of SLM which does not write a banner or any other text to the console screen. SLM and SRM set left and right margins on daisywheel printers using the Diablo 1610 command set, which includes many popular Brother, Comrex, Dynax, and other models. ͤSLM v2.0 - usage:ͤ SLM n set left margin atͤ column n [1-255]>P> P!]}P>P>9P~0ڡ ҡbk)))_zW#Á{ͪ~#    ïï ïyʯ ïyG>GO> <ï> <> < <<<< < <>^<@<O*. KO*._ ; ; PROGRAM: SLM20.Z80 ; AUTHOR: Fred Haines ; PURPOSE: This program sets the left margin on ; printers using the Diablo 1610 command ; set. ; DATE: August 30, 1986 ; This program has only one command, SLM n, where n is a ; column number from 1-255, and it sets a left margin on ; your Diablo 1610 compatible daisywheel printer in that ; column. ; ; general equates bdos equ 05h fcp equ 5dh ; fcb + 1 esc equ 1bh tab equ 09h ; ; external syslib routines ext print ext crlf ext eval10 ext lout ; ; print program banner and help screen call crlf call print db 'SLM v2.0 - usage:',0 call crlf call print db ' SLM n set left margin at',0 call crlf call print db ' column n [1-255]',0 call crlf ; ; send prefix string to printer ld a,esc call lout ld a,tab call lout ; ; get offset, convert, send to printer ld hl,fcp ; point hl at column position call eval10 ; convert to hex, result in a and e call lout ; ; set left margin ld a,esc call lout ld a,'9' call lout ret ; finished ; end  a and e call lout ; ; set left margin ld a,esc call lout ld a,'9' call lout ret ; finished ; en>G> G!]G>G>9G~0D0 Dbk)))_zW#"{O*.VͥSRM v2.0 - usage:ͥ SRM n set right margin atͥ column n [1-255]>Q> Q!]~Q>Q>0Q~0ڢ Ңbk)))_zW#Â{ͫ~#    ðð ðyʰ ðyG>GO> =ð> => = ==== = =>^=@=O*. LO*.` ; ; PROGRAM: SRM20.Z80 ; AUTHOR: Fred Haines ; PURPOSE: This program sets the right margin on ; printers using the Diablo 1610 command set ; DATE: August 30, 1986 ; This program has only one command, SRM n, where n is a ; column number from 1-255, and it sets a right margin on ; your Diablo 1610 compatible daisywheel printer in that ; column. ; ; general equates bdos equ 05h fcp equ 5dh ; fcb + 1 esc equ 1bh tab equ 09h ; ; external syslib routines ext print ext crlf ext eval10 ext lout ; ; print program banner and help screen call crlf call print db 'SRM v2.0 - usage:',0 call crlf call print db ' SRM n set right margin at',0 call crlf call print db ' column n [1-255]',0 call crlf ; ; send prefix string to printer ld a,esc call lout ld a,tab call lout ; ; get offset, convert, send to printer ld hl,fcp ; point hl at column position call eval10 ; convert to hex, result in a and e call lout ; ; set right margin ld a,esc call lout ld a,'0' call lout ret ; finished ; end a and e