Aiming to repurpose consumer/commercial-grade DVR systems with Embedded Linux SoCs. These systems have tremendous potential to be a flexible and affordable retro gaming platform, as the hardware offers solid image processing and memory management capailities. They have pretty generous SDRAM, H.264 Video CODEC, VGA/Analog RGB/CBVS Analog processing, built-in SATA HDD (typically 500GB-1TB), USB Mouse/Keyboard drivers, LAN/WLAN, and affordable price tag (I find them regularly for ~$10-20USD at thrift stores).
As a proof-of-concept, I intend to run DOOM on one or more of my DVRs. While I have modchipped/soft-modded retro game consoles, I have never created my own project or written much (or any) code. The intent of this project is for me to learn more about hardware hacking embedded devices, and - if successful - could be a fun project for others to do the same. I've done a fair bit of research and, now that I believe this to be feasible, will document my progress here.
Booting from the HDD and preserving the system's native Flash ROM would be ideal, as it greatly reduces the risk of bricking our DVR. I've found that many DVRs support Firmware updates over USB and Ethernet, and use RS-232, JTAG, and USB for debugging. And, while inspecting boards and pouring over datasheets, I've noticed that many DVRs using Nextchip chipsets have an internal button/unpopulated button footprint that's used to access the system's terminal. So some DVRs could easily facilitate booting from HDD on-demand by relocating this button to the DVR's case -- all while preserving the unit's original functionality.
I want to make this process as straightforward as possible, and to use readily accessible tools to do so -- no expensive debugging/programming hardware required. I am using a Raspberry Pi 400, and this is my first time using Linux. If/when a unit requires additional hardware for modding (eg. JTAG probe, Flash IC programmer, ROM dumper), I plan to stand on the shoulders of giants and leverage exisiting open-source projects whenever possible.
My experience with video gear stems from an interest in analog glitch art, and I purchased my first security DVR with the intent of circuit bending the VRAM. While researching the hardware, I realized there was a dearth of detailed datasheets and seldom many service manuals. I did find, however, that many consumer-grade DVRs are white-labelled. So, when referring to a specific DVR, I will do my best to determine the OEM designation, create a thread with that title, and a running list of re-badged/re-cased units that use the same board.
Naturally, DVRs have powerful image processing capability under the hood, since they're (typically/very basically) processing and decoding several streams of analog composite video simultaneously, separating them into Y/C signals, modulating signals into component, converting analog component to digital, then (usually) outputting either VGA or digital video via HDMI for a monitor AND outputting a composite "SPOT" signal. Some chipsets are capable of more than what they're configured for, like CCD image sensor processing, driving a TTL/LVDS LCD display, displaying bitmap graphics, analog to HD digital upscaling, scan conversion, arbitraty scaling/cropping, external sync/genlocking, comb filtering, multiplexing analog & digital video, versitile format conversion, and more... and that's just image processing. If possible, it would be awesome to give users the ability to control analog video processing directly, making use of features like interlacing/de-interlacing, Transcoding CBVS & Component formats, sync separation/combination, time-base correction, etc. If we could gain access to these utilities on-demand, it could help solve a number of analog-video frustrations that previously required sourcing a rare piece of esoteric broadcast video hardware. Eg,, playing certian consoles on Broadcast CRT monitors (BVMs) with choosy sync requirements, playing retro games on modern HD displays, archiving/preserving VHS tapes in HD, playing PAL consoles on NTSC displays (and vise versa), acting as a time base corrector for glitch art, etc.
Certain units (sometimess called NVRs or NDVRs) support more ways to interface with the hardware via IP, LAN, WLAN, and sometimes allow for remote root access. Also, it's essentially standard for companies to release mobile applications and websites to use with their hardware, often allowing users to monitor cameras in real time, use serial camera control, back up their data onto their PC through a detailed GUI. While it might be the wishful thinking of a novice, I would love these capabilities used as see some kind of primitive multiplayer -- almost like a long-distance GBA-Link cable or PSX Serial Link, for example.