Skip to content

20230517_eb620884 Release

Compare
Choose a tag to compare
@hoglet67 hoglet67 released this 17 May 09:26
· 160 commits to master since this release

Introduction

This is a stable release (from the master branch).

(the previous stable release was 21st December 2022)

New Features

This release has a major new feature, a "Select Profile" menu option that makes changing profile a lot easier.
After selecting the option you are presented with a list of manufacturers and after choosing one you are then presented with all profiles for that manufacturer, including profiles for the other CPLD versions as well as the current CPLD.

Profiles that require a different CPLD firmware are prefixed by (BBC), (RGB) or (YUV) as appropriate.

Selecting a profile with no prefix will immediately switch to that profile

Selecting a profile with a prefix will reprogram the CPLD, reboot and select that profile.

There is also a recently used option that keeps a record of the last ten profiles selected.

Other Changes

Add support for c0pperdragon's new Commodore 64 VIC II plug in adapter which outputs a special 'lumacode' signal on the modulator Phono output that RGBtoHDMI can decode into bit perfect HDMI.

Auto detection for 2560x1440 monitors, (previously the Pi would not auto detect this resolution)

Some support for 4K monitors:
The pi zeros don't support 4K @50/60Hz so by default RGBtoHDMI will select 1080p@50/60Hz as appropriate when connected to a 4K monitor. This is not ideal as the monitor will interpolate that to 4K resulting in soft edges.
However there are two manual modes to try:

  • Full_4K@25/30Hz - This will give 4K resolution but at half frame rate (which the zero supports) although every other frame will be dropped giving a 'film effect' on smooth motion.
  • Half_4K 1920x2160@50/60Hz - This is a compromise resolution which is the same height as 4K but half the width and again the Zero can generate that. This results in integer scaling vertically and interpolated scaling horizontally but as it is a very non standard mode, a lot of monitors and TVs may not support it and give a blank screen etc. Also it may be displayed as a narrow image in which case you need to change the monitor's scaling to fill the screen (not RGBtoHDMI scaling).

Soft Reset
Pressing SW1 and SW3 together will cause a reboot and this can be useful if the board is plugged into a Pi that doesn't have any reset mods made to it.

No CPLD detection
If you boot up the software with no CPLD board plugged in you will get an error message and the main menu displayed and this can be useful to confirm the software is installed and booting properly if you have a problem when the CPLD is plugged in.

Help Menus
There are several help pages in the info menu describing button functions, calibration, NTSC artifacts and common problems plus where to download updates.

Supported Profile List
There is a menu option in the info menu to save supported profile list for current hardware as "Profile_List.txt" for easy reference. (This list will be different depending on analog or digital interface)

Add warning about pre-programmed CPLDs to the CPLD recovery menu. (Using CPLDs with other firmware already installed can cause reprogramming problems and this describes the workaround)

Add 8 level mono palette

Add support for line doubled capture

Sync detection moved to GPU (Improves performance at high pixel clock rates)

Fix issues stopping very high resolution sources from being captured (864x1024@60Hz 3BPP has been tested)

Fix sync polarity detection when auto sub-profile switching

Add Commodore 64 lumacode profile (see above)
Add Exidy Sorcerer profile
Add NEC PC 16-01 profile
Add Meldas CNC9 profile
Add Amiga 3000 profile
Add Atari ST (No Blanking) profile (for earlier adapter board)

Update Spectrum Harlequin and Nuvo profiles
Add new test profiles
Plus many existing profiles updated

