20211224_c97f06a Release
Introduction
This is a stable release (from the master branch).
(the previous stable release was 17th September 2021)
Improvements (Highlights)
- Offload some of the capure loop to the GPU
- Official Support for Pi Zero 2 W
- Fixes/improvements for Pi 1/2/3/4 (unsupported but should work)
- Single (universal) binary now used for Pi 0-3 models
- Fixes/Improvements to BBC Mode 7 calibration code
- Improvements to Genlock (limit slew rate when changing modes)
- Update to latest Raspberry Pi Foundation Firmware (fixes minor overvoltage issue on Pi Zero)
Additional Profiles
- ABC80 (a Swedish machine)
- Enterprise
- Intellivision
- NEC PC-98 (and Epson clones)
Detailed list of changes
Raw changes since last stable release are:
- c97f06ae Update Analog V3 board with changed component values from wiki
- 501286d5 Fix osd update for screencap and reboot warning
- 09f9671e Update mode7 rounding fix
- 954910b6 Update slew rate threshold
- 10b7ffd7 Restrict genlock slew rate when changing modes
- 51bc2013 Update profiles
- 420095e6 Fix double width capture
- bed18d76 Set top bits of screen buffer pointer correctly in 16bpp mode
- 50a253d8 Instruction reorder
- a048cbc6 Fix framebuffer logging and display_list_offset
- 6f155c59 Ensure top bits of frame buffer address match
- ab669cf7 Add missing blank files
- 08b22bfe Update firmware to latest stable
- 5561da7b Update config files to workaround unprogrammed otp zeros
- 1d9ef104 Update firmware to latest build with overvoltage fix
- 12ad6a79 Identify Pi zero and Pi 1 separately
- a6ad3464 Further fix of startup message
- dc16b862 Fix startup message in interlaced mode
- 6f8977b5 Fix overclock message
- 3465fd02 Downgrade firmware to 21-Apr-21 as recent firmware overvolts the core
- 4fdcb8e4 Fix powerup message not working on some configurations
- 367e88fe Update profiles
- a198cb14 Add batch files to switch between GPU and ARM capture
- d84104b9 Fix autocalibrate in teletext 12bpp mode
- 00f49a3f Fix screencap message
- a420b4b2 Fix OSD not displayed on screencaps in 4 & 8 bpp modes
- 2d838e73 use faster return ( faster for cortex a53)
- ef08fbec Revert high latency detection regression
- 7e25eb9f Update Enterprise profile
- d2e7bc36 Fix C128 profile
- 5141c2e9 update profiles
- 67999ebd Add intellivision profile
- cb42b5bb Rename to "Inverted composite"
- e7659edc Check clock rate change
- 726c588a Update config.txt files
- 4d1fcc63 Add option to lock to composite blanking instead of sync
- a9f22021 Add intellivision palette
- e3bc22d0 Fix regression that caused a hangup on double reboot
- b5a8701b Tweak instruction order
- bc4b925a Update firmware
- 5c306616 Filter out PaxHeader folders
- f4191539 Additional delays
- fb15690d Improve disable_overclock feature
- a0e88676 Increase delay before rebooting
- 6ab4b7f0 Fix display list issue stopping resolutions 1024x768 & lower from working at 16bpp
- d9b5671e Simplify high latency detection
- 86714bcc Update profiles
- 52ab7b60 Improve clock setting
- ba6c2bde Reduce number of psyncs to capture during preload
- 0ec5c461 Don't use high latency capture on Pi zero/w
- 23d870ff first cache preload has OSD bit set
- e94451f2 Add enterprise profile
- 148a04d7 Use same processor build options as Pi0-3 (ready to include Pi4 in universal binary)
- 0039079e Reduce logging messages during mode change
- d879a81a Workaround for SD Card Initialization bug on Pi 4 (#253)
- cab728b6 Fix heap corruption bug when sd_card_init() fails (#253)
- 21833448 Fix 10.3 compiler string warnings
- 33d4b1dc Increase size of supervisor stack (RGBtoHDMI runs in supervisor)
- 92eca231 Improve handling of PLLD as sampling clock on Pi4
- aee35498 Fix build warnings
- 912e8e11 Update genlock to work on Pi 4
- bf2b4854 Fix display of refresh rate
- 965882bc Add eceute permissions to configure_rpiA4.sh
- be87cba7 temporarily disable screencaps on Pi 4
- 2731fd16 Improve refresh rate reporting
- 8e5ce6a8 Disable unaligned access (may not work across armv6-v8 on same binary)
- 171fff3d Update lodepng
- 9dfcd669 Update 1600x1200@50Hz definition to use specific timing rather than CVT (Fixes glitch in rpi4)
- 607b7d89 Revert to PLLD and change core divider as well as per divider
- ef330cab Add set_clock_rate
- d1f47014 Use PLLC on Pi 4
- 006c117a Improve speed of peripheral address reads
- b4b5fc17 Align png buffers
- 01356865 Further prediv fix
- d2cca8a3 fix prediv not present on pi4
- f464205a Dont overclock core on Pi4 unless >100Mhz
- c1a30a67 Update 16bpp display list manipulation code to cope with BCM2711 (Pi4)
- ad85656d Remove EMMC_DEBUG from default debug build (delays bootup significantly)
- 8dd19607 Update horizontal resolution for Pi4
- 2fc9014f Add clock IDs
- adc1032f Update ARM build limits
- 31ca5393 Update build options
- 0014d5be Add build option for ARM capture on Pi4 and add ARM version of config.txt
- 925b345d Update Arm build options and old CPLD folders
- 8a99ef79 Add support for old CPLDs on GPU capture
- 198c023c Update Arm conditional build options
- abdcaeba Fix conditional compilation
- 1344b380 Fix build scripts
- eb8533c0 Update defs for Pi 4
- 37db5bf4 Update overclock limits for various Pi models
- f36f1946 Add high latency capture option in GPU mode (slightly faster but only suitable for 9/12bpp)
- b246f194 Improve mode7 auto calibration range + add auto overclock option for Pi 2 & 3
- 5ea5bfb3 Final part of universal binary conversion
- d5201656 Update scripts
- ee2d739e Update profiles
- 6ce9724d Second part of universal binary conversion
- 60453dce First part of universal binary (Pi0,1,2,3) conversion
- 05b649fe Change assembly code to use variable peripheral base
- 8d65fb04 Change sdcard to use variable peripheral base
- c295151e Change C code to use variable peripheral base
- 9733f11a Try x12 multiplier in mode7 calibration if either errors or window errors are non zero
- 3b6ad220 Merge Pi2 and Pi3 support into one binary
- ff5cfe66 Fix garbage on right hand of screen in teletext mode with GPU capture
- 8d0ca8bd Added NEC PC-98 and Epson clones profiles.
- 24658f12 Added a profile for the Swedish computer ABC80
- a9d39705 Read start of screen from mailbox when setting cached area
- 208be4cb Update cached screen
- c0402a62 Fix permissions on configure_rpiA.sh
- 5c798a6e Fix Pi2 screen start
- 01ed2790 Update configure_pll
- 3e065e38 Fix pll calculation on Pi4
- b008efbf Fix RAM speed value
- af49a63f Workarounds to get Pi4 running on PLLA
- 4b939cfc Fix Pi4 SD card not working
- e64eace5 Update config.txt
- ba874694 Update defaults in Amiga CPLD
- 45370488 Add videocore build script
- 29c1b7bb Simplify font selection
- e3e48e95 Update profiles
- c90b12ce Re-order some instructions in SKIP_PSYNC
- 62368d1a Run old CPLDs on ARM build only
- 9fb5b05c Update line timeout
- 7e3ff3fa Re-add cache preload in in band signalling
- 1cfb7930 Include Sam Coupe in hidden profiles list
- fbc542cd remove remaining support for very old CPLDs in GPU build
- d168b7eb Add build info to bootup message
- d5ad4307 Fix issue with cache preload on GPU build
- 4405c280 Run Arm capture on Pi 1
- 85986ca0 tweak pipelining
- 8124a828 Add arm capture build option
- 744a0424 Update RPI2 support
- 7b1176d8 Optimise MBOX reading code
- 51153255 Mark all samples with FINAL_BIT at end of capture
- f4da3234 Fix stall issue with 12bpp capture into an 8bpp frame buffer
- a6f8fbee Update videocore comments
- c55af866 Improve benchmarks
- cb3eaee6 Add GPU capture for Pi zero and Pi zero 2W
- 19d63b76 Update overclock limits for Pi zero 2
- 8216d26c Update mailbox interface for GPU
- 1231e358 Update NTSC capture for GPU
- efcb1232 Update mode7 capture for GPU
- a9bdd084 Update in band capture for GPU
- ec1e3a79 Add default 9bpp & 1bpp simple modes
- 8e4797f3 GPU videocore capture source
- 9a1b1b0a Add vasm assembler for videocore IV
- 4f4a5a93 Update display of window info
- 0ef322c9 Fix calibration display
- c9690050 Improve calibration window handling and display window errors
- 4e64f139 Fix issue with osd update during CPLD programming on Pi zero 2W
- 61494c94 Prioritise 3 wide zero error window over single zero error ( issue #247 )
- 46d76969 Exclude Sam Couple from zero 2W profile filter
- dac13f6c Update Pi zero2W warning message
- cf2477ea Capture loop code optimisation from dp11
- e7f96b7e Fix Atari 800 double width sample count
- 31228ffb Optimise Pi zero 2 capture code and modify warning
- b949669d Cache part of screen memory on Pi zero 2 and update mode7 deinterlace to use it
- 67d6c48f Fix double width NTSC issue
- 37daa5dd Add GPIO benchmark
- 90ee1f85 Update multicore capture to work with all capture loops
- c493d210 fix assembly warnings
- 5c0bc8c9 Further updates to config.txt
- a468d410 Remove unused source files
- 8f9942a2 Temporarily hide 9bpp & 12bpp profiles that don't work on Pi zero 2
- ca263ba9 Update config.txt for Pi zero 2W support
- 90da0b61 Update Pi boot files for Pi zero 2W support
- 2bd01ee0 Interlace detection only when Interlaced video or sync selected unless BBC mode
- eced2ee5 Add 9bpp and 1bpp support for simple mode
- 72ba3640 Added NEC PC-98 and Epson clones profiles.
- 129d90e5 Update ABC80.txt