ABN.ISCAMS%usc-isid@sri-unix.UUCP (03/12/84)
Netlandians, Just downloaded and installed the latest Christensen protocol MODEM program -- MDM727 -- from SIMTEL20. Our author, Irv Hoff, and his compatriots continue to do great work! I particularly wanted to learn how to implement function keys, and sure 'nuff, found the MDM727 implementation was incompatible with my nice (but somewhat limited in some ways) Freedom 100 terminal. The Freedom 100 produces the following code set when a function key (unshifted) is pressed: ^A @ CR for F1 ^A A CR for F2 ... and so on up through ^A I CR for F10 And of course -- they aren't programmable and can't be changed! The following wee little patch to MDM727 (sorry, guys - it's in the guts of the thing, so you gotta download MDM727.ASM. No way I can do this in the overlays!) ... anyway, it fixes it for the Freedom 100 -- and the basic idea should work for you others who have fixed Function Keys. I kind of wonder what happens to the trailing carriage return (0DH) that the Function Keys send. MDM727 grabs the Function Key Intercept Character (changed by M7FNK.COM very nicely, thank you, Sigi Kluger), and then grabs the next character well enough -- and, thanks to my patch, changes it down to a 0..9 scale and sends the appropriate chunk of text associated with that value -- but darned if I know where the CR goes to! It may turn up after a bit of operation by overflowing my stack or trashing the directory or some horrible side-effect - but no sign if it at present! Nope, doesn't seem to be grabbed and sent on in Terminal Mode as the next character either! The key definition, and ONLY the key definition is sent. Any ideas, Sigi or Irv? Regards to all -- hope you can put this to use. David Kirschbaum Toad Hall (ABN.ISCAMS @ USC-ISID) (Incidentally, wonder how I get those @ signs (the Intercept Character for my TAC) through the TAC in a straight text upload into my host text editor? Ho ho, the World Famous Toad Hall TAC Trap, of course!) Toad Hall Patch to MDM724, 10 Mar 84 Changes Function Key implementation from "^0" ASCII through "^9" ASCII to ^A"@" through ^A"I". NOTBKSP:LDA FNKFLG ;get function key active flag ORA A JZ NOF ;if not set yet, exit MOV A,B ;get character cpi '@' ;Freedom 100 for F1 unshifted ; CPI '0' JC NOFNK1 ;ignore invalid key codes cpi 'I'+1 ;Freedom 100 for F10 unshifted ; CPI '9'+1 JNC NOFNK1 ; Just can't get that masking business right. [Toad Hall] sui '@' ;This oughtta make it a zero. ; ANI 0FH ;make 0..9 JMP SENDFK ... and that's it, folks!