pico9918-core 1.3.0
TMS9918A / F18A video display processor emulation in C99
Loading...
Searching...
No Matches
liveDesktopOps.h File Reference

pico9918-core - host hooks that make a desktop capture the same artifact as a board's More...

#include <stdint.h>
+ Include dependency graph for liveDesktopOps.h:

Go to the source code of this file.

Macros

#define PICO9918_LINE_CAPTURE(y, height, width, indices)    liveDesktopCaptureRow((y), (height), (width), (indices))
 
#define PICO9918_HOST_OPS_SUPPLIED   1
 

Functions

void liveDesktopCaptureRow (uint16_t y, uint16_t height, uint16_t width, const uint8_t *indices)
 

Detailed Description

pico9918-core - host hooks that make a desktop capture the same artifact as a board's

Copyright (c) 2026 Troy Schrapel

This code is licensed under the MIT license

https://github.com/visrealm/pico9918-core

The device's harness takes a row through PICO9918_LINE_CAPTURE, which the platform header leaves as a no-op unless a host defines it - and says so: those hooks are "test/live"'s, defaulted after this header is included so a host gets first say.

Defining it here is the whole reason a desktop capture is the SAME artifact as a device one. The row arrives from the identical call site inside pico9918_frame_scanline, from the identical pointer, rather than from a second render loop that would have to be kept in step with it by hand.

PICO9918_LINE_NOTE_TIME is deliberately left as the no-op. Microseconds off a PC mean nothing here, and a hook that reported them would invite a comparison against the device's numbers.

Definition in file liveDesktopOps.h.

Macro Definition Documentation

◆ PICO9918_LINE_CAPTURE

#define PICO9918_LINE_CAPTURE (   y,
  height,
  width,
  indices 
)     liveDesktopCaptureRow((y), (height), (width), (indices))

Definition at line 31 of file liveDesktopOps.h.

◆ PICO9918_HOST_OPS_SUPPLIED

#define PICO9918_HOST_OPS_SUPPLIED   1

Definition at line 36 of file liveDesktopOps.h.

Function Documentation

◆ liveDesktopCaptureRow()

void liveDesktopCaptureRow ( uint16_t  y,
uint16_t  height,
uint16_t  width,
const uint8_t *  indices 
)

Definition at line 115 of file shim.c.