Detailed list of changes (chronological order, oldest first)

  • 0520386 Add support for line doubled capture with improved integer scaling
  • 6377df9 Update profiles
  • 5881d9f Add generalised menu parameter handling
  • e2a6e65 Update resolution and config files
  • 9200a45 Add auto detect support for 2560x1440 monitors and improve auto overscan settings in 16bpp modes to reduce video DMA bandwidth
  • e5ecd18 Fix issue with overscan settings not changing frame buffer
  • d48e576 Add odd / even pixel doubling option (Primarily for Superboard II)
  • ab3963c Refactor autoswitch, debug, powerup message & num buffers
  • aef52cb Refactor genlock speed, mode, line and adjust
  • 3e2ca4c Refactor vsync indicator, scanlines, scanline level, output colour & output invert
  • 39fd5ac Refactor timing set, ntsc colour, phase, type and quality
  • 529b2f8 Refactor border colour, font size, mode7 deinterlace, normal deinterlace, FFOSD, palette control
  • 810c863 Refactor profile, sub-profile, saved config & hdmi standby
  • 79a1342 Refactor crop border, swap aspect, screencap size, mode7 scaling and normal scaling
  • 9027eaa Refactor palette, tint, saturation, contrast, brightness gamma, return position, button reversal
  • 4eeb72e Refactor cpu, core & sdram overclock
  • dcad46b Refactor resolution, refresh, scaling, hdmi mode & frontend
  • 8716874 Refactor set_feature
  • f2c73e8 Update resolutions
  • 8a12a94 Update profiles in preparation for new select profile menu option
  • 833f8bf Add select profile menu option
  • 0c875c0 Improve select profile menu to display profiles from all CPLD variants
  • e70a3b9 Update profiles for updated select profile menu option
  • e90e313 Fix profile folder names
  • 4542678 Fix profile save bug
  • 985db7b Fix mode7 width bug with 16bpp overscan adjustment
  • 3fc12db Further mode7 width bugfix
  • 5f04b1d Fix mode7 OSD not clearing under certain conditions
  • e67488e Add recently used option to profile selection menu
  • 1976d6f Rework cpld name prefix handling
  • 58b9d52 Fix bug that stopped dedicated Atom converter from loading its profile
  • c32fb44 Move CPLD menu to settings and restore Test 50Hz to main menu
  • 26ffd24 Rename and move some profiles plus add test profiles
  • a380d46 Remove Test_Profiles folder and adjust build script
  • 3d5921e Fix CPLD recovery menu
  • 2b67fa6 Clear saved config when changing profile
  • 7bb274a Add 4K@25-30Hz resolution and update 1920x2160 resolution
  • 012bc05 Update resolution names
  • 0271c6f Genlock now works with half frame rate modes
  • f9c45f9 Ensure stable phase relationship between source and Pi syncs when 4K 25Hz or 30Hz output in use
  • e436c99 Drop alternate frames when display is 4K@ 25/30Hz to prevent tearing
  • c3bf702 Update resolutions
  • f5debda Revert "Update resolutions"
  • 3f8db67 Update resolutions again
  • 7c7991c Correct startup resolution
  • 2457af1 Tab to space
  • 92171c3 Whitespace
  • b764e54 Update Tandy CoCo profiles
  • 2acc2ef Update EGA Wonder 800+ profile
  • 773ab31 Add CPLD not fitted detection
  • db29f25 Add soft reset option using SW1 & SW3
  • b227968 Update EGA Wonder 800+ profile
  • 9015977 Update superboard profile
  • 4590788 Fix saved profile message
  • de781b1 Update superboard profile
  • 7b6d092 Update superboard profiles
  • 7069bd0 Added 6-bit digital profile for Pico Atom VGA with Dave's latest firmware
  • 9f3a648 Improve CPLD not fitted detection
  • 71e26f4 Add no blanking variation for Atari ST
  • 808adb7 Update GPU/ARM switching
  • 8a4aa2c Update ARM capture message
  • 257ca7b Update Apple IIe profile
  • 555dd36 Fix some updated compiler build errors
  • 1752611 Reduce minimum line length
  • 843ea69 Set alignment offset to 0 during calibration only when in BBC mode
  • 80e9769 Add hsync polarity change detection
  • 7667217 Correct RET_SYNC_POLARITY_CHANGED
  • 1cdac5b Add 8 level mono palette
  • 75f62b1 Improve hsync polarity detection to work with composite sync and ensure sync timing measured with correct sync polarity
  • 27edde5 Add some stubs to fix compiler warnings
  • 64ec1a8 Fix "LOAD segment with RWX permissions" linker warning
  • df878bd Correct arm stubs
  • a5c7f1f Fix some overscan issues in 16bpp mode with double width capture
  • a7b4096 Fix screencaps with cropped borders in 16bpp mode
  • 3b538b3 Add 8 level mono palettes
  • 94e221e Move sync detection into GPU
  • f07ce4e Update test profiles
  • 9c6b7bf Update test profiles again
  • 6c26460 Update profiles
  • 4e5457a Add NEC PC-16-01 profile
  • e878f78 Add Meldas CNC9 Mono profile
  • 85de944 Update profiles
  • 77f1966 Add mono board detection and update palette generation
  • 2dd2029 Update test profiles
  • 56b2951 Fix artifact palette
  • 15191d2 Update profiles for mono board
  • 2aa1f23 Update profiles
  • 1bc4f66 Add mono board detection
  • 7be568a Add help menus and save profile list option
  • 8f0bc2d Update profiles
  • 13b2fbd Update help messages
  • 0df8f4c Update test profiles
  • 96e271c Set lumacode default
  • 0c55471 Update test profiles
  • e474972 Update test profiles
  • a0508bf Add NTSC artifact help
  • 2289601 Add software update help message
  • 98b59f7 Update Spectrum profiles including Harlequin & Nuvo
  • 4744ab2 Put some existing profiles in Experimental folder
  • 994bc3d Further Spectrum updates
  • 903893a Update Apple II profiles
  • fcb8d64 Add Amiga 3000 profile
  • fff42a5 Add Exidy Sorcerer profile
  • 4fea077 Update apple I profile
  • 5d07a83 Update sorcerer profile
  • eb62088 Update help messages