The result of going down a very deep rabbit hole.
I learned a lot about analog signal processing, television, and the NTSC standard in the process.
Written to be compatible with C89.
Just like King’s Crook (my from-scratch 3D game), this code follows the same restrictions:
- Everything must be done in software, no explicit usage of hardware acceleration.
- No floating point types or literals, everything must be integer only.
- No 3rd party libraries, only C standard library and OS libraries for window, input, etc.
- No languages used besides C.
- No compiler specific features and no SIMD.
- Single threaded.
This program performs relatively well and can be easily used in real-time applications
to emulate NTSC output.
================================================================
Feature List:
- Somewhat realistic/accurate NTSC image output with bandlimited luma/chroma
- VSYNC and HSYNC
- Signal noise (optional)
- Interlaced and progressive scan
- Monochrome and full color
Note the command line program pr