-READ ME  SN25 ASM CLS ASM! `@CLS COM*@_CLS24 COM+%RULE COM,4R This RULE25.LBR file contains RULE.COM, CLS.COM, CLS.ASM, CLS24.COM, and 25.ASM. RULE.COM will put a column rule, in reverse video, on the 25th line of video-able Kaypros. It will stay there through whatever programs you run, and it is quite handy when running such programs as VDO, PERFECT WRITER, or your favorite spreadsheet--in short, anytime you need a visual fix on placing your text or graphics. It is derived from 25.ASM, which is included here. The rule can be erased by invoking CLS.COM, which will also set other video attributes to default. The source for this CLS.COM is Steve Sanders's KP-CLS.ASM, and it is also included. Note that the "clear" section can be edited to do selective clearing functions. For example, CLS24.COM, also derived from CLS.ASM, and included here, clears the screen of everything BUT the 25th line. That tidies everything up neatly but leaves the rule in for the next job. With a submit file, to wit: RULE PROGRAM CLS you can set up the rule, run the program, and then automatically clear the screen. None of the above .com programs takes up much space; they should fit economically aboard your hard disk or the floppy that contains your editing files. - Irv Block October 10, 1985 ning such programs as VDO, PERFECT WRITER, or your favorite spreadsheet--in short, anytime you need a visual fix on p;This program has been adapted from John C. Smith's VDO-KPSL.ASM ;by the simple expedient of stripping out his message of VDO ;functions and allowing you to substitute your own message. ; ;The program will write the 25th line with any message you ;insert. Very handy for cues to specific function keys for ;certain programs--you can have a differently-named version for ;various programs, i.e, Wordstar, Perfect Writer, VDO, ;spreadsheets, etc. ;To clear the 25th line (it stays there once installed) you must ;use CLS.COM. An effective CLS.COM can be prepared with GTXT.COM ;or TXT.COM. Simply put the following line between the '@' and ;the '?': ; ^Z^[bd^[B7 ;and then write it to a file you name CLS.COM. ; (NOTE: The characters beginning with '^' above should be ; REAL control characters (the above are not). Use the ; "CTL-Q" facility in Perfect Writer. I'm not sure what the ; equivalent protocol is in Wordstar or other word ; processors.) ;Thus, with a SUBMIT or EX file, you can bring up the ;appropriate 25th line, run the program, and automatically clear ;the screen and line when you're through. ; ; - Irv Block ; 7/11/85 ;---------------------------------------------------------------- ; equates bdos equ 5 ;CP/M's BDOS entry point esc equ 1bh ;ESCape for Kaypro video sequences org 100h ;CP/M's program area start: lxi h,0 ;save CP/M's stack by adding it dad sp ;to the stack pointer and shld cpmstk ;storing it in a safe place lxi sp,stack+20 ;to generate a new stack for use ;by this program lxi d,msg ;point at message mvi c,9 ;print string function call bdos ;do it lhld cpmstk ;get the old stack back sphl ;switch into stack pointer ret ;and return to CP/M ; The command line message: msg: db esc,'B6' ;save cursor position db esc,'B7' ;enable 25th line db esc,'=8 ' ;position cursor to 25,0 ; the following are the actual labels to be written to the ; 25th line - edit them to suit your VDO.KEY def format db esc,'B0' ;inverse video on db esc,'B1' ;dim video on db 'THIS IS THE 25TH LINE - PUT YOUR MESSAGE HERE' db esc,'C0' ;inverse video off db esc,'C1' ;dim video off db esc,'C6' ;recall cursor position db '$' ;end of msg cpmstk dw 0 ;old stack saved here ds 20 ;stack grows down stack equ $ ; ds must be BEFORE label stack end ;that's all folks ave CP/M's stack by adding it dad sp ;to the stack pointer and shld * kp-cls.asm * clear screen/25th line/restore cursor - for video-able kaypros * also toggles all video attributes OFF (defaults) * v1.0 24-Oct-84 * v1.1 05-Jul-85 Added stack save/restore code * Steve Sanders * Tampa Bay Kaypro Users Group * DataCOM NETWORK System #1 (813) 937-3608 300/1200/2400 bps bdos equ 5 printf equ 9 esc equ 1bh org 100h begin: lxi h,0 ;save old stack dad sp shld cpmstk ;store it in a safe place lxi sp,stack+5 ;generate new stack mvi c,printf ;print string command lxi d,clear ;point to message call bdos ;and do it lhld cpmstk ;get old stack sphl ;switch into stack pointer ret ;and exit 'cleanly' to CP/M ; following console msg will reset all attributes to default clear: db esc,'B4' ;ESCape, cursor ON (if OFF) db esc,'C0' ;inverse video OFF db esc,'C1' ;half intensity OFF db esc,'C2' ;blinking OFF db esc,'C3' ;underlining OFF db esc,'C7' ;disable status line before 1ah db 1ah ;and clear whole screen/home cursor db '$' ;thats all folks cpmstk dw 0 ;old stack saved here ds 5 stack equ $ end !9"+17 *+B4C0C1C2C3C7$!9"(14 *(B4C0C1C2C3$!9"1 *B6B7=8 B0B1L---|----1----|----2----|----3----|----4----|----5----|----6----|----7----|----RC0C1C6$