h6. [[Programmer's Reference Manuals]] h6(. » [[Vectors]] h6((. » [[Software Vector Numbers]] h6(((. » RemV h2. Remove Vector (21) |_<^{width:3em}. Entry |<^. | |<^. R1 |<^. [[Buffer Numbers|Buffer number]] plus flags: | |<^. |<^. b31 _clear_ for *Single Removal*, _set_ for *Block Mode* | |<^. |<^. b30 used by the "DeepKeys":http://deepkeys.20000.org extension | h4. Single Removal (R1b31 clear) |_<^{width:3em}. Entry |<^. | |<^. R1 |<^. [[Buffer Numbers|Buffer number]], b31 _clear_ | |<^. R9 |<^. 21 (&15) vector number | |\2<^. V flag is set if buffer to be examined only, or clear to remove a value | |_<^{width:3em}. Exit |<^. | |<^. R0|<^. Next value to be removed (examine option), or "corrupted" (remove option) | |<^. R1|<^. Preserved | |<^. R2|<^. Value removed (remove option), or "corrupted" (examine operation) | |\2<^. C flag set if buffer was empty on entry | To work around historical keyboard handling bugs, the Kernel always returns the same value in R0 and R2 for its buffers if C is clear. [[BufferManager]] does not match this sensible behaviour. h4. Block Mode (R1b31 set) |_<^{width:3em}. Entry |<^. | |<^. R1 |<^. [[Buffer Numbers|Buffer number]], b31 _set_ | |<^. R2 |<^. Pointer to block to be filled | |<^. R3 |<^. Number of bytes to place into block | |<^. R9 |<^. 21 (&15) vector number | |\2<^. V flag is set if buffer to be examined only, or 0 if data should be removed | |_<^{width:3em}. Exit |<^. | |<^. R0|<^. Preserved| |<^. R1|<^. Preserved| |<^. R2|<^. Pointer to updated buffer position | |<^. R3|<^. Number of bytes still be to be removed| |\2<^. C flag set if buffer was empty on entry| h4. Use This vector is called to remove one or more bytes from a buffer. h4. Notes All characters removed from buffers are sent through this vector. Used by [[OS_Byte 145]] and [[OS_Byte 152]]. If called via [[OS_CallAVector]] then interrupts must be disabled first. Note that Block Mode is not supported for all buffer numbers. [[BufferManager]] does support it for the buffers it manages (Serial, Printer, Mouse). h4. See also * [[Buffer Numbers]] * [[OS_CallAVector]] * [[Software Vector Numbers]]