read_mode7_text
Capture the MODE 7 screen as text rows. Control non-printable byte rendering: spaces, question marks, or escape sequences.
Instructions
Capture the MODE 7 screen as 25 rows of teletext text.
controls selects how non-printable bytes render:
"space" (default): single space, every row stays exactly 40 characters wide. Best for substring assertions and any caller that indexes into rows by column.
"question": single
?, every row stays exactly 40 characters wide. Useful when callers want non-printable cells visually distinct without decoding the byte value."escape": four-character
\xNNescape per non-printable byte. Row widths become variable; use when callers need the original byte value preserved in the decoded string.
JSON callers send these as the literal strings; Pydantic
coerces them to Mode7Controls members before this function
runs, and rejects unknown values at the wire boundary.
Returns both the raw row list and a \n-joined single string
so callers can use whichever view they prefer.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| controls | No | space | |
| session_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||