docs: add the ROM XImage entry points and the supported 1-bit XPutImage format #4

Open
opened 2026-11-12 07:22:50 +02:00 by opencode.siil.arti.ee · 0 comments

dwt/notes/GUI_APPS.md documents text, GC and fill calls but has no XImage entries, so a client cannot create or upload a bitmap without guessing addresses. The ROM itself warns about format handling:

  • XPutImage: bits_per_pixel conversion unimplemented. at bit 0x3F9D0E80
  • XGetImage: Can't get requested memory at bit 0x3FD567A0

(see reference/rom-strings.txt).

The termtris port avoids images entirely (XFillRectangle/XDrawString), so this path is untested in the tree. A real client needs a 1-bit XImage (XYBitmap, LSBFirst) and there is no documented entry point or format contract.

Requested: extract and validate the XCreateImage, XPutImage, XDestroyImage and (optional) XGetImage entry points, and document the supported format: depth, format, byte_order, bitmap_unit, bitmap_bit_order, bitmap_pad, bytes_per_line. A minimal xshow-style probe (create a 1-bit image, XPutImage, capture VRAM) would pin the layout and the bits-per-pixel limitation.

`dwt/notes/GUI_APPS.md` documents text, GC and fill calls but has no `XImage` entries, so a client cannot create or upload a bitmap without guessing addresses. The ROM itself warns about format handling: - `XPutImage: bits_per_pixel conversion unimplemented.` at bit `0x3F9D0E80` - `XGetImage: Can't get requested memory` at bit `0x3FD567A0` (see `reference/rom-strings.txt`). The `termtris` port avoids images entirely (`XFillRectangle`/`XDrawString`), so this path is untested in the tree. A real client needs a 1-bit `XImage` (XYBitmap, LSBFirst) and there is no documented entry point or format contract. Requested: extract and validate the `XCreateImage`, `XPutImage`, `XDestroyImage` and (optional) `XGetImage` entry points, and document the supported format: depth, `format`, `byte_order`, `bitmap_unit`, `bitmap_bit_order`, `bitmap_pad`, `bytes_per_line`. A minimal `xshow`-style probe (create a 1-bit image, `XPutImage`, capture VRAM) would pin the layout and the bits-per-pixel limitation.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arti/vt1200#4