View Single Post
Old 22 October 2019, 21:12   #21
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,801
I don't know exactly how it works but there are lots of limitations because both Denise and Paula is horizontally synced using strobe signal only (first refresh slot).

Setting Agnus horizontal counter only affects Agnus. Denise and Paula won't notice it and CPU write to strobe register is only seen by Denise and Paula, it won't affect Agnus.

It is even more difficult with Paula because audio DMA slots are requested by Paula via DMAL line that transfers one bit per cycle (total two bits per disk/audio dma slot), initialized by horizontal strobe. It is also possible Agnus DMA accesses are ignored by Paula if they don't use correct cycles (relative to last strobe)

I guess it should be possible to "stretch" horizontal line a bit by moving horizontal counter backwards slightly (one or more times) but it probably is quite tricky without side-effects.

Memory refresh is also hardwired to hsync so too long horizontal line can cause random chip memory corruption. (I haven't checked any memory chip specs, don't know when horizontal length becomes too long)

Vsync is simple, nothing important depends on it (mainly vblank interrupt and copper restart. Note that vblank is triggered by Paula when it sees matching strobe, it is not generated by Agnus). Almost everything depends on hsync.
Toni Wilen is offline  
Page generated in 0.04127 seconds with 11 queries