View Single Post
Old 12 December 2021, 16:12   #259
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
Horizontal blanking

ECS Denise weird way of programmed horizontal blanking. This is not chipset unexpected side-effect, it was designed to work this way (Why?).
Previous description in winuae changelog was not complete. Now checked and confirmed with a scope (finally use for my new few months old 4 ch scope..).

OCS Denise + OCS or ECS Agnus:

Only hardwired PAL/NTSC blanking.

ECS Agnus + ECS Denise :

HBSTRT/HBSTOP in Agnus. Denise does not have any blanking registers, Agnus CSYNC output is connected to Denise, this line is used to transfer blanking state to Denise.

Denise EXTBLKEN: enable external blank = CSYNC input is used for blanking. When CSYNC line is active (low), Denise output is blanked. EXTBLKEN=0: hardwired PAL/NTSC blanking in use.

BEAMCON0 undocumented BLANKEN=1: Agnus CSYNC output does not anymore have normal composite sync signal but blanking state.

VARCSYEN=0: HBSTRT-HBSTOP is used to generate CSYNC output blanking state.

EXTBLKEN=1, BLANKEN=1, VARCSYEN=0 is normal programmed blanking configuration.

"Wrong" configurations:

CSYTRUE=1: blanking state gets inverted. (blanked region becomes normal and normal region becomes blanked)

VARCSYEN=1: programmed HSSTRT-HSSTOP becomes blanking range.

BLANKEN=0: Normal composite sync signal becomes (useless) blanking signal.

When BLANKEN=1: CSYNC does not anymore contain composite sync (HSYNC + VSYNC) but only blanking state. CSYNC cable/display can't be used with programmed blanking, only H/V sync works (for example VGA monitor)

AGA:

Lisa added HBSTRT/HBSTOP registers + not anymore based on CCKs but shres pixels. Alice still has Agnus BLANKEN logic and HBSTRT/HBSTOP registers but CSYNC connection does not exist anymore. Lisa blanking enable is still called EXTBLKEN even when blanking modes (hardwired and programmed) are now fully Lisa internal.

Blanking works normally, both in H/V sync and CSYNC modes. No weird CSYNC configuration needed anymore. No need to set extra BEAMCON0 bits.
Toni Wilen is offline  
 
Page generated in 0.06819 seconds with 11 queries