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
/
KAYPRO
/
KPRULE25.LBR
/
25.ASM
< prev
next >
Wrap
Assembly Source File
|
2000-06-30
|
3KB
|
84 lines
;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