此儲存庫包含用於透過 Raspberry Pi 將 UDP 視訊串流 (netvid) 渲染至 IBM 5153 相容顯示器的程式碼和設定。 RetroArch 和 Open Broadcaster Software 可以使用原始掛鉤來提供視訊串流。
視訊訊號透過 DPI(平行顯示介面)提供,使用 4 位元顏色 (RGBI) 和 2 個同步訊號。由於 RPi 像素時脈非常挑剔,因此像素時脈和相關時序必須增加兩倍。因此,實際的幀緩衝區解析度為 1920x200。
該儲存庫還包括一個 GPIO 接口,在示波器分析顯示時序問題(懷疑的罪魁禍首:USB 輪詢)後,該接口從未完成。
實際的適配器板和時序是基於本傑明·古爾德之前的工作。我添加了一些電阻來限制電流消耗;純粹是預防性的。在我的顯示器上,我還需要調整垂直和水平門廊以提供居中的影像。
適用於 Raspberry Pi 3 所需的設定、命令列和裝置樹覆蓋檔案已新增至此儲存庫。
此轉接器可以高達 640x200 的解析度渲染完整的 16 色 CGA 調色盤。
支援臨時抖動,可將調色板擴展至 136 種顏色。上圖顯示了兩次 60 Hz 曝光的組合。
下採樣應用程式提供將 16 位元/32 位元 RGB 視訊串流(由 RetroArch/OBS 提供)轉換為 CGA 相容的 4 位元視訊串流所需的處理。它支援最近鄰顏色下採樣(用於渲染傳統的 CGA/EGA 輸出)、時間和拜耳抖動、局部對比度增強和黑色電平調整。
命令列:
./downsampling/main --recv 0:<input-port> --send <output-host>:<output-port> --algorithm nearest
命令列:
./downsampling/main --recv 0:<input-port> --send <output-host>:<output-port> --algorithm bayer --bayer 2,2
命令列:
./downsampling/main --recv 0:<input-port> --send <output-host>:<output-port> --algorithm bayer --bayer 2,2 --local-contrast-gain .25 --local-contrast-stddev 32
局部對比度增強試圖最大化影像不同部分的亮度範圍。當您僅限於灰度很少但範圍很廣的調色板(如 IBM5153)時,這非常有用。在視訊輸入不包含大的統一區域(例如卡通)的情況下效果很好。
命令列:
./downsampling/main --recv 0:<input-port> --send <output-host>:<output-port> --algorithm bayer --bayer 2,2 --local-contrast-gain .25 --local-contrast-stddev 32 --temporal-dither client --staggered-temporal-dithering
每個畫面切換像素顏色可以提供更多顏色的外觀,但代價是閃爍。
命令列:
./downsampling/main --recv 0:<input-port> --send <output-host>:<output-port> --algorithm bayer --bayer 2,4 --local-contrast-gain .25 --local-contrast-stddev 32 --temporal-dither client --staggered-temporal-dithering
此範例使用 640x200 輸入和非方形拜耳模式來適應像素長寬比。