hoglet67 / RGBtoHDMI

Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
GNU General Public License v3.0
838 stars 114 forks source link

Add Create Custom Profile menu, and full 4K support plus many other changes #360

Closed IanSB closed 8 months ago

IanSB commented 8 months ago

Major new features:

Create Custom Profile menu This makes it much easier to create profiles for unsupported systems There is built in help in the info menu and also in the menu itself (This will eventually be expanded upon in the wiki)

Auto detect if the monitor supports HDMI protocols or DVI protocols and switch automatically. This was previously a manual only setting in the main menu which defaulted to DVI for all monitors This usually worked but would produce wrong colours on some capture devices and 4K monitors Also if a HDMI audio embedder was used, that would normally only work in HDMI mode. The auto detection can be disabled and a manual selection made in the settings menu Please report any issues such as blank screens if your monitor worked with previous versions.

Add 4K @ 50/60Hz support for Pi 4 only. This will be auto detected if a Pi 4 is plugged into a 4K monitor Other Pi models only support 4K @25/30Hz so they will default to 1080p @50/60Hz when plugged into a 4K monitor but you can still manually select the 4K @25/30Hz resolution.

Other changes: Add PAL artifact (colour blending) on Commodore 64 & 128 (use long press of SW2 to toggle) Add frame drop mode for 25/30Hz motion. Add some new genlock options Add quickstart help menu and rename info menu to info & help

Add Microtan 65 profile Add Samsumg 400 line CGA card profile Add Apple IIe Taxan RGB profile Add Mac Plus profile Add Mac Radius portrait screen profile Add Ti presenter profiles (NTSC only). Add Mac SE profile Add Spectrum 48K VLA82 profile Add Triumph Adler PC8 profile Improve support for Commodore 128 80 column (CGA type) mode with profiles for VDCmania demos Add experimental support for Amiga ECS screen modes 1280x256 & 640x480 productivity (CPLD boards only) Note the 640x256 and 1280x256 cannot be auto selected and must be toggled with SW3

Add various profiles using the lumacode protocol: Commodore 64 Commodore 128 (40 column mode) Commodore VIC20 Atari 800 Atari 5200 Atari 2600 Spectrum 48K TI-99/4a (TMS99XX) ColecoVision (TMS99XX) MSX1 (TMS99XX) Plus many others using the TMS99XX chip:

Fix some scaling bugs Fix profile autoswitch not working with 4K monitors Fix some issues with sync detection and measurement Fix Apple II+ internal pickup not auto switching NTSC artifacts Fix GPIO pull up/down on Pi 4 Increase some settle times on GPIO reading Various minor bug fixes and cosmetic improvements.