Greetings all. I've used Google Translate to read some of your posts with some success but I won't bother trying to use it to communicate in Polish (I've read it's not so great for that).
I started experimenting with the "Scanline 240 bug" which is a design fault in ANTIC, back around the start of this year. I had thought for a long time that somehow it might be able to be exploited to give us an interlaced signal. In fact in the past I'd tried various things but they mainly involved simply triggering the bug every second frame.
My first efforts involved just changing Color Register COLPF1 to see if anything could be achieved there... I soon found that to be the wrong approach.
The second approach I tried (with almost immediate success) was just a program that plugged some predefined Random numbers into DMACTL 3 times per scanline in the scanlines around VSync.
Once success was attained, the next step was to investigate just what I was doing... for that I used the PC soundcard for a while to read the video signal but 200 KHz sampling just wasn't enough so I had to go and buy and oscilloscope.
The whole interlace thing is possible thanks to Antic's little bug: If the last line possible for the normal display is a 320 pixel mode, or if you interrupt a 320 pixel mode by turning off Playfield DMA at the right time (ie before the next DList Instruction is able to be read), then you trigger the bug.
What the bug means is that the AN2 line from Antic gets stuck on "1", which means that we have some control in the offscreen area over GTIAs behaviour so far as what it displays and when it sends HSync pulses. We can simply force AN2 to toggle between 1 and 0 by changing the Playfield Width setting in Antic's DMACTL (typically bitsetting the lsbs to 00 or 11).
Just imagine the Playfield area if we're in "Widescreen" mode - pretty much within that area we can fool GTIA into sending a Sync Pulse.
During the 3 scanlines of VSync, we can also alter the signal. What I do is the "simplest form" way I've discovered to force interlace. The Atari by default doesn't create a standard VSync pulse train, however it seems it is sufficient for most TVs out there.
The standard Atari VSync signal actually does not contain pre or post equalisation pulses, and also doesn't use the half-scanline pulsewidth VSync pulses. I've verified all this many times with an oscilloscope.
I earlier did a version that generates all the pre and post signals as well as the half-scanline width VSync pulses - a right mess of a program with lots of NOPs - I canned that version and started from scratch again because it was messy code.
This latest one simply changes DMACTL back to Wide Playfield during what should be the first half scanline of the first line of VSync, which is sufficient to force the next field to be the 1/2 Atari scanline offset.