9Bh TL$ZZMD input a filename
Input
A register -  Bit 0 set for multi-line editing, clear for single-line.
Bit 1 set for up/down to exit editor in single-line editing. LZ only.
Bit 7 clear for MODE to exit editor, set if MODE to be ignored.
B register -  Maximum input length.
X register -  Addr of prompt
UTW_S0+1 -  line number for prompt (0-3)
Output B register - key which caused exit.
Carry is set if ON/CLR was pressed.
Description

Typically used to edit a filename, with the MODE key being used to select a pack as in "FIND A:".

TL$ZZMD prints a leading byte count string at X at the line in UTW_S0+1 followed by a space, a device letter 'A' to 'C' and a colon. The system service ED$EDIT is then called to edit a line of text, typically a file name.

ED$EDIT will edit text in the form of a leading count byte string at RTB_BL. The A and B registers are saved at the start of TL$ZZMD and passed to ED$EDIT. The A register will usually be zero, indicating single line editing and that ED$EDIT should exit when the MODE key is pressed. B is the maximum input length.

The device letter is determined by TLB_CPAK. If the MODE key is pressed, the device letter displays the next available pack, and TLB_CPAK is set appropriately.

TL$ZZMD returns when either EXE or ON/CLEAR is pressed. If EXE was pressed to exit from TL$ZZMD, the carry is returned clear. If ON/CLEAR is pressed, the carry is set, but the B register is undefined. On exit the device selected is held in TLB_CPAK.

Note: TL$ZZMD will not work if bit 7 of A is set since this ED$EDIT will not exit when MODE is pressed.

See also TL$XXMD.

Example
example
Errors - none -