WM.RNAME & WM.ENAME - Vectors $68 & $6C

These vectors allow a string to be edited.

Call parametersReturn parameters
D1.W D1.WTerminating character
A0.LChannel IDA0.LPreserved
A1.LPointer to bufferA1.LPreserved
Any I/O subsystem errors
  • All registers not mentioned above are preserved.
  • A0.L contains the ID of the window in which the editing occurs.
  • A1.L points to the buffer holding the string to be edited. This buffer must be large enough to contain the maximum size of string plus one.
  • The string is printed at the current position of the cursor in the window. The space from here to the end of the line is available for the editing. The string must be printable in that space. If the string is too large a buffer full error is shown.
  • When the string is printed to the window a cursor appears. For WM.RNAME this is at the start of the string and for WM.ENAME it is at the end. In both cases the string can be edited. In addition, for WM.RNAME, if the first character typed is SPACE, the string is cleared.
  • The terminating character can be any of ENTER, ESC and the UP and DOWN arrows. This character is set in D1.W.
  • The condition codes are set as follows:
    • For errors - negative
    • For ENTER - zero
    • For ESC and UP and DOWN arrows - positive
  • qdosmsq/pe/vectors/rname.txt
  • Last modified: 2010/07/18 15:34
  • by george.gwilt