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

pico9918-core - a consumer of the installed package More...

#include "overlay/splash.h"
#include "pico9918.h"
#include "pico9918_config.h"
#include "pico9918_frame.h"
#include "pico9918_util.h"
#include <stdio.h>
+ Include dependency graph for consumer.c:

Go to the source code of this file.

Macros

#define FNV64_OFFSET   0xcbf29ce484222325ull
 
#define FNV64_PRIME   0x00000100000001b3ull
 
#define BADGE_DIGEST   0xc0ce60a2a13c9a2dull
 
#define BADGE_GUARD   2 /* columns past the badge that must stay untouched */
 
#define BADGE_BUFFER   (PICO9918_F18A_BADGE_WIDTH + BADGE_GUARD)
 
#define BADGE_LINE_PIXELS   640
 

Functions

static void appliedCallback (pico9918_t *tms9918, void *userdata)
 
static uint8_t statusReg (pico9918_t *tms9918, uint8_t index)
 
static uint64_t fnv1aByte (uint64_t h, uint8_t b)
 
static void fillPixels (PICO9918_PIXEL_T *pixels, uint32_t count, PICO9918_PIXEL_T value)
 
int main (void)
 

Variables

struct { 
 
   pico9918_t *   inst 
 
   void *   userdata 
 
   int   calls 
 
appliedSeen 
 

Detailed Description

pico9918-core - a consumer of the installed package

Copyright (c) 2026 Troy Schrapel

This code is licensed under the MIT license

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

Drives the API the way a host does - create, reset, set a mode up, render a line, read it back - so the exported package is checked for the things an archive cannot show: a header the install rules missed, an include path that only resolved in the build tree, a PUBLIC definition lost on the way out.

Written for either instance mode, since which one the library was built with is a property of the installed package rather than of this file. Same for the runtime chip switch, which only a PICO9918_RUNTIME_CHIP=ON package exports.

Definition in file consumer.c.

Macro Definition Documentation

◆ FNV64_OFFSET

#define FNV64_OFFSET   0xcbf29ce484222325ull

Definition at line 60 of file consumer.c.

◆ FNV64_PRIME

#define FNV64_PRIME   0x00000100000001b3ull

Definition at line 61 of file consumer.c.

◆ BADGE_DIGEST

#define BADGE_DIGEST   0xc0ce60a2a13c9a2dull

Definition at line 62 of file consumer.c.

◆ BADGE_GUARD

#define BADGE_GUARD   2 /* columns past the badge that must stay untouched */

Definition at line 64 of file consumer.c.

◆ BADGE_BUFFER

#define BADGE_BUFFER   (PICO9918_F18A_BADGE_WIDTH + BADGE_GUARD)

Definition at line 65 of file consumer.c.

◆ BADGE_LINE_PIXELS

#define BADGE_LINE_PIXELS   640

Definition at line 66 of file consumer.c.

Function Documentation

◆ appliedCallback()

static void appliedCallback ( pico9918_t *  tms9918,
void *  userdata 
)
static

Definition at line 39 of file consumer.c.

◆ statusReg()

static uint8_t statusReg ( pico9918_t *  tms9918,
uint8_t  index 
)
static

Definition at line 50 of file consumer.c.

◆ fnv1aByte()

static uint64_t fnv1aByte ( uint64_t  h,
uint8_t  b 
)
static

Definition at line 68 of file consumer.c.

◆ fillPixels()

static void fillPixels ( PICO9918_PIXEL_T *  pixels,
uint32_t  count,
PICO9918_PIXEL_T  value 
)
static

Definition at line 73 of file consumer.c.

◆ main()

int main ( void  )

Definition at line 79 of file consumer.c.

Variable Documentation

◆ inst

pico9918_t* inst

Definition at line 34 of file consumer.c.

◆ userdata

void* userdata

Definition at line 35 of file consumer.c.

◆ calls

int calls

Definition at line 36 of file consumer.c.